# Location services

**Detailed Description**

This section contains APIs related to Location Services.

- *group* Telematics\_location

    - Typedefs

- using NavigationSolution = std::bitset&lt;[NAV\_COUNT](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#_CPPv4N22NavigationSolutionType9NAV_COUNTE)&gt;

    - Bit mask to denote the corrections in NavigationSolutionType that are used to improve the performance of GNSS output.

- using GnssPositionTech = uint32\_t

    - 

- using KinematicDataValidity = uint32\_t

    - 

- using GnssTimeValidity = uint32\_t

    - 

- using TimeValidity = uint32\_t

    - 

- using GnssSignal = uint32\_t

    - 

- using LocCapability = uint32\_t

    - 

- using LocationTechnology = uint32\_t

    - 

- using LocationInfoValidity = uint32\_t

    - 

- using LocationInfoExValidity = uint64\_t

    - 

- using GnssDataValidity = uint32\_t

    - Specifies GnssDataValidityType mask

- using DrCalibrationStatus = uint32\_t

    - Specifies DrCalibrationStatusType mask

- using DrSolutionStatus = uint32\_t

    - Specifies DrSolutionStatus mask

- using LocReqEngine = uint16\_t

    - Specifies LocReqEngineType mask

- using PositioningEngine = uint32\_t

    - Specifies PositioningEngineType mask

- typedef std::vector&lt;SvBlackListInfo&gt; SvBlackList

    - 

- typedef std::unordered\_map&lt;[LeverArmType](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#_CPPv412LeverArmType), LeverArmParams&gt; LeverArmConfigInfo

    - 

- using GnssMeasurementsDataValidity = uint32\_t

    - Specifies GnssMeasurementsDataValidityType.

- using GnssMeasurementsStateValidity = uint32\_t

    - Specifies GnssMeasurementsStateValidityType.

- using GnssMeasurementsAdrStateValidity = uint32\_t

    - Specifies GnssMeasurementsAdrStateValidityType.

- using GnssMeasurementsClockValidity = uint32\_t

    - Specifies GnssMeasurementsClockValidityType.

- using GpsQzssExtEphValidity = uint64\_t

    - Specifies GpsQzssExtEphValidityType.

- using BdsExtEphValidity = uint64\_t

    - Specifies BdsExtEphValidityType.

- using LeapSecondInfoValidity = uint32\_t

    - Specifies LeapSecondInfoValidityType mask

- using LocationSystemInfoValidity = uint32\_t

    - Specifies LocationSystemInfoValidityType mask

- using GnssEnergyConsumedInfoValidity = uint16\_t

    - Specifies GnssEnergyConsumedInfoValidityType

- using AidingData = uint32\_t

    - Specifies AidingDataType mask

- using TerrestrialTechnology = uint32\_t

    - Specifies TerrestrialTechnologyType mask

- using NmeaSentenceConfig = uint32\_t

    - Specifies NmeaSentenceType mask

- using RobustLocationConfig = uint16\_t

    - Specifies RobustLocationConfigType mask

- using DRConfigValidity = uint16\_t

    - Specifies DRConfigValidityType

- using GnssReportTypeMask = uint32\_t

    - Specifies the applicable reports using the bits represented in GnssReportType

- typedef std::unordered\_set&lt;[GnssConstellationType](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#_CPPv421GnssConstellationType)&gt; ConstellationSet

    - Define the set of constellations for secondary band.

- using LocConfigIndications = std::bitset&lt;32&gt;

    - This bitset represents the list of the Location Config Indications selected by the Client.

- using SbasCorrection = std::bitset&lt;[SBAS\_COUNT](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#_CPPv4N18SbasCorrectionType10SBAS_COUNTE)&gt;

    - Deprecated This bitmask is no longer supported. Use ILocationInfoEx::NavigationSolution to get the required information about solutions (corrections) used in the fix. Bit mask that denotes which of the SBAS corrections in SbasCorrection used to improve the performance of GNSS output.

Enums

- enum DgnssDataFormat

    - Defines RTCM injection data format

*Values:*

- enumerator DATA\_FORMAT\_UNKNOWN

    - Source data format is unknown

- enumerator DATA\_FORMAT\_RTCM\_3

    - Source data format is RTCM\_3

- enumerator DATA\_FORMAT\_3GPP\_RTK\_R15

    - Source data format is 3GPP RTK Rel-15

- enum DgnssStatus

    - Defines status reported by cdfw for RTCM injection.

*Values:*

- enumerator DATA\_SOURCE\_NOT\_SUPPORTED

    - Dgnss subsystem doesn’t support the data source

- enumerator DATA\_FORMAT\_NOT\_SUPPORTED

    - Dgnss subsystem doesn’t support the data format

- enumerator OTHER\_SOURCE\_IN\_USE

    - After the source injects the data, dgnss subsystem discovers there is another higher priority source injecting the data at the same time, and the current injected data is dropped

- enumerator MESSAGE\_PARSE\_ERROR

    - There is a parsing error such as unrecognized format, CRC check failure, value range check failure, etc.; the injected data is dropped

- enumerator DATA\_SOURCE\_USABLE

    - Data source is usable

- enumerator DATA\_SOURCE\_NOT\_USABLE

    - Data source is not usable, for example, the reference station is too far away to improve the potion accuracy

- enumerator CDFW\_STOP\_SOURCE\_INJECT

    - The CDFW service askes the source client to stop injecting the correction data

- enum HorizontalAccuracyLevel

    - Defines the horizontal accuracy level of the fix.

*Values:*

- enumerator LOW

    - Client requires low horizontal accuracy

- enumerator MEDIUM

    - Client requires medium horizontal accuracy

- enumerator HIGH

    - Client requires high horizontal accuracy

- enum LocationReliability

    - Specifies the reliability of the position.

*Values:*

- enumerator UNKNOWN

    - Unknown location reliability

- enumerator NOT\_SET

    - Location reliability is not set. The reliability of this position report could not be determined. It could be unreliable/reliable

- enumerator VERY\_LOW

    - Location reliability is very low

- enumerator LOW

    - Location reliability is low, little or no cross-checking is possible

- enumerator MEDIUM

    - Location reliability is medium, limited cross-check passed

- enumerator HIGH

    - Location reliability is high, strong cross-check passed

- enum NavigationSolutionType

    - Specify the set of navigation solutions that contribute to the Gnss Location.

*Values:*

- enumerator NAV\_SBAS\_SOLUTION\_IONO

    - Bit mask to specify whether SBAS ionospheric solution is used

- enumerator NAV\_SBAS\_SOLUTION\_FAST

    - Bit mask to specify whether SBAS fast solution is used

- enumerator NAV\_SBAS\_SOLUTION\_LONG

    - Bit mask to specify whether SBAS long solution is used

- enumerator NAV\_SBAS\_INTEGRITY

    - Bit mask to specify whether SBAS integrity information is used

- enumerator NAV\_DGNSS\_SOLUTION

    - Bit mask to specify whether DGNSS solution is used

- enumerator NAV\_RTK\_SOLUTION

    - Bit mask to specify whether RTK solution is used

- enumerator NAV\_PPP\_SOLUTION

    - Bit mask to specify whether PPP solution is used

- enumerator NAV\_RTK\_FIXED\_SOLUTION

    - Bit mask to specify whether RTK fixed solution is used. If only solution RTK is set, fixes shall be treated as RTK\_FLOAT solution. If both solutions RTK & RTK\_FIXED are set, fixes shall be treated as RTK\_FIXED solution.

- enumerator NAV\_ONLY\_SBAS\_CORRECTED\_SV\_USED

    - Bit mask to specify only SBAS corrected SV is used

- enumerator NAV\_COUNT

    - Bitset

- enum AltitudeType

    - Indicates whether altitude is assumed or calculated.

*Values:*

- enumerator UNKNOWN

    - Unknown altitude type

- enumerator CALCULATED

    - Altitude is calculated

- enumerator ASSUMED

    - Altitude is assumed, there may not be enough satellites to determine the precise altitude

- enum GnssConstellationType

    - Defines constellation type of GNSS.

*Values:*

- enumerator UNKNOWN

    - Unknown constellation type

- enumerator GPS

    - GPS satellite

- enumerator GALILEO

    - GALILEO satellite

- enumerator SBAS

    - SBAS satellite

- enumerator COMPASS

    - COMPASS satellite. Deprecated constellation type is not supported.

- enumerator GLONASS

    - GLONASS satellite

- enumerator BDS

    - BDS satellite

- enumerator QZSS

    - QZSS satellite

- enumerator NAVIC

    - NAVIC satellite

- enum SVHealthStatus

    - Health status indicates whether satellite is operational or not. This information comes from the most recent data transmitted in satellite almanacs.

*Values:*

- enumerator UNKNOWN

    - Unknown sv health status

- enumerator UNHEALTHY

    - satellite is not operational and cannot be used in position calculations

- enumerator HEALTHY

    - satellite is fully operational

- enum SVStatus

    - Satellite vehicle processing status.

*Values:*

- enumerator UNKNOWN

    - Unknown sv status

- enumerator IDLE

    - SV is not being actively processed

- enumerator SEARCH

    - The system is searching for this SV

- enumerator TRACK

    - SV is being tracked

- enum SVInfoAvailability

    - Indicates whether Satellite Vehicle info like ephemeris and almanac are present or not

*Values:*

- enumerator UNKNOWN

    - Unknown sv info availability

- enumerator YES

    - Ephemeris or Almanac exits

- enumerator NO

    - Ephemeris or Almanac doesn’t exist

- enum GnssPositionTechType

    - Specifies which position technology was used to generate location information in the [ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543).

*Values:*

- enumerator GNSS\_DEFAULT

    - Technology used to generate location info is unknown.

- enumerator GNSS\_SATELLITE

    - Satellites-based technology was used to generate location info.

- enumerator GNSS\_CELLID

    - Cell towers were used to generate location info.

- enumerator GNSS\_WIFI

    - Wi-Fi access points were used to generate location info.

- enumerator GNSS\_SENSORS

    - Sensors were used to generate location info.

- enumerator GNSS\_REFERENCE\_LOCATION

    - Reference location was used to generate location info.

- enumerator GNSS\_INJECTED\_COARSE\_POSITION

    - Coarse position injected into the location engine was used to generate location info.

- enumerator GNSS\_AFLT

    - AFLT was used to generate location info.

- enumerator GNSS\_HYBRID

    - GNSS and network-provided measurements were used to generate location info.

- enumerator GNSS\_PPE

    - Precise position engine was used to generate location info.

- enumerator GNSS\_VEHICLE

    - Location was calculated using Vehicular data.

- enumerator GNSS\_VISUAL

    - Location was calculated using Visual data.

- enumerator GNSS\_PROPAGATED

    - Location was calculated using Propagation logic, which uses cached measurements.

- enum KinematicDataValidityType

    - Specifies related kinematics mask

*Values:*

- enumerator HAS\_LONG\_ACCEL

    - Navigation data has Forward Acceleration

- enumerator HAS\_LAT\_ACCEL

    - Navigation data has Sideward Acceleration

- enumerator HAS\_VERT\_ACCEL

    - Navigation data has Vertical Acceleration

- enumerator HAS\_YAW\_RATE

    - Navigation data has Heading Rate

- enumerator HAS\_PITCH

    - Navigation data has Body pitch

- enumerator HAS\_LONG\_ACCEL\_UNC

    - Navigation data has Forward Acceleration

- enumerator HAS\_LAT\_ACCEL\_UNC

    - Navigation data has Sideward Acceleration

- enumerator HAS\_VERT\_ACCEL\_UNC

    - Navigation data has Vertical Acceleration

- enumerator HAS\_YAW\_RATE\_UNC

    - Navigation data has Heading Rate

- enumerator HAS\_PITCH\_UNC

    - Navigation data has Body pitch

- enumerator HAS\_PITCH\_RATE\_BIT

    - Navigation data has Body pitch rate

- enumerator HAS\_PITCH\_RATE\_UNC\_BIT

    - Navigation data has Body pitch rate uncertainty

- enumerator HAS\_ROLL\_BIT

    - Navigation data has roll

- enumerator HAS\_ROLL\_UNC\_BIT

    - Navigation data has roll uncertainty

- enumerator HAS\_ROLL\_RATE\_BIT

    - Navigation data has roll rate

- enumerator HAS\_ROLL\_RATE\_UNC\_BIT

    - Navigation data has roll rate uncertainty

- enumerator HAS\_YAW\_BIT

    - Navigation data has yaw

- enumerator HAS\_YAW\_UNC\_BIT

    - Navigation data has yaw uncertainty

- enum GnssSystem

    - Specify the different types of constellation supported.

*Values:*

- enumerator GNSS\_LOC\_SV\_SYSTEM\_UNKNOWN

    - UNKNOWN satellite.

- enumerator GNSS\_LOC\_SV\_SYSTEM\_GPS

    - GPS satellite.

- enumerator GNSS\_LOC\_SV\_SYSTEM\_GALILEO

    - GALILEO satellite.

- enumerator GNSS\_LOC\_SV\_SYSTEM\_SBAS

    - SBAS satellite.

- enumerator GNSS\_LOC\_SV\_SYSTEM\_COMPASS

    - COMPASS satellite. Deprecated constellation type is not supported.

- enumerator GNSS\_LOC\_SV\_SYSTEM\_GLONASS

    - GLONASS satellite.

- enumerator GNSS\_LOC\_SV\_SYSTEM\_BDS

    - BDS satellite.

- enumerator GNSS\_LOC\_SV\_SYSTEM\_QZSS

    - QZSS satellite.

- enumerator GNSS\_LOC\_SV\_SYSTEM\_NAVIC

    - NAVIC satellite.

- enum GnssTimeValidityType

    - Validity field for different system time in struct [TimeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00513).

*Values:*

- enumerator GNSS\_SYSTEM\_TIME\_WEEK\_VALID

    - valid systemWeek.

- enumerator GNSS\_SYSTEM\_TIME\_WEEK\_MS\_VALID

    - valid systemMsec

- enumerator GNSS\_SYSTEM\_CLK\_TIME\_BIAS\_VALID

    - valid systemClkTimeBias

- enumerator GNSS\_SYSTEM\_CLK\_TIME\_BIAS\_UNC\_VALID

    - valid systemClkTimeUncMs

- enumerator GNSS\_SYSTEM\_REF\_FCOUNT\_VALID

    - valid refFCount

- enumerator GNSS\_SYSTEM\_NUM\_CLOCK\_RESETS\_VALID

    - valid numClockResets

- enum GlonassTimeValidity

    - Validity field for GLONASS time in struct [GlonassTimeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00514).

*Values:*

- enumerator GNSS\_CLO\_DAYS\_VALID

    - valid gloDays

- enumerator GNSS\_GLOS\_MSEC\_VALID

    - valid gloMsec

- enumerator GNSS\_GLO\_CLK\_TIME\_BIAS\_VALID

    - valid gloClkTimeBias

- enumerator GNSS\_GLO\_CLK\_TIME\_BIAS\_UNC\_VALID

    - valid gloClkTimeUncMs

- enumerator GNSS\_GLO\_REF\_FCOUNT\_VALID

    - valid refFCount

- enumerator GNSS\_GLO\_NUM\_CLOCK\_RESETS\_VALID

    - valid numClockResets

- enumerator GNSS\_GLO\_FOUR\_YEAR\_VALID

    - valid gloFourYear

- enum GnssSignalType

    - Specify GNSS Signal Type and RF Band used in struct [GnssMeasurementInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00517) and [ISVInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00544) class.

*Values:*

- enumerator GPS\_L1CA

    - Gnss signal is of GPS L1CA RF Band.

- enumerator GPS\_L1C

    - Gnss signal is of GPS L1C RF Band.

- enumerator GPS\_L2

    - Gnss signal is of GPS L2 RF Band.

- enumerator GPS\_L5

    - Gnss signal is of GPS L5 RF Band.

- enumerator GLONASS\_G1

    - Gnss signal is of GLONASS G1 (L1OF) RF Band.

- enumerator GLONASS\_G2

    - Gnss signal is of GLONASS G2 (L2OF) RF Band.

- enumerator GALILEO\_E1

    - Gnss signal is of GALILEO E1 RF Band.

- enumerator GALILEO\_E5A

    - Gnss signal is of GALILEO E5A RF Band.

- enumerator GALILIEO\_E5B

    - Gnss signal is of GALILEO E5B RF Band.

- enumerator BEIDOU\_B1

    - Gnss signal is of BEIDOU B1 RF Band.

- enumerator BEIDOU\_B2

    - Gnss signal is of BEIDOU B2 RF Band.

- enumerator QZSS\_L1CA

    - Gnss signal is of QZSS L1CA RF Band.

- enumerator QZSS\_L1S

    - Gnss signal is of QZSS L1S RF Band.

- enumerator QZSS\_L2

    - Gnss signal is of QZSS L2 RF Band.

- enumerator QZSS\_L5

    - Gnss signal is of QZSS L5 RF Band.

- enumerator SBAS\_L1

    - Gnss signal is of SBAS L1 RF Band.

- enumerator BEIDOU\_B1I

    - Gnss signal is of BEIDOU B1I RF Band.

- enumerator BEIDOU\_B1C

    - Gnss signal is of BEIDOU B1C RF Band.

- enumerator BEIDOU\_B2I

    - Gnss signal is of BEIDOU B2I RF Band.

- enumerator BEIDOU\_B2AI

    - Gnss signal is of BEIDOU B2AI RF Band.

- enumerator NAVIC\_L5

    - Gnss signal is of NAVIC L5 RF Band.

- enumerator BEIDOU\_B2AQ

    - Gnss signal is of BEIDOU B2A\_Q RF Band.

- enumerator BEIDOU\_B2BI

    - Gnss signal is of BEIDOU B2B\_I RF Band.

- enumerator BEIDOU\_B2BQ

    - Gnss signal is of BEIDOU B2B\_Q RF Band.

- enumerator NAVIC\_L1

    - Gnss signal is of NAVIC L1 RF Band.

- enum LocCapabilityType

    - Specify Location Capabilities Type.

*Values:*

- enumerator TIME\_BASED\_TRACKING

    - Support time based tracking session via [ILocationManager::startDetailedReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1a256d0f5aed903fb4bb42260c81007f32), [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a) and [ILocationManager::startBasicReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1a9e5f37869f4f2ebe2abe27f5d4fbc933) with distanceInMeters set to 0.

- enumerator DISTANCE\_BASED\_TRACKING

    - Support distance based tracking session via [ILocationManager::startBasicReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1a9e5f37869f4f2ebe2abe27f5d4fbc933) with distanceInMeters specified.

- enumerator GNSS\_MEASUREMENTS

    - Support Gnss Measurement data via [ILocationListener::onGnssMeasurementsInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1afe9b4e3da58829d1d6286e3da99264e1) when a tracking session is enabled.

- enumerator CONSTELLATION\_ENABLEMENT

    - Support configure constellations via [ILocationConfigurator::configureConstellations](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a1c2d320702ed71c787124ef41af360e0).

- enumerator CARRIER\_PHASE

    - Support carrier phase for Precise Positioning Measurement Engine (PPME).

- enumerator QWES\_GNSS\_SINGLE\_FREQUENCY

    - Support GNSS Single Frequency feature.

- enumerator QWES\_GNSS\_MULTI\_FREQUENCY

    - Supports GNSS Multi Frequency feature.

- enumerator QWES\_VPE

    - Support VEPP license bundle is enabled. VEPP bundle include Carrier Phase features.

- enumerator QWES\_CV2X\_LOCATION\_BASIC

    - Support for CV2X Location basic features. This includes features for GTS Time & Freq, [ILocationConfigurator::configureCTunc](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a631b6fb23b75dc38a68fbe28559048b8).

- enumerator QWES\_CV2X\_LOCATION\_PREMIUM

    - Support for CV2X Location premium features. This includes features for CV2X Location Basic features, QDR3 feature and [ILocationConfigurator::configurePACE](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a858799296f99137a78d104bc2a048f2b).

- enumerator QWES\_PPE

    - Support PPE (Precise Positioning Engine) library is enabled or Precise Positioning Framework (PPF) is available. This includes features for Carrier Phase and SV Ephermeris.

- enumerator QWES\_QDR2

    - Support QDR2\_C license bundle is enabled.

- enumerator QWES\_QDR3

    - Support QDR3\_C license bundle is enabled.

- enumerator TIME\_BASED\_BATCHING

    - support time-based batching session.

- enumerator DISTANCE\_BASED\_BATCHING

    - support distance-based batching session.

- enumerator GEOFENCE

    - Support geofencing.

- enumerator OUTDOOR\_TRIP\_BATCHING

    - Support outdoor trip batching session.

- enumerator SV\_POLYNOMIAL

    - Support SV Polynomial

- enumerator NLOS\_ML20

    - Indicates presence of ML Inference capability for Pseudo Range Measurements.

- enum LocationTechnologyType

    - Specify the set of technologies that contribute to [ILocationInfoBase](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00542).

*Values:*

- enumerator LOC\_GNSS

    - Location was calculated using GNSS-based technology.

- enumerator LOC\_CELL

    - Location was calculated using Cell-based technology.

- enumerator LOC\_WIFI

    - Location was calculated using WiFi-based technology.

- enumerator LOC\_SENSORS

    - Location was calculated using Sensors-based technology.

- enumerator LOC\_REFERENCE\_LOCATION

    - Location was calculated using Reference location.

- enumerator LOC\_INJECTED\_COARSE\_POSITION

    - Location was calculated using Coarse position injected into the location engine.

- enumerator LOC\_AFLT

    - Location was calculated using AFLT.

- enumerator LOC\_HYBRID

    - Location was calculated using GNSS and network-provided measurements.

- enumerator LOC\_PPE

    - Location was calculated using Precise position engine.

- enumerator LOC\_VEH

    - Location was calculated using Vehicular data.

- enumerator LOC\_VIS

    - Location was calculated using Visual data.

- enumerator LOC\_PROPAGATED

    - Location was calculated using Propagation logic, which uses cached measurements.

- enum LocationValidityType

    - Specify the valid fields in LocationInfoValidity User should determine whether a field in LocationInfoValidity is valid or not by checking the corresponding bit is set or not.

*Values:*

- enumerator HAS\_LAT\_LONG\_BIT

    - Location has valid latitude and longitude.

- enumerator HAS\_ALTITUDE\_BIT

    - Location has valid altitude.

- enumerator HAS\_SPEED\_BIT

    - Location has valid speed.

- enumerator HAS\_HEADING\_BIT

    - Location has valid heading.

- enumerator HAS\_HORIZONTAL\_ACCURACY\_BIT

    - 

- enumerator HAS\_VERTICAL\_ACCURACY\_BIT

    - Location has valid vertical accuracy.

- enumerator HAS\_SPEED\_ACCURACY\_BIT

    - Location has valid speed accuracy.

- enumerator HAS\_HEADING\_ACCURACY\_BIT

    - Location has valid heading accuracy.

- enumerator HAS\_TIMESTAMP\_BIT

    - Location has valid timestamp.

- enumerator HAS\_ELAPSED\_REAL\_TIME\_BIT

    - Location has valid elapsed real time.

- enumerator HAS\_ELAPSED\_REAL\_TIME\_UNC\_BIT

    - Location has valid elapsed real time uncertainty.

- enumerator HAS\_TIME\_UNC\_BIT

    - Location has valid time uncertainty.

- enumerator HAS\_GPTP\_TIME\_BIT

    - Location has valid elapsed gPTP time.

- enumerator HAS\_GPTP\_TIME\_UNC\_BIT

    - Location has valid elapsed gPTP time uncertainty.

- enum LocationInfoExValidityType

    - Specify the valid fields in LocationInfoExValidityType. User should determine whether a field in LocationInfoExValidityType is valid or not by checking the corresponding bit is set or not.

*Values:*

- enumerator HAS\_ALTITUDE\_MEAN\_SEA\_LEVEL

    - valid altitude mean sea level

- enumerator HAS\_DOP

    - valid pdop, hdop, and vdop

- enumerator HAS\_MAGNETIC\_DEVIATION

    - valid magnetic deviation

- enumerator HAS\_HOR\_RELIABILITY

    - valid horizontal reliability

- enumerator HAS\_VER\_RELIABILITY

    - valid vertical reliability

- enumerator HAS\_HOR\_ACCURACY\_ELIP\_SEMI\_MAJOR

    - valid elipsode semi major

- enumerator HAS\_HOR\_ACCURACY\_ELIP\_SEMI\_MINOR

    - valid elipsode semi minor

- enumerator HAS\_HOR\_ACCURACY\_ELIP\_AZIMUTH

    - valid accuracy elipsode azimuth

- enumerator HAS\_GNSS\_SV\_USED\_DATA

    - valid gnss sv used in pos data

- enumerator HAS\_NAV\_SOLUTION\_MASK

    - valid navSolutionMask

- enumerator HAS\_POS\_TECH\_MASK

    - valid LocPosTechMask

- enumerator HAS\_SV\_SOURCE\_INFO

    - valid LocSvInfoSource

- enumerator HAS\_POS\_DYNAMICS\_DATA

    - valid position dynamics data

- enumerator HAS\_EXT\_DOP

    - valid gdop, tdop

- enumerator HAS\_NORTH\_STD\_DEV

    - valid North standard deviation

- enumerator HAS\_EAST\_STD\_DEV

    - valid East standard deviation

- enumerator HAS\_NORTH\_VEL

    - valid North Velocity

- enumerator HAS\_EAST\_VEL

    - valid East Velocity

- enumerator HAS\_UP\_VEL

    - valid Up Velocity

- enumerator HAS\_NORTH\_VEL\_UNC

    - valid North Velocity Uncertainty

- enumerator HAS\_EAST\_VEL\_UNC

    - valid East Velocity Uncertainty

- enumerator HAS\_UP\_VEL\_UNC

    - valid Up Velocity Uncertainty

- enumerator HAS\_LEAP\_SECONDS

    - valid leap\_seconds

- enumerator HAS\_TIME\_UNC

    - valid timeUncMs

Deprecated Use LocationValidityType::HAS\_TIME\_UNC\_BIT to get the required information about validity of time uncertainty

- enumerator HAS\_NUM\_SV\_USED\_IN\_POSITION

    - valid number of sv used

- enumerator HAS\_CALIBRATION\_CONFIDENCE\_PERCENT

    - valid sensor calibrationConfidencePercent

- enumerator HAS\_CALIBRATION\_STATUS

    - valid sensor calibrationConfidence

- enumerator HAS\_OUTPUT\_ENG\_TYPE

    - valid output engine type

- enumerator HAS\_OUTPUT\_ENG\_MASK

    - valid output engine mask

- enumerator HAS\_CONFORMITY\_INDEX\_FIX

    - valid conformity index

- enumerator HAS\_LLA\_VRP\_BASED

    - valid lla vrp based

- enumerator HAS\_ENU\_VELOCITY\_VRP\_BASED

    - valid enu velocity vrp based

- enumerator HAS\_ALTITUDE\_TYPE

    - valid altitude type

- enumerator HAS\_REPORT\_STATUS

    - valid report status

- enumerator HAS\_INTEGRITY\_RISK\_USED

    - valid integrity risk

- enumerator HAS\_PROTECT\_LEVEL\_ALONG\_TRACK

    - valid protect level along track

- enumerator HAS\_PROTECT\_LEVEL\_CROSS\_TRACK

    - valid protect level cross track

- enumerator HAS\_PROTECT\_LEVEL\_VERTICAL

    - valid protect level vertical

- enumerator HAS\_SOLUTION\_STATUS

    - valid DR Solution status

- enumerator HAS\_DGNSS\_STATION\_ID

    - valid dgnssStationId

- enumerator HAS\_BASE\_LINE\_LENGTH

    - valid baseline length

- enumerator HAS\_AGE\_OF\_CORRECTION

    - valid age of correction

- enumerator HAS\_LEAP\_SECONDS\_UNC

    - valid leap second uncertainty

- enum GnssDataSignalTypes

    - Specify the GNSS signal type and RF band for jammer info and automatic gain control metric in [GnssData](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00519).

*Values:*

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_INVALID

    - Invalid signal type

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_GPS\_L1CA

    - GPS L1CA RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_GPS\_L1C

    - GPS L1C RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_GPS\_L2C\_L

    - GPS L2C\_L RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_GPS\_L5\_Q

    - GPS L5\_Q RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_GLONASS\_G1

    - GLONASS G1 (L1OF) RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_GLONASS\_G2

    - GLONASS G2 (L2OF) RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_GALILEO\_E1\_C

    - GALILEO E1\_C RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_GALILEO\_E5A\_Q

    - GALILEO E5A\_Q RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_GALILEO\_E5B\_Q

    - GALILEO E5B\_Q RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_BEIDOU\_B1\_I

    - BEIDOU B1\_I RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_BEIDOU\_B1C

    - BEIDOU B1C RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_BEIDOU\_B2\_I

    - BEIDOU B2\_I RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_BEIDOU\_B2A\_I

    - BEIDOU B2A\_I RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_QZSS\_L1CA

    - QZSS L1CA RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_QZSS\_L1S

    - QZSS L1S RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_QZSS\_L2C\_L

    - QZSS L2C\_L RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_QZSS\_L5\_Q

    - QZSS L5\_Q RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_SBAS\_L1\_CA

    - SBAS L1\_CA RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_NAVIC\_L5

    - NAVIC L5 RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_BEIDOU\_B2A\_Q

    - BEIDOU B2A\_Q RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_BEIDOU\_B2BI

    - BEIDOU B2BI RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_BEIDOU\_B2BQ

    - BEIDOU B2BQ RF Band.

- enumerator GNSS\_DATA\_SIGNAL\_TYPE\_NAVIC\_L1

    - NAVIC L1 RF Band. Maximum number of signal types.

- enumerator GNSS\_DATA\_MAX\_NUMBER\_OF\_SIGNAL\_TYPES

    -

- enum GnssDataValidityType

    - Specify valid mask of data fields in [GnssData](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00519).

*Values:*

- enumerator HAS\_JAMMER

    - Jammer Indicator is available

- enumerator HAS\_AGC

    - AGC is available

- enum AgcStatus

    - Indicate RF Automatic Gain Control Status

*Values:*

- enumerator UNKNOWN

    - AGC status is unknown

- enumerator UNKNOWN

    - Unknown location reliability

- enumerator UNKNOWN

    - Unknown altitude type

- enumerator UNKNOWN

    - Unknown constellation type

- enumerator UNKNOWN

    - Unknown sv health status

- enumerator UNKNOWN

    - Unknown sv status

- enumerator UNKNOWN

    - Unknown sv info availability

- enumerator NO\_SATURATION

    - Not saturated

- enumerator FRONT\_END\_GAIN\_MAXIMUM\_SATURATION

    - Front end gain is at maximum saturation

- enumerator FRONT\_END\_GAIN\_MINIMUM\_SATURATION

    - Front end gain is at minimum saturation

- enum DrCalibrationStatusType

    - Specify the sensor calibration status in [ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543).

*Values:*

- enumerator DR\_ROLL\_CALIBRATION\_NEEDED

    - Indicate that roll calibration is needed. Need to take more turns on level ground.

- enumerator DR\_PITCH\_CALIBRATION\_NEEDED

    - Indicate that pitch calibration is needed. Need to take more turns on level ground.

- enumerator DR\_YAW\_CALIBRATION\_NEEDED

    - Indicate that yaw calibration is needed. Need to accelerate in a straight line.

- enumerator DR\_ODO\_CALIBRATION\_NEEDED

    - Indicate that odo calibration is needed. Need to accelerate in a straight line.

- enumerator DR\_GYRO\_CALIBRATION\_NEEDED

    - Indicate that gyro calibration is needed. Need to take more turns on level ground.

- enumerator DR\_TURN\_CALIBRATION\_LOW

    - Lot more turns on level ground needed

- enumerator DR\_TURN\_CALIBRATION\_MEDIUM

    - Some more turns on level ground needed

- enumerator DR\_TURN\_CALIBRATION\_HIGH

    - Sufficient turns on level ground observed

- enumerator DR\_LINEAR\_ACCEL\_CALIBRATION\_LOW

    - Lot more accelerations in straight line needed

- enumerator DR\_LINEAR\_ACCEL\_CALIBRATION\_MEDIUM

    - Some more accelerations in straight line needed

- enumerator DR\_LINEAR\_ACCEL\_CALIBRATION\_HIGH

    - Sufficient acceleration events in straight line observed

- enumerator DR\_LINEAR\_MOTION\_CALIBRATION\_LOW

    - Lot more motion in straight line needed

- enumerator DR\_LINEAR\_MOTION\_CALIBRATION\_MEDIUM

    - Some more motion in straight line needed

- enumerator DR\_LINEAR\_MOTION\_CALIBRATION\_HIGH

    - Sufficient motion events in straight line observed

- enumerator DR\_STATIC\_CALIBRATION\_LOW

    - Lot more stationary events on level ground needed

- enumerator DR\_STATIC\_CALIBRATION\_MEDIUM

    - Some more stationary events on level ground needed

- enumerator DR\_STATIC\_CALIBRATION\_HIGH

    - Sufficient stationary events on level ground observed

- enum DrSolutionStatusType

    - Specify various status that contributes to the DR position engine.

*Values:*

- enumerator VEHICLE\_SENSOR\_SPEED\_INPUT\_DETECTED

    - Vehicle sensor speed input was detected by the DR position engine.

- enumerator VEHICLE\_SENSOR\_SPEED\_INPUT\_USED

    - Vehicle sensor speed input was used by the DR position engine.

- enumerator WARNING\_UNCALIBRATED

    - DRE solution disengaged due to insufficient calibration

- enumerator WARNING\_GNSS\_QUALITY\_INSUFFICIENT

    - DRE solution disengaged due to bad GNSS quality

- enumerator WARNING\_FERRY\_DETECTED

    - DRE solution disengaged as ferry condition detected

- enumerator ERROR\_6DOF\_SENSOR\_UNAVAILABLE

    - DRE solution disengaged as 6DOF sensor inputs not available

- enumerator ERROR\_VEHICLE\_SPEED\_UNAVAILABLE

    - DRE solution disengaged as vehicle speed inputs not available

- enumerator ERROR\_GNSS\_EPH\_UNAVAILABLE

    - DRE solution disengaged as Ephemeris info not available

- enumerator ERROR\_GNSS\_MEAS\_UNAVAILABLE

    - DRE solution disengaged as GNSS measurement info not available

- enumerator WARNING\_INIT\_POSITION\_INVALID

    - DRE solution disengaged due non-availability of stored position from previous session

- enumerator WARNING\_INIT\_POSITION\_UNRELIABLE

    - DRE solution dis-engaged due to vehicle motion detected at session start

- enumerator WARNING\_POSITON\_UNRELIABLE

    - DRE solution dis-engaged due to unreliable position

- enumerator ERROR\_GENERIC

    - DRE solution dis-engaged due to a generic error

- enumerator WARNING\_SENSOR\_TEMP\_OUT\_OF\_RANGE

    - DRE solution dis-engaged due to Sensor Temperature being out of range

- enumerator WARNING\_USER\_DYNAMICS\_INSUFFICIENT

    - DRE solution dis-engaged due to insufficient user dynamics

- enumerator WARNING\_FACTORY\_DATA\_INCONSISTENT

    - DRE solution dis-engaged due to inconsistent factory data

- enum LocReqEngineType

    - Specifies the set of engines whose position reports are requested via startDetailedEngineReports.

*Values:*

- enumerator LOC\_REQ\_ENGINE\_FUSED\_BIT

    - Indicate that the fused/default position is needed to be reported back for the tracking sessions. The default position is the propagated/aggregated reports from all engines running on the system (e.g.: DR/SPE/PPE) according to QTI algorithm.

- enumerator LOC\_REQ\_ENGINE\_SPE\_BIT

    - Indicate that the unmodified SPE position is needed to be reported back for the tracking sessions.

- enumerator LOC\_REQ\_ENGINE\_PPE\_BIT

    - Indicate that the unmodified PPE position is needed to be reported back for the tracking sessions.

- enumerator LOC\_REQ\_ENGINE\_VPE\_BIT

    - Indicate that the unmodified VPE position is needed to be reported back for the tracking sessions.

- enum LocationAggregationType

    - Specifies the type of engine for the reported fixes

*Values:*

- enumerator LOC\_OUTPUT\_ENGINE\_FUSED

    - This is the propagated/aggregated report from the fixes of all engines running on the system (e.g.: DR/SPE/PPE).

- enumerator LOC\_OUTPUT\_ENGINE\_SPE

    - This fix is the unmodified fix from modem GNSS engine

- enumerator LOC\_OUTPUT\_ENGINE\_PPE

    - This is the unmodified fix from PPP engine

- enumerator LOC\_OUTPUT\_ENGINE\_VPE

    - This is the unmodified fix from VPE engine.

- enum PositioningEngineType

    - Specifies the type of engine responsible for fixes when the engine type is fused

*Values:*

- enumerator STANDARD\_POSITIONING\_ENGINE

    - For standard GNSS position engines.

- enumerator DEAD\_RECKONING\_ENGINE

    - For dead reckoning position engines.

- enumerator PRECISE\_POSITIONING\_ENGINE

    - For precise position engines.

- enumerator VP\_POSITIONING\_ENGINE

    - For VP position engine.

- enum LeverArmType

    - Lever ARM type

*Values:*

- enumerator LEVER\_ARM\_TYPE\_GNSS\_TO\_VRP

    - Lever arm parameters regarding the VRP (Vehicle Reference Point) w.r.t the origin (at the GNSS Antenna)

- enumerator LEVER\_ARM\_TYPE\_DR\_IMU\_TO\_GNSS

    - Lever arm regarding GNSS Antenna w.r.t the origin at the IMU (inertial measurement unit) for DR (dead reckoning engine)

- enumerator LEVER\_ARM\_TYPE\_VEPP\_IMU\_TO\_GNSS

    - Lever arm regarding GNSS Antenna w.r.t the origin at the IMU (inertial measurement unit) for VEPP (vision enhanced precise positioning engine) Deprecated enum type is not supported.

- enumerator LEVER\_ARM\_TYPE\_VPE\_IMU\_TO\_GNSS

    - Lever arm regarding GNSS Antenna w.r.t the origin at the IMU (inertial measurement unit) for VPE (vision positioning engine)

- enum GnssMeasurementsDataValidityType

    - Specify valid fields in [GnssMeasurementsData](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00522).

*Values:*

- enumerator SV\_ID\_BIT

    - Validity of svId.

- enumerator SV\_TYPE\_BIT

    - Validity of svType.

- enumerator STATE\_BIT

    - Validity of stateMask.

- enumerator RECEIVED\_SV\_TIME\_BIT

    - Validity of receivedSvTimeNs and receivedSvTimeSubNs.

- enumerator RECEIVED\_SV\_TIME\_UNCERTAINTY\_BIT

    - Validity of receivedSvTimeUncertaintyNs.

- enumerator CARRIER\_TO\_NOISE\_BIT

    - Validity of carrierToNoiseDbHz.

- enumerator PSEUDORANGE\_RATE\_BIT

    - Validity of pseudorangeRateMps.

- enumerator PSEUDORANGE\_RATE\_UNCERTAINTY\_BIT

    - Validity of pseudorangeRateUncertaintyMps.

- enumerator ADR\_STATE\_BIT

    - Validity of adrStateMask.

- enumerator ADR\_BIT

    - Validity of adrMeters.

- enumerator ADR\_UNCERTAINTY\_BIT

    - Validity of adrUncertaintyMeters.

- enumerator CARRIER\_FREQUENCY\_BIT

    - Validity of carrierFrequencyHz.

- enumerator CARRIER\_CYCLES\_BIT

    - Validity of carrierCycles.

- enumerator CARRIER\_PHASE\_BIT

    - Validity of carrierPhase.

- enumerator CARRIER\_PHASE\_UNCERTAINTY\_BIT

    - Validity of carrierPhaseUncertainty.

- enumerator MULTIPATH\_INDICATOR\_BIT

    - Validity of multipathIndicator.

- enumerator SIGNAL\_TO\_NOISE\_RATIO\_BIT

    - Validity of signalToNoiseRatioDb.

- enumerator AUTOMATIC\_GAIN\_CONTROL\_BIT

    - Validity of agcLevelDb.

- enumerator GNSS\_SIGNAL\_TYPE

    - Validity of signal type.

- enumerator BASEBAND\_CARRIER\_TO\_NOISE

    - Validity of basebandCarrierToNoise.

- enumerator FULL\_ISB

    - Validity of fullInterSignalBias.

- enumerator FULL\_ISB\_UNCERTAINTY

    - Validity of fullInterSignalBiasUncertainty.

- enum GnssMeasurementsStateValidityType

    - Specify GNSS measurement state in [GnssMeasurementsData::stateMask](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00522_1add362208e2bb1436afd80bbfabd988e3).

*Values:*

- enumerator UNKNOWN\_BIT

    - State is unknown.

- enumerator CODE\_LOCK\_BIT

    - State is “code lock”.

- enumerator BIT\_SYNC\_BIT

    - State is “bit sync”.

- enumerator SUBFRAME\_SYNC\_BIT

    - State is “subframe sync”.

- enumerator TOW\_DECODED\_BIT

    - State is “tow decoded”.

- enumerator MSEC\_AMBIGUOUS\_BIT

    - State is “msec ambiguous”.

- enumerator SYMBOL\_SYNC\_BIT

    - State is “symbol sync”.

- enumerator GLO\_STRING\_SYNC\_BIT

    - State is “GLONASS string sync”.

- enumerator GLO\_TOD\_DECODED\_BIT

    - State is “GLONASS TOD decoded”.

- enumerator BDS\_D2\_BIT\_SYNC\_BIT

    - State is “BDS D2 bit sync”.

- enumerator BDS\_D2\_SUBFRAME\_SYNC\_BIT

    - State is “BDS D2 subframe sync”.

- enumerator GAL\_E1BC\_CODE\_LOCK\_BIT

    - State is “Galileo E1BC code lock”.

- enumerator GAL\_E1C\_2ND\_CODE\_LOCK\_BIT

    - State is “Galileo E1C second code lock”.

- enumerator GAL\_E1B\_PAGE\_SYNC\_BIT

    - State is “Galileo E1B page sync”.

- enumerator SBAS\_SYNC\_BIT

    - State is “SBAS sync”.

- enum GnssMeasurementsAdrStateValidityType

    - Specify accumulated delta range state in [GnssMeasurementsData::adrStateMask](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00522_1aec5a67b61f6a83163b0eed76020ca378).

*Values:*

- enumerator UNKNOWN\_STATE

    - State is unknown.

- enumerator VALID\_BIT

    - State is valid.

- enumerator RESET\_BIT

    - State is “reset”.

- enumerator CYCLE\_SLIP\_BIT

    - State is “cycle slip”.

- enumerator HALF\_CYCLE\_RESOLVED\_BIT

    - State is “half cycle resolved”.

- enum GnssMeasurementsMultipathIndicator

    - Specify the GNSS multipath indicator state in [GnssMeasurementsData::multipathIndicator](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00522_1a7b6f2df410b3e7971b2815259979a425).

*Values:*

- enumerator UNKNOWN\_INDICATOR

    - Multipath indicator is unknown.

- enumerator PRESENT

    - Multipath indicator is present.

- enumerator NOT\_PRESENT

    - Multipath indicator is not present.

- enum GnssMeasurementsClockValidityType

    - Specify the valid fields in [GnssMeasurementsClock](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00523).

*Values:*

- enumerator LEAP\_SECOND\_BIT

    - Validity of leapSecond.

- enumerator TIME\_BIT

    - Validity of timeNs.

- enumerator TIME\_UNCERTAINTY\_BIT

    - Validity of timeUncertaintyNs.

- enumerator FULL\_BIAS\_BIT

    - Validity of fullBiasNs.

- enumerator BIAS\_BIT

    - Validity of biasNs.

- enumerator BIAS\_UNCERTAINTY\_BIT

    - Validity of biasUncertaintyNs.

- enumerator DRIFT\_BIT

    - Validity of driftNsps.

- enumerator DRIFT\_UNCERTAINTY\_BIT

    - Validity of driftUncertaintyNsps.

- enumerator HW\_CLOCK\_DISCONTINUITY\_COUNT\_BIT

    - Validity of hwClockDiscontinuityCount.

- enumerator ELAPSED\_REAL\_TIME\_BIT

    - Validity of realTime.

- enumerator ELAPSED\_REAL\_TIME\_UNC\_BIT

    - Validity of realTimeUncertainity.

- enumerator ELAPSED\_GPTP\_TIME\_BIT

    - Validity of gPTPTime.

- enumerator ELAPSED\_GPTP\_TIME\_UNC\_BIT

    - Validity of gPTPTimeUncertainity.

- enum GnssReportDCType

    - Disaster and crisis report types that are currently supported by the GNSS Engine.

*Values:*

- enumerator QZSS\_JMA\_DISASTER\_PREVENTION\_INFO

    - Disaster Prevention information provided by Japan Meteorological Agency.

- enumerator QZSS\_NON\_JMA\_DISASTER\_PREVENTION\_INFO

    - Disaster Prevention information provided by other organizations.

- enum GnssEphSource

    - Specifies Source of Ephemeris data

*Values:*

- enumerator EPH\_SRC\_UNKNOWN

    - Source of ephemeris is unknown

- enumerator EPH\_SRC\_OTA

    - Source of ephemeris is OTA

- enumerator EPH\_SRC\_MAX

    - Max value for ephemeris Source. DO NOT USE

- enum GnssEphAction

    - Specifies the action to be performed by the clients on the ephemeris info received.

*Values:*

- enumerator EPH\_ACTION\_UNKNOWN

    - Epehmeris Action Unknown

- enumerator EPH\_ACTION\_UPDATE

    - Update ephemeris data

- enumerator EPH\_ACTION\_DELETE

    - delete ephemeris action.

- enumerator EPH\_ACTION\_MAX

    - Max value for ephemeris action. DO NOT USE

- enum GalEphSignalSource

    - Galileo Signal Source.

*Values:*

- enumerator GAL\_SIG\_SRC\_UNKNOWN

    - GALILEO signal is unknown

- enumerator GAL\_SIG\_SRC\_E1B

    - GALILEO signal is E1B

- enumerator GAL\_SIG\_SRC\_E5A

    - GALILEO signal is E5A

- enumerator GAL\_SIG\_SRC\_E5B

    - GALILEO signal is E5B

- enum GpsQzssExtEphValidityType

    - Validity of GpsQzss Extended Ephemeris fields.

*Values:*

- enumerator GPS\_QZSS\_EXT\_EPH\_ISC\_L1CA\_VALID

    - Valid iscL1ca

- enumerator GPS\_QZSS\_EXT\_EPH\_ISC\_L2C\_VALID

    - Valid iscL2c

- enumerator GPS\_QZSS\_EXT\_EPH\_ISC\_L5I5\_VALID

    - Valid iscL5I5

- enumerator GPS\_QZSS\_EXT\_EPH\_ISC\_L5Q5\_VALID

    - Valid iscL5Q5

- enumerator GPS\_QZSS\_EXT\_EPH\_ALERT\_VALID

    - Valid alert

- enumerator GPS\_QZSS\_EXT\_EPH\_URANED0\_VALID

    - Valid uraned0

- enumerator GPS\_QZSS\_EXT\_EPH\_URANED1\_VALID

    - Valid uraned1

- enumerator GPS\_QZSS\_EXT\_EPH\_URANED2\_VALID

    - Valid uraned2

- enumerator GPS\_QZSS\_EXT\_EPH\_TOP\_VALID

    - Valid top

- enumerator GPS\_QZSS\_EXT\_EPH\_TOP\_CLOCK\_VALID

    - Valid topClock

- enumerator GPS\_QZSS\_EXT\_EPH\_VALIDITY\_PERIOD\_VALID

    - Valid validtyPeriod

- enumerator GPS\_QZSS\_EXT\_EPH\_DELTA\_NDOT\_VALID

    - Valid deltaNdot

- enumerator GPS\_QZSS\_EXT\_EPH\_DELTAA\_VALID

    - Valid delaA

- enumerator GPS\_QZSS\_EXT\_EPH\_ADOT\_VALID

    - Valid adot

- enum BdsSvType

    - BDS SV type

*Values:*

- enumerator BDS\_SV\_TYPE\_UNKNOWN

    - 

- enumerator BDS\_SV\_TYPE\_GEO

    - 

- enumerator BDS\_SV\_TYPE\_IGSO

    - 

- enumerator BDS\_SV\_TYPE\_MEO

    -

- enum BdsExtEphValidityType

    - Validity of Bds Extended Ephemeris fields.

*Values:*

- enumerator BDS\_EXT\_EPH\_ISC\_B2A\_VALID

    - Valid iscB2a

- enumerator BDS\_EXT\_EPH\_ISC\_B1C\_VALID

    - Valid iscB1c

- enumerator BDS\_EXT\_EPH\_TGD\_B2A\_VALID

    - Valid tgdB2a

- enumerator BDS\_EXT\_EPH\_TGD\_B1C\_VALID

    - Valid tgdB1c

- enumerator BDS\_EXT\_EPH\_SV\_TYPE\_VALID

    - Valid svType

- enumerator BDS\_EXT\_EPH\_VALIDITY\_PERIOD

    - Valid validtyPeriod

- enumerator BDS\_EXT\_EPH\_INTEGRITY\_FLAGS

    - Valid integrityFlags

- enumerator BDS\_EXT\_EPH\_DELTA\_NDOT\_VALID

    - Valid deltaNdot

- enumerator BDS\_EXT\_EPH\_DELTAA\_VALID

    - Valid deltaA

- enumerator BDS\_EXT\_EPH\_ADOT\_VALID

    - Valid adot

- enum LeapSecondInfoValidityType

    - Specify the valid fields in [LeapSecondInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00537).

*Values:*

- enumerator LEAP\_SECOND\_SYS\_INFO\_CURRENT\_LEAP\_SECONDS\_BIT

    - Validity of [LeapSecondInfo::current](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00537_1a0a2c4221894b69adc235935ea11b8f77).

- enumerator LEAP\_SECOND\_SYS\_INFO\_LEAP\_SECOND\_CHANGE\_BIT

    - Validity of [LeapSecondInfo::info](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00537_1ad891fca79d23d245cb1c1718a058e1b8).

- enum LocationSystemInfoValidityType

    - Specify the set of valid fields in [LocationSystemInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00538)

*Values:*

- enumerator LOCATION\_SYS\_INFO\_LEAP\_SECOND

    - contains current leap second or leap second change info

- enum GnssEnergyConsumedInfoValidityType

    - Specify the valid fields in [GnssEnergyConsumedInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00539).

*Values:*

- enumerator ENERGY\_CONSUMED\_SINCE\_FIRST\_BOOT\_BIT

    - validity of [GnssEnergyConsumedInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00539)

- enum AidingDataType

    - Specifies the set of aiding data. This is referenced in the deleteAidingData for deleting any aiding data.

*Values:*

- enumerator AIDING\_DATA\_EPHEMERIS

    - Mask to delete ephemeris aiding data

- enumerator AIDING\_DATA\_DR\_SENSOR\_CALIBRATION

    - Mask to delete calibration data from dead reckoning position engine

- enum TerrestrialTechnologyType

    - Specifies the set of terrestrial technologies.

*Values:*

- enumerator GTP\_WWAN

    - Cell-based technology

- enum NmeaSentenceType

    - Specifies the HLOS generated NMEA sentence types.

*Values:*

- enumerator GGA

    - GGA NMEA sentence

- enumerator RMC

    - RMC NMEA sentence

- enumerator GSA

    - GSA NMEA sentence

- enumerator VTG

    - VTG NMEA sentence

- enumerator GNS

    - GNS NMEA sentence

- enumerator DTM

    - DTM NMEA sentence

- enumerator GPGSV

    - GPGSV NMEA sentence for SVs from GPS constellation

- enumerator GLGSV

    - GLGSV NMEA sentence for SVs from GLONASS constellation

- enumerator GAGSV

    - GAGSV NMEA sentence for SVs from GALILEO constellation

- enumerator GQGSV

    - GQGSV NMEA sentence for SVs from QZSS constellation

- enumerator GBGSV

    - GBGSV NMEA sentence for SVs from BEIDOU constellation

- enumerator GIGSV

    - GIGSV NMEA sentence for SVs from NAVIC constellation

- enumerator ALL

    - All NMEA sentences

- enum GeodeticDatumType

    - Specify the Geodetic datum for NMEA sentence types that are generated.

*Values:*

- enumerator GEODETIC\_TYPE\_NONE

    - No type

- enumerator GEODETIC\_TYPE\_WGS\_84

    - Geodetic datum type to indicate the use of World Geodetic System 1984 (WGS84) system

- enumerator GEODETIC\_TYPE\_PZ\_90

    - Geodetic datum type to indicate the use of PZ90/GLONASS system

- enum RobustLocationConfigType

    - Specify the valid mask for robust location configuration used by the GNSS standard position engine (SPE).

*Values:*

- enumerator VALID\_ENABLED

    - Validity of enabled

- enumerator VALID\_ENABLED\_FOR\_E911

    - Validity of enabledForE911.

- enumerator VALID\_VERSION

    - Validity of version.

- enum DRConfigValidityType

    - Specify the valid mask for the configuration parameters of dead reckoning position engine

*Values:*

- enumerator BODY\_TO\_SENSOR\_MOUNT\_PARAMS\_VALID

    - Validity of body to sensor mount parameters.

- enumerator VEHICLE\_SPEED\_SCALE\_FACTOR\_VALID

    - Validity of vehicle speed scale factor.

- enumerator VEHICLE\_SPEED\_SCALE\_FACTOR\_UNC\_VALID

    - Validity of vehicle speed scale factor uncertainty.

- enumerator GYRO\_SCALE\_FACTOR\_VALID

    - Validity of gyro scale factor.

- enumerator GYRO\_SCALE\_FACTOR\_UNC\_VALID

    - Validity of gyro scale factor uncertainty.

- enum GnssReportType

    - Specifies the set of gnss reports.

*Values:*

- enumerator LOCATION

    - Location reports

- enumerator SATELLITE\_VEHICLE

    - Satellite reports

- enumerator NMEA

    - To receive updates via [ILocationListener::onGnssNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a03bfa4b5d42c9b1596b2efae2c296c51), clients need to set this bit in the reportMask parameter passed to [ILocationManager::startDetailedReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1a256d0f5aed903fb4bb42260c81007f32) and [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a).

Clients should set NMEA if they only need sentences from FUSED engine Or set ENGINE NMEA if they need sentences from specific engine types. Clients should never set both.

Also refer to [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a) to understand the usage further.

- enumerator DATA

    - Data reports

- enumerator MEASUREMENT

    - Low rate measurement reports. Currently the rate is defined to be 1 Hz.

- enumerator HIGH\_RATE\_MEASUREMENT

    - High rate measurement reports. Currently the rate is defined to be 10 Hz. Client cannot specify rates. The data in high rate would be different that from low rate. Also there might be difference in accuracy of fields for the both the rates.

- enumerator DISASTER\_CRISIS

    - 

- enumerator ENGINE\_NMEA

    - To receive updates via [ILocationListener::onEngineNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a37c2c735530180400dfa054d92a372d2), clients need to set this bit in the reportMask parameter passed to [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a).

Clients should set NMEA if they only need sentences from FUSED engine Or set ENGINE NMEA if they need sentences from specific engine types. Clients should never set both.

Also refer to [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a) to understand the usage further.

- enumerator EPHEMERIS

    - To receive updates via [ILocationListener::onGnssEphemerisInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1acc0ef68af34c07bbbec6116832bdc29a), clients need to set this bit in the reportMask parameter passed to [ILocationManager::startDetailedReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1a256d0f5aed903fb4bb42260c81007f32) and [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a).

These reports are obtained only from the GNSS(SPE) engine whenever there is an update in the ephemeris information for a constellation.

- enumerator EXTENDED\_DATA

    - GNSS extended data

- enum EngineType

    - Specify the position engine types

*Values:*

- enumerator UNKNOWN

    - Unknown engine type.

- enumerator SPE

    - Standard GNSS position engine.

- enumerator PPE

    - Precise position engine.

- enumerator DRE

    - Dead reckoning position engine.

- enumerator VPE

    - Vision positioning engine.

- enum LocationEngineRunState

    - Specify the position engine run state

*Values:*

- enumerator UNKNOWN

    - Unknown engine run state.

- enumerator SUSPENDED

    - Request the position engine to be put into suspended state. When put in this state the QDR engine will discard calibration data.

- enumerator RUNNING

    - Request the position engine to be put into running state.

- enumerator SUSPEND\_RETAIN

    - Request the position engine to be put into suspend state while retaining any calibration data. While configuring this engine state via [ILocationConfigurator::configureEngineState](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a4fa32822d517cde5778a7131a7bcee9b), the vehicle is expected to be stationary and should be set to RUNNING before the vehicle is expected to move(for example,on Ignition On). This state is applicable when the client expects QDR to retain necessary data for subsequent resume/reboot while being suspended.

- enum ReportStatus

    - Specify the status of the report

*Values:*

- enumerator UNKNOWN

    - Report status is unknown.

- enumerator SUCCESS

    - Report status is successful. The engine is able to calculate the desired fix. Most of the fields in [ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543) will be valid.

- enumerator INTERMEDIATE

    - Report is still in progress. The engine has not completed its calculations when this report was generated. Accuracy of various fields is non-optimal. Only some of the fields in [ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543) will be valid.

- enumerator FAILURE

    - Report status has failed. The engine is not able to calculate the fix. Most of the fields in [ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543) will be invalid.

- enum DebugLogLevel

    - Specify the logcat debug level during XTRA’s param configuration. Currently, only XTRA daemon will support the runtime configuration of the debug log level.

*Values:*

- enumerator DEBUG\_LOG\_LEVEL\_NONE

    - No message is logged.

- enumerator DEBUG\_LOG\_LEVEL\_ERROR

    - Only error level debug messages will get logged.

- enumerator DEBUG\_LOG\_LEVEL\_WARNING

    - Only warning and error level debug messages will get logged.

- enumerator DEBUG\_LOG\_LEVEL\_INFO

    - Only info, warning and error level debug messages will get logged.

- enumerator DEBUG\_LOG\_LEVEL\_DEBUG

    - Only debug, info, warning and error level debug messages will get logged.

- enumerator DEBUG\_LOG\_LEVEL\_VERBOSE

    - Verbose, debug, info, warning and error level debug messages will get logged.

- enum XtraDataStatus

    - Provides the status of the previously downloaded Xtra data.

*Values:*

- enumerator STATUS\_UNKNOWN

    - If XTRA feature is disabled or if XTRA feature is enabled, but XTRA daemon has not yet retrieved the assistance data status from modem on early stage of device bootup, xtra data status will be unknown.

- enumerator STATUS\_NOT\_AVAIL

    - If XTRA feature is enabled, but XTRA data is not present on the device.

- enumerator STATUS\_NOT\_VALID

    - If XTRA feature is enabled, XTRA data has been downloaded ever but no longer valid.

- enumerator STATUS\_VALID

    - If XTRA feature is enabled, XTRA data has been downloaded and is currently valid.

- enum LocConfigIndicationsType

    - Enum of all the possible indications invoked by a Location Configurator listener.

*Values:*

- enumerator LOC\_CONF\_IND\_XTRA\_STATUS

    - Register to receive Xtra status updates.

- enumerator LOC\_CONF\_IND\_SIGNAL\_UPDATE

    - Register to receive Gnss signal updates.

- enum SbasCorrectionType

    - Deprecated This Enum is no longer supported. Use ILocationInfoEx::NavigationSolutionType to get the required information about solutions (corrections) used in the fix. Specify set of navigation solutions that contribute to Gnss Location. Defines Satellite Based Augmentation System(SBAS) corrections. SBAS contributes to improve the performance of GNSS system.

*Values:*

- enumerator SBAS\_CORRECTION\_IONO

    - Bit mask to specify whether SBAS ionospheric correction is used

- enumerator SBAS\_CORRECTION\_FAST

    - Bit mask to specify whether SBAS fast correction is used

- enumerator SBAS\_CORRECTION\_LONG

    - Bit mask to specify whether SBAS long correction is used

- enumerator SBAS\_INTEGRITY

    - Bit mask to specify whether SBAS integrity information is used

- enumerator SBAS\_CORRECTION\_DGNSS

    - Bit mask to specify whether SBAS DGNSS correction is used

- enumerator SBAS\_CORRECTION\_RTK

    - Bit mask to specify whether SBAS RTK correction is used

- enumerator SBAS\_CORRECTION\_PPP

    - Bit mask to specify whether SBAS PPP correction is used

- enumerator SBAS\_CORRECTION\_RTK\_FIXED

    - Bit mask to specify whether SBAS RTK fixed correction is used

- enumerator SBAS\_CORRECTION\_ONLY\_SBAS\_CORRECTED\_SV\_USED\_

    - Bit mask to specify only SBAS corrected SV is used

- enumerator SBAS\_COUNT

    - Bitset

Variables

- const float UNKNOWN\_CARRIER\_FREQ = -1

    - 

- const int UNKNOWN\_SIGNAL\_MASK = 0

    - 

- const double UNKNOWN\_BASEBAND\_CARRIER\_NOISE = 0.0

    - 

- const uint64\_t UNKNOWN\_TIMESTAMP = 0

    - 

- const float DEFAULT\_TUNC\_THRESHOLD = 0.0

    - Default value for threshold of time uncertainty. Units: milli-seconds.

- const int DEFAULT\_TUNC\_ENERGY\_THRESHOLD = 0

    - Default value for energy consumed of time uncertainty. The default here means that the engine is allowed to use infinite power. Units: 100 micro watt second.

- const uint64\_t INVALID\_ENERGY\_CONSUMED = 0xffffffffffffffff

    - 0xffffffffffffffff indicates an invalid reading for energy consumed info.

- const float UNKNOWN\_SV\_TIME\_SUB\_NS = -1

    - Unknown Sub nanoseconds portion of the received GNSS time.

- const uint32\_t DEFAULT\_GNSS\_REPORT = (0xffffffff ^ [ENGINE\_NMEA](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#_CPPv4N14GnssReportType11ENGINE_NMEAE))

    - &lt; 0xffffffff indicates all the reports. All the reports but ENGINE\_NMEA will be enabled by default if no specific report masks are specified. ENGINE\_NMEA and NMEA are mutually exclusive.

- class IDgnssStatusListener

    - Listener class for getting RTCM injection event notification information.

Public Functions

- inline virtual void onDgnssStatusUpdate([DgnssStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc11DgnssStatusE) status)

    - This function is called asynchronously to report RTCM injection status

- Parameters:

    - **status** – **[in]** - the status enum.

- inline virtual ~IDgnssStatusListener()

    - Destructor of IRTCMStatusListener

- class IDgnssManager

    - IRtcmManager provides interface to inject RTCM data into modem, register event listener reported by cdfw(correction data framework).

Public Functions

- virtual bool isSubsystemReady() = 0

    - Checks the status of location subsystems and returns the result.

Deprecated use [getServiceStatus()](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00504_1a8aabe12614ec1d0363debf06cc57273a)

- Returns:

    - True if location subsystem is ready for service otherwise false.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ServiceStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common13ServiceStatusE) getServiceStatus() = 0

    - This status indicates whether the object is in a usable state.

- Returns:

    - SERVICE\_AVAILABLE - If Dgnss manager is ready for service. SERVICE\_UNAVAILABLE - If Dgnss manager is temporarily unavailable. SERVICE\_FAILED - If Dgnss manager encountered an irrecoverable failure.

- virtual std::future&lt;bool&gt; onSubsystemReady() = 0

    - Wait for location subsystem to be ready.

Deprecated The callback mechanism introduced in the [LocationFactory::getDgnssManager()](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00547_1a890bb6a108cd1723ba71e79ce4a6be84) API will provide the similar notification mechanism as [onSubsystemReady()](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00504_1ae47ea11ea7fa7756dd287b226f6d10e4). This API will soon be removed from further releases.

- Returns:

    - A future that caller can wait on to be notified when location subsystem is ready.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) registerListener(std::weak\_ptr&lt;[IDgnssStatusListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00503.html#_CPPv4N5telux3loc20IDgnssStatusListenerE)&gt; listener) = 0

    - Register a listener for Dgnss injection status update.

- Parameters:

    - **listener** – **[in]** - Pointer of [IDgnssStatusListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00503) object that processes the notification.

- Returns:

    - Status of registerListener i.e success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) deRegisterListener(void) = 0

    - deRegister a listener for Dgnss injection status update.

- Returns:

    - Status of registerListener i.e success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) createSource([DgnssDataFormat](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc15DgnssDataFormatE) dataFormat) = 0

    - Create a Dgnss injection source. Only one source is permitted at any given time. If a new source is to be used, user must call [releaseSource()](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00504_1a9c601ae57ee7861ce70f209dd5945ec0) to release previous source before calling this function.

- Parameters:

    - **dataFormat** – **[in]** Dgnss injection data format.

- Returns:

    - Success of suitable status code

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) releaseSource(void) = 0

    - Release current Dgnss injection source (previously created by [createSource()](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00504_1a336ee26c51b23abce466a2aea7e8a187) call) This function is to be called if it’s determined that current injection data is not suitable anymore, and a new source will be created and used as injection source.

- Returns:

    - none

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) injectCorrectionData(const uint8\_t \*buffer, uint32\_t bufferSize) = 0

    - Inject correction data This function is to be called when a source has been created, either through a explicit call to [createSource()](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00504_1a336ee26c51b23abce466a2aea7e8a187), or after DgnssManager object was instantiated through the factory method(The factory method create a default source for DgnssManager object).

- Parameters:

    - - **buffer** – **[in]** buffer contains the data to be injected.
- **bufferSize** – **[in]** size of the buffer.

- Returns:

    - success or suitable status code.

- inline virtual ~IDgnssManager()

    - Destructor of IRtcmManager

- class ILocationConfigurator

    - [ILocationConfigurator](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505) allows general engine configurations (example: TUNC, PACE etc), configuration of specific engines like SPE (example: minSVElevation, minGPSWeek etc) or DRE, deletion of warm and cold aiding data, NMEA configuration and support for XTRA feature. [ILocationConfigurator](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505) APIs strictly adheres to the principle of single client per process.

Public Types

- using GetSecondaryBandCallback = std::function&lt;void(const [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[loc](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3locE)::[ConstellationSet](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga6a8876aede09d30050484243405511d7.html#_CPPv4N5telux3loc16ConstellationSetE) set, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)&gt;

    - This function is called with the response to requestSecondaryBandConfig API.

- Param set:

    - **[in]** - disabled secondary band constellation configuration used by the GNSS standard position engine (SPE).

- Param error:

    - **[in]** - Return code which indicates whether the operation succeeded or not.

- using GetMinGpsWeekCallback = std::function&lt;void(uint16\_t minGpsWeek, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)&gt;

    - This function is called with the response to requestMinGpsWeek API.

- Param minGpsWeek:

    - **[in]** - minimum gps week.

- Param error:

    - **[in]** - Return code which indicates whether the operation succeeded or not.

- using GetMinSVElevationCallback = std::function&lt;void(uint8\_t minSVElevation, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)&gt;

    - This function is called with the response to requestMinSVElevation API.

- Param minSVElevation:

    - **[in]** - minimum SV Elevation angle in units of degree.

- Param error:

    - **[in]** - Return code which indicates whether the operation succeeded or not.

- using GetRobustLocationCallback = std::function&lt;void(const [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[loc](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3locE)::[RobustLocationConfiguration](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00506.html#_CPPv4N5telux3loc27RobustLocationConfigurationE) rLConfig, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)&gt;

    - This function is called with the response to requestRobustLocation API.

- Param rLConfig:

    - **[in]** - robust location settings information.

- Param error:

    - **[in]** - Return code which indicates whether the operation succeeded or not.

- using GetXtraStatusCallback = std::function&lt;void(const [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[loc](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3locE)::[XtraStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00507.html#_CPPv4N5telux3loc10XtraStatusE) xtraStatus, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)&gt;

    - This function is called with the response to requestXtraStatus API.

- Param xtraStatus:

    - **[in]** - Information pertaining to Xtra assistance data.

- Param error:

    - **[in]** - Return code which indicates whether the operation succeeded or not.

Public Functions

- virtual bool isSubsystemReady() = 0

    - Checks the status of location configuration subsystems and returns the result.

Deprecated use [getServiceStatus()](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a192a346fc3fd0499143bba98d96d1130)

- Returns:

    - True if location configuration subsystem is ready for service otherwise false.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ServiceStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common13ServiceStatusE) getServiceStatus() = 0

    - This status indicates whether the object is in a usable state.

- Returns:

    - SERVICE\_AVAILABLE - If location configurator is ready for service. SERVICE\_UNAVAILABLE - If location configurator is temporarily unavailable. SERVICE\_FAILED - If location configurator encountered an irrecoverable failure.

- virtual std::future&lt;bool&gt; onSubsystemReady() = 0

    - Wait for location configuration subsystem to be ready.

Deprecated The callback mechanism introduced in the [LocationFactory::getLocationConfigurator()](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00547_1a2a9166acbf931188e0e793a23fb48f09) API will provide the similar notification mechanism as [onSubsystemReady()](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a85edf854e6bd34fa906e49e8f33b7e0e). This API will soon be removed from further releases.

- Returns:

    - A future that caller can wait on to be notified when location configuration subsystem is ready.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureCTunc(bool enable, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr, float timeUncertainty = [DEFAULT\_TUNC\_THRESHOLD](https://docs.qualcomm.com/doc/80-PF458-10/topic/variable_a00009_1gabdb1f6d2787d7e7356c79bd140e24450.html#_CPPv4N5telux3loc22DEFAULT_TUNC_THRESHOLDE), uint32\_t energyBudget = [DEFAULT\_TUNC\_ENERGY\_THRESHOLD](https://docs.qualcomm.com/doc/80-PF458-10/topic/variable_a00009_1ga57350f2d33421a2ff0a752cc866912c5.html#_CPPv4N5telux3loc29DEFAULT_TUNC_ENERGY_THRESHOLDE)) = 0

    - This API enables or disables the constrained time uncertainty(C-TUNC) feature. When the vehicle is turned off this API helps to put constraint on the time uncertainty. For multiple invocations of this API, client should wait for the command to finish, e.g.: via ResponseCallback received before issuing a second configureCTunc command. Behavior is not defined if client issues a second request of configureCTunc without waiting for the finish of the previous configureCTunc request.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **enable** – **[in]** - true for enable C-TUNC feature and false for disable C-TUNC feature.
- **callback** – **[in]** - Optional callback to get the response of enablement/disablement of C-TUNC.
- **timeUncertainty** – **[in]** - specifies the time uncertainty threshold that gps engine needs to maintain, in unit of milli-seconds. This parameter is ignored when the request is to disable this feature.
- **energyBudget** – **[in]** - specifies the power budget that the GPS engine is allowed to spend to maintain the time uncertainty, in the unit of 100 micro watt second. If the power exceeds the energyBudget then this API is disabled. This is a cumulative energy budget. This parameter is ignored when the request is to disable this feature.

- Returns:

    - Status of configureCTunc i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configurePACE(bool enable, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API enables or disables position assisted clock estimator feature. For multiple invocations of this API, client should wait for the command to finish, e.g.: via ResponseCallback received before issuing a second configurePACE command. Behavior is not defined if client issues a second request of configurePACE without waiting for the finish of the previous configurePACE request.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **enable** – **[in]** - to enable/disable position assisted clock estimator feature.
- **callback** – **[in]** - Optional callback to get the response of enablement/disablement of PACE.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) deleteAllAidingData([telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API deletes all forms of aiding data from all position engines. This API deletes all assistance data used by GPS engine and force engine to do a cold start for next session. Invoking this API will trigger cold start of all position engines on the device and will cause significant delay for the position engines to produce next fix and may have other performance impact. So, this API should only be exercised with caution and only for very limited usage scenario, e.g.: for performance test and certification process.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - **callback** – **[in]** - Optional callback to get the response of delete aiding data.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureLeverArm(const [LeverArmConfigInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga0c41aa123938fd615f757de3814266db.html#_CPPv4N5telux3loc18LeverArmConfigInfoE) &info, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API sets the lever arm parameters for the vehicle. LeverArm is sytem level parameters and it is not expected to change. So, it is needed to issue configureLeverArm once for every application processor boot-up. For multiple invocations of this API client should wait for the command to finish, e.g.: via ResponseCallback received before issuing a second configureLeverArm command. Behavior is not defined if client issues a second request of configureLeverArm without waiting for the finish of the previous configureLeverArm request.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **info** – **[in]** - lever arm configuration info regarding below three types of lever arm info: a: GNSS Antenna with respect to the origin at the IMU (inertial measurement unit) for DR engine b: GNSS Antenna with respect to the origin at the IMU (inertial measurement unit) for VEPP engine c: VRP (Vehicle Reference Point) with respect to the origin (at the GNSS Antenna). Vehicle manufacturers prefer the position output to be tied to a specific point in the vehicle rather than where the antenna is placed (midpoint of the rear axle is typical).
- **callback** – **[in]** - Optional callback to get the response of configure lever arm.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureConstellations(const [SvBlackList](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga259bb6c955f339cd0526751105cf0a19.html#_CPPv4N5telux3loc11SvBlackListE) &list, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr, bool resetToDefault = false) = 0

    - This API blacklists some constellations or subset of SVs from the constellation from being used by the GNSS standard position engine (SPE). Supported constellations for this API are GPS, GLONASS, QZSS, BEIDOU, GALILEO, SBAS and NAVIC. For other constellations NOTSUPPORTED status will be returned. For SBAS, SVs are not used in positioning by the GNSS standard position engine (SPE) by default. Blacklisting SBAS SV only blocks SBAS data demodulation and will not disable SBAS cross-correlation detection algorithms as they are necessary for optimal GNSS standard position engine (SPE) performance. When resetToDefault is false then the list is expected to contain the constellations or SVs that should be blacklisted. An empty list could be specified to allow all constellations/SVs (i.e. none will be blacklisted) in determining the fix. When resetToDefault is set to true, the device will revert to the default list of SV/ constellations to be blacklisted. For multiple invocations of this API, client should wait for the command to finish, e.g.: via ResponseCallback received before issuing a second configureConstellations command. Behavior is not defined if client issues a second request of configureConstellations without waiting for the finish of the previous configureConstellations request. This API call is not incremental and the new settings will completely overwrite the previous call.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **list** – **[in]** - specify the set of constellations and SVs that should not be used by the GNSS engine on modem. Constellations and SVs not specified in blacklistedSvList could get used by the GNSS engine on modem.
- **callback** – **[in]** - Optional callback to get the response of configure constellations.
- **resetToDefault** – **[in]** - when set to true, the device will revert to the default list of SV/constellation to be blacklisted. When set to false, list will be inspected to determine what should be blacklisted.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureSecondaryBand(const [ConstellationSet](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga6a8876aede09d30050484243405511d7.html#_CPPv4N5telux3loc16ConstellationSetE) &set, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API configures the secondary band constellations used by the GNSS standard position engine. This API call is not incremental and the new settings will completely overwrite the previous call. The set specifies the supported constellations whose secondary band information should be disabled. The absence of a constellation in the set will result in the secondary band being enabled for that constellation. The modem has its own configuration in NV (persistent memory) about which constellation’s secondary bands are allowed to be enabled. When a constellation is omitted when this API is invoked the secondary band for that constellation will only be enabled if the modem configuration allows it. If not allowed then this API would be a no-op for that constellation. Passing an empty set to this API will result in all constellations as allowed by the modem configuration to be enabled. For multiple invocations of this API, client should wait for the command to finish, e.g.: via ResponseCallback recieved, before issuing a second configureSecondaryBand command. Behavior is not defined if client issues a second request of configureSecondaryBand without waiting for the finish of the previous configureSecondaryBand request.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **set** – **[in]** - specifies the set of constellations whose secondary bands need to be disabled.
- **callback** – **[in]** - Optional callback to get the response of configureSecondaryBand.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) requestSecondaryBandConfig([GetSecondaryBandCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00505.html#_CPPv4N5telux3loc21ILocationConfigurator24GetSecondaryBandCallbackE) cb) = 0

    - This API retrieves the secondary band configurations for constellation used by the standard GNSS engine (SPE).

- Parameters:

    - **cb** – **[in]** - callback to retrieve secondary band information about constellations.

- Returns:

    - Status of requestSecondaryBandConfig i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureRobustLocation(bool enable, bool enableForE911 = false, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API enables/disables robust location 2.0 feature and enables/disables robust location while device is on E911. When this API is enabled it reports confidence of the GNSS spoofing by the getConformityIndex() API defined in the [ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543) class, which is a measure of robustness of the underlying navigation solution. It indicates how well the various input data considered for navigation solution conform to expectations. In the presence of detected spoofed inputs, the navigation solution may take corrective actions to mitigate the spoofed inputs and improve robustness of the solution.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **enable** – **[in]** - true to enable robust location and false to disable robust location.
- **enableForE911** – **[in]** - true to enable robust location when the device is on E911 session and false to disable on E911 session. This parameter is only valid if robust location is enabled.
- **callback** – **[in]** - Optional callback to get the response of configure robust location.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) requestRobustLocation([GetRobustLocationCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00505.html#_CPPv4N5telux3loc21ILocationConfigurator25GetRobustLocationCallbackE) cb) = 0

    - This API retrieves the robust location 2.0 settings and version info used by the GNSS standard position engine (SPE).

- Parameters:

    - **cb** – **[in]** - callback to retrieve robust location information.

- Returns:

    - Status of requestRobustLocation i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureMinGpsWeek(uint16\_t minGpsWeek, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API configures the minimum GPS week used by the modem GNSS standard position engine (SPE) and shall not be called while GNSS SPE is in the middle of a session. Client needs to assure that there is no active GNSS SPE session prior to issuing this command. Client should wait for the command to finish, e.g.: via ResponseCallback received before issuing a second configureMinGpsWeek command. Behavior is not defined if client issues a second request of configureMinGpsWeek without waiting for the previous configureMinGpsWeek to finish. Additionally minimum GPS week number shall NEVER be in the future of the current GPS Week.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **minGpsWeek** – **[in]** - minimum GPS week to be used by modem GNSS engine.
- **callback** – **[in]** - Optional callback to get the response of configure minimum GPS week.

- Returns:

    - Status of configureMinGpsWeek i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) requestMinGpsWeek([GetMinGpsWeekCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00505.html#_CPPv4N5telux3loc21ILocationConfigurator21GetMinGpsWeekCallbackE) cb) = 0

    - This API retrieves the minimum GPS week configuration used by the modem GNSS standard position engine (SPE). If this API is called right after configureMinGpsWeek, the returned setting may not match the one specified in configureMinGpsWeek, as the setting configured via configureMinGpsWeek can not be applied to the GNSS standard position engine(SPE) when the engine is in middle of a session. In poor GPS signal condition, the session may take up to 255 seconds to finish. If after 255 seconds of invoking configureMinGpsWeek, the returned value still does not match, then the caller need to reapply the setting by invoking configureMinGpsWeek again.

- Parameters:

    - **cb** – **[in]** - callback to retrieve the minimum gps week.

- Returns:

    - Status of requestMinGpsWeek i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureMinSVElevation(uint8\_t minSVElevation, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API configures the minimum SV elevation angle setting used by the GNSS standard position engine. Configuring minimum SV elevation setting will not cause SPE to stop tracking low elevation SVs. It only controls the list of SVs that are used in the filtered position solution, so SVs with elevation below the setting will be excluded from use in the filtered position solution. Configuring this setting to large angle will cause more SVs to get filtered out in the filtered position solution and will have negative performance impact.

This setting does not impact the SV information and SV measurement reports retrieved from APIs such as IGnssSvINfo::getSVInfoList, [ILocationListener::onGnssMeasurementsInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1afe9b4e3da58829d1d6286e3da99264e1).

To apply the setting, the GNSS standard position engine(SPE) will require GNSS measurement engine and position engine to be turned off briefly. This may cause glitch for on-going tracking session and may have other performance impact. So, it is advised to use this API with caution and only for very limited usage scenario, e.g.: for performance test and certification process and for one-time device configuration.

Client should wait for the command to finish, e.g.: via ResponseCallback received, before issuing a second configureMinElevation command. If this API is called while the GNSS Position Engine is in the middle of a session, ResponseCallback will still be invoked shortly to indicate the setting has been received by the SPE engine. However the actual setting can not be applied until the current session ends, and this may take up to 255 seconds in poor GPS signal condition.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **minSVElevation** – **[in]** - minimum SV elevation to be used by GNSS standard position engine (SPE). Valid range is [0, 90] in unit of degree.
- **callback** – **[in]** - Optional callback to get the response of configure minimum SV Elevation angle.

- Returns:

    - Status of configureMinSVElevation i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) requestMinSVElevation([GetMinSVElevationCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00505.html#_CPPv4N5telux3loc21ILocationConfigurator25GetMinSVElevationCallbackE) cb) = 0

    - This API retrieves the minimum SV Elevation configuration used by the modem GNSS SPE engine. If this API is invoked right after the configureMinSVElevation, the returned setting may not match the one specified in configureMinSVElevation, as the setting received via configureMinSVElevation might not have been applied yet as it takes time to apply the setting if the GNSS SPE engine has an on-going session. In poor GPS signal condition, the session may take up to 255 seconds to finish. If after 255 seconds of invoking configureMinSVElevation, the returned value still does not match, then the caller need to reapply the setting by invoking configureMinSVElevation again.

- Parameters:

    - **cb** – **[in]** - callback to retrieve the minimum SV elevation.

- Returns:

    - Status of requestMinSVElevation i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) deleteAidingData([AidingData](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga423f0fec4ec132805401e304958a9377.html#_CPPv4N5telux3loc10AidingDataE) aidingDataMask, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API deletes specified aiding data from all position engines on the device. For example, removing ephemeris data may trigger GNSS engine to do a warm start. Invoking this API may cause noticeable delay for the position engine to produce first fix and may have other performance impact. So, this API should only be exercised with caution and only for very limited usage scenario, e.g.: for performance test and certification process.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **aidingDataMask** – **[in]** - specify the set of aiding data to be deleted from all position engines. Currently, only ephemeris deletion is supported.
- **callback** – **[in]** - Optional callback to get the response of delete aiding data.

- Returns:

    - Status of deleteAidingData i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureDR(const [DREngineConfiguration](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00508.html#_CPPv4N5telux3loc21DREngineConfigurationE) &config, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API configures various parameters for dead reckoning position engine. Clients should wait for the command to finish e.g.: via ResponseCallback to be received before issuing a second configureDR command. Behavior is not defined if client issues a second request of configureDR without waiting for the completion of the previous configureDR request.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **config** – **[in]** - specify dead reckoning engine configuration.
- **callback** – **[in]** - Optional callback to get the response of configureDR.

- Returns:

    - Status of configureDR i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureEngineState(const [EngineType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc10EngineTypeE) engineType, const [LocationEngineRunState](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc22LocationEngineRunStateE) engineState, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API is used to instruct the specified engine to be in the suspended/running state. When the engine is placed in suspended state, the engine will stop. If there is an on-going session, engine will no longer produce fixes. In the suspended state, calling API to delete aiding data from the paused engine may not have effect. Request to delete Aiding data shall be issued after engine resume.

Currently, only DR engine will support this request. The request to suspend/running DR engine can be made with or without an on-going session. With DR engine, on resume, GNSS position & heading re-acquisition may be needed for DR to engage.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **engineType** – **[in]** - the engine that is instructed to change its run state.
- **engineState** – **[in]** - the new engine run state that the engine is instructed to be in.
- **callback** – **[in]** - Optional callback to get the response of configureEngineState.

- Returns:

    - Status of configureEngineState i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) provideConsentForTerrestrialPositioning(bool userConsent, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - Clients can request Terrestrial Positioning using [ILocationManager::getTerrestrialPosition](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1ab4e413f66c4dce1045a1a05425d220f3). Terrestrial Positioning requires sending device data to the cloud to get the position. This functionality requires user consent. This API needs to be invoked to provide the user consent.

The consent will remain effective across power cycles, until this API is called with a different value.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONSENT permission to invoke this API successfully.

- Parameters:

    - - **userConsent** – **[in]** - true indicates user consents to sending device data to cloud, false indicates user does not consent.
- **callback** – **[in]** - Optional callback to get the response of provideConsentForTerrestrialPositioning.

- Returns:

    - Status of provideConsentForTerrestrialPositioning i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureNmeaTypes(const [NmeaSentenceConfig](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gae15ad4f953cd84b2159f341ef372c0fe.html#_CPPv4N5telux3loc18NmeaSentenceConfigE) nmeaType, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API is used to configure the NMEA sentence types that clients will receive via [ILocationManager::startDetailedReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1a256d0f5aed903fb4bb42260c81007f32) or [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a). Without prior invocation to this API, all NMEA sentences supported in the system will get generated and delivered to all the clients that register to receive NMEA sentences. The NMEA sentence type configuration is common across all clients and updating it will affect all clients. This API call is not incremental and the new NMEA sentence types will completely overwrite the previous call to this API.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **nmeaType** – **[in]** - specify the set of NMEA sentences
- **callback** – **[in]** - Optional callback to get the response of configureNmeaTypes.

- Returns:

    - Status of configureNmeaTypes i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureNmea(const [NmeaConfig](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00509.html#_CPPv4N5telux3loc10NmeaConfigE) configParams, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API is used to configure the NMEA sentences that the clients will receive via [ILocationListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548) class APIs. NMEA updates can be received by either: a) Setting the telux::loc::GnssReportType::NMEA bit in the reportMask passed as a paramter to [ILocationManager::startDetailedReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1a256d0f5aed903fb4bb42260c81007f32) OR [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a) and receive the sentences via [ILocationListener::onGnssNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a03bfa4b5d42c9b1596b2efae2c296c51). b) Setting the telux::loc::GnssReportType::ENGINE\_NMEA bit in the reportMask passed as a paramter to [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a) and receive the sentences via [ILocationListener::onEngineNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a37c2c735530180400dfa054d92a372d2).

Further, the engines from which NMEA sentences will be received depends on the configuration made through this API AND the engine types chosen when starting the position reports via [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a). Fused engine is always considered as set even if the client does not explicitly specify it.

Without prior invocation to this API, all NMEA sentences supported in the system will get generated and delivered to all the clients that register to receive NMEA sentences. The NMEA sentence type configuration is common across all clients and updating it will affect all clients.

Please note that for the NMEA datum type request to be successful, the nmea provider configuration in the GPS configuration file should be set to application processor.

This API call is not incremental and the new NMEA configuration will completely overwrite the previous call to this API.

Also refer to [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a) to understand the types of NMEA updates to be received.

- Parameters:

    - - **configParams** – **[in]** - Configuration Parameters for Nmea on the device.
- **callback** – **[in]** - Optional callback to get the response of configureNmea.

- Returns:

    - Status of configureNmea i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureEngineIntegrityRisk(const [EngineType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc10EngineTypeE) engineType, uint32\_t integrityRisk, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API is used to instruct the specified engine to use the provided integrity risk level for protection level calculation in position report. This API can be called when a position session is in progress. Prior to calling this API for a particular engine, the engine shall not calculate the protection levels and shall not include the protection levels in its position report. The implementation might not support protection levels across all engines. For engines that don’t support it, [telux::common::ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#a00236_1a8f614f0a0eeca90c94dad1967ca93bcd) will get invoked with telux::common::ErrorCode::NOT\_SUPPORTED.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **engineType** – **[in]** - the engine that is instructed to use the specified integrity risk level for protection level calculation.
- **integrityRisk** – **[in]** - the integrity risk level used for calculating protection level. The integrity risk is defined as a probability per epoch, in unit of 2.5e-10. The valid range for actual integrity is [2.5e-10, 1-2.5e-10]), this corresponds to range of [1,4e9-1] of this parameter.
- **callback** – **[in]** - Optional callback to get the response of configureEngineIntegrityRisk.

- Returns:

    - Status of configureEngineIntegrityRisk i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureXtraParams(bool enable, const [XtraConfig](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00510.html#_CPPv4N5telux3loc10XtraConfigE) configParams, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API is used to enable/disable the XTRA (Predicted GNSS Satellite Orbit Data) feature on device. If XTRA feature is to be enabled, this API is also used to configure the various XTRA settings in device.

Clients need to note the below-

1. Wait for the ongoing request to finish prior to the next invocation else the behavior is undefined.
2. The API is non-incremental i.e, the second call will overwrite the first call. Also the configured XTRA params will be persistent.
3. Clients need to provide the user consent as true for the Xtra assistance service to be enabled via [ILocationConfigurator::provideConsentForXtra](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a859eb1af8e7c4d9a42a7d61a8f79e801) API.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **enable** – **[in]** - Enable XTRA Feature on the device. False would disable both the XTRA Assistance Data and NTP Time Download.
- **configParams** – **[in]** - Configuration Parameters for XTRA on the device.
- **callback** – **[in]** - Optional callback stating the response errorcode.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) requestXtraStatus([GetXtraStatusCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00505.html#_CPPv4N5telux3loc21ILocationConfigurator21GetXtraStatusCallbackE) callback) = 0

    - This API is used to query xtra feature setting and xtra assistance data status used by the GNSS standard position engine (SPE). If XTRA\_DATA\_STATUS\_UNKNOWN is returned but XTRA feature is enabled, the client shall wait a few seconds before calling this API again.

- Parameters:

    - **callback** – **[in]** - Callback to get the Xtra data status information.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) registerListener([LocConfigIndications](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga0094500720f1532d688d0f68500fc60e.html#_CPPv4N5telux3loc20LocConfigIndicationsE) indicationList, std::weak\_ptr&lt;[ILocationConfigListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00550.html#_CPPv4N5telux3loc23ILocationConfigListenerE)&gt; listener) = 0

    - This API is used to register a configuration listener for getting specific indications/updates.

- Parameters:

    - - **indicationList** – **[in]** - List of indications client wants to register under [telux::loc::LocConfigIndicationsType](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1ga0a639d063a68b0dbd012a4871ca1dfef.html#a00009_1ga0a639d063a68b0dbd012a4871ca1dfef).
- **listener** – **[in]** - Pointer of [ILocationConfigListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00550) object.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) deRegisterListener([LocConfigIndications](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga0094500720f1532d688d0f68500fc60e.html#_CPPv4N5telux3loc20LocConfigIndicationsE) indicationList, std::weak\_ptr&lt;[ILocationConfigListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00550.html#_CPPv4N5telux3loc23ILocationConfigListenerE)&gt; listener) = 0

    - This API is used to deregister a configuration listener from specific indications/updates.

- Parameters:

    - - **indicationList** – **[in]** - List of indications client wants to deregister from under [telux::loc::LocConfigIndicationsType](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1ga0a639d063a68b0dbd012a4871ca1dfef.html#a00009_1ga0a639d063a68b0dbd012a4871ca1dfef).
- **listener** – **[in]** - Pointer of [ILocationConfigListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00550) object.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) injectMerkleTreeInformation(std::string merkleTreeInfo, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - To support the Galileo OSNMA feature, this API is used to inject the Merkle Tree information via a XML configuration file. The XML configuration contains the Merkle root, Merkle nodes and information for upto 2 public keys.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **merkleTreeInfo** – **[in]** - The XML content to be injected. For injecting the Merkle information, clients need to pass the XML content in the form of a std::string.
- **callback** – **[in]** - Optional callback to receive the result of the injection.

- Returns:

    - Status of the injection i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) configureOsnma(bool enable, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API is used to enable/disable the OSNMA Feature in the Modem.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **enable** – **[in]** - Enable/Disable the OSNMA Feature in the modem.
- **callback** – **[in]** - Optional callback to receive the result of the enablement/disablement.

- Returns:

    - Status of the enablement/disablement i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) provideConsentForXtra(bool userConsent, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API allows the client to indicate the end user intent (Opt-In or Opt-Out) to allow use of GNSS Xtra assistance service. When the client sets the end user intent to false (Opted-Out), the Xtra assistance service will be disabled.

The consent will remain effective across power cycles, until this API is called with a different value.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_CONSENT permission to invoke this API successfully.

- Parameters:

    - - **userConsent** – **[in]** - true indicates user’s intent to opt-in for Xtra assistance service, false indicates user’s intent to opt-out of Xtra assistance service.
- **callback** – **[in]** - Optional callback to get the response of provideConsentForXtra.

- Returns:

    - Status of provideConsentForXtra i.e. success or suitable status code.

- inline virtual ~ILocationConfigurator()

    - Destructor of [ILocationConfigurator](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505)

- struct GnssKinematicsData

    - Specifies kinematics related information related to device body frame parameters.

Public Members

- [KinematicDataValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga8321a36001afcc7f7c0a12828e4775aa.html#_CPPv4N5telux3loc21KinematicDataValidityE) bodyFrameDataMask

    - Contains Body frame data valid bits.

- float longAccel

    - Forward Acceleration in body frame (meters/second^2)

- float latAccel

    - Sideward Acceleration in body frame (meters/second^2)

- float vertAccel

    - Vertical Acceleration in body frame (meters/second^2)

- float yawRate

    - Heading Rate (Radians/second)

- float pitch

    - Body pitch (Radians)

- float longAccelUnc

    - Uncertainty of Forward Acceleration in body frame (meters/second^2) Uncertainty is defined with 68% confidence level.

- float latAccelUnc

    - Uncertainty of Side-ward Acceleration in body frame meters/second^2) Uncertainty is defined with 68% confidence level.

- float vertAccelUnc

    - Uncertainty of Vertical Acceleration in body frame (meters/second^2) Uncertainty is defined with 68% confidence level.

- float yawRateUnc

    - Uncertainty of Heading Rate (Radians/second) Uncertainty is defined with 68% confidence level.

- float pitchUnc

    - Uncertainty of Body pitch (Radians) Uncertainty is defined with 68% confidence level.

- float pitchRate

    - Body pitch rate, in unit of radians/second.

- float pitchRateUnc

    - Uncertainty of pitch rate, in unit of radians/second. Uncertainty is defined with 68% confidence level.

- float roll

    - Roll of body frame, clockwise is positive, in unit of radian.

- float rollUnc

    - Uncertainty of roll, in unit of radian. Uncertainty is defined with 68% confidence level.

- float rollRate

    - Roll rate of body frame, clockwise is positive, in unit of radian/second.

- float rollRateUnc

    - Uncertainty of roll rate, in unit of radian/second. Uncertainty is defined with 68% confidence level.

- float yaw

    - Yaw of body frame, clockwise is positive, in unit of radian.

- float yawUnc

    - Uncertainty of yaw, in unit of radian. Uncertainty is defined with 68% confidence level.

- struct LLAInfo

    - The location info is calculated according to the vehicle’s GNSS antenna where as Vehicle Reference Point(VRP) refers to a point on the vehicle where the display of the car sits. The VRP based info is calculated by adding that extra difference between GNSS antenna and the VRP on the top where the location info is recieved. The VRP parameters can be configured through [ILocationConfigurator::configureLeverArm](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a5b83b971a300ce8ef9cf8493b9515a7c). [LLAInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00512) specifies latitude, longitude and altitude info of location for VRP-based.

Public Members

- double latitude

    - Latitude, in unit of degrees, range [-90.0, 90.0].

- double longitude

    - Longitude, in unit of degrees, range [-180.0, 180.0].

- float altitude

    - Altitude above the WGS 84 reference ellipsoid, in unit of meters.

- struct TimeInfo

    - Specify non-Glonass Gnss system time info.

Public Members

- [GnssTimeValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga8df7b0df6f41210fc44a26c1f80ec92e.html#_CPPv4N5telux3loc16GnssTimeValidityE) validityMask

    - Validity mask for below fields

- uint16\_t systemWeek

    - Extended week number at reference tick. Unit: Week. Set to 65535 if week number is unknown. For GPS: Calculated from midnight, Jan. 6, 1980. OTA decoded 10 bit GPS week is extended to map between: [NV6264 to (NV6264 + 1023)]. For BDS: Calculated from 00:00:00 on January 1, 2006 of Coordinated Universal Time (UTC). For GAL: Calculated from 00:00 UT on Sunday August 22, 1999 (midnight between August 21 and August 22).

- uint32\_t systemMsec

    - Time in to the current week at reference tick. Unit: Millisecond. Range: 0 to 604799999.

- float systemClkTimeBias

    - System clock time bias Units: Millisecond Note: System time (TOW Millisecond) = systemMsec - systemClkTimeBias.

- float systemClkTimeUncMs

    - Single sided maximum time bias uncertainty Units: Millisecond

- uint32\_t refFCount

    - FCount (free running HW timer) value. Don’t use for relative time purpose due to possible discontinuities. Unit: Millisecond

- uint32\_t numClockResets

    - Number of clock resets/discontinuities detected, affecting the local hardware counter value.

- struct GlonassTimeInfo

    - Specifies Glonass system time info.

Public Members

- uint16\_t gloDays

    - GLONASS day number in four years. Refer to GLONASS ICD. Applicable only for GLONASS and shall be ignored for other constellations. If unknown shall be set to 65535

- [TimeValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga16a68205e18d57a0e806408f782d5fce.html#_CPPv4N5telux3loc12TimeValidityE) validityMask

    - Validity mask for [GlonassTimeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00514) fields

- uint32\_t gloMsec

    - GLONASS time of day in Millisecond. Refer to GLONASS ICD. Units: Millisecond.

- float gloClkTimeBias

    - GLONASS clock time bias. Units: Millisecond Note: GLO time (TOD Millisecond) = gloMsec - gloClkTimeBias. Check for gloClkTimeUncMs before use.

- float gloClkTimeUncMs

    - Single sided maximum time bias uncertainty Units: Millisecond

- uint32\_t refFCount

    - FCount (free running HW timer) value. Don’t use for relative time purpose due to possible discontinuities. Unit: Millisecond

- uint32\_t numClockResets

    - Number of clock resets/discontinuities detected, affecting the local hardware counter value.

- uint8\_t gloFourYear

    - GLONASS four year number from 1996. Refer to GLONASS ICD. Applicable only for GLONASS and shall be ignored for other constellations.

- union SystemTimeInfo

    - Union to hold GNSS system time from different constellations in [SystemTime](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00516).

Public Members

- [TimeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00513.html#_CPPv4N5telux3loc8TimeInfoE) gps

    - System time info from GPS constellation.

- [TimeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00513.html#_CPPv4N5telux3loc8TimeInfoE) gal

    - System time info from GALILEO constellation.

- [TimeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00513.html#_CPPv4N5telux3loc8TimeInfoE) bds

    - System time info from BEIDOU constellation.

- [TimeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00513.html#_CPPv4N5telux3loc8TimeInfoE) qzss

    - System time info from QZSS constellation.

- [GlonassTimeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00514.html#_CPPv4N5telux3loc15GlonassTimeInfoE) glo

    - System time info from GLONASS constellation.

- [TimeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00513.html#_CPPv4N5telux3loc8TimeInfoE) navic

    - System time info from NAVIC constellation.

- struct SystemTime

    - GNSS system time in [ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543).

Public Members

- [GnssSystem](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc10GnssSystemE) gnssSystemTimeSrc

    - Specify the source constellation for GNSS system time.

- [SystemTimeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/union_a00515.html#_CPPv4N5telux3loc14SystemTimeInfoE) time

    - Specify the GNSS system time corresponding to the source.

- struct GnssMeasurementInfo

    - Specify the satellite vehicle measurements that are used to calculate location in [ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543).

Public Members

- [GnssSignal](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga3d124393d1acfa8c22d1dcc112ffa7bd.html#_CPPv4N5telux3loc10GnssSignalE) gnssSignalType

    - GnssSignalType mask

- [GnssSystem](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc10GnssSystemE) gnssConstellation

    - Specifies GNSS Constellation Type

- uint16\_t gnssSvId

    - GNSS SV ID. For GPS: 1 to 32. For GLONASS: [65, 96] or [97, 110]. [65, 96] if orbital slot number(OSN) is known. [97, 110] as frequency channel number(FCN) [-7, 6] plus 104. i.e. encode FCN (-7) as 97, FCN (0) as 104, FCN (6) as 110. For SBAS: 120 to 158 and 183 to 191. For QZSS: 193 to 197. For BDS: 201 to 263. For GAL: 301 to 336. For NAVIC: 401 to 420.

- struct SvUsedInPosition

    - Specify the set of SVs that are used to calculate location in [ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543).

Public Members

- uint64\_t gps

    - Specify the set of SVs from GPS constellation that are used to compute the position. Bit 0 to Bit 31 corresponds to GPS SV id 1 to 32.

- uint64\_t glo

    - Specify the set of SVs from GLONASS constellation that are used to compute the position. Bit 0 to Bit 31 corresponds to GLO SV id 65 to 96.

- uint64\_t gal

    - Specify the set of SVs from GALILEO constellation that are used to compute the position. Bit 0 to Bit 35 corresponds to GAL SV id 301 to 336.

- uint64\_t bds

    - Specify the set of SVs from BEIDOU constellation that are used to compute the position. Bit 0 to Bit 62 corresponds to BDS SV id 201 to 263.

- uint64\_t qzss

    - Specify the set of SVs from QZSS constellation that are used to compute the position. Bit 0 to Bit 4 corresponds to QZSS SV id 193 to 197.

- uint64\_t navic

    - Specify the set of SVs from NAVIC constellation that are used to compute the position. Bit 0 to Bit 19 corresponds to NAVIC SV id 401 to 420.

- struct GnssData

    - Specify the additional GNSS data that can be provided during a tracking session, currently jammer and automatic gain control data are available.

Public Members

- [GnssDataValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gae80fe5f1bdfce93a78e25dae07c397d5.html#_CPPv4N5telux3loc16GnssDataValidityE) gnssDataMask[[GnssDataSignalTypes](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc19GnssDataSignalTypesE)::[GNSS\_DATA\_MAX\_NUMBER\_OF\_SIGNAL\_TYPES](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc19GnssDataSignalTypes36GNSS_DATA_MAX_NUMBER_OF_SIGNAL_TYPESE)]

    - bitwise OR of GnssDataValidityType

- double jammerInd[[GnssDataSignalTypes](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc19GnssDataSignalTypesE)::[GNSS\_DATA\_MAX\_NUMBER\_OF\_SIGNAL\_TYPES](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc19GnssDataSignalTypes36GNSS_DATA_MAX_NUMBER_OF_SIGNAL_TYPESE)]

    - Jammer Indication for each signal type. Each index represents the signal type in GnssDataSignalTypes.

- double agc[[GnssDataSignalTypes](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc19GnssDataSignalTypesE)::[GNSS\_DATA\_MAX\_NUMBER\_OF\_SIGNAL\_TYPES](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc19GnssDataSignalTypes36GNSS_DATA_MAX_NUMBER_OF_SIGNAL_TYPESE)]

    - Overall automatic gain control level as observed at the input to correlator, in units of dB.

- [AgcStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc9AgcStatusE) agcStatusL1

    - RF Automatic gain control status for L1 band.

- [AgcStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc9AgcStatusE) agcStatusL2

    - RF Automatic gain control status for L2 band.

- [AgcStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc9AgcStatusE) agcStatusL5

    - RF Automatic gain control status for L5 band.

- struct SvBlackListInfo

    - Specify parameters related to enable/disable SVs

Public Members

- [GnssConstellationType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc21GnssConstellationTypeE) constellation

    - constellation for the sv

- uint32\_t svId

    - sv id for the constellation: 0 means blacklist for all SVIds of a given constellation type GPS SV id range: 1 to 32 GLONASS SV id range: 65 to 96 QZSS SV id range: 193 to 197 BDS SV id range: 201 to 263 GAL SV id range: 301 to 336 SBAS SV id range: 120 to 158 and 183 to 191 NAVIC SV id range: 401 to 420

- struct LeverArmParams

    - Specify parameters related to lever arm

Public Members

- float forwardOffset

    - Offset along the vehicle forward axis, in unit of meters

- float sidewaysOffset

    - Offset along the vehicle starboard axis, in unit of meters

- float upOffset

    - Offset along the vehicle up axis, in unit of meters

- struct GnssMeasurementsData

    - Specify the signal measurement information such as satellite vehicle pseudo range, satellite vehicle time, carrier phase measurement etc. from GNSS positioning engine.

Public Members

- [GnssMeasurementsDataValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gae2ecaf215a9e5748d9bc7a842293aa2d.html#_CPPv4N5telux3loc28GnssMeasurementsDataValidityE) valid

    - Bitwise OR of GnssMeasurementsDataValidityType to specify the valid fields in [GnssMeasurementsData](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00522).

- int16\_t svId

    - Specify satellite vehicle ID number.

- [GnssConstellationType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc21GnssConstellationTypeE) svType

    - SV constellation type.

- double timeOffsetNs

    - This field provides an individual time-stamp for the measurement, and allows sub-nanosecond accuracy. It is always set to zero as all measurements are aligned to a common time.

- [GnssMeasurementsStateValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gaf92e98b4229add7701aa1f2da878edc4.html#_CPPv4N5telux3loc29GnssMeasurementsStateValidityE) stateMask

    - Bitwise OR of GnssMeasurementsStateValidityType to specify the GNSS measurement state.

- int64\_t receivedSvTimeNs

    - The GNSS satellite (SV) time in the constellation time scale in nanoseconds at transmission. For GLONASS, this is the time of day, while for other systems, it is the time of week. The total SV time is calculated as: receivedSvTimeNs + receivedSvTimeSubNs.

- float receivedSvTimeSubNs

    - The sub nanosecond portion of the GNSS satellite (SV) time in the constellation time scale in nanoseconds at transmission. For GLONASS, this is the time of day, while for other systems, it is the time of week. The total SV time is calculated as: receivedSvTimeNs + receivedSvTimeSubNs.

- int64\_t receivedSvTimeUncertaintyNs

    - Received GNSS satellite (SV) time 1-Sigma uncertainty in nanoseconds.

- double carrierToNoiseDbHz

    - Carrier to noise ratio at antenna, in unit of dB-Hz.

- double pseudorangeRateMps

    - Uncorrected Pseudorange Rate in units of meter/second.

- double pseudorangeRateUncertaintyMps

    - Uncorrected Pseudorange Rate 1-Sigma Uncertainty in units of meter/second.

- [GnssMeasurementsAdrStateValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga918a5c4c812b94089c4381c25b672a19.html#_CPPv4N5telux3loc32GnssMeasurementsAdrStateValidityE) adrStateMask

    - Status bitmask of the ADR (Accumulated Delta Range) data. Please see description for GnssMeasurementsAdrStateValidity.

- double adrMeters

    - Accumulated delta range in units of meters since last SV carrier phase lock.

- double adrUncertaintyMeters

    - 1-Sigma Accumulated delta range uncertainty in unit of meters.

- float carrierFrequencyHz

    - Carrier frequency of the tracked signal in units of Hertz.

- int64\_t carrierCycles

    - This field is no longer available. Please refer to adrMeters.

- double carrierPhase

    - This field is no longer available. Please refer to adrMeters.

- double carrierPhaseUncertainty

    - This field is no longer available. Please refer to adrUncertaintyMeters.

- [GnssMeasurementsMultipathIndicator](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc34GnssMeasurementsMultipathIndicatorE) multipathIndicator

    - This field is no longer available.

- double signalToNoiseRatioDb

    - This field is no longer available.

- double agcLevelDb

    - Overall automatic gain control level as observed at the input to correlator, in units of dB.

- [GnssSignal](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga3d124393d1acfa8c22d1dcc112ffa7bd.html#_CPPv4N5telux3loc10GnssSignalE) gnssSignalType

    - GnssSignalType mask

- double basebandCarrierToNoise

    - Carrier-to-noise ratio of the signal measured at baseband, in unit of dB-Hz.

- double fullInterSignalBias

    - The full inter-signal bias (ISB) between the Signal specified in gnssSignalType and GPS L1 C/A in nanoseconds. This value is the sum of the estimated receiver-side and the space-segment-side inter-system bias, inter-frequency bias and inter-code bias.

- double fullInterSignalBiasUncertainty

    - Uncertainty associated with the full inter-signal bias in nanoseconds.

- struct GnssMeasurementsClock

    - Specify GNSS measurements clock.

Public Members

- [GnssMeasurementsClockValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gaa67594e5e254528b5f4d17c768f9e2be.html#_CPPv4N5telux3loc29GnssMeasurementsClockValidityE) valid

    - Validity bitmask of the GnssMeasurementsClockValidityType. Please see description for GnssMeasurementsClockValidity.

- int16\_t leapSecond

    - Leap Second: Delta between the GNSS time and UTC time in units of seconds.

- int64\_t timeNs

    - The internal hardware clock value of the GNSS receiver increases monotonically in nanoseconds, as long as the GNSS session remains active.

- double timeUncertaintyNs

    - System clock time uncertainty in units of nanoseconds. This field is always 0.

- int64\_t fullBiasNs

    - Full bias, in uint of nanoseconds. The difference between hardware clock (timeNs) inside GPS receiver and the true GPS time since 0000Z, January 6, 1980, in nanoseconds. This value is available if the receiver has estimated GPS time. For clarification, local estimate of GPS time = timeNs - (fullBiasNs + biasNs)

- double biasNs

    - Sub-nanoseconds bias, in unit of nanoseconds.

- double biasUncertaintyNs

    - Bias uncertainty (one sigma), in unit of nanoseconds.

- double driftNsps

    - GNSS Receiver Clock Drift in units of nanoseconds per seconds.

- double driftUncertaintyNsps

    - GNSS Receiver Clock Drift one sigma uncertainty in units of nanoseconds per seconds.

- uint32\_t hwClockDiscontinuityCount

    - Number of clock resets/discontinuities detected, affecting the field timeNs.

- uint64\_t elapsedRealTime

    - Elapsed real-time of this clock since system boot, in unit of nanoseconds.

- uint64\_t elapsedRealTimeUnc

    - uncertainty of elapsedRealTime, in unit of nanoseconds.

- uint64\_t elapsedgPTPTime

    - GPTP time field corresponding to source time ticks. Used for time sync between different systems, in unit of nanoseconds.

- uint64\_t elapsedgPTPTimeUnc

    - uncertainty of elapsedgPTPTime, in unit of nanoseconds.

- struct GnssMeasurements

    - Specify GNSS measurements clock and data. [GnssMeasurementInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00517) is used to convey the satellite vehicle info whose measurements are actually used to generate the current position report. While [GnssMeasurements](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00524) contains the satellite measurements that device observed during tracking session, regardless the measurement is used or not used to compute the fix. Furthermore [GnssMeasurements](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00524) contains much richer set of information which can enable other third party engines to utilize the measurements and compute the position by itself.

Public Members

- [GnssMeasurementsClock](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00523.html#_CPPv4N5telux3loc21GnssMeasurementsClockE) clock

    - GNSS measurements clock info.

- std::vector&lt;[GnssMeasurementsData](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00522.html#_CPPv4N5telux3loc20GnssMeasurementsDataE)&gt; measurements

    - GNSS measurements data.

- bool isNHz

    - Indicates the frequency for GNSS measurements generated at NHz or not.

- [AgcStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc9AgcStatusE) agcStatusL1

    - RF Automatic gain control status for L1 band.

- [AgcStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc9AgcStatusE) agcStatusL2

    - RF Automatic gain control status for L2 band.

- [AgcStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc9AgcStatusE) agcStatusL5

    - RF Automatic gain control status for L5 band.

- struct GnssDisasterCrisisReport

    - Specify the Disaster-crisis type and data payload received from the GNSS engine.

Public Members

- [GnssReportDCType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc16GnssReportDCTypeE) dcReportType

    - Disaster and crisis report types supported by the GNSS Engine.

- std::vector&lt;uint8\_t&gt; dcReportData

    - The disaster crisis report data, packed into uint8\_t. The bits in the payload are packed w.r.t the MSB First ordering.

- uint16\_t numValidBits

    - Number of valid bits that client should use in the payload as per the dcReportData.

- bool prnValid

    - Pseudo-Random Number validity

- uint8\_t prn

    - Pseudo-Random Number.

- struct GnssEphCommon

    - Common Ephemeris information for all constellations

Public Members

- uint16\_t gnssSvId

    - Specify satellite vehicle ID number. For SV id range of each supported constellations, refer to documentation of [telux::loc::GnssMeasurementInfo::gnssSvId](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00517_1a3a8a7752de076d460b5d025fb1ebe420).

- [GnssEphSource](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc13GnssEphSourceE) ephSource

    - Specifies the source of ephemeris.

- [GnssEphAction](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc13GnssEphActionE) action

    - Specifies the action to be performed on receipt of the ephemeris (Update/Delete) Action shall be performed on GnssEphSource specified.

- uint16\_t IODE

    - Issue of data ephemeris used (unit-less). GPS: IODE 8 bits. BDS: AODE 5 bits. GAL: SIS IOD 10 bits. Units: Unit-less

- double aSqrt

    - Square root of semi-major axis. Units: Square Root of Meters

- double deltaN

    - Mean motion difference from computed value. Units: Radians/Second

- double m0

    - Mean anomaly at reference time. Units: Radians

- double eccentricity

    - Eccentricity. Units: Unit-less

- double omega0

    - Longitude of ascending node of orbital plane at the weekly epoch. Units: Radians

- double i0

    - Inclination angle at reference time. Units: Radians

- double omega

    - Argument of Perigee. Units: Radians

- double omegaDot

    - Rate of change of right ascension. Units: Radians/Second

- double iDot

    - Rate of change of inclination angle. Units: Radians/Second

- double cUc

    - Amplitude of the cosine harmonic correction term to the argument of latitude. Units: Radians

- double cUs

    - Amplitude of the sine harmonic correction term to the argument of latitude. Units: Radians

- double cRc

    - Amplitude of the cosine harmonic correction term to the orbit radius. Units: Meters

- double cRs

    - Amplitude of the sine harmonic correction term to the orbit radius. Units: Meters

- double cIc

    - Amplitude of the cosine harmonic correction term to the angle of inclination. Units: Radians

- double cIs

    - Amplitude of the sine harmonic correction term to the angle of inclination. Units: Radians

- uint32\_t toe

    - Reference time of ephemeris. Units: Seconds

- uint32\_t toc

    - Clock data reference time of week. Units: Seconds

- double af0

    - Clock bias correction coefficient. Units: Seconds

- double af1

    - Clock drift coefficient. Units: Seconds/Second

- double af2

    - Clock drift rate correction coefficient. Units: Seconds/Seconds^2

- struct GpsQzssExtEphemeris

    - Extended Ephemeris information for GPS and QZSS

Public Members

- uint16\_t gnssSvId

    - Specify satellite vehicle ID number. For SV id range of each supported constellations, refer to documentation of [telux::loc::GnssMeasurementInfo::gnssSvId](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00517_1a3a8a7752de076d460b5d025fb1ebe420).

- [GpsQzssExtEphValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga814921f2da5717ae1ea677715b631a70.html#_CPPv4N5telux3loc21GpsQzssExtEphValidityE) validityMask

    - Validity mask for the GpsQzss Extended Ephemeris fields.

- float iscL1ca

    - InterSignal Correction between L1ca Data and Pilot channels in milliseconds. Always zero for QZSS. Units: milliseconds

- float iscL2c

    - InterSignal Correction between L2c Data and Pilot channels in milliseconds. Units: milliseconds

- float iscL5I5

    - InterSignal Correction between L5I5 Data and Pilot channels in milliseconds. Units: milliseconds

- float iscL5Q5

    - InterSignal Correction between L5Q5 Data and Pilot channels in milliseconds. Units: milliseconds

- uint8\_t alert

    - Alert Bit Info (unitless).

- uint8\_t uraNed0

    - NED accuracy index (5 bits, unitless).

- uint8\_t uraNed1

    - NED accuracy change index(3 bits), UraNed1 = 1/2^N (m/s), N=14 + UraNed1 index (unitless).

- uint8\_t uraNed2

    - NED accuracy change rate index (3 bits), UraNed2 = 1/2^N (m/s^2), N=28 + UraNed2 index (unitless).

- double top

    - Data predict time of week, 0-604500 sec. Units: seconds

- uint16\_t topClock

    - Data predict time of week (clock) , scale 300 seconds. Units: seconds

- uint32\_t validityPeriod

    - Validity Period in seconds. Units: seconds

- double deltaNdot

    - Rate of Mean motion difference from computed value [semi-circle/sec^2] (unitless).

- double deltaA

    - Semi-Major Axis Difference At Reference Time [m]. Units: Meters

- double adot

    - Change Rate In Semi-Major Axis [m/sec]. Units: Meters/seconds

- struct GpsQzssEphemeris

    - Common Ephemeris information for GPS and QZSS

Public Members

- [GnssEphCommon](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00526.html#_CPPv4N5telux3loc13GnssEphCommonE) commonData

    - Common ephemeris data.

- uint8\_t signalHealth

    - Signal health, where set bit indicates unhealthy signal. Bit 0 : L5 Signal Health. Bit 1 : L2 Signal Health. Bit 2 : L1 Signal Health.

- uint8\_t URAI

    - User Range Accuracy Index. Units: Unit-less

- uint8\_t codeL2

    - Indicates which codes are commanded ON for the L2 channel (2-bits). Valid Values: 00 : Reserved 01 : P code ON 10 : C/A code ON

- uint8\_t dataFlagL2P

    - L2 P-code indication flag. Value 1 indicates that the Nav data stream was commanded OFF on the P-code of the L2 channel.

- double tgd

    - Time of group delay. Units: Seconds

- uint8\_t fitInterval

    - Indicates the curve-fit interval used by the CS. Valid Values: 0 : Four hours 1 : Greater than four hours

- uint16\_t IODC

    - Issue of Data, Clock. Units: Unit-less

- bool extendedEphDataValidity

    - Indicates the validity of [GpsQzssExtEphemeris](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00527) data.

- [GpsQzssExtEphemeris](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00527.html#_CPPv4N5telux3loc19GpsQzssExtEphemerisE) gpsQzssExtEphData

    - Extended Ephemeris data for GPS/QZSS

- struct GlonassEphemeris

    - Ephemeris information for GLONASS

Public Members

- uint16\_t gnssSvId

    - Specify satellite vehicle ID number. For SV id range of each supported constellations, refer to documentation of [telux::loc::GnssMeasurementInfo::gnssSvId](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00517_1a3a8a7752de076d460b5d025fb1ebe420).

- [GnssEphSource](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc13GnssEphSourceE) ephSource

    - Specifies the source of ephemeris.

- [GnssEphAction](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc13GnssEphActionE) action

    - Specifies the action to be performed on receipt of the ephemeris (Update/Delete) Action shall be performed on GnssEphSource specified.

- uint8\_t bnHealth

    - SV health flags. Valid Values: 0 : Healthy 1 : Unhealthy

- uint8\_t lnHealth

    - Ln SV health flags. Valid Values: 0 : Healthy 1 : Unhealthy

- uint8\_t tb

    - Index of a time interval within current day according to UTC(SU) + 03 hours 00 min. Units: Unit-less

- uint8\_t ft

    - SV accuracy index. Units: Unit-less

- uint8\_t gloM

    - GLONASS-M flag. Valid Values: 0 : GLONASS 1 : GLONASS-M

- uint8\_t enAge

    - Characterizes “Age” of current information. Units: Days

- uint8\_t gloFrequency

    - GLONASS frequency number + 8. Range: 1 to 14

- uint8\_t p1

    - Time interval between two adjacent values of tb parameter. Units: Minutes

- uint8\_t p2

    - Flag of oddness (“1”) or evenness (“0”) of the value of tb for intervals 30 or 60 minutes.

- float deltaTau

    - Time difference between navigation RF signal transmitted in L2 sub-band and aviation RF signal transmitted in L1 sub-band. Units: Seconds

- double position[3]

    - Satellite XYZ position. Units: Meters

- double velocity[3]

    - Satellite XYZ velocity. Units: Meters/Second

- double acceleration[3]

    - Satellite XYZ sola-luni acceleration. Units: Meters/Second^2

- float tauN

    - Satellite clock correction relative to GLONASS time. Units: Seconds

- float gamma

    - Relative deviation of predicted carrier frequency value from nominal value at the instant tb. Units: Unit-less

- double toe

    - Complete ephemeris time, including N4, NT and Tb. [(N4-1)\*1461 + (NT-1)]\*86400 + tb\*900 Units: Seconds

- uint16\_t nt

    - Current date, calendar number of day within four-year interval. Starting from the 1-st of January in a leap year. Units: Days

- struct BdsExtEphemeris

    - Extended Ephemeris information for BDS

Public Members

- uint16\_t gnssSvId

    - Specify satellite vehicle ID number. For SV id range of each supported constellations, refer to documentation of [telux::loc::GnssMeasurementInfo::gnssSvId](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00517_1a3a8a7752de076d460b5d025fb1ebe420).

- [BdsExtEphValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga77aaf1e7dd4d59af325c2ba5b0671ea5.html#_CPPv4N5telux3loc17BdsExtEphValidityE) validityMask

    - Validity mask for the Bds Extended Ephemeris fields.

- float iscB2a

    - InterSignal Correction between B2a Data and Pilot channels in milliseconds. Units: milliseconds

- float iscB1c

    - InterSignal Correction between B1c Data and Pilot channels in milliseconds. Units: milliseconds

- float tgdB2a

    - Time of Group Delay For B2a in milliseconds. Units: milliseconds

- float tgdB1c

    - Time of Group Delay For B1C in milliseconds. Units: milliseconds

- [BdsSvType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc9BdsSvTypeE) svType

    - Bds Sv Type GEO / MEO / IGSO (Unitless).

- uint32\_t validityPeriod

    - Validity Period in seconds. Units: seconds

- uint8\_t integrityFlags

    - Satellite Integrity Flags consists data integrity Flag(DIF), Signal Integrity Flag(SIF), Accuracy Integrity Flag (AIF). Values: b0 - AIF, The signal is Valid(0) or Invalid (1). b1 - SIF, The signal is Normal(0) or Abnormal (1). b2 - DIF, The error of message parameters in this signal does not exceeds the prediction accuracy (0)/ Exceeds the prediction accuracy (1). b3 - B1I, ephemeris health (unitless).

- double deltaNdot

    - Rate of Mean motion difference from computed value [semi-circle/sec^2] (unitless).

- double deltaA

    - Semi-Major Axis Difference At Reference Time [m]. Units: meters

- double adot

    - Change Rate In Semi-Major Axis [m/sec]. Units: Meters/seconds

- struct BdsEphemeris

    - Ephemeris information for BDS

Public Members

- [GnssEphCommon](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00526.html#_CPPv4N5telux3loc13GnssEphCommonE) commonData

    - Common ephemeris data.

- uint8\_t svHealth

    - Satellite health information applied to both B1 and B2 (SatH1). Valid Values: 0 : Healthy 1 : Unhealthy

- uint8\_t AODC

    - Age of data clock. Units: Hours

- double tgd1

    - Equipment group delay differential on B1 signal. Units: Nano-Seconds

- double tgd2

    - Equipment group delay differential on B2 signal. Units: Nano-Seconds

- uint8\_t URAI

    - User range accuracy index (4-bits). Units: Unit-less

- bool extendedEphDataValidity

    - Indicates the validity of [BdsExtEphemeris](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00530) data.

- [BdsExtEphemeris](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00530.html#_CPPv4N5telux3loc15BdsExtEphemerisE) bdsExtEphData

    - Extended Ephemeris data for BDS

- struct GalileoEphemeris

    - Ephemeris information for GALILEO

Public Members

- [GnssEphCommon](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00526.html#_CPPv4N5telux3loc13GnssEphCommonE) commonData

    - Common ephemeris data.

- [GalEphSignalSource](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc18GalEphSignalSourceE) dataSourceSignal

    - Galileo Signal Source.

- uint8\_t sisIndex

    - Signal-in-space index for dual frequency E1-E5b/E5a depending on GalEphSignalSource. Units: Unit-less

- double bgdE1E5a

    - E1-E5a Broadcast group delay from F/Nav (E5A). Units: Seconds

- double bgdE1E5b

    - E1-E5b Broadcast group delay from I/Nav (E1B or E5B). For E1B or E5B signal, both bgdE1E5a and bgdE1E5b are valid. For E5A signal, only bgdE1E5a is valid. Signal source identified using GalEphSignalSource. Units: Seconds

- uint8\_t svHealth

    - SV health status of signal identified by GalEphSignalSource. Valid Values: 0 : Healthy 1 : Unhealthy

- struct QzssEphemeris

    - Ephemeris information for QZSS

Public Members

- [GpsQzssEphemeris](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00528.html#_CPPv4N5telux3loc16GpsQzssEphemerisE) qzssEphData

    - Common GPS-QZSS Ephemeris structure

- struct NavicEphemeris

    - Ephemeris information for NAVIC

Public Members

- [GnssEphCommon](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00526.html#_CPPv4N5telux3loc13GnssEphCommonE) commonData

    - Common ephemeris data.

- uint32\_t weekNum

    - Week number since the NavIC system time start epoch (August 22, 1999)

- uint32\_t iodec

    - Issue of Data, Clock

- uint8\_t l5Health

    - Health status of navigation data on L5 SPS signal. 0=OK, 1=bad

- uint8\_t sHealth

    - Health status of navigation data on S SPS signal. 0=OK, 1=bad

- double inclinationAngleRad

    - Inclination angle at reference time Unit: radian

- uint8\_t urai

    - User Range Accuracy Index(4bit)

- double tgd

    - Time of Group delay Unit: second

- struct GnssEphemeris

    - Specify the Ephemeris information for a constellation received from the GNSS engine.

Public Members

- [GnssSystem](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc10GnssSystemE) constellationType

    - SV constellation type.

- bool isSystemTimeValid

    - Validity of GNSS System Time of the ephemeris report

- [TimeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00513.html#_CPPv4N5telux3loc8TimeInfoE) timeInfo

    - GNSS System Time of the ephemeris report

- std::vector&lt;[GpsQzssEphemeris](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00528.html#_CPPv4N5telux3loc16GpsQzssEphemerisE)&gt; gpsEphemerisData

    - Based on Constellation type, only the vector for the specified constellation shall be populated while the other vectors will be empty. Ephemeris Data for each GPS SV

- std::vector&lt;[GlonassEphemeris](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00529.html#_CPPv4N5telux3loc16GlonassEphemerisE)&gt; gloEphemerisData

    - Ephemeris Data for each GLONASS SV

- std::vector&lt;[BdsEphemeris](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00531.html#_CPPv4N5telux3loc12BdsEphemerisE)&gt; bdsEphemerisData

    - Ephemeris Data for each BDS SV

- std::vector&lt;[GalileoEphemeris](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00532.html#_CPPv4N5telux3loc16GalileoEphemerisE)&gt; galEphemerisData

    - Ephemeris Data for each GAL SV

- std::vector&lt;[QzssEphemeris](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00533.html#_CPPv4N5telux3loc13QzssEphemerisE)&gt; qzssEphemerisData

    - Ephemeris Data for each QZSS SV

- std::vector&lt;[NavicEphemeris](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00534.html#_CPPv4N5telux3loc14NavicEphemerisE)&gt; navicEphemerisData

    - Ephemeris Data for each NAVIC SV

- bool validDataSourceSignal

    - Validity of Ephemeris Signal Source Type (Unitless). Valid only for GPS/QZSS/BDS constellations

- [GnssDataSignalTypes](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc19GnssDataSignalTypesE) dataSourceSignal

    - Ephemeris Signal Source Type

- struct LeapSecondChangeInfo

    - Specify leap second change event info.

Public Members

- [TimeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00513.html#_CPPv4N5telux3loc8TimeInfoE) timeInfo

    - GPS timestamp that corrresponds to the last known leap second change event. The info can be available on two scenario: 1: This leap second change event has been scheduled and yet to happen 2: This leap second change event has already happened and next leap second change event has not yet been scheduled.

- uint8\_t leapSecondsBeforeChange

    - Number of leap seconds prior to the leap second change event that corresponds to the timestamp at timeInfo.

- uint8\_t leapSecondsAfterChange

    - Number of leap seconds after the leap second change event that corresponds to the timestamp at timeInfo.

- struct LeapSecondInfo

    - Specify leap second info, including current leap second and leap second change event info if available.

Public Members

- [LeapSecondInfoValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga161fb69b2ea2b21eab409f943462c000.html#_CPPv4N5telux3loc22LeapSecondInfoValidityE) valid

    - Validity of [LeapSecondInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00537) fields.

- uint8\_t current

    - Current leap seconds, in unit of seconds. This info will only be available only if the leap second change info is not available.

- [LeapSecondChangeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00536.html#_CPPv4N5telux3loc20LeapSecondChangeInfoE) info

    - Leap second change event info. The info can be available on two scenario: 1: this leap second change event has been scheduled and yet to happen 2: this leap second change event has already happened and next leap second change event has not yet been scheduled. If leap second change info is available, to figure out the current leap second info, compare current gps time with [LeapSecondChangeInfo::timeInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00536_1a59fc17e163c03f95ce527f5d0a39944c) to know whether to choose leapSecondBefore or leapSecondAfter as current leap second.

- struct LocationSystemInfo

    - Specify location system information.

Public Members

- [LocationSystemInfoValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga12a029b89b060b0148fa3b58985e3616.html#_CPPv4N5telux3loc26LocationSystemInfoValidityE) valid

    - validity of [LocationSystemInfo::info](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00538_1a386b540cfed107fe0ac050c4836aa29e)

- [LeapSecondInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00537.html#_CPPv4N5telux3loc14LeapSecondInfoE) info

    - Current leap second and leap second info.

- struct GnssEnergyConsumedInfo

    - Specify the info regarding energy consumed by GNSS engine.

Public Members

- [GnssEnergyConsumedInfoValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gad00df7da2d3b1541b624b927316b7b7b.html#_CPPv4N5telux3loc30GnssEnergyConsumedInfoValidityE) valid

    - Bitwise OR of GnssEnergyConsumedInfoValidityType to specify the valid fields in [GnssEnergyConsumedInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00539).

- uint64\_t energySinceFirstBoot

    - Energy consumed by the modem GNSS engine since device first ever bootup, in unit of 0.1 milli watt seconds. For an invalid reading, INVALID\_ENERGY\_CONSUMED is returned.

- struct NmeaConfig

    - Specify the Nmea Config Parameters

Public Members

- [NmeaSentenceConfig](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gae15ad4f953cd84b2159f341ef372c0fe.html#_CPPv4N5telux3loc18NmeaSentenceConfigE) sentenceConfig = [NmeaSentenceType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc16NmeaSentenceTypeE)::[ALL](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc16NmeaSentenceType3ALLE)

    - Specify the sentences to be configured.

- [GeodeticDatumType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc17GeodeticDatumTypeE) datumType = [GeodeticDatumType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc17GeodeticDatumTypeE)::[GEODETIC\_TYPE\_WGS\_84](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc17GeodeticDatumType20GEODETIC_TYPE_WGS_84E)

    - Specify the datum type to be configured.

- [LocReqEngine](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gae377fa87de49fb8ed3f3a233bf6080f9.html#_CPPv4N5telux3loc12LocReqEngineE) engineType = [LocReqEngineType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc16LocReqEngineTypeE)::[LOC\_REQ\_ENGINE\_FUSED\_BIT](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc16LocReqEngineType24LOC_REQ_ENGINE_FUSED_BITE)

    - Specify the Engine type for which Nmea sentences should be generated. Also refer to [ILocationConfigurator::configureNmea](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a87c6ce9e3d6e4ef577bc12c4c802a1f4) and [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a) to understand the usage further.

- struct RobustLocationVersion

    - Specify the versioning info of robust location module for the GNSS standard position engine (SPE).

Public Members

- uint8\_t major

    - Major version number.

- uint16\_t minor

    - Minor version number.

- struct RobustLocationConfiguration

    - Specify the robust location configuration used by the GNSS standard position engine (SPE)

Public Members

- [RobustLocationConfig](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gac24c8a1bcc8d24ca0f6637e00bd23da3.html#_CPPv4N5telux3loc20RobustLocationConfigE) validMask

    - Validity mask

- bool enabled

    - Specify whether robust location feature is enabled or not.

- bool enabledForE911

    - Specify whether robust location feature is enabled or not when device is on E911 call.

- [RobustLocationVersion](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00540.html#_CPPv4N5telux3loc21RobustLocationVersionE) version

    - Specify the version info of robust location module used by the GNSS standard position engine (SPE).

- struct BodyToSensorMountParams

    - Specify vehicle body-to-Sensor mount parameters for use by dead reckoning positioning engine.

Public Members

- float rollOffset

    - The misalignment of the sensor board along the horizontal plane of the vehicle chassis measured looking from the vehicle to forward direction. In unit of degrees. Range: [-180.0, 180.0].

- float yawOffset

    - The misalignment along the horizontal plane of the vehicle chassis measured looking from the vehicle to the right side. Positive pitch indicates vehicle is inclined such that forward wheels are at higher elevation than rear wheels. In unit of degrees. Range: [-180.0, 180.0].

- float pitchOffset

    - The angle between the vehicle forward direction and the sensor axis as seen from the top of the vehicle, and measured in counterclockwise direction. In unit of degrees. Range: [-180.0, 180.0].

- float offsetUnc

    - Single uncertainty number that may be the largest of the uncertainties for roll offset, pitch offset and yaw offset. In unit of degrees. Range: [-180.0, 180.0].

- struct DREngineConfiguration

    - Specify the dead reckoning engine configuration parameters.

Public Members

- [DRConfigValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gae8e1a15192b30c872c607711517c70a6.html#_CPPv4N5telux3loc16DRConfigValidityE) validMask

    - Specify the valid fields.

- [BodyToSensorMountParams](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00541.html#_CPPv4N5telux3loc23BodyToSensorMountParamsE) mountParam

    - Body to sensor mount parameters used by dead reckoning positioning engine.

- float speedFactor

    - Vehicle Speed Scale Factor configuration input for the dead reckoning positioning engine. The multiplicative scale factor is applied to the received Vehicle Speed value (in meter/second) to obtain the true Vehicle Speed. Range is [0.9 to 1.1]. Note: The scale factor is specific to a given vehicle make & model.

- float speedFactorUnc

    - Vehicle Speed Scale Factor Uncertainty (68% confidence) configuration input for the dead reckoning positioning engine. Range is [0.0 to 0.1]. Note: The scale factor uncertainty is specific to a given vehicle make & model.

- float gyroFactor

    - Gyroscope Scale Factor configuration input for the dead reckoning positioning engine. The multiplicative scale factor is applied to received gyroscope value to obtain the true value. Range is [0.9 to 1.1]. Note: The scale factor is specific to the Gyroscope sensor and typically derived from either sensor data-sheet or from actual calibration.

- float gyroFactorUnc

    - Gyroscope Scale Factor uncertainty (68% confidence) configuration input for the dead reckoning positioning engine. Range is [0.0 to 0.1]. Note: The scale factor uncertainty is specific to the Gyroscope sensor and typically derived from either sensor data-sheet or from actual calibration.

- struct XtraConfig

    - Xtra feature configuration parameters

Public Members

- uint32\_t downloadIntervalMinute

    - Number of minutes between periodic, consecutive successful XTRA assistance data downloads.

If 0 is specified, modem default download for XTRA assistance data will be performed.

- uint32\_t downloadTimeoutSec

    - Connection timeout when connecting backend for both xtra assistance data download and NTP time download.

If 0 is specified, the download timeout value will use device default values.

- uint32\_t downloadRetryIntervalMinute

    - Interval to wait before retrying for xtra assistance data’s download in case of failure.

If 0 is specified, XTRA download retry will follow device default behavior and downloadRetryAttempts will also use device default value.

- uint32\_t downloadRetryAttempts

    - Total number of allowed retry attempts for assistance data’s download in case of failure.

If 0 is specified, XTRA download retry will follow device default behavior and downloadRetryIntervalMinute will also use device default value.

- std::string caPath

    - Path to the certificate authority (CA) repository that needs to be used for XTRA assistance data download. If empty string is specified, device default CA repositaory will be used.

- std::vector&lt;std::string&gt; serverURLs

    - URLs from which XTRA assistance data will be fetched. At least one and up to three URLs need to be configured when this API is used.

The URLs, if provided, shall include the port number to be used for download.

Valid xtra server URLs should start with “https://”.

Example of a valid URL : [https://path.exampleserver.net:443](https://path.exampleserver.net:443)

- std::vector&lt;std::string&gt; ntpServerURLs

    - URLs for NTP server to fetch current time.

If no NTP server URL is provided, then device will use the default NTP server.

The URLs, if provided, shall include the port number to be used for download.

Example of a valid ntp server URL is: ntp.exampleserver.com:123.

- bool isIntegrityDownloadEnabled

    - Enable or disable XTRA integrity download.

true: enable XTRA integrity download. false: disable XTRA integrity download.

- uint32\_t integrityDownloadIntervalMinute

    - Download interval for xtra integrity, only applicable if XTRA integrity download is enabled.

If 0 is specified, the download timeout value will use device default value.

- [DebugLogLevel](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc13DebugLogLevelE) daemonDebugLogLevel

    - Level of debug log messages that will be logged.

- std::string ntsServerURL

    - URL of NTS KE Server.

The URL, if provided, shall be complete and shall include the port number.

Max of 128 bytes, including null-terminating byte will be supported.

Valid NTS KE server URL should start with “https://”.

If NTS KE server URL is not specified, then device will use the default URL of [https://nts.xtracloud.net:4460](https://nts.xtracloud.net:4460).

- bool isDiagLoggingEnabled

    - Enable or disable diag logging for Xtra.

false : disable the diag logging for Xtra. true : enable the diag logging for Xtra.

- struct XtraStatus

    - Specify Xtra assistant data’s current status, validity and whether it is enabled.

Public Members

- bool featureEnabled

    - XTRA assistance data and NTP time download is enabled or disabled.

- [XtraDataStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc14XtraDataStatusE) xtraDataStatus

    - XTRA assistance data status. If XTRA assistance data download is not enabled, this field will be set to XTRA\_DATA\_STATUS\_UNKNOWN.

- uint32\_t xtraValidForHours

    - Number of hours that xtra assistance data will remain valid.

This field will be valid when xtraDataStatus is set to XTRA\_DATA\_STATUS\_VALID. For all other XtraDataStatus, this field will be set to 0.

- bool userConsent

    - User consent to avail the Xtra assistance service.

- class ILocationInfoBase

    - [ILocationInfoBase](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00542) provides interface to get basic position related information like latitude, longitude, altitude, timestamp.

Subclassed by [telux::loc::ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543)

Public Functions

- virtual [LocationInfoValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga23aff7e8debd56e1961f006616f62ddd.html#_CPPv4N5telux3loc20LocationInfoValidityE) getLocationInfoValidity() = 0

    - Retrieves the validity of the Location basic Info.

- Returns:

    - Location basic validity mask.

- virtual [LocationTechnology](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga5d13b709208b79edae5ba578d71e6a1c.html#_CPPv4N5telux3loc18LocationTechnologyE) getTechMask() = 0

    - Retrieves technology used in computing this fix.

- Returns:

    - Location technology mask.

- virtual float getSpeed() = 0

    - Retrieves Speed.

- Returns:

    - speed in meters per second.

- virtual double getLatitude() = 0

    - Retrieves latitude. Positive and negative values indicate northern and southern latitude respectively

- Units: Degrees
- Range: -90.0 to 90.0

- Returns:

    - Latitude if available else returns NaN.

- virtual double getLongitude() = 0

    - Retrieves longitude. Positive and negative values indicate eastern and western longitude respectively

- Units: Degrees
- Range: -180.0 to 180.0

- Returns:

    - Longitude if available else returns NaN.

- virtual double getAltitude() = 0

    - Retrieves altitude above the WGS 84 reference ellipsoid.

- Units: Meters

- Returns:

    - Altitude if available else returns NaN.

- virtual float getHeading() = 0

    - Retrieves heading/bearing.

- Units: Degrees
- Range: 0 to 360

- Returns:

    - Heading if available else returns NaN.

- virtual float getHorizontalUncertainty() = 0

    - Retrieves the horizontal uncertainty.

- Units: Meters Uncertainty is defined with 68% confidence level.

- Returns:

    - Horizontal uncertainty.

- virtual float getVerticalUncertainty() = 0

    - Retrieves the vertical uncertainty.

- Units: Meters Uncertainty is defined with 68% confidence level.

- Returns:

    - Vertical uncertainty if available else returns NaN.

- virtual uint64\_t getTimeStamp() = 0

    - Retrieves UTC timeInfo for the location fix.

- Units: Milliseconds since Jan 1, 1970

- Returns:

    - TimeStamp in milliseconds if available else returns UNKNOWN\_TIMESTAMP which is zero(as UTC timeStamp has elapsed since January 1, 1970, it cannot be 0)

- virtual float getSpeedUncertainty() = 0

    - Retrieves 3-D speed uncertainty/accuracy.

- Units: Meters per Second Uncertainty is defined with 68% confidence level.

- Returns:

    - Speed uncertainty if available else returns NaN.

- virtual float getHeadingUncertainty() = 0

    - Retrieves heading uncertainty.

- Units: Degrees
- Range: 0 to 360 Uncertainty is defined with 68% confidence level.

- Returns:

    - Heading uncertainty if available else returns NaN.

- virtual uint64\_t getElapsedRealTime() = 0

    - Boot timestamp corresponding to the UTC timestamp for Location fix.

- Units: Nano-second

- Returns:

    - elapsed real time.

- virtual uint64\_t getElapsedRealTimeUncertainty() = 0

    - Retrieves elapsed real time uncertainty.

- Units: Nano-second

- Returns:

    - elapsed real time uncertainty.

- virtual float getTimeUncMs() = 0

    - Retrieves time uncertainty. For PVT report from SPE engine, confidence level is at 99%. For PVT reports from other engines, confidence level is undefined.

- Returns:

    - - Time uncertainty in milliseconds.

- virtual uint64\_t getElapsedGptpTime() = 0

    - Retrieves elapsed gPTP time. GPTP time field corresponding to source time ticks. Used for time sync between different systems. Validity of this field is given by value of LocationValidityType::HAS\_GPTP\_TIME\_BIT

- Units: Nanoseconds

- Returns:

    - elapsed gPTP time

- virtual uint64\_t getElapsedGptpTimeUnc() = 0

    - Retrieves elapsed gPTP time uncertainty. Validity of this field is given by value of LocationValidityType::HAS\_GPTP\_TIME\_UNC\_BIT

- Units: Nanoseconds

- Returns:

    - elapsed gPTP time uncertainty

- class ILocationInfoEx : public [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[loc](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3locE)::[ILocationInfoBase](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00542.html#_CPPv4N5telux3loc17ILocationInfoBaseE)

    - [ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543) provides interface to get richer position related information like latitude, longitude, altitude and other information like time stamp, session status, dop, reliabilities, uncertainties etc.

Public Functions

- virtual [LocationInfoExValidity](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga278340c8d59419ecee1483a9a0b097ee.html#_CPPv4N5telux3loc22LocationInfoExValidityE) getLocationInfoExValidity() = 0

    - Retrives the validity of the location info ex. It provides the validity of various information like dop, reliabilities, uncertainties etc.

- Returns:

    - Location ex validity mask

- virtual float getAltitudeMeanSeaLevel() = 0

    - Retrieves the altitude with respect to mean sea level.

- Units: Meters

- Returns:

    - Altitude with respect to mean sea level if available else returns NaN.

- virtual float getPositionDop() = 0

    - Retrieves position dilution of precision.

- Returns:

    - Position dilution of precision if available else returns NaN. Range: 0 (highest accuracy) to 50 (lowest accuracy)

- virtual float getHorizontalDop() = 0

    - Retrieves horizontal dilution of precision.

- Returns:

    - Horizontal dilution of precision if available else returns NaN. Range: 0 (highest accuracy) to 50 (lowest accuracy)

- virtual float getVerticalDop() = 0

    - Retrieves vertical dilution of precision.

- Returns:

    - Vertical dilution of precision if available else returns NaN Range: 0 (highest accuracy) to 50 (lowest accuracy)

- virtual float getGeometricDop() = 0

    - Retrieves geometric dilution of precision.

- Returns:

    - geometric dilution of precision. Range: 0 (highest accuracy) to 50 (lowest accuracy)

- virtual float getTimeDop() = 0

    - Retrieves time dilution of precision.

- Returns:

    - Time dilution of precision. Range: 0 (highest accuracy) to 50 (lowest accuracy)

- virtual float getMagneticDeviation() = 0

    - Retrieves the difference between the bearing to true north and the bearing shown on magnetic compass. The deviation is positive when the magnetic north is east of true north.

- Units: Degrees

- Returns:

    - Magnetic Deviation if available else returns NaN

- virtual [LocationReliability](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc19LocationReliabilityE) getHorizontalReliability() = 0

    - Specifies the reliability of the horizontal position.

- Returns:

    - [LocationReliability](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1ga186cf56e34c8bffdd31df8e595b0c969.html#a00009_1ga186cf56e34c8bffdd31df8e595b0c969) of the horizontal position if available else returns UNKNOWN.

- virtual [LocationReliability](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc19LocationReliabilityE) getVerticalReliability() = 0

    - Specifies the reliability of the vertical position.

- Returns:

    - [LocationReliability](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1ga186cf56e34c8bffdd31df8e595b0c969.html#a00009_1ga186cf56e34c8bffdd31df8e595b0c969) of the vertical position if available else returns UNKNOWN.

- virtual float getHorizontalUncertaintySemiMajor() = 0

    - Retrieves semi-major axis of horizontal elliptical uncertainty.

- Units: Meters Uncertainty is defined with 39% confidence level.

- Returns:

    - Semi-major horizontal elliptical uncertainty if available else returns NaN.

- virtual float getHorizontalUncertaintySemiMinor() = 0

    - Retrieves semi-minor axis of horizontal elliptical uncertainty.

- Units: Meters Uncertainty is defined with 39% confidence level.

- Returns:

    - Semi-minor horizontal elliptical uncertainty if available else returns NaN.

- virtual float getHorizontalUncertaintyAzimuth() = 0

    - Retrieves elliptical horizontal uncertainty azimuth of orientation.

- Units: Decimal degrees
- Range: 0 to 180 Confidence for uncertainty is not specified.

- Returns:

    - Elliptical horizontal uncertainty azimuth of orientation if available else returns NaN.

- virtual float getEastStandardDeviation() = 0

    - Retrieves east standard deviation.

- Units: Meters Uncertainty is defined with 68% confidence level.

- Returns:

    - East Standard Deviation.

- virtual float getNorthStandardDeviation() = 0

    - Retrieves north standard deviation.

- Units: Meters Uncertainty is defined with 68% confidence level.

- Returns:

    - North Standard Deviation.

- virtual uint16\_t getNumSvUsed() = 0

    - Retrieves number of satellite vehicles used in position report.

- Returns:

    - number of Sv used.

- virtual [SvUsedInPosition](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00518.html#_CPPv4N5telux3loc16SvUsedInPositionE) getSvUsedInPosition() = 0

    - Retrives the set of satellite vehicles that are used to calculate position.

- Returns:

    - set of satellite vehicles for different constellations.

- virtual void getSVIds(std::vector&lt;uint16\_t&gt; &idsOfUsedSVs) = 0

    - Retrieves GNSS Satellite Vehicles used in position data.

- Parameters:

    - **idsOfUsedSVs** – **[out]** Vector of Satellite Vehicle identifiers.

- virtual [NavigationSolution](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gacecc55e477aba4eda3e60b75da955f2d.html#_CPPv4N5telux3loc18NavigationSolutionE) getNavigationSolution() = 0

    - Retrieves navigation solution mask used to indicate solutions used in the fix.

- Returns:

    - - Navigation solution mask used.

- virtual [GnssPositionTech](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gaf8fa3e2e485e92df8156b936e0af6b06.html#_CPPv4N5telux3loc16GnssPositionTechE) getPositionTechnology() = 0

    - Retrieves position technology mask used to indicate which technology is used.

- Returns:

    - - Position technology used in computing this fix.

- virtual [GnssKinematicsData](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00511.html#_CPPv4N5telux3loc18GnssKinematicsDataE) getBodyFrameData() = 0

    - Retrieves position related information.

- virtual std::vector&lt;[GnssMeasurementInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00517.html#_CPPv4N5telux3loc19GnssMeasurementInfoE)&gt; getmeasUsageInfo() = 0

    - Retrieves gnss measurement usage info.

- virtual [SystemTime](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00516.html#_CPPv4N5telux3loc10SystemTimeE) getGnssSystemTime() = 0

    - Retrieves type of gnss system.

- Returns:

    - - Type of Gnss System.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) getLeapSeconds(uint8\_t &leapSeconds) = 0

    - Retrieves leap seconds if available.

- Parameters:

    - **leapSeconds** – **[out]** - leap seconds

- Units: Seconds

- Returns:

    - Status of leap seconds.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) getVelocityEastNorthUp(std::vector&lt;float&gt; &velocityEastNorthUp) = 0

    - Retrieves east, North, Up velocity if available.

- Parameters:

    - **velocityEastNorthUp** – **[out]** - east, North, Up velocity

- Units: Meters/second

- Returns:

    - Status of availability of east, North, Up velocity.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) getVelocityUncertaintyEastNorthUp(std::vector&lt;float&gt; &velocityUncertaintyEastNorthUp) = 0

    - Retrieves east, North, Up velocity uncertainty if available. Uncertainty is defined with 68% confidence level.

- Parameters:

    - **velocityUncertaintyEastNorthUp** – **[out]** - east, North, Up velocity uncertainty

- Units: Meters/second

- Returns:

    - Status of availability of east, North, Up velocity uncertainty.

- virtual uint8\_t getCalibrationConfidencePercent() = 0

    - Sensor calibration confidence percent, range [0, 100].

- Returns:

    - the percentage of calibration taking all the parameters into account.

- virtual [DrCalibrationStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga1405a9a7444ff1b15009764e330eb12a.html#_CPPv4N5telux3loc19DrCalibrationStatusE) getCalibrationStatus() = 0

    - Sensor calibration status.

- Returns:

    - mask indicating the calibration status with respect to different parameters.

- virtual [DrSolutionStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gad6cdfd4df3aaa77665f1999a9aef0e5f.html#_CPPv4N5telux3loc16DrSolutionStatusE) getSolutionStatus() = 0

    - DR solution status.

- Returns:

    - mask indicating the solution status with respect to the DR position engine.

- virtual [LocationAggregationType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc23LocationAggregationTypeE) getLocOutputEngType() = 0

    - Location engine type. When the type is set to LOC\_ENGINE\_SRC\_FUSED, the fix is the propagated/aggregated reports from all engines running on the system (e.g.: DR/SPE/PPE) based QTI algorithm. To check which location engine contributes to the fused output, check for locOutputEngMask.

- Returns:

    - the type of engine that was used for calculating the position fix.

- virtual [PositioningEngine](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gac989cab8659db3b411e156567dab37f6.html#_CPPv4N5telux3loc17PositioningEngineE) getLocOutputEngMask() = 0

    - When loc output eng type is set to fused, this field indicates the set of engines contribute to the fix.

- Returns:

    - the combination of position engines used in calculating the position report when the loc output end type is set to fused.

- virtual float getConformityIndex() = 0

    - When robust location is enabled, this field will indicate how well the various input data considered for navigation solution conforms to expectations.

- Returns:

    - values in the range [0.0, 1.0], with 0.0 for least conforming and 1.0 for most conforming.

- virtual [LLAInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00512.html#_CPPv4N5telux3loc7LLAInfoE) getVRPBasedLLA() = 0

    - Vehicle Reference Point(VRP) based latitude, longitude and altitude information.

- virtual std::vector&lt;float&gt; getVRPBasedENUVelocity() = 0

    - VRP-based east, north and up velocity information.

- Returns:

    - - vector of directional velocities in this order {east velocity, north velocity, up velocity}

- virtual [AltitudeType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc12AltitudeTypeE) getAltitudeType() = 0

    - Determination of altitude is assumed or calculated. ASSUMED means there may not be enough satellites to determine the precise altitude.

- Returns:

    - altitude type ASSUMED/CALCULATED or if not avalilable then UNKNOWN.

- virtual [ReportStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc12ReportStatusE) getReportStatus() = 0

    - Indicates the status of this report in terms of how optimally the report was calculated by the engine.

- Returns:

    - Status of the report. Returns ReportStatus::UNKNOWN if status is unavailable.

- virtual uint32\_t getIntegrityRiskUsed() = 0

    - Integrity risk used for protection level parameters. Unit of 2.5e-10. Valid range is [1 to (4e9-1)]. Values other than valid range means integrity risk is disabled and [ILocationInfoEx::getProtectionLevelAlongTrack](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543_1a7dc0bd7ed348e00084d62c74e04f11d9), [ILocationInfoEx::getProtectionLevelCrossTrack](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543_1a92d4823d2b41eddd44ae688b4a2a40b3) and [ILocationInfoEx::getProtectionLevelVertical](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543_1ae3c5369450d70a41ea6d93935815dc42) will not be available.

- virtual float getProtectionLevelAlongTrack() = 0

    - Along-track protection level at specified integrity risk, in unit of meter.

- virtual float getProtectionLevelCrossTrack() = 0

    - Cross-track protection level at specified integrity risk, in unit of meter.

- virtual float getProtectionLevelVertical() = 0

    - Vertical component protection level at specified integrity risk, in unit of meter.

- virtual [SbasCorrection](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga027e13a1a9aa4fb34bc70ead327fbc0c.html#_CPPv4N5telux3loc14SbasCorrectionE) getSbasCorrection() = 0

    - Retrieves navigation solution mask used to indicate SBAS corrections.

Deprecated This API is no longer supported. Use [ILocationInfoEx::getNavigationSolution](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00543_1a0e6dee5ae65408193d76e0f7c543a375) to get the required information about solutions (corrections) used in the fix.

- Returns:

    - - SBAS (Satellite Based Augmentation System) Correction mask used.

- virtual std::vector&lt;uint16\_t&gt; getDgnssStationIds() = 0

    - List of DGNSS station IDs providing corrections. Range:

- SBAS — 120 to 158 and 183 to 191
- Monitoring station — 1000-2023 (Station ID biased by 1000)
- Other values reserved.

- virtual double getBaselineLength() = 0

    - Distance between the basestation and the receiver. Units: meter.

- virtual uint64\_t getAgeOfCorrections() = 0

    - Difference in time between the fix timestamp using the correction and the time of the correction data. Units: milliseconds.

- virtual uint8\_t getLeapSecondsUncertainty() = 0

    - Returns the leap seconds uncertainty associated with the PVT report. Units- seconds

- class ISVInfo

    - [ISVInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00544) provides interface to retrieve information about Satellite Vehicles, their position and health status.

Public Functions

- virtual [GnssConstellationType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc21GnssConstellationTypeE) getConstellation() = 0

    - Indicates to which constellation this satellite vehicle belongs.

- Returns:

    - [GnssConstellationType](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1gad9f487aa6f321c45375ed7ba652efb51.html#a00009_1gad9f487aa6f321c45375ed7ba652efb51) if available else returns UNKNOWN.

- virtual uint16\_t getId() = 0

    - GNSS satellite vehicle ID. SV id range of each supported constellations mentioned in [GnssMeasurementInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00517).

- Returns:

    - Identifier of the satellite vehicle otherwise 0(as 0 is not an ID for any of the SVs)

- virtual [SVHealthStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc14SVHealthStatusE) getSVHealthStatus() = 0

    - Health status of satellite vehicle.

- Returns:

    - HealthStatus of Satellite Vehicle if available else returns UNKNOWN.

- [SVHealthStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1ga84fd9ce5f550aff0fbdb1745f1b97a1a.html#a00009_1ga84fd9ce5f550aff0fbdb1745f1b97a1a) Deprecated This API is not supported.

- virtual [SVStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc8SVStatusE) getStatus() = 0

    - Status of satellite vehicle.

Note

This API is work-in-progress and is subject to change.

- Returns:

    - Satellite Vehicle Status if available else returns UNKNOWN.

- [SVStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1ga63d87d38eaa92c6d8bb4db0d1dc7cb58.html#a00009_1ga63d87d38eaa92c6d8bb4db0d1dc7cb58) Deprecated This API is not supported.

- virtual [SVInfoAvailability](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc18SVInfoAvailabilityE) getHasEphemeris() = 0

    - Indicates whether ephemeris information(which allows the receiver to calculate the satellite’s position) is available.

- Returns:

    - [SVInfoAvailability](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1ga07004414af943b240814ab88c373c85d.html#a00009_1ga07004414af943b240814ab88c373c85d) if Ephemeris exists or not else returns UNKNOWN.

- virtual [SVInfoAvailability](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc18SVInfoAvailabilityE) getHasAlmanac() = 0

    - Indicates whether almanac information(which allows receivers to know which satellites are available for tracking) is available.

- Returns:

    - [SVInfoAvailability](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1ga07004414af943b240814ab88c373c85d.html#a00009_1ga07004414af943b240814ab88c373c85d) if almanac exists or not else returns UNKNOWN.

- virtual [SVInfoAvailability](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc18SVInfoAvailabilityE) getHasFix() = 0

    - Indicates whether the satellite is used in computing the fix.

- Returns:

    - [SVInfoAvailability](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1ga07004414af943b240814ab88c373c85d.html#a00009_1ga07004414af943b240814ab88c373c85d), if satellite used or not else returns UNKNOWN.

- virtual float getElevation() = 0

    - Retrieves satellite vehicle elevation angle.

- Units: Degrees
- Range: 0 to 90

- Returns:

    - Elevation if available else returns NaN.

- virtual float getAzimuth() = 0

    - Retrieves satellite vehicle azimuth angle.

- Units: Degrees
- Range: 0 to 360

- Returns:

    - Azimuth if available else returns NaN.

- virtual float getSnr() = 0

    - Retrieves signal-to-noise ratio of the signal measured at antenna of the satellite vehicle.

- Units: dB-Hz

- Returns:

    - SNR if available else returns 0.0 value.

- virtual float getCarrierFrequency() = 0

    - Indicates the carrier frequency of the signal tracked.

- Returns:

    - carrier frequency in Hz else returns UNKNOWN\_CARRIER\_FREQ frequency when not supported.

- virtual [GnssSignal](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga3d124393d1acfa8c22d1dcc112ffa7bd.html#_CPPv4N5telux3loc10GnssSignalE) getSignalType() = 0

    - Indicates the validity for different types of signal for gps, galileo, beidou etc.

- Returns:

    - signalType mask else return UNKNOWN\_SIGNAL\_MASK when not supported.

- virtual uint16\_t getGlonassFcn() = 0

    - Retrieves GLONASS frequency channel number in the range [1, 14] which is calculated as FCN [-7, 6] + 8.

- Returns:

    - GLONASS frequency channel number.

- virtual double getBasebandCnr() = 0

    - Carrier-to-noise ratio of the signal measured at baseband.

- Units: dB-Hz

- Returns:

    - carrier-to-noise ratio at baseband else returns UNKNOWN\_BASEBAND\_CARRIER\_NOISE ratio when not supported.

- class IGnssSVInfo

    - [IGnssSVInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00545) provides interface to retrieve the list of SV info available and whether altitude is assumed or calculated.

Public Functions

- virtual [AltitudeType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc12AltitudeTypeE) getAltitudeType() = 0

    - Indicates whether altitude is assumed or calculated.

- Returns:

    - [AltitudeType](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1ga6a54e0928d01e1f765115d7643431460.html#a00009_1ga6a54e0928d01e1f765115d7643431460) if available else returns UNKNOWN. Deprecated This API is not supported.

- virtual std::vector&lt;std::shared\_ptr&lt;[ISVInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00544.html#_CPPv4N5telux3loc7ISVInfoE)&gt;&gt; getSVInfoList() = 0

    - Pointer to satellite vehicles information for all GNSS constellations.

- Returns:

    - Vector of pointer of [ISVInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00544) object if available else returns empty vector.

- class IGnssSignalInfo

    - [IGnssSignalInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00546) provides interface to retrieve GNSS data information like jammer metrics and automatic gain control for satellite signal type.

Public Functions

- virtual [GnssData](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00519.html#_CPPv4N5telux3loc8GnssDataE) getGnssData() = 0

    - Retrieves jammer metric and Automatic Gain Control(AGC) corresponding to signal types.Jammer metric is linearly proportional to the sum of jammer and noise power at the GNSS antenna port.

- Returns:

    - List of jammer metric and a list of automatic gain control for signal type.

- class LocationFactory

    - [LocationFactory](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00547) allows creation of location manager.

Public Functions

- virtual std::shared\_ptr&lt;[ILocationManager](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00551.html#_CPPv4N5telux3loc16ILocationManagerE)&gt; getLocationManager([telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get instance of Location Manager

- Parameters:

    - **callback** – **[in]** Optional callback to get the response of the manager initialization.

- Returns:

    - Pointer of [ILocationManager](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551) object.

- virtual std::shared\_ptr&lt;[ILocationConfigurator](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00505.html#_CPPv4N5telux3loc21ILocationConfiguratorE)&gt; getLocationConfigurator([telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get instance of Location Configurator.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get the response of the manager initialisation.

- Returns:

    - Pointer of [ILocationConfigurator](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505) object.

- virtual std::shared\_ptr&lt;[IDgnssManager](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00504.html#_CPPv4N5telux3loc13IDgnssManagerE)&gt; getDgnssManager([DgnssDataFormat](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc15DgnssDataFormatE) dataFormat = [DgnssDataFormat](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc15DgnssDataFormatE)::[DATA\_FORMAT\_RTCM\_3](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc15DgnssDataFormat18DATA_FORMAT_RTCM_3E), [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get instance of Dgnss manager.

- Parameters:

    - - **dataFormat** – **[in]** [DgnssDataFormat](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1ga3bbeba1c6371cb047d455b9932344aca.html#a00009_1ga3bbeba1c6371cb047d455b9932344aca) RTCM injection data format
- **callback** – **[in]** Optional callback pointer to get the response of the manager initialisation.

- Returns:

    - Pointer of [IDgnssManager](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00504) object.

Public Static Functions

- static [LocationFactory](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00547.html#_CPPv4N5telux3loc15LocationFactoryE) &getInstance()

    - Get Location Factory instance.

Private Functions

- LocationFactory(const [LocationFactory](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00547.html#_CPPv4N5telux3loc15LocationFactory15LocationFactoryERK15LocationFactory)&) = delete

    - 

- [LocationFactory](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00547.html#_CPPv4N5telux3loc15LocationFactoryE) &operator=(const [LocationFactory](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00547.html#_CPPv4N5telux3loc15LocationFactoryE)&) = delete

    -

- class ILocationListener : public [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ISDKListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00046.html#_CPPv4N5telux6common12ISDKListenerE)

    - Listener class for getting location updates and satellite vehicle information.

The methods in listener can be invoked from multiple different threads. Client needs to make sure that implementation is thread-safe.

Public Functions

- inline virtual void onBasicLocationUpdate(const std::shared\_ptr&lt;[ILocationInfoBase](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00542.html#_CPPv4N5telux3loc17ILocationInfoBaseE)&gt; &locationInfo)

    - This function is called when device receives location update. When there are multiple engines running on the system, the received location information is fused report from all engines.

On platforms with Access control enabled, the client needs to have TELUX\_LOC\_DATA permission for this listener API to be invoked.

- Parameters:

    - **locationInfo** – **[in]** - Location information like latitude, longitude, timeInfo other information such as heading, altitude and velocity etc.

- inline virtual void onDetailedLocationUpdate(const std::shared\_ptr&lt;[ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00543.html#_CPPv4N5telux3loc15ILocationInfoExE)&gt; &locationInfo)

    - This function is called when device receives Gnss location update. When there are multiple engines running on the system, the received location information is fused report from all engines.

On platforms with Access control enabled, the client needs to have TELUX\_LOC\_DATA permission for this listener API to be invoked.

- Parameters:

    - **locationInfo** – **[in]** - Contains richer set of location information like latitude, longitude, timeInfo, heading, altitude, velocity and other information such as deviations, elliptical accuracies etc.

- inline virtual void onDetailedEngineLocationUpdate(const std::vector&lt;std::shared\_ptr&lt;[ILocationInfoEx](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00543.html#_CPPv4N5telux3loc15ILocationInfoExE)&gt;&gt; &locationEngineInfo)

    - This function is called when device receives multiple Gnss location update from the different engine types requested, which are SPE/PPE/FUSED. This API will be called ONLY if we use startDetailedEngineReports.

On platforms with Access control enabled, the client needs to have TELUX\_LOC\_DATA permission for this listener API to be invoked.

- Parameters:

    - **locationEngineInfo** – **[in]** - Contains a list of location infos. Each element in the list corresponds to one of SPE/PPE/FUSED.

- inline virtual void onGnssSVInfo(const std::shared\_ptr&lt;[IGnssSVInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00545.html#_CPPv4N5telux3loc11IGnssSVInfoE)&gt; &gnssSVInfo)

    - This function is called when device receives GNSS satellite information.

On platforms with Access control enabled, the client needs to have TELUX\_LOC\_DATA permission for this listener API to be invoked.

- Parameters:

    - **gnssSVInfo** – **[in]** - GNSS satellite information

- inline virtual void onGnssSignalInfo(const std::shared\_ptr&lt;[IGnssSignalInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00546.html#_CPPv4N5telux3loc15IGnssSignalInfoE)&gt; &info)

    - This function is called when device receives GNSS data information like jammer metrics and automatic gain control for satellite signal type.

On platforms with Access control enabled, the client needs to have TELUX\_LOC\_DATA permission for this listener API to be invoked.

- Parameters:

    - **info** – **[in]** - GNSS signal info

- inline virtual void onGnssNmeaInfo(uint64\_t timestamp, const std::string &nmea)

    - This function is called when device receives GNSS NMEA sentences from FUSED engine.

To receive these updates, clients need to set the telux::loc::GnssReportType::NMEA bit in the reportMask passed as a paramter to [ILocationManager::startDetailedReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1a256d0f5aed903fb4bb42260c81007f32) or [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a).

Also refer to [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a) to understand the usage further.

On platforms with Access control enabled, the client needs to have TELUX\_LOC\_DATA permission for this listener API to be invoked.

- Parameters:

    - - **timestamp** – **[in]** - Timestamp
- **nmea** – **[in]** - Nmea sentence

- inline virtual void onEngineNmeaInfo([LocationAggregationType](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3loc23LocationAggregationTypeE) engineType, uint64\_t timestamp, const std::string &nmea)

    - This function is called when device receives NMEA sentences from a specific engine.

To receive these updates, clients need to set the telux::loc::GnssReportType::ENGINE\_NMEA bit in the reportMask passed as a paramter to [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a).

Also refer to [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a) to understand the usage further.

On platforms with Access control enabled, the client needs to have TELUX\_LOC\_DATA permission for this listener API to be invoked.

- Parameters:

    - - **engineType** – **[in]** - Engine Type used in generating the NMEA sentence.
- **timestamp** – **[in]** - Timestamp
- **nmea** – **[in]** - Nmea sentence

- inline virtual void onGnssMeasurementsInfo(const [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[loc](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3locE)::[GnssMeasurements](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00524.html#_CPPv4N5telux3loc16GnssMeasurementsE) &measurementInfo)

    - This function is called when device receives signal measurement information such as satellite vehicle pseudo range, satellite vehicle clock time, carrier phase measurement etc. The frequency at which this API is called is determined by what was requested telux::loc::GnssReportType::MEASUREMENT or telux::loc::GnssReportType::HIGH\_RATE\_MEASUREMENT in [ILocationManager::startDetailedReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1a256d0f5aed903fb4bb42260c81007f32) and [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a).

On platforms with Access control enabled, the client needs to have TELUX\_LOC\_DATA permission for this listener API to be invoked.

- Parameters:

    - **measurementInfo** – **[in]** - GNSS measurement information

- inline virtual void onGnssDisasterCrisisInfo(const [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[loc](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3locE)::[GnssDisasterCrisisReport](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00525.html#_CPPv4N5telux3loc24GnssDisasterCrisisReportE) &dcReportInfo)

    - This function is called during a disaster/crisis to update the disaster/crisis reports.

- Parameters:

    - **dcReportInfo** – **[in]** - GNSS disaster/crisis report information. This includes the report type and data payload received from the GNSS engine.

- inline virtual void onGnssEphemerisInfo(const [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[loc](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3locE)::[GnssEphemeris](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00535.html#_CPPv4N5telux3loc13GnssEphemerisE) &ephemerisInfo)

    - This function is called when there is an update in the ephemeris information for a constellation.

To receive these updates, clients need to set the telux::loc::GnssReportType::EPHEMERIS bit in the reportMask passed as a paramter to [ILocationManager::startDetailedReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1a256d0f5aed903fb4bb42260c81007f32) or [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a).

On platforms with Access control enabled, the client needs to have TELUX\_LOC\_DATA permission for this listener API to be invoked.

- Parameters:

    - **ephemerisInfo** – **[in]** - GNSS ephemeris information for a constellation.

- inline virtual void onCapabilitiesInfo(const [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[loc](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3locE)::[LocCapability](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga9544205bf459d6a733c048c02a408c58.html#_CPPv4N5telux3loc13LocCapabilityE) capabilityInfo)

    - This function is called when the capabilities of the location stack gets updated.

On platforms with Access control enabled, the client needs to have TELUX\_LOC\_DATA permission for this listener API to be invoked.

- Parameters:

    - **capabilityInfo** – **[in]** - [telux::loc::LocCapability](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00009_1ga9544205bf459d6a733c048c02a408c58), capability information

- inline virtual void onGnssExtendedDataInfo(const std::vector&lt;uint8\_t&gt; &payload)

    - This function is called to provide the GNSS extended data on products having applicable license enabled. This data is generated only via the GNSS SPE engine. To receive these updates, clients need to set the telux::loc::GnssReportType::EXTENDED\_DATA bit in the reportMask passed as a parameter to [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a).

On platforms with Access control enabled, the client needs to have TELUX\_LOC\_DATA permission for this listener API to be invoked.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - **payload** – **[in]** - A blob of the GNSS extended data.

- inline virtual ~ILocationListener()

    - Destructor of [ILocationListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548)

- class ILocationSystemInfoListener : public [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ISDKListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00046.html#_CPPv4N5telux6common12ISDKListenerE)

    - Public Functions

- inline virtual void onLocationSystemInfo(const [LocationSystemInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00538.html#_CPPv4N5telux3loc18LocationSystemInfoE) &locationSystemInfo)

    - This function is called when device receives location related system information such as leap second change.

On platforms with Access control enabled, the client needs to have TELUX\_LOC\_DATA permission for this listener API to be invoked.

- Parameters:

    - **locationSystemInfo** – **[in]** - contains location system information such as current leap seconds change

- inline virtual ~ILocationSystemInfoListener()

    - Destructor of [ILocationSystemInfoListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00549)

- class ILocationConfigListener : public [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ISDKListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00046.html#_CPPv4N5telux6common12ISDKListenerE)

    - [ILocationConfigListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00550) interface is used to receive notifications related to configuration events.

Clients can register for updates via [ILocationConfigurator::registerListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1aef1d11c91775e9f1f0ad76ac2b120ee8) by passing the list of indications present under [telux::loc::LocConfigIndicationsType](https://docs.qualcomm.com/doc/80-PF458-10/topic/enum_a00009_1ga0a639d063a68b0dbd012a4871ca1dfef.html#a00009_1ga0a639d063a68b0dbd012a4871ca1dfef).

The listener method can be invoked from multiple different threads. Client needs to make sure that implementation is thread-safe.

Public Functions

- inline virtual void onXtraStatusUpdate(const [XtraStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00507.html#_CPPv4N5telux3loc10XtraStatusE) xtraStatus)

    - The API is invoked when there is any update in the Xtra assistance data.

Clients need to register for this indication via LocConfigIndicationsType::LOC\_CONF\_IND\_XTRA\_STATUS.

- Parameters:

    - **xtraStatus** – **[in]** - Xtra assistant data’s current status, validity and whether it is enabled.

- inline virtual void onGnssSignalUpdate(const [GnssSignal](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga3d124393d1acfa8c22d1dcc112ffa7bd.html#_CPPv4N5telux3loc10GnssSignalE) gnssSignalMask)

    - The API is invoked when there is any update in the Gnss Signal types supported by the modem.

When [ILocationConfigurator::configureSecondaryBand](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a072373424ebd7064ce897e86afb32b75) is invoked, the supported signals would be updated and notified via this listener API.

Clients need to register for this indication via LocConfigIndicationsType::LOC\_CONF\_IND\_SIGNAL\_UPDATE.

- Parameters:

    - **gnssSignalMask** – **[in]** - Bitset to represent the Gnss signal types supported by the modem.

- inline virtual ~ILocationConfigListener()

    -

- class ILocationManager

    - [ILocationManager](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551) provides interface to register and remove listeners. It also allows to set and get configuration/ criteria for position reports. The new APIs(registerListenerEx, deRegisterListenerEx, startDetailedReports, startBasicReports) and old/deprecated APIs(registerListener, removeListener, setPositionReportTimeout, setHorizontalAccuracyLevel, setMinIntervalForReports) should not be used interchangebly, either the new APIs should be used or the old APIs should be used.

Public Types

- using GetEnergyConsumedCallback = std::function&lt;void([telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[loc](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3locE)::[GnssEnergyConsumedInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/struct_a00539.html#_CPPv4N5telux3loc22GnssEnergyConsumedInfoE) energyConsumed, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)&gt;

    - This function is called with the response to getEnergyConsumedInfoUpdate API.

- Param energyConsumed:

    - **[in]** - Information regarding energy consumed by Gnss engine.

- Param error:

    - **[in]** - Return code which indicates whether the operation succeeded or not.

- using GetYearOfHwCallback = std::function&lt;void(uint16\_t yearOfHw, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)&gt;

    - This function is called with the response to getYearOfHw API.

- Param yearOfHw:

    - **[in]** - Year of hardware information.

- Param error:

    - **[in]** - Return code which indicates whether the operation succeeded or not.

- using GetTerrestrialInfoCallback = std::function&lt;void(const std::shared\_ptr&lt;[ILocationInfoBase](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00542.html#_CPPv4N5telux3loc17ILocationInfoBaseE)&gt; terrestrialInfo)&gt;

    - This function is called with the response to getTerrestrialPosition API.

- Param terrestrialInfo:

    - **[in]** - basic position related information.

Public Functions

- virtual bool isSubsystemReady() = 0

    - Checks the status of location subsystems and returns the result.

Deprecated use [getServiceStatus()](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aed49336408107ed720601e5c25b75763)

- Returns:

    - True if location subsystem is ready for service otherwise false.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ServiceStatus](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common13ServiceStatusE) getServiceStatus() = 0

    - This status indicates whether the object is in a usable state.

- Returns:

    - SERVICE\_AVAILABLE - If location manager is ready for service. SERVICE\_UNAVAILABLE - If location manager is temporarily unavailable. SERVICE\_FAILED - If location manager encountered an irrecoverable failure.

- virtual std::future&lt;bool&gt; onSubsystemReady() = 0

    - Wait for location subsystem to be ready.

Deprecated The callback mechanism introduced in the [LocationFactory::getLocationManager()](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00547_1af382c5279c0f7a6ddddde35d9288a31b) API will provide the similar notification mechanism as [onSubsystemReady()](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1abf877add4ce5a3cedf8595adbbac4a6f). This API will soon be removed from further releases.

- Returns:

    - A future that caller can wait on to be notified when location subsystem is ready.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) registerListenerEx(std::weak\_ptr&lt;[ILocationListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00548.html#_CPPv4N5telux3loc17ILocationListenerE)&gt; listener) = 0

    - Register a listener for specific updates from location manager like location, jamming info and satellite vehicle info. If enhanced position, using Dead Reckoning etc., is enabled, enhanced fixes will be provided. Otherwise raw GNSS fixes will be provided. The position reports will start only when startDetailedReports or startBasicReports is invoked.

- Parameters:

    - **listener** – **[in]** - Pointer of [ILocationListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548) object that processes the notification.

- Returns:

    - Status of registerListener i.e success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) deRegisterListenerEx(std::weak\_ptr&lt;[ILocationListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00548.html#_CPPv4N5telux3loc17ILocationListenerE)&gt; listener) = 0

    - Remove a previously registered listener.

- Parameters:

    - **listener** – **[in]** - Previously registered [ILocationListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548) that needs to be removed.

- Returns:

    - Status of removeListener success or suitable status code

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) startDetailedReports(uint32\_t interval, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr, [GnssReportTypeMask](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga9da21ac3c4c9ef0cf8360f8303e0da00.html#_CPPv4N5telux3loc18GnssReportTypeMaskE) reportMask = [DEFAULT\_GNSS\_REPORT](https://docs.qualcomm.com/doc/80-PF458-10/topic/variable_a00009_1ga4e906fdac35372c46f775791ad62445c.html#_CPPv4N5telux3loc19DEFAULT_GNSS_REPORTE)) = 0

    - Starts the richer location reports by configuring the time between them as the interval. The reports generated after invoking this API are from the FUSED Engine type. Any of the 3 APIs that is startDetailedReports or startDetailedEngineReports or startBasicReports can be called one after the other irrespective of order, without calling stopReports in between any of them and the API which is called last will be honored for providing the callbacks. In case of multiple clients invoking this API with different intervals, if the platforms is configured, then the clients will receive the reports at their requested intervals. If not configured then all the clients will be serviced at the smallest interval among all clients’ intervals. The supported periodicities are 100ms, 200ms, 500ms, 1sec, 2sec, nsec and a periodicity that a caller send which is not one of these will result in the implementation picking one of these periodicities. Calling this Api will result in [ILocationListener::onDetailedLocationUpdate](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a91429898e5b2c54fefcf07df964623f4), [ILocationListener::onGnssSVInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a2b82bb44887e1fad85cddb8e2f325cc1), [ILocationListener::onGnssSignalInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1abeb3d871e0f4f541679ed6d986c9f792), [ILocationListener::onGnssNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a03bfa4b5d42c9b1596b2efae2c296c51), [ILocationListener::onGnssMeasurementsInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1afe9b4e3da58829d1d6286e3da99264e1), [ILocationListener::onGnssDisasterCrisisInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1ae0584ec5b979dd769d71878d98f32891) and [ILocationListener::onGnssEphemerisInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1acc0ef68af34c07bbbec6116832bdc29a) APIs on the listener being invoked, assuming they have not been disabled using the GnssReportTypeMask. If a client issues second request to this API then new request for GnssReportTypeMask will over write the previous call to this API.

The NMEA sentences received can be configured via [ILocationConfigurator::configureNmea](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a87c6ce9e3d6e4ef577bc12c4c802a1f4).

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_DATA permission to invoke this API successfully.

E.g. If minInterval is 1000 milliseconds, reports will be provided with a periodicity of 1 second or more depending on the number of applications listening to location updates.

- Parameters:

    - - **interval** – **[in]** - Minimum time interval between two consecutive reports in milliseconds. The interval only controls the rate at which the PVT reports are delivered to clients via [ILocationListener::onDetailedLocationUpdate](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a91429898e5b2c54fefcf07df964623f4). The rate at which other report types are delivered are based on a platform configuration.
- **callback** – **[in]** - Optional callback to get the response of set minimum interval for reports.
- **reportMask** – **[in]** - Optional field to specify which reports a client is interested in. By default all the reports will be enabled.

- Returns:

    - Status of startDetailedReports i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) startDetailedEngineReports(uint32\_t interval, [LocReqEngine](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1gae377fa87de49fb8ed3f3a233bf6080f9.html#_CPPv4N5telux3loc12LocReqEngineE) engineType, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr, [GnssReportTypeMask](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga9da21ac3c4c9ef0cf8360f8303e0da00.html#_CPPv4N5telux3loc18GnssReportTypeMaskE) reportMask = [DEFAULT\_GNSS\_REPORT](https://docs.qualcomm.com/doc/80-PF458-10/topic/variable_a00009_1ga4e906fdac35372c46f775791ad62445c.html#_CPPv4N5telux3loc19DEFAULT_GNSS_REPORTE)) = 0

    - Starts a session which may provide richer default combined position reports and position reports from specific engines. The fused position report type will always be supported if at least one engine in the system is producing valid report. Any of the 3 APIs that is startDetailedReports or startDetailedEngineReports or startBasicReports can be called one after the other irrespective of order, without calling stopReports in between any of them and the API which is called last will be honored for providing the callbacks. In case of multiple clients invoking this API with different intervals, if the platforms is configured, then the clients will receive the reports at their requested intervals. If not configured then all the clients will be serviced at the smallest interval among all clients’ intervals. The supported periodicities are 100ms, 200ms, 500ms, 1sec, 2sec, nsec and a periodicity that a caller send which is not one of these will result in the implementation picking one of these periodicities. Calling this Api will result in [ILocationListener::onDetailedEngineLocationUpdate](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a5a051cc60d77c77f67d31e6f8d5b7cec), [ILocationListener::onGnssSVInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a2b82bb44887e1fad85cddb8e2f325cc1), [ILocationListener::onGnssSignalInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1abeb3d871e0f4f541679ed6d986c9f792), [ILocationListener::onGnssNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a03bfa4b5d42c9b1596b2efae2c296c51), [ILocationListener::onEngineNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a37c2c735530180400dfa054d92a372d2), [ILocationListener::onGnssMeasurementsInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1afe9b4e3da58829d1d6286e3da99264e1), [ILocationListener::onGnssDisasterCrisisInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1ae0584ec5b979dd769d71878d98f32891), [ILocationListener::onGnssEphemerisInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1acc0ef68af34c07bbbec6116832bdc29a) and [ILocationListener::onGnssExtendedDataInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1af3e6397afdc110534fa22805d50fc498) APIs on the listener being invoked, assuming they have not been disabled using the GnssReportTypeMask. If a client issues second request to this API then new request for GnssReportTypeMask will over write the previous call to this API.

Usage of NMEA Sentences:

NMEA updates can be received by either: a) Setting the telux::loc::GnssReportType::NMEA bit in the reportMask passed as a paramter to this API and receive the sentences via [ILocationListener::onGnssNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a03bfa4b5d42c9b1596b2efae2c296c51). b) Setting the telux::loc::GnssReportType::ENGINE\_NMEA bit in the reportMask passed as a paramter to this API and receive the sentences via [ILocationListener::onEngineNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a37c2c735530180400dfa054d92a372d2).

When clients set the GnssReportType::NMEA bit in the reportMask passed as a parameter to [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a), the NMEA sentences are always generated by FUSED engine and are received via [ILocationListener::onGnssNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a03bfa4b5d42c9b1596b2efae2c296c51). Clients can also configure the NMEA sentences to be received via [ILocationConfigurator::configureNmea](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a87c6ce9e3d6e4ef577bc12c4c802a1f4).

Additionally, clients have the ability to receive NMEA sentences for a specific engineType mask via [ILocationListener::onEngineNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a37c2c735530180400dfa054d92a372d2). To receive the NMEA updates for a specific engine type, clients should configure the NMEA sentences for the specific engineType mask via [ILocationConfigurator::configureNmea](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a87c6ce9e3d6e4ef577bc12c4c802a1f4). Next, while invoking [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a), clients need to set the telux::loc::GnssReportType::ENGINE\_NMEA bit in the reportMask. The engineType mask passed as a parameter to this API should at least contain the engines configured via the [ILocationConfigurator::configureNmea](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a87c6ce9e3d6e4ef577bc12c4c802a1f4) API. The intended NMEA updates will be received via [ILocationListener::onEngineNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a37c2c735530180400dfa054d92a372d2).

Understanding with an example - Client configures a few NMEA sentences via [ILocationConfigurator::configureNmea](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a87c6ce9e3d6e4ef577bc12c4c802a1f4) with the engineType mask set as PPE and FUSED. [Fused engine is always considered as set even if the client does not explicitly specify it.] Client invokes detailedEngineReports via [ILocationManager::startDetailedEngineReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1aff75b8a581d76c283a642f98b71bfb5a) by setting the telux::loc::GnssReportType::NMEA bit in the reportMask and setting the engineType mask as just PPE. Since both the engineType masks contain PPE, the NMEA updates generated by PPE will be received via [ILocationListener::onEngineNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a37c2c735530180400dfa054d92a372d2). However, NMEA updates from FUSED engine will not be received since the engine mask for this API is set to only PPE.

If client sets the engineType mask as SPE while trying to configure NMEA sentences and sets engineType mask as PPE while trying to invoke the detailed engine reports, no NMEA updates will be received via [ILocationListener::onEngineNmeaInfo](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a37c2c735530180400dfa054d92a372d2) since there is NO intersection between the 2 masks.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_DATA permission to invoke this API successfully.

E.g. If minInterval is 1000 milliseconds, reports will be provided with a periodicity of 1 second or more depending on the number of applications listening to location updates.

- Parameters:

    - - **interval** – **[in]** - Minimum time interval between two consecutive reports in milliseconds. The interval only controls the rate at which the PVT reports are delivered to clients via [ILocationListener::onDetailedEngineLocationUpdate](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a5a051cc60d77c77f67d31e6f8d5b7cec). The rate at which other report types are delivered are based on a platform configuration.
- **engineType** – **[in]** - The type of engine requested for fixes such as SPE or PPE or FUSED. The FUSED includes all the engines that are running to generate the fixes such as reports from SPE, PPE and DRE.
- **callback** – **[in]** - Optional callback to get the response of set minimum interval for reports.
- **reportMask** – **[in]** - Optional field to specify which reports a client is interested in. By default all the reports will be enabled.

- Returns:

    - Status of startDetailedEngineReports i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) startBasicReports(uint32\_t intervalInMs, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - Starts the Location report by configuring the time between the consecutive reports. Any of the 3 APIs that is startDetailedReports or startDetailedEngineReports or startBasicReports can be called one after the other irrespective of order, without calling stopReports in between any of them and the API which is called last will be honored for providing the callbacks. In case of multiple clients invoking this API with different intervals, if the platforms is configured, then the clients will receive the reports at their requested intervals. If not configured then all the clients will be serviced at the smallest interval among all clients’ intervals. The supported periodicities are 100ms, 200ms, 500ms, 1sec, 2sec, nsec and a periodicity that a caller send which is not one of these will result in the implementation picking one of these periodicities. This Api enables the onBasicLocationUpdate Api on the listener. Please note that these reports are generated by FUSED Engine type.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_DATA permission to invoke this API successfully.

- Parameters:

    - - **intervalInMs** – **[in]** - Minimum time interval between two consecutive reports in milliseconds. The interval controls the rate at which the PVT reports are delivered to clients via [ILocationListener::onBasicLocationUpdate](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a69d8111ba9eb797e046919526606c574).
- **callback** – **[in]** - Optional callback to get the response of set minimum distance for reports.

- Returns:

    - Status of startBasicReports i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) registerForSystemInfoUpdates(std::weak\_ptr&lt;[ILocationSystemInfoListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00549.html#_CPPv4N5telux3loc27ILocationSystemInfoListenerE)&gt; listener, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API registers a [ILocationSystemInfoListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00549) listener and will receive information related to location system that are not tied with location fix session, e.g.: next leap second event. The startBasicReports, startDetailedReports, startDetailedEngineReports does not need to be called before calling this API, in order to receive updates.

- Parameters:

    - - **listener** – **[in]** - Pointer of [ILocationSystemInfoListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00549) object.
- **callback** – **[in]** - Optional callback to get the response of location system info.

- Returns:

    - Status of getLocationSystemInfo i.e success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) deRegisterForSystemInfoUpdates(std::weak\_ptr&lt;[ILocationSystemInfoListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00549.html#_CPPv4N5telux3loc27ILocationSystemInfoListenerE)&gt; listener, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API removes a previously registered listener and will also stop receiving informations related to location system for that particular listener.

- Parameters:

    - - **listener** – **[in]** - Previously registered [ILocationSystemInfoListener](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00549) that needs to be removed.
- **callback** – **[in]** - Optional callback to get the response of location system info.

- Returns:

    - Status of deRegisterForSystemInfoUpdates success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) requestEnergyConsumedInfo([GetEnergyConsumedCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00551.html#_CPPv4N5telux3loc16ILocationManager25GetEnergyConsumedCallbackE) cb) = 0

    - This API receives information on energy consumed by modem GNSS engine. If this API is called on this object while this is already a pending request, then it will overwrite the callback to be invoked and the callback from the previous invocation will not be called.

- Parameters:

    - **cb** – **[in]** - callback to get the information of Gnss energy consumed.

- Returns:

    - Status of requestEnergyConsumedInfo i.e success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) stopReports([telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API will stop reports started using startDetailedReports or startBasicReports or registerListener or setMinIntervalForReports.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_DATA permission to invoke this API successfully.

- Parameters:

    - **callback** – **[in]** - Optional callback to get the response of stop reports.

- Returns:

    - Status of stopReports i.e. success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) getYearOfHw([GetYearOfHwCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00551.html#_CPPv4N5telux3loc16ILocationManager19GetYearOfHwCallbackE) cb) = 0

    - This API retrieves the year of hardware information.

- Parameters:

    - **cb** – **[in]** - callback to get information of year of hardware.

- Returns:

    - Status of getYearOfHw i.e success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) getTerrestrialPosition(uint32\_t timeoutMsec, [TerrestrialTechnology](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga974825bdffd262e44a6b43555a3c9cbe.html#_CPPv4N5telux3loc21TerrestrialTechnologyE) techMask, [GetTerrestrialInfoCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/class_a00551.html#_CPPv4N5telux3loc16ILocationManager26GetTerrestrialInfoCallbackE) cb, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API retrieves single-shot terrestrial position using the set of specified terrestrial technologies. This API can be invoked even while there is an on-going tracking session that was started using startBasicReports/startDetailedReports/startDetailedEngineReports. If this API is invoked while there is already a pending request for terrestrial position, the request will fail and [telux::common::ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#a00236_1a8f614f0a0eeca90c94dad1967ca93bcd) will get invoked with telux::common::ErrorCode::OP\_IN\_PROGRESS. To cancel a pending request, use [ILocationManager::cancelTerrestrialPositionRequest](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1ab154456d683001be083e44864124978b). Before using this API, user consent needs to be set true via [ILocationConfigurator::provideConsentForTerrestrialPositioning](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00505_1a0a73d6af2d8f0cc6f87288f19970f79a).

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_DATA permission to invoke this API successfully.

- Parameters:

    - - **timeoutMsec** – **[in]** - the time in milliseconds within which the client is expecting a response. If the system is unable to provide a report within this time, the [telux::common::ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#a00236_1a8f614f0a0eeca90c94dad1967ca93bcd) will be invoked with telux::common::ErrorCode::OPERATION\_TIMEOUT.
- **techMask** – **[in]** - the set of terrestrial technologies that are allowed to be used for producing the position.
- **cb** – **[in]** - callback to receive terrestrial position. This callback will only be invoked when ResponseCallback is invoked with SUCCESS.
- **callback** – **[in]** - Optional callback to get the response of getTerrestrialPosition.

- Returns:

    - Status of getTerrestrialPosition i.e success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) cancelTerrestrialPositionRequest([telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - This API cancels the pending request invoked by [ILocationManager::getTerrestrialPosition](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1ab4e413f66c4dce1045a1a05425d220f3). If this API is invoked while there is no pending request for terrestrial position from [ILocationManager::getTerrestrialPosition](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1ab4e413f66c4dce1045a1a05425d220f3), then [telux::common::ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#a00236_1a8f614f0a0eeca90c94dad1967ca93bcd) will be invoked with telux::common::ErrorCode::INVALID\_ARGUMENTS.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_DATA permission to invoke this API successfully.

- Parameters:

    - **callback** – **[in]** - Optional callback to get the response of cancelTerrestrialPositionRequest.

- Returns:

    - Status of cancelTerrestrialPositionRequest i.e success or suitable status code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[loc](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux3locE)::[LocCapability](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00009_1ga9544205bf459d6a733c048c02a408c58.html#_CPPv4N5telux3loc13LocCapabilityE) getCapabilities() = 0

    - This API retrieves capability information.

- Returns:

    - Status of getCapabilities i.e success or suitable status code.

- inline virtual ~ILocationManager()

    - Destructor of [ILocationManager](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6common6StatusE) startBasicReports(uint32\_t distanceInMeters, uint32\_t intervalInMs, [telux](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-10/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - Starts the Location report by configuring the time and distance between the consecutive reports. Any of the 3 APIs that is startDetailedReports or startDetailedEngineReports or startBasicReports can be called one after the other irrespective of order, without calling stopReports in between any of them and the API which is called last will be honored for providing the callbacks. In case of multiple clients invoking this API with different intervals, if the platforms is configured, then the clients will receive the reports at their requested intervals. If not configured then all the clients will be serviced at the smallest interval among all clients’ intervals. The supported periodicities are 100ms, 200ms, 500ms, 1sec, 2sec, nsec and a periodicity that a caller send which is not one of these will result in the implementation picking one of these periodicities. This Api enables the onBasicLocationUpdate Api on the listener. Please note that these reports are generated by FUSED Engine type.

On platforms with Access control enabled, caller needs to have TELUX\_LOC\_DATA permission to invoke this API successfully.

E.g. If intervalInMs is 1000 milliseconds and distanceInMeters is 100m, reports will be provided according to the condition that happens first. So we need to provide both the parameters for evaluating the report.

The underlying system may have a minimum distance threshold(e.g. 1 meter). Effective distance will not be smaller than this lower bound.

The effective distance may have a granularity level higher than 1 m, e.g. 5 m. So distanceInMeters being 59 may be honored at 60 m, depending on the system.

Where there is another application in the system having a session with shorter distance, this client may benefit and receive reports at that distance.

Deprecated This API which takes distance as an argument is not supported anymore. Use [ILocationManager::startBasicReports](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00551_1a9e5f37869f4f2ebe2abe27f5d4fbc933)(uint32\_t intervalInMs, [telux::common::ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-10/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#a00236_1a8f614f0a0eeca90c94dad1967ca93bcd) callback = nullptr) = 0;

- Parameters:

    - - **distanceInMeters** – **[in]** - DistanceInMeters between two consecutive reports in meters. This parameter is not used.
- **intervalInMs** – **[in]** - Minimum time interval between two consecutive reports in milliseconds. The interval controls the rate at which the PVT reports are delivered to clients via [ILocationListener::onBasicLocationUpdate](https://docs.qualcomm.com/doc/80-PF458-10/topic/location_services.html#a00548_1a69d8111ba9eb797e046919526606c574).
- **callback** – **[in]** - Optional callback to get the response of set minimum distance for reports.

- Returns:

    - Status of startBasicReports i.e. success or suitable status code.

Last Published: Mar 31, 2026

[Previous Topic
Location](https://docs.qualcomm.com/bundle/publicresource/80-PF458-10/topics/location.md) [Next Topic
Modem](https://docs.qualcomm.com/bundle/publicresource/80-PF458-10/topics/modem.md)