1 /* Copyright (c) 2011-2015, The Linux Foundation. All rights reserved. 2 * 3 * Redistribution and use in source and binary forms, with or without 4 * modification, are permitted provided that the following conditions are 5 * met: 6 * * Redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer. 8 * * Redistributions in binary form must reproduce the above 9 * copyright notice, this list of conditions and the following 10 * disclaimer in the documentation and/or other materials provided 11 * with the distribution. 12 * * Neither the name of The Linux Foundation, nor the names of its 13 * contributors may be used to endorse or promote products derived 14 * from this software without specific prior written permission. 15 * 16 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 23 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 25 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 26 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 #ifndef LOC_SERVICE_02_H 29 #define LOC_SERVICE_02_H 30 /** 31 @file location_service_v02.h 32 33 @brief This is the public header file which defines the loc service Data structures. 34 35 This header file defines the types and structures that were defined in 36 loc. It contains the constant values defined, enums, structures, 37 messages, and service message IDs (in that order) Structures that were 38 defined in the IDL as messages contain mandatory elements, optional 39 elements, a combination of mandatory and optional elements (mandatory 40 always come before optionals in the structure), or nothing (null message) 41 42 An optional element in a message is preceded by a uint8_t value that must be 43 set to true if the element is going to be included. When decoding a received 44 message, the uint8_t values will be set to true or false by the decode 45 routine, and should be checked before accessing the values that they 46 correspond to. 47 48 Variable sized arrays are defined as static sized arrays with an unsigned 49 integer (32 bit) preceding it that must be set to the number of elements 50 in the array that are valid. For Example: 51 52 uint32_t test_opaque_len; 53 uint8_t test_opaque[16]; 54 55 If only 4 elements are added to test_opaque[] then test_opaque_len must be 56 set to 4 before sending the message. When decoding, the _len value is set 57 by the decode routine and should be checked so that the correct number of 58 elements in the array will be accessed. 59 60 */ 61 /*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====* 62 *THIS IS AN AUTO GENERATED FILE. DO NOT ALTER IN ANY WAY 63 *====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/ 64 65 /* This file was generated with Tool version 6.14.7 66 It was generated on: Tue Mar 22 2016 (Spin 0) 67 From IDL File: location_service_v02.idl */ 68 69 /** @defgroup loc_qmi_consts Constant values defined in the IDL */ 70 /** @defgroup loc_qmi_msg_ids Constant values for QMI message IDs */ 71 /** @defgroup loc_qmi_enums Enumerated types used in QMI messages */ 72 /** @defgroup loc_qmi_messages Structures sent as QMI messages */ 73 /** @defgroup loc_qmi_aggregates Aggregate types used in QMI messages */ 74 /** @defgroup loc_qmi_accessor Accessor for QMI service object */ 75 /** @defgroup loc_qmi_version Constant values for versioning information */ 76 77 #include <stdint.h> 78 #include "qmi_idl_lib.h" 79 #include "common_v01.h" 80 81 82 #ifdef __cplusplus 83 extern "C" { 84 #endif 85 86 /** @addtogroup loc_qmi_version 87 @{ 88 */ 89 /** Major Version Number of the IDL used to generate this file */ 90 #define LOC_V02_IDL_MAJOR_VERS 0x02 91 /** Revision Number of the IDL used to generate this file */ 92 #define LOC_V02_IDL_MINOR_VERS 0x34 93 /** Major Version Number of the qmi_idl_compiler used to generate this file */ 94 #define LOC_V02_IDL_TOOL_VERS 0x06 95 /** Maximum Defined Message ID */ 96 #define LOC_V02_MAX_MESSAGE_ID 0x00A8 97 /** 98 @} 99 */ 100 101 102 /** @addtogroup loc_qmi_consts 103 @{ 104 */ 105 106 /** Maximum string length for the Provider field in the application ID. */ 107 #define QMI_LOC_MAX_APP_ID_PROVIDER_LENGTH_V02 24 108 109 /** Maximum string length for the Name field in the application ID. */ 110 #define QMI_LOC_MAX_APP_ID_NAME_LENGTH_V02 32 111 112 /** Maximum string length for the Version field in the application ID. */ 113 #define QMI_LOC_MAX_APP_ID_VERSION_LENGTH_V02 8 114 115 /** Maximum length of the list containing the SVs that were used to generate 116 a position report. */ 117 #define QMI_LOC_MAX_SV_USED_LIST_LENGTH_V02 80 118 119 /** Maximum number of satellites in the satellite report. */ 120 #define QMI_LOC_SV_INFO_LIST_MAX_SIZE_V02 80 121 122 /** Maximum NMEA string length. */ 123 #define QMI_LOC_NMEA_STRING_MAX_LENGTH_V02 200 124 125 /** Maximum length of the requestor ID string. */ 126 #define QMI_LOC_NI_MAX_REQUESTOR_ID_LENGTH_V02 200 127 128 /** Session ID byte length. */ 129 #define QMI_LOC_NI_SUPL_SLP_SESSION_ID_BYTE_LENGTH_V02 4 130 131 /** Maximum client name length allowed. */ 132 #define QMI_LOC_NI_MAX_CLIENT_NAME_LENGTH_V02 64 133 134 /** Maximum URL length accepted by the location engine. */ 135 #define QMI_LOC_MAX_SERVER_ADDR_LENGTH_V02 255 136 137 /** IPv6 address length in bytes. */ 138 #define QMI_LOC_IPV6_ADDR_LENGTH_V02 8 139 140 /** SUPL hash length. */ 141 #define QMI_LOC_NI_SUPL_HASH_LENGTH_V02 8 142 143 /** Maximum client address length allowed. */ 144 #define QMI_LOC_NI_MAX_EXT_CLIENT_ADDRESS_V02 20 145 146 /** Maximum codeword length allowed. */ 147 #define QMI_LOC_NI_CODEWORD_MAX_LENGTH_V02 20 148 149 /** Maximum number of NTP Servers sent out with this event. */ 150 #define QMI_LOC_MAX_NTP_SERVERS_V02 3 151 152 /** Maximum number of predicted orbits servers supported in the location 153 engine. */ 154 #define QMI_LOC_MAX_PREDICTED_ORBITS_SERVERS_V02 3 155 156 /** Maximum length of the list, where each element of the list contains the 157 continuous range of Geofences that were breached at a given position. */ 158 #define QMI_LOC_MAX_GEOFENCE_ID_CONTINUOUS_LIST_LENGTH_V02 80 159 160 /** Maximum length of the list that contains a discrete number Geofences that 161 were breached at a given position. */ 162 #define QMI_LOC_MAX_GEOFENCE_ID_DISCRETE_LIST_LENGTH_V02 80 163 164 /** Maximum length that can be injected. */ 165 #define QMI_LOC_MAX_GDT_PATH_LEN_V02 255 166 167 /** Maximum client information size in bytes. */ 168 #define QMI_LOC_MAX_GTP_CL_INFO_LEN_V02 1500 169 170 /** Maximum mobile status data size in bytes. */ 171 #define QMI_LOC_MAX_GTP_MSD_LEN_V02 4000 172 173 /** Maximum GNSS Measurement Engine Firmware Version String length. */ 174 #define QMI_LOC_GNSS_ME_VERSION_STRING_MAX_LENGTH_V02 127 175 176 /** Maximum GNSS Measurement Engine Hosted Software Version String length. */ 177 #define QMI_LOC_GNSS_HOSTED_SW_VERSION_STRING_MAX_LENGTH_V02 127 178 179 /** Maximum GNSS Measurement Engine Full Version String length. */ 180 #define QMI_LOC_GNSS_SW_VERSION_STRING_MAX_LENGTH_V02 255 181 182 /** Maximum part length that can be injected. The client should 183 also look at the maxPartSize field in the predicted orbits injection 184 request indication and pick the minimum of the two. */ 185 #define QMI_LOC_MAX_PREDICTED_ORBITS_PART_LEN_V02 1024 186 187 /** Maximum length of the delete SV information list */ 188 #define QMI_LOC_DELETE_MAX_SV_INFO_LENGTH_V02 128 189 190 /** Maximum length of the Delete BDS SV Information list. */ 191 #define QMI_LOC_DELETE_MAX_BDS_SV_INFO_LENGTH_V02 37 192 193 /** Maximum length of the Delete GAL SV Information list. */ 194 #define QMI_LOC_DELETE_MAX_GAL_SV_INFO_LENGTH_V02 36 195 196 /** MAC address length in bytes. */ 197 #define QMI_LOC_WIFI_MAC_ADDR_LENGTH_V02 6 198 199 /** Wi-Fi SSID string maximum length. */ 200 #define QMI_LOC_MAX_WIFI_AP_SSID_STR_LENGTH_V02 32 201 202 /** Maximum number of APs that the sender can report. */ 203 #define QMI_LOC_WIFI_MAX_REPORTED_APS_PER_MSG_V02 50 204 205 /** Maximum number of samples that can be injected in a TLV. */ 206 #define QMI_LOC_SENSOR_DATA_MAX_SAMPLES_V02 50 207 208 /** Maximum APN string length allowed. */ 209 #define QMI_LOC_MAX_APN_NAME_LENGTH_V02 100 210 211 /** Maximum APN profiles supported. */ 212 #define QMI_LOC_MAX_APN_PROFILES_V02 6 213 214 /** Maximum length of the SUPL certificate. */ 215 #define QMI_LOC_MAX_SUPL_CERT_LENGTH_V02 2000 216 217 /** Maximum number of motion states used by the Geofence engine. */ 218 #define QMI_LOC_GEOFENCE_MAX_MOTION_STATES_V02 20 219 220 /** Maximum length of the network-initiated Geofence ID 221 list. */ 222 #define QMI_LOC_MAX_NI_GEOFENCE_ID_LIST_LENGTH_V02 16 223 224 /** Maximum value of WDMA frequency for injection of WCDMA cell 225 information. */ 226 #define QMI_LOC_MAX_WCDMA_FREQ_V02 16383 227 228 /** Maximum value of PSC for injection of WCDMA cell information. */ 229 #define QMI_LOC_MAX_WCDMA_PSC_V02 511 230 231 /** Maximum value of TDSCDMA frequency for injection of TDSCDMA cell 232 information. */ 233 #define QMI_LOC_MAX_TDSCDMA_FREQ_V02 16383 234 235 /** Maximum length of the injected network-initiated message. */ 236 #define QMI_LOC_MAX_INJECTED_NETWORK_INITIATED_MESSAGE_LENGTH_V02 1024 237 238 /** Maximum number of entries returned from a batch in each indication. */ 239 #define QMI_LOC_READ_FROM_BATCH_MAX_SIZE_V02 5 240 241 /** Maximum number of vehicle sensor samples that can be injected. */ 242 #define QMI_LOC_VEHICLE_SENSOR_DATA_MAX_SAMPLES_V02 65 243 244 /** Maximum number of axes that can be provided in each sample. */ 245 #define QMI_LOC_VEHICLE_SENSOR_DATA_MAX_AXES_V02 3 246 247 /** Maximum number of measurements from an odometer. */ 248 #define QMI_LOC_VEHICLE_ODOMETRY_MAX_MEASUREMENTS_V02 3 249 #define QMI_LOC_MEAS_STATUS_DONT_USE_BITS_V02 0xFFC0000000000000 250 251 /** Maximum number of satellites in a measurement block for a given system. */ 252 #define QMI_LOC_SV_MEAS_LIST_MAX_SIZE_V02 16 253 #define QMI_LOC_SV_POLY_VELOCITY_COEF_SIZE_V02 12 254 #define QMI_LOC_SV_POLY_XYZ_0_TH_ORDER_COEFF_SIZE_V02 3 255 #define QMI_LOC_SV_POLY_XYZ_N_TH_ORDER_COEFF_SIZE_V02 9 256 #define QMI_LOC_SV_POLY_SV_CLKBIAS_COEFF_SIZE_V02 4 257 258 /** IBeacon string maximum length. */ 259 #define QMI_LOC_MAX_IBEACON_UUID_STR_LENGTH_V02 32 260 261 /** Wi-Fi area ID list length. */ 262 #define QMI_LOC_WIFI_AREA_ID_LIST_LENGTH_V02 20 263 264 /** Cell ID list length. */ 265 #define QMI_LOC_CELL_ID_LIST_LENGTH_V02 20 266 267 /** IBeacon list length. */ 268 #define QMI_LOC_IBEACON_LIST_LENGTH_V02 20 269 270 /** Maximum length that can be injected. */ 271 #define QMI_LOC_MAX_GTP_WWAN_CLIENT_DOWNLOADED_DATA_LEN_V02 512 272 273 /** Maximum length of OEM id. */ 274 #define QMI_LOC_MAX_OEM_ID_LEN_V02 256 275 276 /** Maximum length of model id. */ 277 #define QMI_LOC_MAX_MODEL_ID_LEN_V02 256 278 279 /** Maximum length that can be injected. */ 280 #define QMI_LOC_MAX_GTP_RLI_LEN_V02 256 281 282 /** Maximum buffer length of the encrypted data blob for the Secure Get Available Position request. */ 283 #define QMI_LOC_SECURE_GET_AVAILABLE_POS_REQUEST_ENCRYPTED_MAX_V02 256 284 285 /** Horizontal Uncertainty Circular 286 Altitude With Respect to Ellipsoid 287 Vertical Uncertainty 288 Horizontal Elliptical Uncertainty (Semi-Minor Axis) 289 Horizontal Elliptical Uncertainty (Semi-Major Axis) 290 Elliptical Horizontal Uncertainty Azimuth 291 Horizontal Confidence 292 Horizontal Elliptical Uncertainty Confidence 293 Horizontal Reliability 294 Horizontal Speed 295 Horizontal Speed Uncertainty 296 Altitude With Respect to Sea Level 297 Vertical Confidence 298 Vertical Reliability 299 Vertical Speed 300 Vertical Speed Uncertainty 301 Heading 302 Heading Uncertainty 303 Magnetic Deviation 304 Technology Used 305 Position Dilution of Precision 306 Horizontal Dilution of Precision 307 Vertical Dilution of Precision 308 GPS Week 309 GPS Time of Week MS 310 Time Source 311 Sensor Data Usage MASK 312 Position Data Aided by Sensor 313 SVs Used to Calculate the Fix */ 314 #define QMI_LOC_SECURE_GET_AVAILABLE_POSITION_IND_ENCRYPTED_MAX_V02 1024 315 316 /** Maximum number of APs that can be injected in a TLV. */ 317 #define QMI_LOC_APCACHE_DATA_MAX_SAMPLES_V02 80 318 319 /** Maximum part length that can be injected. The client should 320 also look at the maxPartSize field in the predicted orbits injection 321 request indication and pick the minimum of the two. */ 322 #define QMI_LOC_MAX_XTRA_PART_LEN_V02 1024 323 /** 324 @} 325 */ 326 327 /** @addtogroup loc_qmi_messages 328 @{ 329 */ 330 /** Response Message; Generic response definition. This message is used to tell 331 clients whether their message was accepted for further 332 processing or rejected. */ 333 typedef struct { 334 335 /* Mandatory */ 336 /* Result Code */ 337 qmi_response_type_v01 resp; 338 }qmiLocGenRespMsgT_v02; /* Message */ 339 /** 340 @} 341 */ 342 343 /** @addtogroup loc_qmi_messages 344 @{ 345 */ 346 /** Request Message; Informs the service of the minor revision of the interface 347 definition that the control point implements. */ 348 typedef struct { 349 350 /* Mandatory */ 351 /* Revision */ 352 uint32_t revision; 353 /**< Revision that the control point is using. */ 354 }qmiLocInformClientRevisionReqMsgT_v02; /* Message */ 355 /** 356 @} 357 */ 358 359 typedef uint64_t qmiLocEventRegMaskT_v02; 360 #define QMI_LOC_EVENT_MASK_POSITION_REPORT_V02 ((qmiLocEventRegMaskT_v02)0x00000001ull) /**< The control point must enable this mask to receive position report 361 event indications. */ 362 #define QMI_LOC_EVENT_MASK_GNSS_SV_INFO_V02 ((qmiLocEventRegMaskT_v02)0x00000002ull) /**< The control point must enable this mask to receive satellite report 363 event indications. These reports are sent at a 1 Hz rate. */ 364 #define QMI_LOC_EVENT_MASK_NMEA_V02 ((qmiLocEventRegMaskT_v02)0x00000004ull) /**< The control point must enable this mask to receive NMEA reports for 365 position and satellites in view. The report is at a 1 Hz rate. */ 366 #define QMI_LOC_EVENT_MASK_NI_NOTIFY_VERIFY_REQ_V02 ((qmiLocEventRegMaskT_v02)0x00000008ull) /**< The control point must enable this mask to receive NI Notify/Verify request 367 event indications. */ 368 #define QMI_LOC_EVENT_MASK_INJECT_TIME_REQ_V02 ((qmiLocEventRegMaskT_v02)0x00000010ull) /**< The control point must enable this mask to receive time injection request 369 event indications. */ 370 #define QMI_LOC_EVENT_MASK_INJECT_PREDICTED_ORBITS_REQ_V02 ((qmiLocEventRegMaskT_v02)0x00000020ull) /**< The control point must enable this mask to receive predicted orbits request 371 event indications. */ 372 #define QMI_LOC_EVENT_MASK_INJECT_POSITION_REQ_V02 ((qmiLocEventRegMaskT_v02)0x00000040ull) /**< The control point must enable this mask to receive position injection request 373 event indications. */ 374 #define QMI_LOC_EVENT_MASK_ENGINE_STATE_V02 ((qmiLocEventRegMaskT_v02)0x00000080ull) /**< The control point must enable this mask to receive engine state report 375 event indications. */ 376 #define QMI_LOC_EVENT_MASK_FIX_SESSION_STATE_V02 ((qmiLocEventRegMaskT_v02)0x00000100ull) /**< The control point must enable this mask to receive fix session status report 377 event indications. */ 378 #define QMI_LOC_EVENT_MASK_WIFI_REQ_V02 ((qmiLocEventRegMaskT_v02)0x00000200ull) /**< The control point must enable this mask to receive Wi-Fi position request 379 event indications. */ 380 #define QMI_LOC_EVENT_MASK_SENSOR_STREAMING_READY_STATUS_V02 ((qmiLocEventRegMaskT_v02)0x00000400ull) /**< The control point must enable this mask to receive notifications from the 381 location engine indicating its readiness to accept data from the 382 sensors (accelerometer, gyroscope, etc.). */ 383 #define QMI_LOC_EVENT_MASK_TIME_SYNC_REQ_V02 ((qmiLocEventRegMaskT_v02)0x00000800ull) /**< The control point must enable this mask to receive time sync requests 384 from the GPS engine. Time sync enables the GPS engine to synchronize 385 its clock with the sensor processor's clock. */ 386 #define QMI_LOC_EVENT_MASK_SET_SPI_STREAMING_REPORT_V02 ((qmiLocEventRegMaskT_v02)0x00001000ull) /**< The control point must enable this mask to receive Stationary Position 387 Indicator (SPI) streaming report indications. */ 388 #define QMI_LOC_EVENT_MASK_LOCATION_SERVER_CONNECTION_REQ_V02 ((qmiLocEventRegMaskT_v02)0x00002000ull) /**< The control point must enable this mask to receive location server 389 requests. These requests are generated when the service wishes to 390 establish a connection with a location server. */ 391 #define QMI_LOC_EVENT_MASK_NI_GEOFENCE_NOTIFICATION_V02 ((qmiLocEventRegMaskT_v02)0x00004000ull) /**< The control point must enable this mask to receive notifications 392 related to network-initiated Geofences. These events notify the client 393 when a network-initiated Geofence is added, deleted, or edited. */ 394 #define QMI_LOC_EVENT_MASK_GEOFENCE_GEN_ALERT_V02 ((qmiLocEventRegMaskT_v02)0x00008000ull) /**< The control point must enable this mask to receive Geofence alerts. 395 These alerts are generated to inform the client of the changes that may 396 affect a Geofence, e.g., if GPS is turned off or if the network is 397 unavailable. */ 398 #define QMI_LOC_EVENT_MASK_GEOFENCE_BREACH_NOTIFICATION_V02 ((qmiLocEventRegMaskT_v02)0x00010000ull) /**< The control point must enable this mask to receive notifications when 399 a Geofence is breached. These events are generated when a UE enters 400 or leaves the perimeter of a Geofence. This breach report is for a single 401 Geofence . */ 402 #define QMI_LOC_EVENT_MASK_PEDOMETER_CONTROL_V02 ((qmiLocEventRegMaskT_v02)0x00020000ull) /**< The control point must enable this mask to register for pedometer 403 control requests from the location engine. The location engine sends 404 this event to control the injection of pedometer reports. */ 405 #define QMI_LOC_EVENT_MASK_MOTION_DATA_CONTROL_V02 ((qmiLocEventRegMaskT_v02)0x00040000ull) /**< The control point must enable this mask to register for motion data 406 control requests from the location engine. The location engine sends 407 this event to control the injection of motion data. */ 408 #define QMI_LOC_EVENT_MASK_BATCH_FULL_NOTIFICATION_V02 ((qmiLocEventRegMaskT_v02)0x00080000ull) /**< The control point must enable this mask to receive notification when 409 a batch is full. The location engine sends this event to notify of Batch Full 410 for ongoing batching session. */ 411 #define QMI_LOC_EVENT_MASK_LIVE_BATCHED_POSITION_REPORT_V02 ((qmiLocEventRegMaskT_v02)0x00100000ull) /**< The control point must enable this mask to receive position report 412 indications along with an ongoing batching session. The location engine sends 413 this event to notify the batched position report while a batching session 414 is ongoing. */ 415 #define QMI_LOC_EVENT_MASK_INJECT_WIFI_AP_DATA_REQ_V02 ((qmiLocEventRegMaskT_v02)0x00200000ull) /**< The control point must enable this mask to receive Wi-Fi AP data inject request 416 event indications. */ 417 #define QMI_LOC_EVENT_MASK_GEOFENCE_BATCH_BREACH_NOTIFICATION_V02 ((qmiLocEventRegMaskT_v02)0x00400000ull) /**< The control point must enable this mask to receive notifications when 418 a Geofence is breached. These events are generated when a UE enters 419 or leaves the perimeter of a Geofence. This breach notification is for 420 multiple Geofences. Breaches from multiple Geofences are all batched and 421 sent in the same notification . */ 422 #define QMI_LOC_EVENT_MASK_VEHICLE_DATA_READY_STATUS_V02 ((qmiLocEventRegMaskT_v02)0x00800000ull) /**< The control point must enable this mask to receive notifications from the 423 location engine indicating its readiness to accept vehicle data (vehicle 424 accelerometer, vehicle angular rate, vehicle odometry, etc.). */ 425 #define QMI_LOC_EVENT_MASK_GNSS_MEASUREMENT_REPORT_V02 ((qmiLocEventRegMaskT_v02)0x01000000ull) /**< The control point must enable this mask to receive system clock and satellite 426 measurement report events (system clock, SV time, Doppler, etc.). Reports are 427 generated only for the GNSS satellite constellations that are enabled using 428 QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG. */ 429 #define QMI_LOC_EVENT_MASK_GNSS_SV_POLYNOMIAL_REPORT_V02 ((qmiLocEventRegMaskT_v02)0x02000000ull) /**< The control point must enable this mask to receive satellite position 430 reports as polynomials. Reports are generated only for the GNSS satellite 431 constellations that are enabled using QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG. */ 432 #define QMI_LOC_EVENT_MASK_GEOFENCE_PROXIMITY_NOTIFICATION_V02 ((qmiLocEventRegMaskT_v02)0x04000000ull) /**< The control point must enable this mask to receive notifications when a Geofence proximity is entered 433 and exited. The proximity of a Geofence may be due to different contexts. These contexts are identified 434 using the context ID in this indication. The context of a Geofence may contain Wi-Fi area ID lists, IBeacon lists, 435 Cell-ID list, and so forth. */ 436 #define QMI_LOC_EVENT_MASK_GDT_UPLOAD_BEGIN_REQ_V02 ((qmiLocEventRegMaskT_v02)0x08000000ull) /**< The control point must enable this mask to receive Generic Data Transport (GDT) 437 session begin request event indications. */ 438 #define QMI_LOC_EVENT_MASK_GDT_UPLOAD_END_REQ_V02 ((qmiLocEventRegMaskT_v02)0x10000000ull) /**< The control point must enable this mask to receive GDT 439 session end request event indications. */ 440 #define QMI_LOC_EVENT_MASK_GEOFENCE_BATCH_DWELL_NOTIFICATION_V02 ((qmiLocEventRegMaskT_v02)0x20000000ull) /**< The control point must enable this mask to receive notifications when 441 a Geofence is dwelled. These events are generated when a UE enters 442 or leaves the perimeter of a Geofence and dwells inside or outside for a specified time. 443 This dwell notification is for multiple Geofences. Dwells from multiple Geofences are all batched and 444 sent in the same notification. */ 445 #define QMI_LOC_EVENT_MASK_GET_TIME_ZONE_REQ_V02 ((qmiLocEventRegMaskT_v02)0x40000000ull) /**< The control point must enable this mask to receive requests for time zone information from 446 the service. These events are generated when there is a need for time zone information in the 447 service. */ 448 #define QMI_LOC_EVENT_MASK_BATCHING_STATUS_V02 ((qmiLocEventRegMaskT_v02)0x80000000ull) /**< The control point must enable this mask to receive asynchronous events related 449 to batching. */ 450 /** @addtogroup loc_qmi_messages 451 @{ 452 */ 453 /** Request Message; Used by the control point to register for events from the 454 location subsystem. */ 455 typedef struct { 456 457 /* Mandatory */ 458 /* Event Registration Mask */ 459 qmiLocEventRegMaskT_v02 eventRegMask; 460 /**< Specifies the events that the control point is interested in receiving. 461 Valid bitmasks: 462 - QMI_LOC_EVENT_MASK_POSITION_REPORT (0x00000001) -- The control point must enable this mask to receive position report 463 event indications. 464 - QMI_LOC_EVENT_MASK_GNSS_SV_INFO (0x00000002) -- The control point must enable this mask to receive satellite report 465 event indications. These reports are sent at a 1 Hz rate. 466 - QMI_LOC_EVENT_MASK_NMEA (0x00000004) -- The control point must enable this mask to receive NMEA reports for 467 position and satellites in view. The report is at a 1 Hz rate. 468 - QMI_LOC_EVENT_MASK_NI_NOTIFY_VERIFY_REQ (0x00000008) -- The control point must enable this mask to receive NI Notify/Verify request 469 event indications. 470 - QMI_LOC_EVENT_MASK_INJECT_TIME_REQ (0x00000010) -- The control point must enable this mask to receive time injection request 471 event indications. 472 - QMI_LOC_EVENT_MASK_INJECT_PREDICTED_ORBITS_REQ (0x00000020) -- The control point must enable this mask to receive predicted orbits request 473 event indications. 474 - QMI_LOC_EVENT_MASK_INJECT_POSITION_REQ (0x00000040) -- The control point must enable this mask to receive position injection request 475 event indications. 476 - QMI_LOC_EVENT_MASK_ENGINE_STATE (0x00000080) -- The control point must enable this mask to receive engine state report 477 event indications. 478 - QMI_LOC_EVENT_MASK_FIX_SESSION_STATE (0x00000100) -- The control point must enable this mask to receive fix session status report 479 event indications. 480 - QMI_LOC_EVENT_MASK_WIFI_REQ (0x00000200) -- The control point must enable this mask to receive Wi-Fi position request 481 event indications. 482 - QMI_LOC_EVENT_MASK_SENSOR_STREAMING_READY_STATUS (0x00000400) -- The control point must enable this mask to receive notifications from the 483 location engine indicating its readiness to accept data from the 484 sensors (accelerometer, gyroscope, etc.). 485 - QMI_LOC_EVENT_MASK_TIME_SYNC_REQ (0x00000800) -- The control point must enable this mask to receive time sync requests 486 from the GPS engine. Time sync enables the GPS engine to synchronize 487 its clock with the sensor processor's clock. 488 - QMI_LOC_EVENT_MASK_SET_SPI_STREAMING_REPORT (0x00001000) -- The control point must enable this mask to receive Stationary Position 489 Indicator (SPI) streaming report indications. 490 - QMI_LOC_EVENT_MASK_LOCATION_SERVER_CONNECTION_REQ (0x00002000) -- The control point must enable this mask to receive location server 491 requests. These requests are generated when the service wishes to 492 establish a connection with a location server. 493 - QMI_LOC_EVENT_MASK_NI_GEOFENCE_NOTIFICATION (0x00004000) -- The control point must enable this mask to receive notifications 494 related to network-initiated Geofences. These events notify the client 495 when a network-initiated Geofence is added, deleted, or edited. 496 - QMI_LOC_EVENT_MASK_GEOFENCE_GEN_ALERT (0x00008000) -- The control point must enable this mask to receive Geofence alerts. 497 These alerts are generated to inform the client of the changes that may 498 affect a Geofence, e.g., if GPS is turned off or if the network is 499 unavailable. 500 - QMI_LOC_EVENT_MASK_GEOFENCE_BREACH_NOTIFICATION (0x00010000) -- The control point must enable this mask to receive notifications when 501 a Geofence is breached. These events are generated when a UE enters 502 or leaves the perimeter of a Geofence. This breach report is for a single 503 Geofence . 504 - QMI_LOC_EVENT_MASK_PEDOMETER_CONTROL (0x00020000) -- The control point must enable this mask to register for pedometer 505 control requests from the location engine. The location engine sends 506 this event to control the injection of pedometer reports. 507 - QMI_LOC_EVENT_MASK_MOTION_DATA_CONTROL (0x00040000) -- The control point must enable this mask to register for motion data 508 control requests from the location engine. The location engine sends 509 this event to control the injection of motion data. 510 - QMI_LOC_EVENT_MASK_BATCH_FULL_NOTIFICATION (0x00080000) -- The control point must enable this mask to receive notification when 511 a batch is full. The location engine sends this event to notify of Batch Full 512 for ongoing batching session. 513 - QMI_LOC_EVENT_MASK_LIVE_BATCHED_POSITION_REPORT (0x00100000) -- The control point must enable this mask to receive position report 514 indications along with an ongoing batching session. The location engine sends 515 this event to notify the batched position report while a batching session 516 is ongoing. 517 - QMI_LOC_EVENT_MASK_INJECT_WIFI_AP_DATA_REQ (0x00200000) -- The control point must enable this mask to receive Wi-Fi AP data inject request 518 event indications. 519 - QMI_LOC_EVENT_MASK_GEOFENCE_BATCH_BREACH_NOTIFICATION (0x00400000) -- The control point must enable this mask to receive notifications when 520 a Geofence is breached. These events are generated when a UE enters 521 or leaves the perimeter of a Geofence. This breach notification is for 522 multiple Geofences. Breaches from multiple Geofences are all batched and 523 sent in the same notification . 524 - QMI_LOC_EVENT_MASK_VEHICLE_DATA_READY_STATUS (0x00800000) -- The control point must enable this mask to receive notifications from the 525 location engine indicating its readiness to accept vehicle data (vehicle 526 accelerometer, vehicle angular rate, vehicle odometry, etc.). 527 - QMI_LOC_EVENT_MASK_GNSS_MEASUREMENT_REPORT (0x01000000) -- The control point must enable this mask to receive system clock and satellite 528 measurement report events (system clock, SV time, Doppler, etc.). Reports are 529 generated only for the GNSS satellite constellations that are enabled using 530 QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG. 531 - QMI_LOC_EVENT_MASK_GNSS_SV_POLYNOMIAL_REPORT (0x02000000) -- The control point must enable this mask to receive satellite position 532 reports as polynomials. Reports are generated only for the GNSS satellite 533 constellations that are enabled using QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG. 534 - QMI_LOC_EVENT_MASK_GEOFENCE_PROXIMITY_NOTIFICATION (0x04000000) -- The control point must enable this mask to receive notifications when a Geofence proximity is entered 535 and exited. The proximity of a Geofence may be due to different contexts. These contexts are identified 536 using the context ID in this indication. The context of a Geofence may contain Wi-Fi area ID lists, IBeacon lists, 537 Cell-ID list, and so forth. 538 - QMI_LOC_EVENT_MASK_GDT_UPLOAD_BEGIN_REQ (0x08000000) -- The control point must enable this mask to receive Generic Data Transport (GDT) 539 session begin request event indications. 540 - QMI_LOC_EVENT_MASK_GDT_UPLOAD_END_REQ (0x10000000) -- The control point must enable this mask to receive GDT 541 session end request event indications. 542 - QMI_LOC_EVENT_MASK_GEOFENCE_BATCH_DWELL_NOTIFICATION (0x20000000) -- The control point must enable this mask to receive notifications when 543 a Geofence is dwelled. These events are generated when a UE enters 544 or leaves the perimeter of a Geofence and dwells inside or outside for a specified time. 545 This dwell notification is for multiple Geofences. Dwells from multiple Geofences are all batched and 546 sent in the same notification. 547 - QMI_LOC_EVENT_MASK_GET_TIME_ZONE_REQ (0x40000000) -- The control point must enable this mask to receive requests for time zone information from 548 the service. These events are generated when there is a need for time zone information in the 549 service. 550 - QMI_LOC_EVENT_MASK_BATCHING_STATUS (0x80000000) -- The control point must enable this mask to receive asynchronous events related 551 to batching. 552 553 Multiple events can be registered by ORing the individual masks and 554 sending them in this TLV. All unused bits in this mask must be set to 0. 555 */ 556 }qmiLocRegEventsReqMsgT_v02; /* Message */ 557 /** 558 @} 559 */ 560 561 /** @addtogroup loc_qmi_enums 562 @{ 563 */ 564 typedef enum { 565 QMILOCFIXRECURRENCEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 566 eQMI_LOC_RECURRENCE_PERIODIC_V02 = 1, /**< Request periodic position fixes */ 567 eQMI_LOC_RECURRENCE_SINGLE_V02 = 2, /**< Request a single position fix */ 568 QMILOCFIXRECURRENCEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 569 }qmiLocFixRecurrenceEnumT_v02; 570 /** 571 @} 572 */ 573 574 /** @addtogroup loc_qmi_enums 575 @{ 576 */ 577 typedef enum { 578 QMILOCACCURACYLEVELENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 579 eQMI_LOC_ACCURACY_LOW_V02 = 1, /**< Low accuracy */ 580 eQMI_LOC_ACCURACY_MED_V02 = 2, /**< Medium accuracy */ 581 eQMI_LOC_ACCURACY_HIGH_V02 = 3, /**< High accuracy */ 582 QMILOCACCURACYLEVELENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 583 }qmiLocAccuracyLevelEnumT_v02; 584 /** 585 @} 586 */ 587 588 /** @addtogroup loc_qmi_enums 589 @{ 590 */ 591 typedef enum { 592 QMILOCINTERMEDIATEREPORTSTATEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 593 eQMI_LOC_INTERMEDIATE_REPORTS_ON_V02 = 1, /**< Intermediate reports are turned on */ 594 eQMI_LOC_INTERMEDIATE_REPORTS_OFF_V02 = 2, /**< Intermediate reports are turned off */ 595 QMILOCINTERMEDIATEREPORTSTATEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 596 }qmiLocIntermediateReportStateEnumT_v02; 597 /** 598 @} 599 */ 600 601 /** @addtogroup loc_qmi_enums 602 @{ 603 */ 604 typedef enum { 605 QMILOCCONFIGINCLUDEALTITUDEASSUMEDINGNSSSVINFOENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 606 eQMI_LOC_ALTITUDE_ASSUMED_IN_GNSS_SV_INFO_ENABLED_V02 = 1, /**< Enable Altitude Assumed information in GNSS SV Info Event. */ 607 eQMI_LOC_ALTITUDE_ASSUMED_IN_GNSS_SV_INFO_DISABLED_V02 = 2, /**< Disable Altitude Assumed information in GNSS SV Info Event. */ 608 QMILOCCONFIGINCLUDEALTITUDEASSUMEDINGNSSSVINFOENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 609 }qmiLocConfigIncludeAltitudeAssumedInGnssSvInfoEnumT_v02; 610 /** 611 @} 612 */ 613 614 /** @addtogroup loc_qmi_aggregates 615 @{ 616 */ 617 typedef struct { 618 619 char applicationProvider[QMI_LOC_MAX_APP_ID_PROVIDER_LENGTH_V02 + 1]; 620 /**< Application provider. */ 621 622 char applicationName[QMI_LOC_MAX_APP_ID_NAME_LENGTH_V02 + 1]; 623 /**< Application name. */ 624 625 uint8_t applicationVersion_valid; 626 /**< Specifies whether the application version string contains 627 a valid value: \begin{itemize1} 628 \item 0x00 (FALSE) -- Application version string is invalid 629 \item 0x01 (TRUE) -- Application version string is valid 630 \vspace{-0.18in} \end{itemize1} */ 631 632 char applicationVersion[QMI_LOC_MAX_APP_ID_VERSION_LENGTH_V02 + 1]; 633 /**< Application version. */ 634 }qmiLocApplicationIdStructT_v02; /* Type */ 635 /** 636 @} 637 */ 638 639 /** @addtogroup loc_qmi_messages 640 @{ 641 */ 642 /** Request Message; Used by the control point to initiate a GPS session. */ 643 typedef struct { 644 645 /* Mandatory */ 646 /* Session ID */ 647 uint8_t sessionId; 648 /**< ID of the session as identified by the control point. The session ID 649 is reported back in the position reports. The control point must 650 specify the same session ID in the QMI_LOC_STOP_REQ message. \n 651 - Range: 0 to 255 652 */ 653 654 /* Optional */ 655 /* Recurrence Type */ 656 uint8_t fixRecurrence_valid; /**< Must be set to true if fixRecurrence is being passed */ 657 qmiLocFixRecurrenceEnumT_v02 fixRecurrence; 658 /**< Specifies the type of session in which the control point is interested. 659 If this TLV is not specified, recurrence defaults to SINGLE. 660 661 Valid values: \n 662 - eQMI_LOC_RECURRENCE_PERIODIC (1) -- Request periodic position fixes 663 - eQMI_LOC_RECURRENCE_SINGLE (2) -- Request a single position fix 664 */ 665 666 /* Optional */ 667 /* Horizontal Accuracy */ 668 uint8_t horizontalAccuracyLevel_valid; /**< Must be set to true if horizontalAccuracyLevel is being passed */ 669 qmiLocAccuracyLevelEnumT_v02 horizontalAccuracyLevel; 670 /**< Specifies the horizontal accuracy level required by the control point. 671 If not specified, accuracy defaults to LOW. 672 673 Valid values: \n 674 - eQMI_LOC_ACCURACY_LOW (1) -- Low accuracy 675 - eQMI_LOC_ACCURACY_MED (2) -- Medium accuracy 676 - eQMI_LOC_ACCURACY_HIGH (3) -- High accuracy 677 */ 678 679 /* Optional */ 680 /* Enable/Disable Intermediate Reports */ 681 uint8_t intermediateReportState_valid; /**< Must be set to true if intermediateReportState is being passed */ 682 qmiLocIntermediateReportStateEnumT_v02 intermediateReportState; 683 /**< Specifies if the control point is interested in receiving intermediate 684 reports. The control point must explicitly set this field to OFF if it 685 does not wish to receive intermediate position reports. Intermediate 686 position reports are generated at 1 Hz and are ON by default. If 687 intermediate reports are turned ON, the client receives position reports 688 even if the accuracy criteria are not met. The status in such a position 689 report is set to IN_PROGRESS in order for the control point to identify 690 intermediate reports. 691 692 Valid values: \n 693 - eQMI_LOC_INTERMEDIATE_REPORTS_ON (1) -- Intermediate reports are turned on 694 - eQMI_LOC_INTERMEDIATE_REPORTS_OFF (2) -- Intermediate reports are turned off 695 */ 696 697 /* Optional */ 698 /* Minimum Interval Between Final Position Reports */ 699 uint8_t minInterval_valid; /**< Must be set to true if minInterval is being passed */ 700 uint32_t minInterval; 701 /**< Minimum time interval, specified by the control point, that must elapse between 702 final position reports. \n 703 - Units: Milliseconds \n 704 - Default: 1000 ms 705 */ 706 707 /* Optional */ 708 /* ID of the Application that Sent this Request */ 709 uint8_t applicationId_valid; /**< Must be set to true if applicationId is being passed */ 710 qmiLocApplicationIdStructT_v02 applicationId; 711 /**< \n Application provider, name, and version.*/ 712 713 /* Optional */ 714 /* Configuration for Altitude Assumed Info in GNSS SV Info Event */ 715 uint8_t configAltitudeAssumed_valid; /**< Must be set to true if configAltitudeAssumed is being passed */ 716 qmiLocConfigIncludeAltitudeAssumedInGnssSvInfoEnumT_v02 configAltitudeAssumed; 717 /**< Specifies the configuration to include Altitude Assumed information in the GNSS SV Info Event. 718 When enabled, an additional GNSS SV Info event indication is sent to the control 719 point that also includes the altitude assumed information. 720 721 If not specified, the configuration defaults to ENABLED. 722 723 Valid values: \n 724 - eQMI_LOC_ALTITUDE_ASSUMED_IN_GNSS_SV_INFO_ENABLED (1) -- Enable Altitude Assumed information in GNSS SV Info Event. 725 - eQMI_LOC_ALTITUDE_ASSUMED_IN_GNSS_SV_INFO_DISABLED (2) -- Disable Altitude Assumed information in GNSS SV Info Event. 726 */ 727 728 /* Optional */ 729 /* Minimum Interval Between Intermediate Position Reports */ 730 uint8_t minIntermediatePositionReportInterval_valid; /**< Must be set to true if minIntermediatePositionReportInterval is being passed */ 731 uint32_t minIntermediatePositionReportInterval; 732 /**< Minimum time interval for intermediate position reports, specified by the control point, 733 that, between the position reports elapsed time, must be longer than the interval time. 734 If this optional value is not set or set to the default value (0), the intermediate position 735 will be reported when it is ready. \n 736 - Units: Milliseconds \n 737 - Default: 0 ms 738 */ 739 740 /* Optional */ 741 /* Maximum Wait Time to Get a Position Report */ 742 uint8_t positionReportTimeout_valid; /**< Must be set to true if positionReportTimeout is being passed */ 743 uint32_t positionReportTimeout; 744 /**< Maximum time to work on each fix, specified by the control point. 745 The GPS engine returns QMI_ERR_INTERNAL if a position cannot be obtained 746 within the positionReportTimeout value. \n 747 - Units: Milliseconds \n 748 - Default: 255*1000 ms \n 749 - Range: 1000 - 255*1000 ms 750 */ 751 752 /* Optional */ 753 /* Share position report with other clients */ 754 uint8_t sharePosition_valid; /**< Must be set to true if sharePosition is being passed */ 755 uint8_t sharePosition; 756 /**< Allow to share the position report with the other QMI_LOC clients \n 757 \item 0x00(FALSE) Do not share the position report 758 \item 0x01(TRUE) Share the position report 759 If this optional TLV is not set, the GPS engine allows the position sharing. 760 \vspace{-0.18in} \end{itemize1} 761 */ 762 }qmiLocStartReqMsgT_v02; /* Message */ 763 /** 764 @} 765 */ 766 767 /** @addtogroup loc_qmi_messages 768 @{ 769 */ 770 /** Request Message; Used by the control point to stop a GPS session. */ 771 typedef struct { 772 773 /* Mandatory */ 774 /* Session ID */ 775 uint8_t sessionId; 776 /**< ID of the session that was specified in the Start request 777 (QMI_LOC_START_REQ).\n 778 - Range: 0 to 255 */ 779 }qmiLocStopReqMsgT_v02; /* Message */ 780 /** 781 @} 782 */ 783 784 typedef uint32_t qmiLocPosTechMaskT_v02; 785 #define QMI_LOC_POS_TECH_MASK_SATELLITE_V02 ((qmiLocPosTechMaskT_v02)0x00000001) /**< Satellites were used to generate the fix */ 786 #define QMI_LOC_POS_TECH_MASK_CELLID_V02 ((qmiLocPosTechMaskT_v02)0x00000002) /**< Cell towers were used to generate the fix */ 787 #define QMI_LOC_POS_TECH_MASK_WIFI_V02 ((qmiLocPosTechMaskT_v02)0x00000004) /**< Wi-Fi access points were used to generate the fix */ 788 #define QMI_LOC_POS_TECH_MASK_SENSORS_V02 ((qmiLocPosTechMaskT_v02)0x00000008) /**< Sensors were used to generate the fix */ 789 #define QMI_LOC_POS_TECH_MASK_REFERENCE_LOCATION_V02 ((qmiLocPosTechMaskT_v02)0x00000010) /**< Reference Location was used to generate the fix */ 790 #define QMI_LOC_POS_TECH_MASK_INJECTED_COARSE_POSITION_V02 ((qmiLocPosTechMaskT_v02)0x00000020) /**< Coarse position injected into the location engine was used to 791 generate the fix */ 792 #define QMI_LOC_POS_TECH_MASK_AFLT_V02 ((qmiLocPosTechMaskT_v02)0x00000040) /**< AFLT was used to generate the fix */ 793 #define QMI_LOC_POS_TECH_MASK_HYBRID_V02 ((qmiLocPosTechMaskT_v02)0x00000080) /**< GNSS and network-provided measurements were used to 794 generate the fix */ 795 /** @addtogroup loc_qmi_enums 796 @{ 797 */ 798 typedef enum { 799 QMILOCSESSIONSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 800 eQMI_LOC_SESS_STATUS_SUCCESS_V02 = 0, /**< Session was successful */ 801 eQMI_LOC_SESS_STATUS_IN_PROGRESS_V02 = 1, /**< Session is still in progress; further position reports will be generated 802 until either the fix criteria specified by the client are met or the 803 client response timeout occurs */ 804 eQMI_LOC_SESS_STATUS_GENERAL_FAILURE_V02 = 2, /**< Session failed */ 805 eQMI_LOC_SESS_STATUS_TIMEOUT_V02 = 3, /**< Fix request failed because the session timed out */ 806 eQMI_LOC_SESS_STATUS_USER_END_V02 = 4, /**< Fix request failed because the session was ended by the user */ 807 eQMI_LOC_SESS_STATUS_BAD_PARAMETER_V02 = 5, /**< Fix request failed due to bad parameters in the request */ 808 eQMI_LOC_SESS_STATUS_PHONE_OFFLINE_V02 = 6, /**< Fix request failed because the phone is offline */ 809 eQMI_LOC_SESS_STATUS_ENGINE_LOCKED_V02 = 7, /**< Fix request failed because the engine is locked */ 810 QMILOCSESSIONSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 811 }qmiLocSessionStatusEnumT_v02; 812 /** 813 @} 814 */ 815 816 /** @addtogroup loc_qmi_aggregates 817 @{ 818 */ 819 typedef struct { 820 821 uint16_t gpsWeek; 822 /**< Current GPS week as calculated from midnight, Jan. 6, 1980. \n 823 - Units: Weeks */ 824 825 uint32_t gpsTimeOfWeekMs; 826 /**< Amount of time into the current GPS week. \n 827 - Units: Milliseconds */ 828 }qmiLocGPSTimeStructT_v02; /* Type */ 829 /** 830 @} 831 */ 832 833 /** @addtogroup loc_qmi_aggregates 834 @{ 835 */ 836 typedef struct { 837 838 float PDOP; 839 /**< Position dilution of precision. 840 \begin{itemize1} 841 \item Range: 1 (highest accuracy) to 50 (lowest accuracy) 842 \item PDOP = square root of (HDOP^2 + VDOP^2) 843 \vspace{-0.18in} \end{itemize1} */ 844 845 float HDOP; 846 /**< Horizontal dilution of precision. 847 \begin{itemize1} 848 \item Range: 1 (highest accuracy) to 50 (lowest accuracy) 849 \vspace{-0.18in} \end{itemize1} */ 850 851 float VDOP; 852 /**< Vertical dilution of precision. 853 \begin{itemize1} 854 \item Range: 1 (highest accuracy) to 50 (lowest accuracy) 855 \vspace{-0.18in} \end{itemize1} */ 856 }qmiLocDOPStructT_v02; /* Type */ 857 /** 858 @} 859 */ 860 861 typedef uint32_t qmiLocSensorUsageMaskT_v02; 862 #define QMI_LOC_SENSOR_MASK_USED_ACCEL_V02 ((qmiLocSensorUsageMaskT_v02)0x00000001) /**< Bitmask to specify whether an accelerometer was used. */ 863 #define QMI_LOC_SENSOR_MASK_USED_GYRO_V02 ((qmiLocSensorUsageMaskT_v02)0x00000002) /**< Bitmask to specify whether a gyroscope was used. */ 864 typedef uint32_t qmiLocSensorAidedMaskT_v02; 865 #define QMI_LOC_SENSOR_AIDED_MASK_HEADING_V02 ((qmiLocSensorAidedMaskT_v02)0x00000001) /**< Bitmask to specify whether a sensor was used to calculate heading. */ 866 #define QMI_LOC_SENSOR_AIDED_MASK_SPEED_V02 ((qmiLocSensorAidedMaskT_v02)0x00000002) /**< Bitmask to specify whether a sensor was used to calculate speed. */ 867 #define QMI_LOC_SENSOR_AIDED_MASK_POSITION_V02 ((qmiLocSensorAidedMaskT_v02)0x00000004) /**< Bitmask to specify whether a sensor was used to calculate position. */ 868 #define QMI_LOC_SENSOR_AIDED_MASK_VELOCITY_V02 ((qmiLocSensorAidedMaskT_v02)0x00000008) /**< Bitmask to specify whether a sensor was used to calculate velocity. */ 869 /** @addtogroup loc_qmi_aggregates 870 @{ 871 */ 872 typedef struct { 873 874 qmiLocSensorUsageMaskT_v02 usageMask; 875 /**< Specifies which sensors were used in calculating the position in the 876 position report. 877 878 Valid bitmasks: \begin{itemize1} 879 \item 0x00000001 -- SENSOR_USED_ ACCEL 880 \item 0x00000002 -- SENSOR_USED_ GYRO 881 \vspace{-0.18in} \end{itemize1} */ 882 883 qmiLocSensorAidedMaskT_v02 aidingIndicatorMask; 884 /**< Specifies which results were aided by sensors. 885 886 Valid bitmasks: \n 887 - 0x00000001 -- AIDED_HEADING \n 888 - 0x00000002 -- AIDED_SPEED \n 889 - 0x00000004 -- AIDED_POSITION \n 890 - 0x00000008 -- AIDED_VELOCITY */ 891 }qmiLocSensorUsageIndicatorStructT_v02; /* Type */ 892 /** 893 @} 894 */ 895 896 /** @addtogroup loc_qmi_enums 897 @{ 898 */ 899 typedef enum { 900 QMILOCTIMESOURCEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 901 eQMI_LOC_TIME_SRC_INVALID_V02 = 0, /**< Invalid time. */ 902 eQMI_LOC_TIME_SRC_NETWORK_TIME_TRANSFER_V02 = 1, /**< Time is set by the 1X system */ 903 eQMI_LOC_TIME_SRC_NETWORK_TIME_TAGGING_V02 = 2, /**< Time is set by WCDMA/GSM time tagging (that is, 904 associating network time with GPS time) */ 905 eQMI_LOC_TIME_SRC_EXTERNAL_INPUT_V02 = 3, /**< Time is set by an external injection */ 906 eQMI_LOC_TIME_SRC_TOW_DECODE_V02 = 4, /**< Time is set after decoding over-the-air GPS navigation data 907 from one GPS satellite */ 908 eQMI_LOC_TIME_SRC_TOW_CONFIRMED_V02 = 5, /**< Time is set after decoding over-the-air GPS navigation data 909 from multiple satellites */ 910 eQMI_LOC_TIME_SRC_TOW_AND_WEEK_CONFIRMED_V02 = 6, /**< Both time of the week and the GPS week number are known */ 911 eQMI_LOC_TIME_SRC_NAV_SOLUTION_V02 = 7, /**< Time is set by the position engine after the fix is obtained */ 912 eQMI_LOC_TIME_SRC_SOLVE_FOR_TIME_V02 = 8, /**< Time is set by the position engine after performing SFT; 913 this is done when the clock time uncertainty is large */ 914 eQMI_LOC_TIME_SRC_GLO_TOW_DECODE_V02 = 9, /**< Time is set after decoding GLO satellites */ 915 eQMI_LOC_TIME_SRC_TIME_TRANSFORM_V02 = 10, /**< Time is set after transforming the GPS to GLO time */ 916 eQMI_LOC_TIME_SRC_WCDMA_SLEEP_TIME_TAGGING_V02 = 11, /**< Time is set by the sleep time tag provided by the WCDMA network */ 917 eQMI_LOC_TIME_SRC_GSM_SLEEP_TIME_TAGGING_V02 = 12, /**< Time is set by the sleep time tag provided by the GSM network */ 918 eQMI_LOC_TIME_SRC_UNKNOWN_V02 = 13, /**< Source of the time is unknown */ 919 eQMI_LOC_TIME_SRC_SYSTEM_TIMETICK_V02 = 14, /**< Time is derived from the system clock (better known as the slow clock); 920 GNSS time is maintained irrespective of the GNSS receiver state */ 921 eQMI_LOC_TIME_SRC_QZSS_TOW_DECODE_V02 = 15, /**< Time is set after decoding QZSS satellites */ 922 eQMI_LOC_TIME_SRC_BDS_TOW_DECODE_V02 = 16, /**< Time is set after decoding BDS satellites */ 923 eQMI_LOC_TIME_SRC_GAL_TOW_DECODE_V02 = 17, /**< Time is set after decoding GAL satellites */ 924 QMILOCTIMESOURCEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 925 }qmiLocTimeSourceEnumT_v02; 926 /** 927 @} 928 */ 929 930 /** @addtogroup loc_qmi_enums 931 @{ 932 */ 933 typedef enum { 934 QMILOCRELIABILITYENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 935 eQMI_LOC_RELIABILITY_NOT_SET_V02 = 0, /**< Location reliability is not set */ 936 eQMI_LOC_RELIABILITY_VERY_LOW_V02 = 1, /**< Location reliability is very low; use it at your own risk */ 937 eQMI_LOC_RELIABILITY_LOW_V02 = 2, /**< Location reliability is low; little or no cross-checking is possible */ 938 eQMI_LOC_RELIABILITY_MEDIUM_V02 = 3, /**< Location reliability is medium; limited cross-check passed */ 939 eQMI_LOC_RELIABILITY_HIGH_V02 = 4, /**< Location reliability is high; strong cross-check passed */ 940 QMILOCRELIABILITYENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 941 }qmiLocReliabilityEnumT_v02; 942 /** 943 @} 944 */ 945 946 /** @addtogroup loc_qmi_messages 947 @{ 948 */ 949 /** Indication Message; Sends the position report to the control point. */ 950 typedef struct { 951 952 /* Mandatory */ 953 /* Session Status */ 954 qmiLocSessionStatusEnumT_v02 sessionStatus; 955 /**< Session status. 956 957 Valid values: \n 958 - eQMI_LOC_SESS_STATUS_SUCCESS (0) -- Session was successful 959 - eQMI_LOC_SESS_STATUS_IN_PROGRESS (1) -- Session is still in progress; further position reports will be generated 960 until either the fix criteria specified by the client are met or the 961 client response timeout occurs 962 - eQMI_LOC_SESS_STATUS_GENERAL_FAILURE (2) -- Session failed 963 - eQMI_LOC_SESS_STATUS_TIMEOUT (3) -- Fix request failed because the session timed out 964 - eQMI_LOC_SESS_STATUS_USER_END (4) -- Fix request failed because the session was ended by the user 965 - eQMI_LOC_SESS_STATUS_BAD_PARAMETER (5) -- Fix request failed due to bad parameters in the request 966 - eQMI_LOC_SESS_STATUS_PHONE_OFFLINE (6) -- Fix request failed because the phone is offline 967 - eQMI_LOC_SESS_STATUS_ENGINE_LOCKED (7) -- Fix request failed because the engine is locked 968 */ 969 970 /* Mandatory */ 971 /* Session ID */ 972 uint8_t sessionId; 973 /**< ID of the session that was specified in the Start request 974 QMI_LOC_START_REQ. \n 975 - Range: 0 to 255 */ 976 977 /* Optional */ 978 /* Latitude */ 979 uint8_t latitude_valid; /**< Must be set to true if latitude is being passed */ 980 double latitude; 981 /**< Latitude (specified in WGS84 datum). 982 \begin{itemize1} 983 \item Type: Floating point 984 \item Units: Degrees 985 \item Range: -90.0 to 90.0 \begin{itemize1} 986 \item Positive values indicate northern latitude 987 \item Negative values indicate southern latitude 988 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 989 990 /* Optional */ 991 /* Longitude */ 992 uint8_t longitude_valid; /**< Must be set to true if longitude is being passed */ 993 double longitude; 994 /**< Longitude (specified in WGS84 datum). 995 \begin{itemize1} 996 \item Type: Floating point 997 \item Units: Degrees 998 \item Range: -180.0 to 180.0 \begin{itemize1} 999 \item Positive values indicate eastern longitude 1000 \item Negative values indicate western longitude 1001 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 1002 1003 /* Optional */ 1004 /* Circular Horizontal Position Uncertainty */ 1005 uint8_t horUncCircular_valid; /**< Must be set to true if horUncCircular is being passed */ 1006 float horUncCircular; 1007 /**< Horizontal position uncertainty (circular).\n 1008 - Units: Meters */ 1009 1010 /* Optional */ 1011 /* Horizontal Elliptical Uncertainty (Semi-Minor Axis) */ 1012 uint8_t horUncEllipseSemiMinor_valid; /**< Must be set to true if horUncEllipseSemiMinor is being passed */ 1013 float horUncEllipseSemiMinor; 1014 /**< Semi-minor axis of horizontal elliptical uncertainty.\n 1015 - Units: Meters */ 1016 1017 /* Optional */ 1018 /* Horizontal Elliptical Uncertainty (Semi-Major Axis) */ 1019 uint8_t horUncEllipseSemiMajor_valid; /**< Must be set to true if horUncEllipseSemiMajor is being passed */ 1020 float horUncEllipseSemiMajor; 1021 /**< Semi-major axis of horizontal elliptical uncertainty.\n 1022 - Units: Meters */ 1023 1024 /* Optional */ 1025 /* Elliptical Horizontal Uncertainty Azimuth */ 1026 uint8_t horUncEllipseOrientAzimuth_valid; /**< Must be set to true if horUncEllipseOrientAzimuth is being passed */ 1027 float horUncEllipseOrientAzimuth; 1028 /**< Elliptical horizontal uncertainty azimuth of orientation.\n 1029 - Units: Decimal degrees \n 1030 - Range: 0 to 180 */ 1031 1032 /* Optional */ 1033 /* Horizontal Confidence */ 1034 uint8_t horConfidence_valid; /**< Must be set to true if horConfidence is being passed */ 1035 uint8_t horConfidence; 1036 /**< Horizontal uncertainty confidence. 1037 If both elliptical and horizontal uncertainties are specified in this message, 1038 the confidence corresponds to the elliptical uncertainty. \n 1039 - Units: Percent \n 1040 - Range: 0 to 99 */ 1041 1042 /* Optional */ 1043 /* Horizontal Reliability */ 1044 uint8_t horReliability_valid; /**< Must be set to true if horReliability is being passed */ 1045 qmiLocReliabilityEnumT_v02 horReliability; 1046 /**< Specifies the reliability of the horizontal position. 1047 Valid values: \n 1048 - eQMI_LOC_RELIABILITY_NOT_SET (0) -- Location reliability is not set 1049 - eQMI_LOC_RELIABILITY_VERY_LOW (1) -- Location reliability is very low; use it at your own risk 1050 - eQMI_LOC_RELIABILITY_LOW (2) -- Location reliability is low; little or no cross-checking is possible 1051 - eQMI_LOC_RELIABILITY_MEDIUM (3) -- Location reliability is medium; limited cross-check passed 1052 - eQMI_LOC_RELIABILITY_HIGH (4) -- Location reliability is high; strong cross-check passed 1053 */ 1054 1055 /* Optional */ 1056 /* Horizontal Speed */ 1057 uint8_t speedHorizontal_valid; /**< Must be set to true if speedHorizontal is being passed */ 1058 float speedHorizontal; 1059 /**< Horizontal speed.\n 1060 - Units: Meters/second */ 1061 1062 /* Optional */ 1063 /* Speed Uncertainty */ 1064 uint8_t speedUnc_valid; /**< Must be set to true if speedUnc is being passed */ 1065 float speedUnc; 1066 /**< 3-D Speed uncertainty.\n 1067 - Units: Meters/second */ 1068 1069 /* Optional */ 1070 /* Altitude With Respect to Ellipsoid */ 1071 uint8_t altitudeWrtEllipsoid_valid; /**< Must be set to true if altitudeWrtEllipsoid is being passed */ 1072 float altitudeWrtEllipsoid; 1073 /**< Altitude with respect to the WGS84 ellipsoid.\n 1074 - Units: Meters \n 1075 - Range: -500 to 15883 */ 1076 1077 /* Optional */ 1078 /* Altitude With Respect to Sea Level */ 1079 uint8_t altitudeWrtMeanSeaLevel_valid; /**< Must be set to true if altitudeWrtMeanSeaLevel is being passed */ 1080 float altitudeWrtMeanSeaLevel; 1081 /**< Altitude with respect to mean sea level.\n 1082 - Units: Meters */ 1083 1084 /* Optional */ 1085 /* Vertical Uncertainty */ 1086 uint8_t vertUnc_valid; /**< Must be set to true if vertUnc is being passed */ 1087 float vertUnc; 1088 /**< Vertical uncertainty.\n 1089 - Units: Meters */ 1090 1091 /* Optional */ 1092 /* Vertical Confidence */ 1093 uint8_t vertConfidence_valid; /**< Must be set to true if vertConfidence is being passed */ 1094 uint8_t vertConfidence; 1095 /**< Vertical uncertainty confidence.\n 1096 - Units: Percent \n 1097 - Range: 0 to 99 */ 1098 1099 /* Optional */ 1100 /* Vertical Reliability */ 1101 uint8_t vertReliability_valid; /**< Must be set to true if vertReliability is being passed */ 1102 qmiLocReliabilityEnumT_v02 vertReliability; 1103 /**< Specifies the reliability of the vertical position. 1104 Valid values: \n 1105 - eQMI_LOC_RELIABILITY_NOT_SET (0) -- Location reliability is not set 1106 - eQMI_LOC_RELIABILITY_VERY_LOW (1) -- Location reliability is very low; use it at your own risk 1107 - eQMI_LOC_RELIABILITY_LOW (2) -- Location reliability is low; little or no cross-checking is possible 1108 - eQMI_LOC_RELIABILITY_MEDIUM (3) -- Location reliability is medium; limited cross-check passed 1109 - eQMI_LOC_RELIABILITY_HIGH (4) -- Location reliability is high; strong cross-check passed 1110 */ 1111 1112 /* Optional */ 1113 /* Vertical Speed */ 1114 uint8_t speedVertical_valid; /**< Must be set to true if speedVertical is being passed */ 1115 float speedVertical; 1116 /**< Vertical speed.\n 1117 - Units: Meters/second */ 1118 1119 /* Optional */ 1120 /* Heading */ 1121 uint8_t heading_valid; /**< Must be set to true if heading is being passed */ 1122 float heading; 1123 /**< Heading.\n 1124 - Units: Degrees \n 1125 - Range: 0 to 359.999 */ 1126 1127 /* Optional */ 1128 /* Heading Uncertainty */ 1129 uint8_t headingUnc_valid; /**< Must be set to true if headingUnc is being passed */ 1130 float headingUnc; 1131 /**< Heading uncertainty.\n 1132 - Units: Degrees \n 1133 - Range: 0 to 359.999 */ 1134 1135 /* Optional */ 1136 /* Magnetic Deviation */ 1137 uint8_t magneticDeviation_valid; /**< Must be set to true if magneticDeviation is being passed */ 1138 float magneticDeviation; 1139 /**< Difference between the bearing to true north and the bearing shown 1140 on a magnetic compass. The deviation is positive when the magnetic 1141 north is east of true north. */ 1142 1143 /* Optional */ 1144 /* Technology Used */ 1145 uint8_t technologyMask_valid; /**< Must be set to true if technologyMask is being passed */ 1146 qmiLocPosTechMaskT_v02 technologyMask; 1147 /**< Technology used in computing this fix. 1148 Valid bitmasks: \n 1149 - QMI_LOC_POS_TECH_MASK_SATELLITE (0x00000001) -- Satellites were used to generate the fix 1150 - QMI_LOC_POS_TECH_MASK_CELLID (0x00000002) -- Cell towers were used to generate the fix 1151 - QMI_LOC_POS_TECH_MASK_WIFI (0x00000004) -- Wi-Fi access points were used to generate the fix 1152 - QMI_LOC_POS_TECH_MASK_SENSORS (0x00000008) -- Sensors were used to generate the fix 1153 - QMI_LOC_POS_TECH_MASK_REFERENCE_LOCATION (0x00000010) -- Reference Location was used to generate the fix 1154 - QMI_LOC_POS_TECH_MASK_INJECTED_COARSE_POSITION (0x00000020) -- Coarse position injected into the location engine was used to 1155 generate the fix 1156 - QMI_LOC_POS_TECH_MASK_AFLT (0x00000040) -- AFLT was used to generate the fix 1157 - QMI_LOC_POS_TECH_MASK_HYBRID (0x00000080) -- GNSS and network-provided measurements were used to 1158 generate the fix 1159 */ 1160 1161 /* Optional */ 1162 /* Dilution of Precision */ 1163 uint8_t DOP_valid; /**< Must be set to true if DOP is being passed */ 1164 qmiLocDOPStructT_v02 DOP; 1165 /**< \vspace{0.06in} \n Dilution of precision associated with this position. */ 1166 1167 /* Optional */ 1168 /* UTC Timestamp */ 1169 uint8_t timestampUtc_valid; /**< Must be set to true if timestampUtc is being passed */ 1170 uint64_t timestampUtc; 1171 /**< UTC timestamp. \n 1172 - Units: Milliseconds since Jan. 1, 1970 */ 1173 1174 /* Optional */ 1175 /* Leap Seconds */ 1176 uint8_t leapSeconds_valid; /**< Must be set to true if leapSeconds is being passed */ 1177 uint8_t leapSeconds; 1178 /**< Leap second information. If leapSeconds is not available, 1179 timestampUtc is calculated based on a hard-coded value 1180 for leap seconds. \n 1181 - Units: Seconds */ 1182 1183 /* Optional */ 1184 /* GPS Time */ 1185 uint8_t gpsTime_valid; /**< Must be set to true if gpsTime is being passed */ 1186 qmiLocGPSTimeStructT_v02 gpsTime; 1187 /**< \vspace{0.06in} \n The number of weeks since Jan. 5, 1980, and 1188 milliseconds into the current week. */ 1189 1190 /* Optional */ 1191 /* Time Uncertainty */ 1192 uint8_t timeUnc_valid; /**< Must be set to true if timeUnc is being passed */ 1193 float timeUnc; 1194 /**< Time uncertainty. \n 1195 - Units: Milliseconds */ 1196 1197 /* Optional */ 1198 /* Time Source */ 1199 uint8_t timeSrc_valid; /**< Must be set to true if timeSrc is being passed */ 1200 qmiLocTimeSourceEnumT_v02 timeSrc; 1201 /**< Time source. Valid values: \n 1202 - eQMI_LOC_TIME_SRC_INVALID (0) -- Invalid time. 1203 - eQMI_LOC_TIME_SRC_NETWORK_TIME_TRANSFER (1) -- Time is set by the 1X system 1204 - eQMI_LOC_TIME_SRC_NETWORK_TIME_TAGGING (2) -- Time is set by WCDMA/GSM time tagging (that is, 1205 associating network time with GPS time) 1206 - eQMI_LOC_TIME_SRC_EXTERNAL_INPUT (3) -- Time is set by an external injection 1207 - eQMI_LOC_TIME_SRC_TOW_DECODE (4) -- Time is set after decoding over-the-air GPS navigation data 1208 from one GPS satellite 1209 - eQMI_LOC_TIME_SRC_TOW_CONFIRMED (5) -- Time is set after decoding over-the-air GPS navigation data 1210 from multiple satellites 1211 - eQMI_LOC_TIME_SRC_TOW_AND_WEEK_CONFIRMED (6) -- Both time of the week and the GPS week number are known 1212 - eQMI_LOC_TIME_SRC_NAV_SOLUTION (7) -- Time is set by the position engine after the fix is obtained 1213 - eQMI_LOC_TIME_SRC_SOLVE_FOR_TIME (8) -- Time is set by the position engine after performing SFT; 1214 this is done when the clock time uncertainty is large 1215 - eQMI_LOC_TIME_SRC_GLO_TOW_DECODE (9) -- Time is set after decoding GLO satellites 1216 - eQMI_LOC_TIME_SRC_TIME_TRANSFORM (10) -- Time is set after transforming the GPS to GLO time 1217 - eQMI_LOC_TIME_SRC_WCDMA_SLEEP_TIME_TAGGING (11) -- Time is set by the sleep time tag provided by the WCDMA network 1218 - eQMI_LOC_TIME_SRC_GSM_SLEEP_TIME_TAGGING (12) -- Time is set by the sleep time tag provided by the GSM network 1219 - eQMI_LOC_TIME_SRC_UNKNOWN (13) -- Source of the time is unknown 1220 - eQMI_LOC_TIME_SRC_SYSTEM_TIMETICK (14) -- Time is derived from the system clock (better known as the slow clock); 1221 GNSS time is maintained irrespective of the GNSS receiver state 1222 - eQMI_LOC_TIME_SRC_QZSS_TOW_DECODE (15) -- Time is set after decoding QZSS satellites 1223 - eQMI_LOC_TIME_SRC_BDS_TOW_DECODE (16) -- Time is set after decoding BDS satellites 1224 - eQMI_LOC_TIME_SRC_GAL_TOW_DECODE (17) -- Time is set after decoding GAL satellites */ 1225 1226 /* Optional */ 1227 /* Sensor Data Usage */ 1228 uint8_t sensorDataUsage_valid; /**< Must be set to true if sensorDataUsage is being passed */ 1229 qmiLocSensorUsageIndicatorStructT_v02 sensorDataUsage; 1230 /**< \vspace{0.06in} \n Indicates whether sensor data was used in computing the position in this 1231 position report. */ 1232 1233 /* Optional */ 1234 /* Fix Count for This Session */ 1235 uint8_t fixId_valid; /**< Must be set to true if fixId is being passed */ 1236 uint32_t fixId; 1237 /**< Fix count for the session. Starts with 0 and increments by one 1238 for each successive position report for a particular session. */ 1239 1240 /* Optional */ 1241 /* SVs Used to Calculate the Fix */ 1242 uint8_t gnssSvUsedList_valid; /**< Must be set to true if gnssSvUsedList is being passed */ 1243 uint32_t gnssSvUsedList_len; /**< Must be set to # of elements in gnssSvUsedList */ 1244 uint16_t gnssSvUsedList[QMI_LOC_MAX_SV_USED_LIST_LENGTH_V02]; 1245 /**< Each entry in the list contains the SV ID of a satellite 1246 used for calculating this position report. The following 1247 information is associated with each SV ID: \n 1248 Range: \n 1249 - For GPS: 1 to 32 \n 1250 - For GLONASS: 65 to 96 \n 1251 - For QZSS: 193 to 197 \n 1252 - For BDS: 201 to 237 \n 1253 - For GAL: 301 to 336 1254 */ 1255 1256 /* Optional */ 1257 /* Altitude Assumed */ 1258 uint8_t altitudeAssumed_valid; /**< Must be set to true if altitudeAssumed is being passed */ 1259 uint8_t altitudeAssumed; 1260 /**< Indicates whether altitude is assumed or calculated: \begin{itemize1} 1261 \item 0x00 (FALSE) -- Altitude is calculated 1262 \item 0x01 (TRUE) -- Altitude is assumed; there may not be enough 1263 satellites to determine the precise altitude 1264 \vspace{-0.18in} \end{itemize1}*/ 1265 }qmiLocEventPositionReportIndMsgT_v02; /* Message */ 1266 /** 1267 @} 1268 */ 1269 1270 /** @addtogroup loc_qmi_enums 1271 @{ 1272 */ 1273 typedef enum { 1274 QMILOCSVSYSTEMENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 1275 eQMI_LOC_SV_SYSTEM_GPS_V02 = 1, /**< GPS satellite */ 1276 eQMI_LOC_SV_SYSTEM_GALILEO_V02 = 2, /**< GALILEO satellite */ 1277 eQMI_LOC_SV_SYSTEM_SBAS_V02 = 3, /**< SBAS satellite */ 1278 eQMI_LOC_SV_SYSTEM_COMPASS_V02 = 4, /**< COMPASS satellite (Deprecated) */ 1279 eQMI_LOC_SV_SYSTEM_GLONASS_V02 = 5, /**< GLONASS satellite */ 1280 eQMI_LOC_SV_SYSTEM_BDS_V02 = 6, /**< BDS satellite */ 1281 eQMI_LOC_SV_SYSTEM_QZSS_V02 = 7, /**< QZSS satellite */ 1282 QMILOCSVSYSTEMENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 1283 }qmiLocSvSystemEnumT_v02; 1284 /** 1285 @} 1286 */ 1287 1288 /** @addtogroup loc_qmi_enums 1289 @{ 1290 */ 1291 typedef enum { 1292 QMILOCSVSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 1293 eQMI_LOC_SV_STATUS_IDLE_V02 = 1, /**< SV is not being actively processed */ 1294 eQMI_LOC_SV_STATUS_SEARCH_V02 = 2, /**< The system is searching for this SV */ 1295 eQMI_LOC_SV_STATUS_TRACK_V02 = 3, /**< SV is being tracked */ 1296 QMILOCSVSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 1297 }qmiLocSvStatusEnumT_v02; 1298 /** 1299 @} 1300 */ 1301 1302 typedef uint32_t qmiLocSvInfoValidMaskT_v02; 1303 #define QMI_LOC_SV_INFO_MASK_VALID_SYSTEM_V02 ((qmiLocSvInfoValidMaskT_v02)0x00000001) /**< System field is valid in SV information */ 1304 #define QMI_LOC_SV_INFO_MASK_VALID_GNSS_SVID_V02 ((qmiLocSvInfoValidMaskT_v02)0x00000002) /**< gnssSvId field is valid in SV information */ 1305 #define QMI_LOC_SV_INFO_MASK_VALID_HEALTH_STATUS_V02 ((qmiLocSvInfoValidMaskT_v02)0x00000004) /**< healthStatus field is valid in SV information */ 1306 #define QMI_LOC_SV_INFO_MASK_VALID_PROCESS_STATUS_V02 ((qmiLocSvInfoValidMaskT_v02)0x00000008) /**< processStatus field is valid in SV information */ 1307 #define QMI_LOC_SV_INFO_MASK_VALID_SVINFO_MASK_V02 ((qmiLocSvInfoValidMaskT_v02)0x00000010) /**< svInfoMask field is valid in SV information */ 1308 #define QMI_LOC_SV_INFO_MASK_VALID_ELEVATION_V02 ((qmiLocSvInfoValidMaskT_v02)0x00000020) /**< Elevation field is valid in SV information */ 1309 #define QMI_LOC_SV_INFO_MASK_VALID_AZIMUTH_V02 ((qmiLocSvInfoValidMaskT_v02)0x00000040) /**< Azimuth field is valid in SV information */ 1310 #define QMI_LOC_SV_INFO_MASK_VALID_SNR_V02 ((qmiLocSvInfoValidMaskT_v02)0x00000080) /**< SNR field is valid in SV information */ 1311 typedef uint8_t qmiLocSvInfoMaskT_v02; 1312 #define QMI_LOC_SVINFO_MASK_HAS_EPHEMERIS_V02 ((qmiLocSvInfoMaskT_v02)0x01) /**< Ephemeris is available for this SV */ 1313 #define QMI_LOC_SVINFO_MASK_HAS_ALMANAC_V02 ((qmiLocSvInfoMaskT_v02)0x02) /**< Almanac is available for this SV */ 1314 /** @addtogroup loc_qmi_aggregates 1315 @{ 1316 */ 1317 typedef struct { 1318 1319 qmiLocSvInfoValidMaskT_v02 validMask; 1320 /**< Bitmask indicating which of the fields in this TLV are valid. 1321 1322 Valid bitmasks: \begin{itemize1} 1323 \item 0x00000001 -- VALID_SYSTEM 1324 \item 0x00000002 -- VALID_GNSS_SVID 1325 \item 0x00000004 -- VALID_HEALTH_ STATUS 1326 \item 0x00000008 -- VALID_PROCESS_ STATUS 1327 \item 0x00000010 -- VALID_SVINFO_ MASK 1328 \item 0x00000020 -- VALID_ELEVATION 1329 \item 0x00000040 -- VALID_AZIMUTH 1330 \item 0x00000080 -- VALID_SNR 1331 \vspace{-0.18in} \end{itemize1} */ 1332 1333 qmiLocSvSystemEnumT_v02 system; 1334 /**< Indicates to which constellation this SV belongs. 1335 1336 Valid values: \n 1337 - eQMI_LOC_SV_SYSTEM_GPS (1) -- GPS satellite 1338 - eQMI_LOC_SV_SYSTEM_GALILEO (2) -- GALILEO satellite 1339 - eQMI_LOC_SV_SYSTEM_SBAS (3) -- SBAS satellite 1340 - eQMI_LOC_SV_SYSTEM_COMPASS (4) -- COMPASS satellite (Deprecated) 1341 - eQMI_LOC_SV_SYSTEM_GLONASS (5) -- GLONASS satellite 1342 - eQMI_LOC_SV_SYSTEM_BDS (6) -- BDS satellite 1343 - eQMI_LOC_SV_SYSTEM_QZSS (7) -- QZSS satellite 1344 */ 1345 1346 uint16_t gnssSvId; 1347 /**< GNSS SV ID. 1348 \begin{itemize1} 1349 \item Range: \begin{itemize1} 1350 \item For GPS: 1 to 32 1351 \item For GLONASS: 1 to 32 1352 \item For SBAS: 120 to 158 and 183 to 187 1353 \item For QZSS: 193 to 197 1354 \item For BDS: 201 to 237 1355 \item For GAL: 301 to 336 1356 \end{itemize1} \end{itemize1} 1357 1358 The GPS and GLONASS SVs can be disambiguated using the system field. */ 1359 1360 uint8_t healthStatus; 1361 /**< Health status. 1362 \begin{itemize1} 1363 \item Range: 0 to 1; 0 = unhealthy, \n 1 = healthy 1364 \vspace{-0.18in} \end{itemize1}*/ 1365 1366 qmiLocSvStatusEnumT_v02 svStatus; 1367 /**< SV processing status. 1368 1369 Valid values: \n 1370 - eQMI_LOC_SV_STATUS_IDLE (1) -- SV is not being actively processed 1371 - eQMI_LOC_SV_STATUS_SEARCH (2) -- The system is searching for this SV 1372 - eQMI_LOC_SV_STATUS_TRACK (3) -- SV is being tracked 1373 */ 1374 1375 qmiLocSvInfoMaskT_v02 svInfoMask; 1376 /**< Indicates whether almanac and ephemeris information is available. \n 1377 Valid bitmasks: 1378 1379 - 0x01 -- SVINFO_HAS_EPHEMERIS \n 1380 - 0x02 -- SVINFO_HAS_ALMANAC 1381 */ 1382 1383 float elevation; 1384 /**< SV elevation angle.\n 1385 - Units: Degrees \n 1386 - Range: 0 to 90 */ 1387 1388 float azimuth; 1389 /**< SV azimuth angle.\n 1390 - Units: Degrees \n 1391 - Range: 0 to 360 */ 1392 1393 float snr; 1394 /**< SV signal-to-noise ratio. \n 1395 - Units: dB-Hz */ 1396 }qmiLocSvInfoStructT_v02; /* Type */ 1397 /** 1398 @} 1399 */ 1400 1401 /** @addtogroup loc_qmi_messages 1402 @{ 1403 */ 1404 /** Indication Message; Sends a satellite report to the control point. */ 1405 typedef struct { 1406 1407 /* Mandatory */ 1408 /* Altitude Assumed */ 1409 uint8_t altitudeAssumed; 1410 /**< Indicates whether altitude is assumed or calculated: \begin{itemize1} 1411 \item 0x00 (FALSE) -- Valid altitude is calculated 1412 \item 0x01 (TRUE) -- Valid altitude is assumed; there may not be 1413 enough satellites to determine precise altitude 1414 \vspace{-0.18in} \end{itemize1}*/ 1415 1416 /* Optional */ 1417 /* Satellite Info */ 1418 uint8_t svList_valid; /**< Must be set to true if svList is being passed */ 1419 uint32_t svList_len; /**< Must be set to # of elements in svList */ 1420 qmiLocSvInfoStructT_v02 svList[QMI_LOC_SV_INFO_LIST_MAX_SIZE_V02]; 1421 /**< \vspace{0.06in} \n SV information list. */ 1422 }qmiLocEventGnssSvInfoIndMsgT_v02; /* Message */ 1423 /** 1424 @} 1425 */ 1426 1427 /** @addtogroup loc_qmi_messages 1428 @{ 1429 */ 1430 /** Indication Message; Sends NMEA sentences to the control point */ 1431 typedef struct { 1432 1433 /* Mandatory */ 1434 /* NMEA String */ 1435 char nmea[QMI_LOC_NMEA_STRING_MAX_LENGTH_V02 + 1]; 1436 /**< NMEA string. 1437 \begin{itemize1} 1438 \item Type: NULL-terminated string 1439 \item Maximum string length (including NULL terminator): 201 1440 \vspace{-0.18in} \end{itemize1}*/ 1441 }qmiLocEventNmeaIndMsgT_v02; /* Message */ 1442 /** 1443 @} 1444 */ 1445 1446 /** @addtogroup loc_qmi_enums 1447 @{ 1448 */ 1449 typedef enum { 1450 QMILOCNINOTIFYVERIFYENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 1451 eQMI_LOC_NI_USER_NO_NOTIFY_NO_VERIFY_V02 = 1, /**< No notification and no verification required */ 1452 eQMI_LOC_NI_USER_NOTIFY_ONLY_V02 = 2, /**< Notify only; no verification required */ 1453 eQMI_LOC_NI_USER_NOTIFY_VERIFY_ALLOW_NO_RESP_V02 = 3, /**< Notify and verify, but no response required. */ 1454 eQMI_LOC_NI_USER_NOTIFY_VERIFY_NOT_ALLOW_NO_RESP_V02 = 4, /**< Notify and verify, and require a response */ 1455 eQMI_LOC_NI_USER_NOTIFY_VERIFY_PRIVACY_OVERRIDE_V02 = 5, /**< Notify and verify; privacy override */ 1456 QMILOCNINOTIFYVERIFYENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 1457 }qmiLocNiNotifyVerifyEnumT_v02; 1458 /** 1459 @} 1460 */ 1461 1462 /** @addtogroup loc_qmi_enums 1463 @{ 1464 */ 1465 typedef enum { 1466 QMILOCNIVXPOSMODEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 1467 eQMI_LOC_NI_VX_MS_ASSISTED_ONLY_V02 = 1, /**< MS-assisted only allowed */ 1468 eQMI_LOC_NI_VX_MS_BASED_ONLY_V02 = 2, /**< MS-based only allowed */ 1469 eQMI_LOC_NI_VX_MS_ASSISTED_PREFERRED_MS_BASED_ALLOWED_V02 = 3, /**< MS-assisted preferred, but MS-based allowed */ 1470 eQMI_LOC_NI_VX_MS_BASED_PREFERRED_MS_ASSISTED_ALLOWED_V02 = 4, /**< MS-based preferred, but MS-assisted allowed */ 1471 QMILOCNIVXPOSMODEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 1472 }qmiLocNiVxPosModeEnumT_v02; 1473 /** 1474 @} 1475 */ 1476 1477 /** @addtogroup loc_qmi_enums 1478 @{ 1479 */ 1480 typedef enum { 1481 QMILOCNIVXREQUESTORIDENCODINGSCHEMEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 1482 eQMI_LOC_NI_VX_OCTET_V02 = 0, /**< Encoding is Octet */ 1483 eQMI_LOC_NI_VX_EXN_PROTOCOL_MSG_V02 = 1, /**< Encoding is EXN protocol message */ 1484 eQMI_LOC_NI_VX_ASCII_V02 = 2, /**< Encoding is ASCII */ 1485 eQMI_LOC_NI_VX_IA5_V02 = 3, /**< Encoding is IA5 */ 1486 eQMI_LOC_NI_VX_UNICODE_V02 = 4, /**< Encoding is Unicode */ 1487 eQMI_LOC_NI_VX_SHIFT_JIS_V02 = 5, /**< Encoding is Shift JIS */ 1488 eQMI_LOC_NI_VX_KOREAN_V02 = 6, /**< Encoding is Korean */ 1489 eQMI_LOC_NI_VX_LATIN_HEBREW_V02 = 7, /**< Encoding is Latin Hebrew */ 1490 eQMI_LOC_NI_VX_LATIN_V02 = 8, /**< Encoding is Latin */ 1491 eQMI_LOC_NI_VX_GSM_V02 = 9, /**< Encoding is GSM */ 1492 QMILOCNIVXREQUESTORIDENCODINGSCHEMEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 1493 }qmiLocNiVxRequestorIdEncodingSchemeEnumT_v02; 1494 /** 1495 @} 1496 */ 1497 1498 /** @addtogroup loc_qmi_aggregates 1499 @{ 1500 */ 1501 typedef struct { 1502 1503 uint8_t posQosIncl; 1504 /**< Indicates whether quality of service is included:\n 1505 - 0x01 (TRUE) -- QoS is included \n 1506 - 0x00 (FALSE) -- QoS is not included */ 1507 1508 uint8_t posQos; 1509 /**< Position QoS timeout. \n 1510 - Units: Seconds \n 1511 - Range: 0 to 255 */ 1512 1513 uint32_t numFixes; 1514 /**< Number of fixes allowed. */ 1515 1516 uint32_t timeBetweenFixes; 1517 /**< Time between fixes. \n 1518 - Units: Seconds */ 1519 1520 qmiLocNiVxPosModeEnumT_v02 posMode; 1521 /**< Position mode. 1522 Valid values: 1523 1524 - eQMI_LOC_NI_VX_MS_ASSISTED_ONLY (1) -- MS-assisted only allowed 1525 - eQMI_LOC_NI_VX_MS_BASED_ONLY (2) -- MS-based only allowed 1526 - eQMI_LOC_NI_VX_MS_ASSISTED_PREFERRED_MS_BASED_ALLOWED (3) -- MS-assisted preferred, but MS-based allowed 1527 - eQMI_LOC_NI_VX_MS_BASED_PREFERRED_MS_ASSISTED_ALLOWED (4) -- MS-based preferred, but MS-assisted allowed 1528 */ 1529 1530 qmiLocNiVxRequestorIdEncodingSchemeEnumT_v02 encodingScheme; 1531 /**< VX encoding scheme. 1532 1533 Valid values: 1534 1535 - eQMI_LOC_NI_VX_OCTET (0) -- Encoding is Octet 1536 - eQMI_LOC_NI_VX_EXN_PROTOCOL_MSG (1) -- Encoding is EXN protocol message 1537 - eQMI_LOC_NI_VX_ASCII (2) -- Encoding is ASCII 1538 - eQMI_LOC_NI_VX_IA5 (3) -- Encoding is IA5 1539 - eQMI_LOC_NI_VX_UNICODE (4) -- Encoding is Unicode 1540 - eQMI_LOC_NI_VX_SHIFT_JIS (5) -- Encoding is Shift JIS 1541 - eQMI_LOC_NI_VX_KOREAN (6) -- Encoding is Korean 1542 - eQMI_LOC_NI_VX_LATIN_HEBREW (7) -- Encoding is Latin Hebrew 1543 - eQMI_LOC_NI_VX_LATIN (8) -- Encoding is Latin 1544 - eQMI_LOC_NI_VX_GSM (9) -- Encoding is GSM 1545 */ 1546 1547 uint32_t requestorId_len; /**< Must be set to # of elements in requestorId */ 1548 uint8_t requestorId[QMI_LOC_NI_MAX_REQUESTOR_ID_LENGTH_V02]; 1549 /**< Requestor ID. \n 1550 - Type: Array of bytes \n 1551 - Maximum array length: 200 1552 */ 1553 1554 uint16_t userRespTimerInSeconds; 1555 /**< Time to wait for the user to respond. \n 1556 - Units: Seconds */ 1557 }qmiLocNiVxNotifyVerifyStructT_v02; /* Type */ 1558 /** 1559 @} 1560 */ 1561 1562 /** @addtogroup loc_qmi_enums 1563 @{ 1564 */ 1565 typedef enum { 1566 QMILOCNISUPLPOSMETHODENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 1567 eQMI_LOC_NI_SUPL_POSMETHOD_AGPS_SETASSISTED_V02 = 1, /**< Set assisted */ 1568 eQMI_LOC_NI_SUPL_POSMETHOD_AGPS_SETBASED_V02 = 2, /**< Set based */ 1569 eQMI_LOC_NI_SUPL_POSMETHOD_AGPS_SETASSISTED_PREF_V02 = 3, /**< Set assisted preferred */ 1570 eQMI_LOC_NI_SUPL_POSMETHOD_AGPS_SETBASED_PREF_V02 = 4, /**< Set based preferred */ 1571 eQMI_LOC_NI_SUPL_POSMETHOD_AUTONOMOUS_GPS_V02 = 5, /**< Standalone GPS */ 1572 eQMI_LOC_NI_SUPL_POSMETHOD_AFLT_V02 = 6, /**< Advanced forward link trilateration */ 1573 eQMI_LOC_NI_SUPL_POSMETHOD_ECID_V02 = 7, /**< Exclusive chip ID */ 1574 eQMI_LOC_NI_SUPL_POSMETHOD_EOTD_V02 = 8, /**< Enhnaced observed time difference */ 1575 eQMI_LOC_NI_SUPL_POSMETHOD_OTDOA_V02 = 9, /**< Observed time delay of arrival */ 1576 eQMI_LOC_NI_SUPL_POSMETHOD_NO_POSITION_V02 = 10, /**< No position */ 1577 QMILOCNISUPLPOSMETHODENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 1578 }qmiLocNiSuplPosMethodEnumT_v02; 1579 /** 1580 @} 1581 */ 1582 1583 /** @addtogroup loc_qmi_enums 1584 @{ 1585 */ 1586 typedef enum { 1587 QMILOCNIDATACODINGSCHEMEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 1588 eQMI_LOC_NI_SS_GERMAN_V02 = 12, /**< Language is German */ 1589 eQMI_LOC_NI_SS_ENGLISH_V02 = 13, /**< Language is English */ 1590 eQMI_LOC_NI_SS_ITALIAN_V02 = 14, /**< Language is Italian */ 1591 eQMI_LOC_NI_SS_FRENCH_V02 = 15, /**< Language is French */ 1592 eQMI_LOC_NI_SS_SPANISH_V02 = 16, /**< Language is Spanish */ 1593 eQMI_LOC_NI_SS_DUTCH_V02 = 17, /**< Language is Dutch */ 1594 eQMI_LOC_NI_SS_SWEDISH_V02 = 18, /**< Language is Swedish */ 1595 eQMI_LOC_NI_SS_DANISH_V02 = 19, /**< Language is Danish */ 1596 eQMI_LOC_NI_SS_PORTUGUESE_V02 = 20, /**< Language is Portuguese */ 1597 eQMI_LOC_NI_SS_FINNISH_V02 = 21, /**< Language is Finnish */ 1598 eQMI_LOC_NI_SS_NORWEGIAN_V02 = 22, /**< Language is Norwegian */ 1599 eQMI_LOC_NI_SS_GREEK_V02 = 23, /**< Language is Greek */ 1600 eQMI_LOC_NI_SS_TURKISH_V02 = 24, /**< Language is Turkish */ 1601 eQMI_LOC_NI_SS_HUNGARIAN_V02 = 25, /**< Language is Hungarian */ 1602 eQMI_LOC_NI_SS_POLISH_V02 = 26, /**< Language is Polish */ 1603 eQMI_LOC_NI_SS_LANGUAGE_UNSPEC_V02 = 27, /**< Language is unspecified */ 1604 eQMI_LOC_NI_SUPL_UTF8_V02 = 28, /**< Encoding is UTF 8 */ 1605 eQMI_LOC_NI_SUPL_UCS2_V02 = 29, /**< Encoding is UCS 2 */ 1606 eQMI_LOC_NI_SUPL_GSM_DEFAULT_V02 = 30, /**< Encoding is GSM default */ 1607 QMILOCNIDATACODINGSCHEMEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 1608 }qmiLocNiDataCodingSchemeEnumT_v02; 1609 /** 1610 @} 1611 */ 1612 1613 /** @addtogroup loc_qmi_enums 1614 @{ 1615 */ 1616 typedef enum { 1617 QMILOCNISUPLFORMATENUMTYPE_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 1618 eQMI_LOC_NI_SUPL_FORMAT_LOGICAL_NAME_V02 = 0, /**< SUPL logical name format */ 1619 eQMI_LOC_NI_SUPL_FORMAT_EMAIL_ADDRESS_V02 = 1, /**< SUPL email address format */ 1620 eQMI_LOC_NI_SUPL_FORMAT_MSISDN_V02 = 2, /**< SUPL MS-ISDN format */ 1621 eQMI_LOC_NI_SUPL_FORMAT_URL_V02 = 3, /**< SUPL URL format */ 1622 eQMI_LOC_NI_SUPL_FORMAT_SIP_URL_V02 = 4, /**< SUPL SIP URL format */ 1623 eQMI_LOC_NI_SUPL_FORMAT_MIN_V02 = 5, /**< SUPL MIN format */ 1624 eQMI_LOC_NI_SUPL_FORMAT_MDN_V02 = 6, /**< SUPL MDN format */ 1625 eQMI_LOC_NI_SUPL_FORMAT_IMSPUBLIC_IDENTITY_V02 = 7, /**< SUPL IMS public identity */ 1626 eQMI_LOC_NI_SUPL_FORMAT_OSS_UNKNOWN_V02 = 2147483647, /**< SUPL unknown format */ 1627 QMILOCNISUPLFORMATENUMTYPE_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 1628 }qmiLocNiSuplFormatEnumType_v02; 1629 /** 1630 @} 1631 */ 1632 1633 /** @addtogroup loc_qmi_aggregates 1634 @{ 1635 */ 1636 typedef struct { 1637 1638 qmiLocNiSuplFormatEnumType_v02 formatType; 1639 /**< Format of the formatted string. 1640 1641 Valid values: \n 1642 - eQMI_LOC_NI_SUPL_FORMAT_LOGICAL_NAME (0) -- SUPL logical name format 1643 - eQMI_LOC_NI_SUPL_FORMAT_EMAIL_ADDRESS (1) -- SUPL email address format 1644 - eQMI_LOC_NI_SUPL_FORMAT_MSISDN (2) -- SUPL MS-ISDN format 1645 - eQMI_LOC_NI_SUPL_FORMAT_URL (3) -- SUPL URL format 1646 - eQMI_LOC_NI_SUPL_FORMAT_SIP_URL (4) -- SUPL SIP URL format 1647 - eQMI_LOC_NI_SUPL_FORMAT_MIN (5) -- SUPL MIN format 1648 - eQMI_LOC_NI_SUPL_FORMAT_MDN (6) -- SUPL MDN format 1649 - eQMI_LOC_NI_SUPL_FORMAT_IMSPUBLIC_IDENTITY (7) -- SUPL IMS public identity 1650 - eQMI_LOC_NI_SUPL_FORMAT_OSS_UNKNOWN (2147483647) -- SUPL unknown format 1651 */ 1652 1653 uint32_t formattedString_len; /**< Must be set to # of elements in formattedString */ 1654 uint8_t formattedString[QMI_LOC_NI_MAX_CLIENT_NAME_LENGTH_V02]; 1655 /**< Formatted string. \n 1656 - Type: Byte array \n 1657 - Maximum string length: 64 1658 */ 1659 }qmiLocNiSuplFormattedStringStructT_v02; /* Type */ 1660 /** 1661 @} 1662 */ 1663 1664 typedef uint8_t qmiLocSuplQopValidMaskT_v02; 1665 #define QMI_LOC_NI_SUPL_MASK_QOP_HORZ_ACC_VALID_V02 ((qmiLocSuplQopValidMaskT_v02)0x01) /**< Horizontal accuracy is valid in the Quality of Position (QoP) */ 1666 #define QMI_LOC_NI_SUPL_MASK_QOP_VER_ACC_VALID_V02 ((qmiLocSuplQopValidMaskT_v02)0x02) /**< Vertical accuracy is valid in the QoP */ 1667 #define QMI_LOC_NI_SUPL_MASK_QOP_MAXAGE_VALID_V02 ((qmiLocSuplQopValidMaskT_v02)0x04) /**< Vertical accuracy is valid in the QoP */ 1668 #define QMI_LOC_NI_SUPL_MASK_QOP_DELAY_VALID_V02 ((qmiLocSuplQopValidMaskT_v02)0x08) /**< Vertical accuracy is valid in the QoP */ 1669 /** @addtogroup loc_qmi_aggregates 1670 @{ 1671 */ 1672 typedef struct { 1673 1674 qmiLocSuplQopValidMaskT_v02 validMask; 1675 /**< Bit field indicating which fields are valid in this value. 1676 1677 Valid bitmasks: \n 1678 - 0x01 -- QOP_HORZ_ACC_VALID \n 1679 - 0x02 -- QOP_VER_ACC_VALID \n 1680 - 0x04 -- QOP_MAXAGE_VALID \n 1681 - 0x08 -- QOP_DELAY_VALID*/ 1682 1683 uint8_t horizontalAccuracy; 1684 /**< Horizontal accuracy. \n 1685 - Units: Meters */ 1686 1687 uint8_t verticalAccuracy; 1688 /**< Vertical accuracy. \n 1689 - Units: Meters */ 1690 1691 uint16_t maxLocAge; 1692 /**< Maximum age of the location if the engine sends a previously 1693 computed position. \n 1694 - Units: Seconds */ 1695 1696 uint8_t delay; 1697 /**< Delay the server is willing to tolerate for the fix. \n 1698 - Units: Seconds */ 1699 }qmiLocNiSuplQopStructT_v02; /* Type */ 1700 /** 1701 @} 1702 */ 1703 1704 typedef uint8_t qmiLocServerAddrTypeMaskT_v02; 1705 #define QMI_LOC_SERVER_ADDR_TYPE_IPV4_MASK_V02 ((qmiLocServerAddrTypeMaskT_v02)0x01) /**< IPv4 server address type */ 1706 #define QMI_LOC_SERVER_ADDR_TYPE_IPV6_MASK_V02 ((qmiLocServerAddrTypeMaskT_v02)0x02) /**< IPv6 server address type */ 1707 #define QMI_LOC_SERVER_ADDR_TYPE_URL_MASK_V02 ((qmiLocServerAddrTypeMaskT_v02)0x04) /**< URL server address type */ 1708 /** @addtogroup loc_qmi_aggregates 1709 @{ 1710 */ 1711 typedef struct { 1712 1713 uint32_t addr; 1714 /**< IPv4 address. */ 1715 1716 uint16_t port; 1717 /**< IPv4 port. */ 1718 }qmiLocIpV4AddrStructType_v02; /* Type */ 1719 /** 1720 @} 1721 */ 1722 1723 /** @addtogroup loc_qmi_aggregates 1724 @{ 1725 */ 1726 typedef struct { 1727 1728 uint16_t addr[QMI_LOC_IPV6_ADDR_LENGTH_V02]; 1729 /**< IPv6 address. \n 1730 - Type: Array of unsigned integers \n 1731 - Maximum length of the array: 8 */ 1732 1733 uint32_t port; 1734 /**< IPv6 port. */ 1735 }qmiLocIpV6AddrStructType_v02; /* Type */ 1736 /** 1737 @} 1738 */ 1739 1740 /** @addtogroup loc_qmi_aggregates 1741 @{ 1742 */ 1743 typedef struct { 1744 1745 qmiLocServerAddrTypeMaskT_v02 suplServerAddrTypeMask; 1746 /**< Mask specifying the valid fields in this value. 1747 1748 Valid bitmasks: \n 1749 - 0x01 -- IPv4 \n 1750 - 0x02 -- IPv6 \n 1751 - 0x04 -- URL 1752 */ 1753 1754 qmiLocIpV4AddrStructType_v02 ipv4Addr; 1755 /**< IPv4 address and port. */ 1756 1757 qmiLocIpV6AddrStructType_v02 ipv6Addr; 1758 /**< IPv6 address and port. */ 1759 1760 char urlAddr[QMI_LOC_MAX_SERVER_ADDR_LENGTH_V02 + 1]; 1761 /**< URL. 1762 \begin{itemize1} 1763 \item Type: NULL-terminated string 1764 \item Maximum string length (including NULL terminator): 256 1765 \vspace{-0.18in} \end{itemize1} 1766 */ 1767 }qmiLocNiSuplServerInfoStructT_v02; /* Type */ 1768 /** 1769 @} 1770 */ 1771 1772 typedef uint32_t qmiLocNiSuplNotifyVerifyValidMaskT_v02; 1773 #define QMI_LOC_SUPL_SERVER_INFO_MASK_V02 ((qmiLocNiSuplNotifyVerifyValidMaskT_v02)0x00000001) /**< Mask to denote that the server information 1774 is present in an NI SUPL Notify/Verify request event. This mask is set in 1775 the valid_flags field of a Notify/Verify structure. */ 1776 #define QMI_LOC_SUPL_SESSION_ID_MASK_V02 ((qmiLocNiSuplNotifyVerifyValidMaskT_v02)0x00000002) /**< Mask to denote that the SUPL session ID 1777 is present in an NI SUPL Notify/Verify request event. 1778 This mask is set in the valid_flags field of a 1779 Notify/Verify structure. */ 1780 #define QMI_LOC_SUPL_HASH_MASK_V02 ((qmiLocNiSuplNotifyVerifyValidMaskT_v02)0x00000004) /**< Mask to denote that the SUPL hash is present 1781 in an NI Notify/Verify request event. 1782 This mask is set in the valid_flags field of a 1783 Notify/Verify structure. */ 1784 #define QMI_LOC_SUPL_POS_METHOD_MASK_V02 ((qmiLocNiSuplNotifyVerifyValidMaskT_v02)0x00000008) /**< Mask to denote that the position method is present 1785 in an NI SUPL Notify/Verify request event. 1786 This mask is set in the valid_flags field of a 1787 Notify/Verify structure. */ 1788 #define QMI_LOC_SUPL_DATA_CODING_SCHEME_MASK_V02 ((qmiLocNiSuplNotifyVerifyValidMaskT_v02)0x00000010) /**< Mask to denote that the data coding scheme 1789 is present in an NI SUPL Notify/Verify request event. 1790 This mask is set in the valid_flags field of a 1791 Notify/Verify structure. */ 1792 #define QMI_LOC_SUPL_REQUESTOR_ID_MASK_V02 ((qmiLocNiSuplNotifyVerifyValidMaskT_v02)0x00000020) /**< Mask to denote that the requestor ID 1793 is present in an NI Notify/Verify request event. 1794 This mask is set in the valid_flags field of a 1795 Notify/Verify structure. */ 1796 #define QMI_LOC_SUPL_CLIENT_NAME_MASK_V02 ((qmiLocNiSuplNotifyVerifyValidMaskT_v02)0x00000040) /**< Mask to denote that the requestor ID 1797 is present in an NI Notify/Verify request event. 1798 This mask is set in the valid_flags field of a 1799 Notify/Verify structure. */ 1800 #define QMI_LOC_SUPL_QOP_MASK_V02 ((qmiLocNiSuplNotifyVerifyValidMaskT_v02)0x00000080) /**< Mask to denote that the quality of position 1801 is present in an NI Notify/Verify request event. 1802 This mask is set in the valid_flags field of a 1803 Notify/Verify structure. */ 1804 #define QMI_LOC_SUPL_USER_RESP_TIMER_MASK_V02 ((qmiLocNiSuplNotifyVerifyValidMaskT_v02)0x00000100) /**< Mask to denote that the user response timer 1805 is present in an NI Notify/Verify request event. 1806 This mask is set in the valid_flags field of a 1807 Notify/Verify structure. */ 1808 /** @addtogroup loc_qmi_aggregates 1809 @{ 1810 */ 1811 typedef struct { 1812 1813 qmiLocNiSuplNotifyVerifyValidMaskT_v02 valid_flags; 1814 /**< Indicates which of the following fields are present in this value. 1815 1816 Valid bitmasks: \begin{itemize1} 1817 \item 0x00000001 -- SUPL_SERVER_INFO 1818 \item 0x00000002 -- SUPL_SESSION_ID 1819 \item 0x00000004 -- SUPL_HASH 1820 \item 0x00000008 -- SUPL_POS_METHOD 1821 \item 0x00000010 -- SUPL_DATA_ CODING_SCHEME 1822 \item 0x00000020 -- SUPL_REQUESTOR_ ID 1823 \item 0x00000040 -- SUPL_CLIENT_ NAME 1824 \item 0x00000080 -- SUPL_QOP 1825 \item 0x00000100 -- SUPL_USER_RESP_ TIMER 1826 \vspace{-0.18in} \end{itemize1} 1827 */ 1828 1829 qmiLocNiSuplServerInfoStructT_v02 suplServerInfo; 1830 /**< SUPL server information. */ 1831 1832 uint8_t suplSessionId[QMI_LOC_NI_SUPL_SLP_SESSION_ID_BYTE_LENGTH_V02]; 1833 /**< SUPL session ID. \n 1834 - Type: Array of unsigned integers \n 1835 - Maximum length of the array: 4 */ 1836 1837 uint8_t suplHash[QMI_LOC_NI_SUPL_HASH_LENGTH_V02]; 1838 /**< Hash for SUPL_INIT; used to validate that the message was not 1839 corrupted. \n 1840 - Type: Array of unsigned integers \n 1841 - Length of the array: 8 */ 1842 1843 qmiLocNiSuplPosMethodEnumT_v02 posMethod; 1844 /**< GPS mode to be used for the fix. 1845 Valid values: 1846 1847 - eQMI_LOC_NI_SUPL_POSMETHOD_AGPS_SETASSISTED (1) -- Set assisted 1848 - eQMI_LOC_NI_SUPL_POSMETHOD_AGPS_SETBASED (2) -- Set based 1849 - eQMI_LOC_NI_SUPL_POSMETHOD_AGPS_SETASSISTED_PREF (3) -- Set assisted preferred 1850 - eQMI_LOC_NI_SUPL_POSMETHOD_AGPS_SETBASED_PREF (4) -- Set based preferred 1851 - eQMI_LOC_NI_SUPL_POSMETHOD_AUTONOMOUS_GPS (5) -- Standalone GPS 1852 - eQMI_LOC_NI_SUPL_POSMETHOD_AFLT (6) -- Advanced forward link trilateration 1853 - eQMI_LOC_NI_SUPL_POSMETHOD_ECID (7) -- Exclusive chip ID 1854 - eQMI_LOC_NI_SUPL_POSMETHOD_EOTD (8) -- Enhnaced observed time difference 1855 - eQMI_LOC_NI_SUPL_POSMETHOD_OTDOA (9) -- Observed time delay of arrival 1856 - eQMI_LOC_NI_SUPL_POSMETHOD_NO_POSITION (10) -- No position 1857 */ 1858 1859 qmiLocNiDataCodingSchemeEnumT_v02 dataCodingScheme; 1860 /**< Data coding scheme applies to both the requestor ID and the client 1861 name. 1862 1863 Valid values: \n 1864 - eQMI_LOC_NI_SS_GERMAN (12) -- Language is German 1865 - eQMI_LOC_NI_SS_ENGLISH (13) -- Language is English 1866 - eQMI_LOC_NI_SS_ITALIAN (14) -- Language is Italian 1867 - eQMI_LOC_NI_SS_FRENCH (15) -- Language is French 1868 - eQMI_LOC_NI_SS_SPANISH (16) -- Language is Spanish 1869 - eQMI_LOC_NI_SS_DUTCH (17) -- Language is Dutch 1870 - eQMI_LOC_NI_SS_SWEDISH (18) -- Language is Swedish 1871 - eQMI_LOC_NI_SS_DANISH (19) -- Language is Danish 1872 - eQMI_LOC_NI_SS_PORTUGUESE (20) -- Language is Portuguese 1873 - eQMI_LOC_NI_SS_FINNISH (21) -- Language is Finnish 1874 - eQMI_LOC_NI_SS_NORWEGIAN (22) -- Language is Norwegian 1875 - eQMI_LOC_NI_SS_GREEK (23) -- Language is Greek 1876 - eQMI_LOC_NI_SS_TURKISH (24) -- Language is Turkish 1877 - eQMI_LOC_NI_SS_HUNGARIAN (25) -- Language is Hungarian 1878 - eQMI_LOC_NI_SS_POLISH (26) -- Language is Polish 1879 - eQMI_LOC_NI_SS_LANGUAGE_UNSPEC (27) -- Language is unspecified 1880 - eQMI_LOC_NI_SUPL_UTF8 (28) -- Encoding is UTF 8 1881 - eQMI_LOC_NI_SUPL_UCS2 (29) -- Encoding is UCS 2 1882 - eQMI_LOC_NI_SUPL_GSM_DEFAULT (30) -- Encoding is GSM default 1883 */ 1884 1885 qmiLocNiSuplFormattedStringStructT_v02 requestorId; 1886 /**< Requestor ID. The encoding scheme for requestor_id is specified in 1887 the dataCodingScheme field. */ 1888 1889 qmiLocNiSuplFormattedStringStructT_v02 clientName; 1890 /**< Client name. The encoding scheme for client_name is specified in 1891 the dataCodingScheme field. */ 1892 1893 qmiLocNiSuplQopStructT_v02 suplQop; 1894 /**< SUPL QoP. */ 1895 1896 uint16_t userResponseTimer; 1897 /**< Time to wait for the user to respond. \n 1898 - Units: Seconds*/ 1899 }qmiLocNiSuplNotifyVerifyStructT_v02; /* Type */ 1900 /** 1901 @} 1902 */ 1903 1904 /** @addtogroup loc_qmi_enums 1905 @{ 1906 */ 1907 typedef enum { 1908 QMILOCNILOCATIONTYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 1909 eQMI_LOC_NI_LOCATIONTYPE_CURRENT_LOCATION_V02 = 1, /**< Current location */ 1910 eQMI_LOC_NI_LOCATIONTYPE_CURRENT_OR_LAST_KNOWN_LOCATION_V02 = 2, /**< Last known location; may be the current location */ 1911 eQMI_LOC_NI_LOCATIONTYPE_INITIAL_LOCATION_V02 = 3, /**< Initial location */ 1912 QMILOCNILOCATIONTYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 1913 }qmiLocNiLocationTypeEnumT_v02; 1914 /** 1915 @} 1916 */ 1917 1918 /** @addtogroup loc_qmi_aggregates 1919 @{ 1920 */ 1921 typedef struct { 1922 1923 qmiLocNiDataCodingSchemeEnumT_v02 dataCodingScheme; 1924 /**< Identifies the coding scheme of the coded string. 1925 1926 Valid values: \n 1927 - eQMI_LOC_NI_SS_GERMAN (12) -- Language is German 1928 - eQMI_LOC_NI_SS_ENGLISH (13) -- Language is English 1929 - eQMI_LOC_NI_SS_ITALIAN (14) -- Language is Italian 1930 - eQMI_LOC_NI_SS_FRENCH (15) -- Language is French 1931 - eQMI_LOC_NI_SS_SPANISH (16) -- Language is Spanish 1932 - eQMI_LOC_NI_SS_DUTCH (17) -- Language is Dutch 1933 - eQMI_LOC_NI_SS_SWEDISH (18) -- Language is Swedish 1934 - eQMI_LOC_NI_SS_DANISH (19) -- Language is Danish 1935 - eQMI_LOC_NI_SS_PORTUGUESE (20) -- Language is Portuguese 1936 - eQMI_LOC_NI_SS_FINNISH (21) -- Language is Finnish 1937 - eQMI_LOC_NI_SS_NORWEGIAN (22) -- Language is Norwegian 1938 - eQMI_LOC_NI_SS_GREEK (23) -- Language is Greek 1939 - eQMI_LOC_NI_SS_TURKISH (24) -- Language is Turkish 1940 - eQMI_LOC_NI_SS_HUNGARIAN (25) -- Language is Hungarian 1941 - eQMI_LOC_NI_SS_POLISH (26) -- Language is Polish 1942 - eQMI_LOC_NI_SS_LANGUAGE_UNSPEC (27) -- Language is unspecified 1943 - eQMI_LOC_NI_SUPL_UTF8 (28) -- Encoding is UTF 8 1944 - eQMI_LOC_NI_SUPL_UCS2 (29) -- Encoding is UCS 2 1945 - eQMI_LOC_NI_SUPL_GSM_DEFAULT (30) -- Encoding is GSM default 1946 */ 1947 1948 uint32_t codedString_len; /**< Must be set to # of elements in codedString */ 1949 uint8_t codedString[QMI_LOC_NI_CODEWORD_MAX_LENGTH_V02]; 1950 /**< Coded string. \n 1951 - Type: Array of bytes \n 1952 - Maximum string length: 20 */ 1953 }qmiLocNiUmtsCpCodedStringStructT_v02; /* Type */ 1954 /** 1955 @} 1956 */ 1957 1958 typedef uint16_t qmiLocNiUmtsCpNotifyVerifyValidMaskT_v02; 1959 #define QMI_LOC_UMTS_CP_INVOKE_ID_MASK_V02 ((qmiLocNiUmtsCpNotifyVerifyValidMaskT_v02)0x0001) /**< Mask to denote that the invoke ID 1960 is present in an NI Notify/Verify request event. 1961 This mask is set in the valid flags field of a 1962 Notify/Verify structure. */ 1963 #define QMI_LOC_UMTS_CP_DATA_CODING_SCHEME_MASK_V02 ((qmiLocNiUmtsCpNotifyVerifyValidMaskT_v02)0x0002) /**< Mask to denote that the data coding scheme 1964 is present in an NI Notify/Verify request event. 1965 This mask is set in the valid flags field of a 1966 Notify/Verify structure. */ 1967 #define QMI_LOC_UMTS_CP_NOTIFICATION_TEXT_MASK_V02 ((qmiLocNiUmtsCpNotifyVerifyValidMaskT_v02)0x0004) /**< Mask to denote that the notification text 1968 is present in an NI Notify/Verify request event. 1969 This mask is set in the valid flags field of a 1970 Notify/Verify structure. */ 1971 #define QMI_LOC_UMTS_CP_CLIENT_ADDRESS_MASK_V02 ((qmiLocNiUmtsCpNotifyVerifyValidMaskT_v02)0x0008) /**< Mask to denote that the client address 1972 is present in an NI Notify/Verify request event. 1973 This mask is set in the valid flags field of a 1974 Notify/Verify structure. */ 1975 #define QMI_LOC_UMTS_CP_LOCATION_TYPE_MASK_V02 ((qmiLocNiUmtsCpNotifyVerifyValidMaskT_v02)0x0010) /**< Mask to denote that the location type 1976 is present in an NI Notify/Verify request event. 1977 This mask is set in the valid flags field of a 1978 Notify/Verify structure. */ 1979 #define QMI_LOC_UMTS_CP_REQUESTOR_ID_MASK_V02 ((qmiLocNiUmtsCpNotifyVerifyValidMaskT_v02)0x0020) /**< Mask to denote that the requestor ID 1980 is present in an NI Notify/Verify request event. 1981 This mask is set in the valid flags field of a 1982 Notify/Verify structure. */ 1983 #define QMI_LOC_UMTS_CP_CODEWORD_STRING_MASK_V02 ((qmiLocNiUmtsCpNotifyVerifyValidMaskT_v02)0x0040) /**< Mask to denote that the code word string 1984 is present in an NI Notify/Verify request event. 1985 This mask is set in the valid flags field of a 1986 Notify/Verify structure. */ 1987 #define QMI_LOC_UMTS_CP_SERVICE_TYPE_MASK_V02 ((qmiLocNiUmtsCpNotifyVerifyValidMaskT_v02)0x0080) /**< Mask to denote that the service type 1988 is present in an NI Notify/Verify request event. 1989 This mask is set in the valid flags field of a 1990 Notify/Verify structure. */ 1991 #define QMI_LOC_UMTS_CP_USER_RESP_TIMER_MASK_V02 ((qmiLocNiUmtsCpNotifyVerifyValidMaskT_v02)0x0100) /**< Mask to denote that the user response timer 1992 is present in an NI Notify/Verify request event. 1993 This mask is set in the valid flags field of a 1994 Notify/Verify structure. */ 1995 /** @addtogroup loc_qmi_aggregates 1996 @{ 1997 */ 1998 typedef struct { 1999 2000 qmiLocNiUmtsCpNotifyVerifyValidMaskT_v02 valid_flags; 2001 /**< Fields that are valid in this value. 2002 2003 Valid bitmasks: \begin{itemize1} 2004 \item 0x0001 -- INVOKE_ID_MASK 2005 \item 0x0002 -- DATA_CODING_ SCHEME_MASK 2006 \item 0x0004 -- NOTIFICATION_TEXT_ MASK 2007 \item 0x0008 -- CLIENT_ADDRESS_ MASK 2008 \item 0x0010 -- LOCATION_TYPE_ MASK 2009 \item 0x0020 -- REQUESTOR_ID_MASK 2010 \item 0x0040 -- CODEWORD_STRING_ MASK 2011 \item 0x0080 -- SERVICE_TYPE_MASK 2012 \item 0x0100 -- USER_RESP_TIMER_ MASK 2013 \vspace{-0.18in} \end{itemize1} 2014 */ 2015 2016 uint8_t invokeId; 2017 /**< Supplementary Services invoke ID. */ 2018 2019 qmiLocNiDataCodingSchemeEnumT_v02 dataCodingScheme; 2020 /**< Type of data encoding scheme for the text. 2021 Applies to both the notification text and the client address. 2022 2023 Valid values: \n 2024 - eQMI_LOC_NI_SS_GERMAN (12) -- Language is German 2025 - eQMI_LOC_NI_SS_ENGLISH (13) -- Language is English 2026 - eQMI_LOC_NI_SS_ITALIAN (14) -- Language is Italian 2027 - eQMI_LOC_NI_SS_FRENCH (15) -- Language is French 2028 - eQMI_LOC_NI_SS_SPANISH (16) -- Language is Spanish 2029 - eQMI_LOC_NI_SS_DUTCH (17) -- Language is Dutch 2030 - eQMI_LOC_NI_SS_SWEDISH (18) -- Language is Swedish 2031 - eQMI_LOC_NI_SS_DANISH (19) -- Language is Danish 2032 - eQMI_LOC_NI_SS_PORTUGUESE (20) -- Language is Portuguese 2033 - eQMI_LOC_NI_SS_FINNISH (21) -- Language is Finnish 2034 - eQMI_LOC_NI_SS_NORWEGIAN (22) -- Language is Norwegian 2035 - eQMI_LOC_NI_SS_GREEK (23) -- Language is Greek 2036 - eQMI_LOC_NI_SS_TURKISH (24) -- Language is Turkish 2037 - eQMI_LOC_NI_SS_HUNGARIAN (25) -- Language is Hungarian 2038 - eQMI_LOC_NI_SS_POLISH (26) -- Language is Polish 2039 - eQMI_LOC_NI_SS_LANGUAGE_UNSPEC (27) -- Language is unspecified 2040 - eQMI_LOC_NI_SUPL_UTF8 (28) -- Encoding is UTF 8 2041 - eQMI_LOC_NI_SUPL_UCS2 (29) -- Encoding is UCS 2 2042 - eQMI_LOC_NI_SUPL_GSM_DEFAULT (30) -- Encoding is GSM default 2043 */ 2044 2045 uint32_t notificationText_len; /**< Must be set to # of elements in notificationText */ 2046 uint8_t notificationText[QMI_LOC_NI_MAX_CLIENT_NAME_LENGTH_V02]; 2047 /**< Notification text; the encoding method is specified in 2048 dataCodingScheme. \n 2049 - Type: Array of bytes \n 2050 - Maximum array length: 64 */ 2051 2052 uint32_t clientAddress_len; /**< Must be set to # of elements in clientAddress */ 2053 uint8_t clientAddress[QMI_LOC_NI_MAX_EXT_CLIENT_ADDRESS_V02]; 2054 /**< Client address; the encoding method is specified in 2055 dataCodingScheme. \n 2056 - Maximum array length: 20 */ 2057 2058 qmiLocNiLocationTypeEnumT_v02 locationType; 2059 /**< Location type. 2060 2061 Valid values: \n 2062 - eQMI_LOC_NI_LOCATIONTYPE_CURRENT_LOCATION (1) -- Current location 2063 - eQMI_LOC_NI_LOCATIONTYPE_CURRENT_OR_LAST_KNOWN_LOCATION (2) -- Last known location; may be the current location 2064 - eQMI_LOC_NI_LOCATIONTYPE_INITIAL_LOCATION (3) -- Initial location 2065 */ 2066 2067 qmiLocNiUmtsCpCodedStringStructT_v02 requestorId; 2068 /**< Requestor ID; the encoding method is specified in the 2069 qmiLocNiUmtsCpCodedStringStructT.dataCodingScheme field. */ 2070 2071 qmiLocNiUmtsCpCodedStringStructT_v02 codewordString; 2072 /**< Codeword string; the encoding method is specified in the 2073 qmiLocNiUmtsCpCodedStringStructT.dataCodingScheme field. */ 2074 2075 uint8_t lcsServiceTypeId; 2076 /**< Service type ID. */ 2077 2078 uint16_t userResponseTimer; 2079 /**< Time to wait for the user to respond. \n 2080 - Units: Seconds */ 2081 }qmiLocNiUmtsCpNotifyVerifyStructT_v02; /* Type */ 2082 /** 2083 @} 2084 */ 2085 2086 /** @addtogroup loc_qmi_enums 2087 @{ 2088 */ 2089 typedef enum { 2090 QMILOCNISERVICEINTERACTIONENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 2091 eQMI_LOC_NI_SERVICE_INTERACTION_ONGOING_NI_INCOMING_MO_V02 = 1, /**< Service interaction between ongoing NI and incoming MO sessions. */ 2092 QMILOCNISERVICEINTERACTIONENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 2093 }qmiLocNiServiceInteractionEnumT_v02; 2094 /** 2095 @} 2096 */ 2097 2098 /** @addtogroup loc_qmi_aggregates 2099 @{ 2100 */ 2101 typedef struct { 2102 2103 qmiLocNiVxNotifyVerifyStructT_v02 niVxReq; 2104 /**< Ongoing NI session request; this information is currently not filled. */ 2105 2106 qmiLocNiServiceInteractionEnumT_v02 serviceInteractionType; 2107 /**< Service interaction type specified in qmiLocNiServiceInteractionEnumT. 2108 2109 Valid values: \n 2110 - eQMI_LOC_NI_SERVICE_INTERACTION_ONGOING_NI_INCOMING_MO (1) -- Service interaction between ongoing NI and incoming MO sessions. 2111 */ 2112 }qmiLocNiVxServiceInteractionStructT_v02; /* Type */ 2113 /** 2114 @} 2115 */ 2116 2117 typedef uint16_t qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02; 2118 #define QMI_LOC_SUPL_VER_2_EXT_MASK_SUPPORTED_NETWORK_WLAN_V02 ((qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02)0x0001) /**< Denotes that WLAN measurements are allowed as part of location ID 2119 and multiple location IDs in the SUPL_POS_INIT message. */ 2120 #define QMI_LOC_SUPL_VER_2_EXT_MASK_SUPPORTED_NETWORK_GSM_V02 ((qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02)0x0002) /**< Denotes that GSM measurements are allowed as part of location ID 2121 and multiple location ID in the SUPL_POS_INIT message. */ 2122 #define QMI_LOC_SUPL_VER_2_EXT_MASK_SUPPORTED_NETWORK_WCDMA_V02 ((qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02)0x0004) /**< Denotes that WCDMA measurements are allowed as part of location ID 2123 and multiple location ID in the SUPL_POS_INIT message. */ 2124 #define QMI_LOC_SUPL_VER_2_EXT_MASK_SUPPORTED_NETWORK_CDMA_V02 ((qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02)0x0008) /**< Denotes that CDMA measurements are allowed as part of location ID 2125 and multiple location ID in the SUPL_POS_INIT message. */ 2126 #define QMI_LOC_SUPL_VER_2_EXT_MASK_SUPPORTED_NETWORK_HRDP_V02 ((qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02)0x0010) /**< Denotes that HRDP measurements are allowed as part of location ID 2127 and multiple location ID in the SUPL_POS_INIT message. */ 2128 #define QMI_LOC_SUPL_VER_2_EXT_MASK_SUPPORTED_NETWORK_UMB_V02 ((qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02)0x0020) /**< Denotes that UMB measurements are allowed as part of location ID 2129 and multiple location ID in the SUPL_POS_INIT message. */ 2130 #define QMI_LOC_SUPL_VER_2_EXT_MASK_SUPPORTED_NETWORK_LTE_V02 ((qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02)0x0040) /**< Denotes that LTE measurements are allowed as part of location ID 2131 and multiple location ID in the SUPL_POS_INIT message. */ 2132 #define QMI_LOC_SUPL_VER_2_EXT_MASK_SUPPORTED_NETWORK_WIMAX_V02 ((qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02)0x0080) /**< Denotes that WIMAX measurements are allowed as part of location ID 2133 and multiple location ID in the SUPL_POS_INIT message. */ 2134 #define QMI_LOC_SUPL_VER_2_EXT_MASK_SUPPORTED_NETWORK_HISTORIC_V02 ((qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02)0x0100) /**< Denotes that historical information is allowed as part of 2135 multiple location ID in the SUPL_POS_INIT message. */ 2136 #define QMI_LOC_SUPL_VER_2_EXT_MASK_SUPPORTED_NETWORK_NONSVRV_V02 ((qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02)0x0200) /**< Denotes that information about nonserving cells is allowed 2137 as part of multiple location ID in the SUPL_POS_INIT message. */ 2138 /** @addtogroup loc_qmi_enums 2139 @{ 2140 */ 2141 typedef enum { 2142 QMILOCNISUPLVER2EXTTRIGGERTYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 2143 eQMI_LOC_SUPL_VER_2_EXT_TRIGGER_TYPE_SINGLE_SHOT_V02 = -1, /**< SUPL INIT message indicates a request for a single shot 2144 triggered session */ 2145 eQMI_LOC_SUPL_VER_2_EXT_TRIGGER_TYPE_PERIODIC_V02 = 0, /**< SUPL INIT message indicates a request for a periodic 2146 triggered session */ 2147 eQMI_LOC_SUPL_VER_2_EXT_TRIGGER_TYPE_AREA_EVENT_V02 = 1, /**< SUPL INIT message indicates a request for an area event 2148 triggered session */ 2149 QMILOCNISUPLVER2EXTTRIGGERTYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 2150 }qmiLocNiSuplVer2ExtTriggerTypeEnumT_v02; 2151 /** 2152 @} 2153 */ 2154 2155 typedef uint16_t qmiLocNiSuplVer2ExtGnssTypeMaskT_v02; 2156 #define QMI_LOC_SUPL_VER_2_EXT_MASK_GNSS_GPS_V02 ((qmiLocNiSuplVer2ExtGnssTypeMaskT_v02)0x0001) /**< GPS is allowed to be used as the positioning technology */ 2157 #define QMI_LOC_SUPL_VER_2_EXT_MASK_GNSS_GLONASS_V02 ((qmiLocNiSuplVer2ExtGnssTypeMaskT_v02)0x0002) /**< GLONASS is allowed to be used as the positioning technology */ 2158 #define QMI_LOC_SUPL_VER_2_EXT_MASK_GNSS_GALILEO_V02 ((qmiLocNiSuplVer2ExtGnssTypeMaskT_v02)0x0004) /**< Galileo is allowed to be used as the positioning technology */ 2159 #define QMI_LOC_SUPL_VER_2_EXT_MASK_GNSS_SBAS_V02 ((qmiLocNiSuplVer2ExtGnssTypeMaskT_v02)0x0008) /**< SBAS is allowed to be used as the positioning technology */ 2160 #define QMI_LOC_SUPL_VER_2_EXT_MASK_GNSS_QZSS_V02 ((qmiLocNiSuplVer2ExtGnssTypeMaskT_v02)0x0010) /**< QZSS is allowed to be used as the positioning technology */ 2161 #define QMI_LOC_SUPL_VER_2_EXT_MASK_GNSS_MODERN_GPS_V02 ((qmiLocNiSuplVer2ExtGnssTypeMaskT_v02)0x0020) /**< Modern GPS is allowed to be used as the positioning technology */ 2162 /** @addtogroup loc_qmi_aggregates 2163 @{ 2164 */ 2165 typedef struct { 2166 2167 qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02 supportedNetworksMask; 2168 /**< Specifies which type of network measurements are allowed to be sent as 2169 part of the Location ID or Multiple Location IDs parameter in the 2170 SUPL_POS_INIT message (refer to 3GPP \hyperref[TS 03.32]{TS 03.32}). 2171 2172 Valid bitmasks: \begin{itemize1} 2173 \item 0x0001 -- SUPPORTED_NETWORK_ WLAN 2174 \item 0x0002 -- SUPPORTED_NETWORK_ GSM 2175 \item 0x0004 -- SUPPORTED_NETWORK_ WCDMA 2176 \item 0x0008 -- SUPPORTED_NETWORK_ CDMA 2177 \item 0x0010 -- SUPPORTED_NETWORK_ HRDP 2178 \item 0x0020 -- SUPPORTED_NETWORK_ UMB 2179 \item 0x0040 -- SUPPORTED_NETWORK_ LTE 2180 \item 0x0080 -- SUPPORTED_NETWORK_ WIMAX 2181 \item 0x0100 -- SUPPORTED_NETWORK_ HISTORIC 2182 \item 0x0200 -- SUPPORTED_NETWORK_ NONSVRV 2183 \vspace{-0.18in} \end{itemize1} 2184 */ 2185 2186 qmiLocNiSuplVer2ExtTriggerTypeEnumT_v02 triggerType; 2187 /**< Specifies the type of session trigger requested in the 2188 SUPL_POS_INIT message (refer to 3GPP \hyperref[TS 03.32]{TS 03.32}). 2189 2190 Valid values: \n 2191 - eQMI_LOC_SUPL_VER_2_EXT_TRIGGER_TYPE_SINGLE_SHOT (-1) -- SUPL INIT message indicates a request for a single shot 2192 triggered session 2193 - eQMI_LOC_SUPL_VER_2_EXT_TRIGGER_TYPE_PERIODIC (0) -- SUPL INIT message indicates a request for a periodic 2194 triggered session 2195 - eQMI_LOC_SUPL_VER_2_EXT_TRIGGER_TYPE_AREA_EVENT (1) -- SUPL INIT message indicates a request for an area event 2196 triggered session 2197 */ 2198 2199 qmiLocNiSuplVer2ExtGnssTypeMaskT_v02 gnssType; 2200 /**< Specifies which GNSS technologies are allowed as positioning 2201 technologies. 2202 2203 Valid bitmasks: \n 2204 - 0x0001 -- GNSS_GPS \n 2205 - 0x0002 -- GNSS_GLONASS \n 2206 - 0x0004 -- GNSS_GALILEO \n 2207 - 0x0008 -- GNSS_SBAS \n 2208 - 0x0010 -- GNSS_QZSS \n 2209 - 0x0020 -- GNSS_MODERN_GPS 2210 */ 2211 }qmiLocNiSuplVer2ExtStructT_v02; /* Type */ 2212 /** 2213 @} 2214 */ 2215 2216 /** @addtogroup loc_qmi_aggregates 2217 @{ 2218 */ 2219 typedef struct { 2220 2221 char eslpUrl[QMI_LOC_MAX_SERVER_ADDR_LENGTH_V02 + 1]; 2222 /**< ESLP URL. \n 2223 Maximum length: 255 bytes */ 2224 }qmiLocEmergencyNotificationStructT_v02; /* Type */ 2225 /** 2226 @} 2227 */ 2228 2229 /** @addtogroup loc_qmi_messages 2230 @{ 2231 */ 2232 /** Indication Message; Indicates an NI Notify/Verify request to the control point. */ 2233 typedef struct { 2234 2235 /* Mandatory */ 2236 /* Notification Type */ 2237 qmiLocNiNotifyVerifyEnumT_v02 notificationType; 2238 /**< Type of notification/verification performed. 2239 2240 Valid values: \n 2241 - eQMI_LOC_NI_USER_NO_NOTIFY_NO_VERIFY (1) -- No notification and no verification required 2242 - eQMI_LOC_NI_USER_NOTIFY_ONLY (2) -- Notify only; no verification required 2243 - eQMI_LOC_NI_USER_NOTIFY_VERIFY_ALLOW_NO_RESP (3) -- Notify and verify, but no response required. 2244 - eQMI_LOC_NI_USER_NOTIFY_VERIFY_NOT_ALLOW_NO_RESP (4) -- Notify and verify, and require a response 2245 - eQMI_LOC_NI_USER_NOTIFY_VERIFY_PRIVACY_OVERRIDE (5) -- Notify and verify; privacy override 2246 */ 2247 2248 /* Optional */ 2249 /* Network Initiated Vx Request */ 2250 uint8_t NiVxInd_valid; /**< Must be set to true if NiVxInd is being passed */ 2251 qmiLocNiVxNotifyVerifyStructT_v02 NiVxInd; 2252 /**< \vspace{0.06in} \n Optional NI Vx request payload. */ 2253 2254 /* Optional */ 2255 /* Network Initiated SUPL Request */ 2256 uint8_t NiSuplInd_valid; /**< Must be set to true if NiSuplInd is being passed */ 2257 qmiLocNiSuplNotifyVerifyStructT_v02 NiSuplInd; 2258 /**< \vspace{0.06in} \n Optional NI SUPL request payload. */ 2259 2260 /* Optional */ 2261 /* Network Initiated UMTS Control Plane Request */ 2262 uint8_t NiUmtsCpInd_valid; /**< Must be set to true if NiUmtsCpInd is being passed */ 2263 qmiLocNiUmtsCpNotifyVerifyStructT_v02 NiUmtsCpInd; 2264 /**< \vspace{0.06in} \n Optional NI UMTS-CP request payload. */ 2265 2266 /* Optional */ 2267 /* Network Initiated Service Interaction Request */ 2268 uint8_t NiVxServiceInteractionInd_valid; /**< Must be set to true if NiVxServiceInteractionInd is being passed */ 2269 qmiLocNiVxServiceInteractionStructT_v02 NiVxServiceInteractionInd; 2270 /**< \vspace{0.06in} \n Optional NI service interaction payload. */ 2271 2272 /* Optional */ 2273 /* Network Initiated SUPL Version 2 Extension */ 2274 uint8_t NiSuplVer2ExtInd_valid; /**< Must be set to true if NiSuplVer2ExtInd is being passed */ 2275 qmiLocNiSuplVer2ExtStructT_v02 NiSuplVer2ExtInd; 2276 /**< \vspace{0.06in} \n Optional NI SUPL Version 2 Extension payload. When present, 2277 this payload is to be used in conjunction with the SUPL 2278 indication payload. */ 2279 2280 /* Optional */ 2281 /* SUPL Emergency Notification */ 2282 uint8_t suplEmergencyNotification_valid; /**< Must be set to true if suplEmergencyNotification is being passed */ 2283 qmiLocEmergencyNotificationStructT_v02 suplEmergencyNotification; 2284 /**< \vspace{0.06in} \n This specifies that the corresponding NI notification is an 2285 emergency notification. Emergency notification 2286 can be given even without an Emergency SUPL Location Platform (ESLP) 2287 address. */ 2288 }qmiLocEventNiNotifyVerifyReqIndMsgT_v02; /* Message */ 2289 /** 2290 @} 2291 */ 2292 2293 /** @addtogroup loc_qmi_aggregates 2294 @{ 2295 */ 2296 typedef struct { 2297 2298 char serverUrl[QMI_LOC_MAX_SERVER_ADDR_LENGTH_V02 + 1]; 2299 /**< Assistance server URL. 2300 \begin{itemize1} 2301 \item Type: NULL-terminated string 2302 \item Maximum string length (including NULL terminator): 256 2303 \vspace{-0.18in} \end{itemize1} */ 2304 }qmiLocAssistanceServerUrlStructT_v02; /* Type */ 2305 /** 2306 @} 2307 */ 2308 2309 /** @addtogroup loc_qmi_aggregates 2310 @{ 2311 */ 2312 typedef struct { 2313 2314 uint32_t delayThreshold; 2315 /**< The time server is to be skipped if a one-way delay to the server 2316 exceeds this threshold. \n 2317 - Units: Milliseconds */ 2318 2319 uint32_t timeServerList_len; /**< Must be set to # of elements in timeServerList */ 2320 qmiLocAssistanceServerUrlStructT_v02 timeServerList[QMI_LOC_MAX_NTP_SERVERS_V02]; 2321 /**< List of Time Server URL's that are recommended by the service for time 2322 information, the list is ordered, the client is to use the first 2323 server specified in the list as the primary URL to fetch NTP time, 2324 the second one as secondary, and so on. \n 2325 - Maximum server list items: 3 */ 2326 }qmiLocTimeServerListStructT_v02; /* Type */ 2327 /** 2328 @} 2329 */ 2330 2331 /** @addtogroup loc_qmi_messages 2332 @{ 2333 */ 2334 /** Indication Message; Requests the control point to inject time information. */ 2335 typedef struct { 2336 2337 /* Optional */ 2338 /* Time Server Info */ 2339 uint8_t timeServerInfo_valid; /**< Must be set to true if timeServerInfo is being passed */ 2340 qmiLocTimeServerListStructT_v02 timeServerInfo; 2341 /**< \vspace{0.06in} \n Contains information about the time servers recommended by the 2342 location service for NTP time. */ 2343 }qmiLocEventInjectTimeReqIndMsgT_v02; /* Message */ 2344 /** 2345 @} 2346 */ 2347 2348 /** @addtogroup loc_qmi_aggregates 2349 @{ 2350 */ 2351 typedef struct { 2352 2353 uint32_t maxFileSizeInBytes; 2354 /**< Maximum allowable predicted orbits file size (in bytes). */ 2355 2356 uint32_t maxPartSize; 2357 /**< Maximum allowable predicted orbits file chunk size (in bytes). */ 2358 }qmiLocPredictedOrbitsAllowedSizesStructT_v02; /* Type */ 2359 /** 2360 @} 2361 */ 2362 2363 /** @addtogroup loc_qmi_aggregates 2364 @{ 2365 */ 2366 typedef struct { 2367 2368 uint32_t serverList_len; /**< Must be set to # of elements in serverList */ 2369 qmiLocAssistanceServerUrlStructT_v02 serverList[QMI_LOC_MAX_PREDICTED_ORBITS_SERVERS_V02]; 2370 /**< List of predicted orbits URLs. The list is ordered, so the client 2371 must use the first server specified in the list as the primary URL 2372 from which to download predicted orbits data, the second one as 2373 secondary, and so on. \n 2374 - Maximum number of servers that can be specified: 3 */ 2375 }qmiLocPredictedOrbitsServerListStructT_v02; /* Type */ 2376 /** 2377 @} 2378 */ 2379 2380 /** @addtogroup loc_qmi_messages 2381 @{ 2382 */ 2383 /** Indication Message; Requests the control point to inject predicted orbits data. */ 2384 typedef struct { 2385 2386 /* Mandatory */ 2387 /* Allowed Sizes */ 2388 qmiLocPredictedOrbitsAllowedSizesStructT_v02 allowedSizes; 2389 /**< \vspace{0.06in} \n Maximum part and file size allowed to be injected in the engine. */ 2390 2391 /* Optional */ 2392 /* Server List */ 2393 uint8_t serverList_valid; /**< Must be set to true if serverList is being passed */ 2394 qmiLocPredictedOrbitsServerListStructT_v02 serverList; 2395 /**< \vspace{0.06in} \n List of servers that can be used by the client to download 2396 predicted orbits data. */ 2397 }qmiLocEventInjectPredictedOrbitsReqIndMsgT_v02; /* Message */ 2398 /** 2399 @} 2400 */ 2401 2402 /** @addtogroup loc_qmi_messages 2403 @{ 2404 */ 2405 /** Indication Message; Requests the control point to inject a position. */ 2406 typedef struct { 2407 2408 /* Mandatory */ 2409 /* Latitude */ 2410 double latitude; 2411 /**< Latitude (specified in WGS84 datum). 2412 \begin{itemize1} 2413 \item Type: Floating point 2414 \item Units: Degrees 2415 \item Range: -90.0 to 90.0 \begin{itemize1} 2416 \item Positive values indicate northern latitude 2417 \item Negative values indicate southern latitude 2418 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 2419 2420 /* Mandatory */ 2421 /* Longitude */ 2422 double longitude; 2423 /**< Longitude (specified in WGS84 datum). 2424 \begin{itemize1} 2425 \item Type: Floating point 2426 \item Units: Degrees 2427 \item Range: -180.0 to 180.0 \begin{itemize1} 2428 \item Positive values indicate eastern longitude 2429 \item Negative values indicate western longitude 2430 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 2431 2432 /* Mandatory */ 2433 /* Circular Horizontal Uncertainty */ 2434 float horUncCircular; 2435 /**< Horizontal position uncertainty (circular).\n 2436 - Units: Meters */ 2437 2438 /* Mandatory */ 2439 /* UTC Timestamp */ 2440 uint64_t timestampUtc; 2441 /**< UTC timestamp. 2442 \begin{itemize1} 2443 \item Units: Milliseconds since Jan. 1, 1970 2444 \vspace{-0.18in} \end{itemize1} */ 2445 }qmiLocEventInjectPositionReqIndMsgT_v02; /* Message */ 2446 /** 2447 @} 2448 */ 2449 2450 /** @addtogroup loc_qmi_enums 2451 @{ 2452 */ 2453 typedef enum { 2454 QMILOCENGINESTATEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 2455 eQMI_LOC_ENGINE_STATE_ON_V02 = 1, /**< Location engine is on */ 2456 eQMI_LOC_ENGINE_STATE_OFF_V02 = 2, /**< Location engine is off */ 2457 QMILOCENGINESTATEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 2458 }qmiLocEngineStateEnumT_v02; 2459 /** 2460 @} 2461 */ 2462 2463 /** @addtogroup loc_qmi_messages 2464 @{ 2465 */ 2466 /** Indication Message; Sends the engine state to the control point. */ 2467 typedef struct { 2468 2469 /* Mandatory */ 2470 /* Engine State */ 2471 qmiLocEngineStateEnumT_v02 engineState; 2472 /**< Location engine state. 2473 2474 Valid values: \n 2475 - eQMI_LOC_ENGINE_STATE_ON (1) -- Location engine is on 2476 - eQMI_LOC_ENGINE_STATE_OFF (2) -- Location engine is off 2477 */ 2478 }qmiLocEventEngineStateIndMsgT_v02; /* Message */ 2479 /** 2480 @} 2481 */ 2482 2483 /** @addtogroup loc_qmi_enums 2484 @{ 2485 */ 2486 typedef enum { 2487 QMILOCFIXSESSIONSTATEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 2488 eQMI_LOC_FIX_SESSION_STARTED_V02 = 1, /**< Location fix session has started */ 2489 eQMI_LOC_FIX_SESSION_FINISHED_V02 = 2, /**< Location fix session has ended */ 2490 QMILOCFIXSESSIONSTATEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 2491 }qmiLocFixSessionStateEnumT_v02; 2492 /** 2493 @} 2494 */ 2495 2496 /** @addtogroup loc_qmi_messages 2497 @{ 2498 */ 2499 /** Indication Message; Sends the fix session state to the control point. */ 2500 typedef struct { 2501 2502 /* Mandatory */ 2503 /* Session State */ 2504 qmiLocFixSessionStateEnumT_v02 sessionState; 2505 /**< LOC fix session state. 2506 2507 Valid values: \n 2508 - eQMI_LOC_FIX_SESSION_STARTED (1) -- Location fix session has started 2509 - eQMI_LOC_FIX_SESSION_FINISHED (2) -- Location fix session has ended 2510 */ 2511 2512 /* Optional */ 2513 /* Session ID */ 2514 uint8_t sessionId_valid; /**< Must be set to true if sessionId is being passed */ 2515 uint8_t sessionId; 2516 /**< ID of the session that was specified in the Start request. 2517 This may not be specified for a fix session corresponding to 2518 a network-initiated request. \n 2519 - Range: 0 to 255 */ 2520 }qmiLocEventFixSessionStateIndMsgT_v02; /* Message */ 2521 /** 2522 @} 2523 */ 2524 2525 /** @addtogroup loc_qmi_enums 2526 @{ 2527 */ 2528 typedef enum { 2529 QMILOCWIFIREQUESTENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 2530 eQMI_LOC_WIFI_START_PERIODIC_HI_FREQ_FIXES_V02 = 0, /**< Start periodic fixes with high frequency */ 2531 eQMI_LOC_WIFI_START_PERIODIC_KEEP_WARM_V02 = 1, /**< Keep warm for low frequency fixes without data downloads */ 2532 eQMI_LOC_WIFI_STOP_PERIODIC_FIXES_V02 = 2, /**< Stop periodic fixes request */ 2533 QMILOCWIFIREQUESTENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 2534 }qmiLocWifiRequestEnumT_v02; 2535 /** 2536 @} 2537 */ 2538 2539 /** @addtogroup loc_qmi_messages 2540 @{ 2541 */ 2542 /** Indication Message; Sends a Wi-Fi request to the control point. */ 2543 typedef struct { 2544 2545 /* Mandatory */ 2546 /* Request Type */ 2547 qmiLocWifiRequestEnumT_v02 requestType; 2548 /**< Request type. 2549 2550 Valid values: \n 2551 - eQMI_LOC_WIFI_START_PERIODIC_HI_FREQ_FIXES (0) -- Start periodic fixes with high frequency 2552 - eQMI_LOC_WIFI_START_PERIODIC_KEEP_WARM (1) -- Keep warm for low frequency fixes without data downloads 2553 - eQMI_LOC_WIFI_STOP_PERIODIC_FIXES (2) -- Stop periodic fixes request 2554 */ 2555 2556 /* Optional */ 2557 /* Time Between Fixes */ 2558 uint8_t tbfInMs_valid; /**< Must be set to true if tbfInMs is being passed */ 2559 uint16_t tbfInMs; 2560 /**< Time between fixes for a periodic request.\n 2561 - Units: Milliseconds */ 2562 }qmiLocEventWifiReqIndMsgT_v02; /* Message */ 2563 /** 2564 @} 2565 */ 2566 2567 /** @addtogroup loc_qmi_aggregates 2568 @{ 2569 */ 2570 typedef struct { 2571 2572 uint16_t samplesPerBatch; 2573 /**< Specifies the number of samples per batch the GNSS location engine is to 2574 receive. The sensor sampling frequency can be computed as follows: \vspace{-0.06in} \n 2575 2576 samplingFrequency = samplesPerBatch * batchesPerSecond \vspace{-0.06in} \n 2577 2578 samplesPerBatch must be a nonzero positive value. 2579 */ 2580 2581 uint16_t batchesPerSecond; 2582 /**< Number of sensor-data batches the GNSS location engine is to receive 2583 per second. The rate is specified in an integral number of batches per 2584 second (Hz). \vspace{-0.06in} \n 2585 2586 batchesPerSecond must be a nonzero positive value. 2587 */ 2588 }qmiLocSensorControlConfigSamplingSpecStructT_v02; /* Type */ 2589 /** 2590 @} 2591 */ 2592 2593 /** @addtogroup loc_qmi_aggregates 2594 @{ 2595 */ 2596 typedef struct { 2597 2598 uint8_t injectEnable; 2599 /**< Indicates whether the GNSS location engine is ready to accept data from this 2600 sensor. 2601 2602 Valid values: \begin{itemize1} 2603 \item 0x01 (TRUE) -- GNSS location engine is ready to accept sensor 2604 data 2605 \item 0x00 (FALSE) -- GNSS location engine is not ready to accept 2606 sensor data 2607 \vspace{-0.18in} \end{itemize1} 2608 */ 2609 2610 qmiLocSensorControlConfigSamplingSpecStructT_v02 dataFrequency; 2611 /**< Rate at which the GNSS engine would like the sensor to be sampled. \n 2612 The rate is specified in integral number of samples per second (Hz)\n 2613 and batches per second. 2614 */ 2615 }qmiLocSensorReadyStatusStructT_v02; /* Type */ 2616 /** 2617 @} 2618 */ 2619 2620 /** @addtogroup loc_qmi_messages 2621 @{ 2622 */ 2623 /** Indication Message; Notifies the control point if the GNSS location engine is 2624 ready to accept sensor data. */ 2625 typedef struct { 2626 2627 /* Optional */ 2628 /* Accelerometer Accept Ready */ 2629 uint8_t accelReady_valid; /**< Must be set to true if accelReady is being passed */ 2630 qmiLocSensorReadyStatusStructT_v02 accelReady; 2631 /**< \vspace{0.06in} \n Indicates whether the GNSS location engine is ready 2632 to accept accelerometer sensor data. 2633 */ 2634 2635 /* Optional */ 2636 /* Gyroscope Accept Ready */ 2637 uint8_t gyroReady_valid; /**< Must be set to true if gyroReady is being passed */ 2638 qmiLocSensorReadyStatusStructT_v02 gyroReady; 2639 /**< \vspace{0.06in} \n Indicates whether the GNSS location engine is ready 2640 to accept gyroscope sensor data. 2641 */ 2642 2643 /* Optional */ 2644 /* Accelerometer Temperature Accept Ready */ 2645 uint8_t accelTemperatureReady_valid; /**< Must be set to true if accelTemperatureReady is being passed */ 2646 qmiLocSensorReadyStatusStructT_v02 accelTemperatureReady; 2647 /**< \vspace{0.06in} \n Indicates whether the GNSS location engine is ready 2648 to accept accelerometer temperature data. 2649 */ 2650 2651 /* Optional */ 2652 /* Gyroscope Temperature Accept Ready */ 2653 uint8_t gyroTemperatureReady_valid; /**< Must be set to true if gyroTemperatureReady is being passed */ 2654 qmiLocSensorReadyStatusStructT_v02 gyroTemperatureReady; 2655 /**< \vspace{0.06in} \n Indicates whether the GNSS location engine is ready 2656 to accept gyroscope temperature data. 2657 */ 2658 2659 /* Optional */ 2660 /* Calibrated Magnetometer Accept Ready */ 2661 uint8_t calibratedMagReady_valid; /**< Must be set to true if calibratedMagReady is being passed */ 2662 qmiLocSensorReadyStatusStructT_v02 calibratedMagReady; 2663 /**< \vspace{0.06in} \n Indicates whether the GNSS location engine is ready 2664 to accept calibrated magnetometer data. 2665 */ 2666 2667 /* Optional */ 2668 /* Uncalibrated Magnetometer Accept Ready */ 2669 uint8_t uncalibratedMagReady_valid; /**< Must be set to true if uncalibratedMagReady is being passed */ 2670 qmiLocSensorReadyStatusStructT_v02 uncalibratedMagReady; 2671 /**< \vspace{0.06in} \n Indicates whether the GNSS location engine is ready 2672 to accept uncalibrated magnetometer data. 2673 */ 2674 }qmiLocEventSensorStreamingReadyStatusIndMsgT_v02; /* Message */ 2675 /** 2676 @} 2677 */ 2678 2679 /** @addtogroup loc_qmi_messages 2680 @{ 2681 */ 2682 /** Indication Message; Notifies the control point to inject time synchronization 2683 data. */ 2684 typedef struct { 2685 2686 /* Mandatory */ 2687 /* Opaque Time Sync Reference Counter */ 2688 uint32_t refCounter; 2689 /**< This TLV is sent to registered control points. It is sent by 2690 the location engine when it needs to synchronize location engine and 2691 control point (sensor processor) times. 2692 This TLV must be echoed back in the Time Sync Inject request. */ 2693 }qmiLocEventTimeSyncReqIndMsgT_v02; /* Message */ 2694 /** 2695 @} 2696 */ 2697 2698 /** @addtogroup loc_qmi_messages 2699 @{ 2700 */ 2701 /** Indication Message; Requests the control point to enable Stationary Position 2702 Indicator (SPI) streaming reports. */ 2703 typedef struct { 2704 2705 /* Mandatory */ 2706 /* Enable/Disable SPI Requests */ 2707 uint8_t enable; 2708 /**< Indicates whether the client is to start or stop sending an SPI status stream. 2709 \begin{itemize1} 2710 \item 0x01 (TRUE) -- Client is to start sending an SPI status stream 2711 \item 0x00 (FALSE) -- Client is to stop sending an SPI status stream 2712 \vspace{-0.18in} \end{itemize1}*/ 2713 }qmiLocEventSetSpiStreamingReportIndMsgT_v02; /* Message */ 2714 /** 2715 @} 2716 */ 2717 2718 /** @addtogroup loc_qmi_enums 2719 @{ 2720 */ 2721 typedef enum { 2722 QMILOCWWANTYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 2723 eQMI_LOC_WWAN_TYPE_INTERNET_V02 = 0, /**< Bring up the WWAN type used for an Internet connection */ 2724 eQMI_LOC_WWAN_TYPE_AGNSS_V02 = 1, /**< Bring up the WWAN type used for AGNSS connections */ 2725 eQMI_LOC_WWAN_TYPE_AGNSS_EMERGENCY_V02 = 2, /**< Bring up the WWAN type used for AGNSS Emergency connections */ 2726 QMILOCWWANTYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 2727 }qmiLocWWANTypeEnumT_v02; 2728 /** 2729 @} 2730 */ 2731 2732 /** @addtogroup loc_qmi_enums 2733 @{ 2734 */ 2735 typedef enum { 2736 QMILOCSERVERREQUESTENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 2737 eQMI_LOC_SERVER_REQUEST_OPEN_V02 = 1, /**< Open a connection to the location server */ 2738 eQMI_LOC_SERVER_REQUEST_CLOSE_V02 = 2, /**< Close a connection to the location server */ 2739 QMILOCSERVERREQUESTENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 2740 }qmiLocServerRequestEnumT_v02; 2741 /** 2742 @} 2743 */ 2744 2745 /** @addtogroup loc_qmi_messages 2746 @{ 2747 */ 2748 /** Indication Message; Requests the client to open or close a connection 2749 to the assisted GPS location server. */ 2750 typedef struct { 2751 2752 /* Mandatory */ 2753 /* Connection Handle */ 2754 uint32_t connHandle; 2755 /**< Identifies a connection across Open and Close request events. */ 2756 2757 /* Mandatory */ 2758 /* Request Type */ 2759 qmiLocServerRequestEnumT_v02 requestType; 2760 /**< Open or close a connection to the location server. 2761 2762 Valid values: \n 2763 - eQMI_LOC_SERVER_REQUEST_OPEN (1) -- Open a connection to the location server 2764 - eQMI_LOC_SERVER_REQUEST_CLOSE (2) -- Close a connection to the location server 2765 */ 2766 2767 /* Mandatory */ 2768 /* WWAN Type */ 2769 qmiLocWWANTypeEnumT_v02 wwanType; 2770 /**< Identifies the WWAN type for this request. 2771 Valid values: \n 2772 - eQMI_LOC_WWAN_TYPE_INTERNET (0) -- Bring up the WWAN type used for an Internet connection 2773 - eQMI_LOC_WWAN_TYPE_AGNSS (1) -- Bring up the WWAN type used for AGNSS connections 2774 - eQMI_LOC_WWAN_TYPE_AGNSS_EMERGENCY (2) -- Bring up the WWAN type used for AGNSS Emergency connections 2775 */ 2776 }qmiLocEventLocationServerConnectionReqIndMsgT_v02; /* Message */ 2777 /** 2778 @} 2779 */ 2780 2781 /** @addtogroup loc_qmi_enums 2782 @{ 2783 */ 2784 typedef enum { 2785 QMILOCNIGEOFENCEOPERATIONENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 2786 eQMI_LOC_NI_GEOFENCE_ADDED_V02 = 1, /**< An NI Geofence was added */ 2787 eQMI_LOC_NI_GEOFENCE_DELETED_V02 = 2, /**< An NI Geofence was deleted */ 2788 eQMI_LOC_NI_GEOFENCE_EDITED_V02 = 3, /**< An NI Geofence was edited; the control point can query the 2789 Geofence to find the its current state */ 2790 QMILOCNIGEOFENCEOPERATIONENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 2791 }qmiLocNiGeofenceOperationEnumT_v02; 2792 /** 2793 @} 2794 */ 2795 2796 /** @addtogroup loc_qmi_messages 2797 @{ 2798 */ 2799 /** Indication Message; Informs the control point about 2800 network-initiated Geofences. */ 2801 typedef struct { 2802 2803 /* Mandatory */ 2804 /* Geofence ID */ 2805 uint32_t geofenceId; 2806 /**< ID of the Geofence for which this 2807 notification was generated. */ 2808 2809 /* Mandatory */ 2810 /* Operation Type */ 2811 qmiLocNiGeofenceOperationEnumT_v02 operationType; 2812 /**< Operation for which this notification was generated. 2813 2814 Valid values: \n 2815 - eQMI_LOC_NI_GEOFENCE_ADDED (1) -- An NI Geofence was added 2816 - eQMI_LOC_NI_GEOFENCE_DELETED (2) -- An NI Geofence was deleted 2817 - eQMI_LOC_NI_GEOFENCE_EDITED (3) -- An NI Geofence was edited; the control point can query the 2818 Geofence to find the its current state 2819 */ 2820 }qmiLocEventNiGeofenceNotificationIndMsgT_v02; /* Message */ 2821 /** 2822 @} 2823 */ 2824 2825 /** @addtogroup loc_qmi_enums 2826 @{ 2827 */ 2828 typedef enum { 2829 QMILOCGEOFENCEGENALERTENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 2830 eQMI_LOC_GEOFENCE_GEN_ALERT_GNSS_UNAVAILABLE_V02 = 1, /**< GNSS is unavailable and GNSS position fixes 2831 cannot be used to monitor Geofences */ 2832 eQMI_LOC_GEOFENCE_GEN_ALERT_GNSS_AVAILABLE_V02 = 2, /**< GNSS is now available and GNSS postion fixes can 2833 be used to monitor Geofences */ 2834 eQMI_LOC_GEOFENCE_GEN_ALERT_OOS_V02 = 3, /**< The engine is out of service and no cell ID coverage 2835 information is available */ 2836 eQMI_LOC_GEOFENCE_GEN_ALERT_TIME_INVALID_V02 = 4, /**< The engine has an invalid time */ 2837 QMILOCGEOFENCEGENALERTENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 2838 }qmiLocGeofenceGenAlertEnumT_v02; 2839 /** 2840 @} 2841 */ 2842 2843 /** @addtogroup loc_qmi_messages 2844 @{ 2845 */ 2846 /** Indication Message; Notifies the control point of the 2847 Geofence status. */ 2848 typedef struct { 2849 2850 /* Mandatory */ 2851 /* Geofence General Alert */ 2852 qmiLocGeofenceGenAlertEnumT_v02 geofenceAlert; 2853 /**< Specifies the Geofence general alert type. 2854 2855 Valid values: \n 2856 - eQMI_LOC_GEOFENCE_GEN_ALERT_GNSS_UNAVAILABLE (1) -- GNSS is unavailable and GNSS position fixes 2857 cannot be used to monitor Geofences 2858 - eQMI_LOC_GEOFENCE_GEN_ALERT_GNSS_AVAILABLE (2) -- GNSS is now available and GNSS postion fixes can 2859 be used to monitor Geofences 2860 - eQMI_LOC_GEOFENCE_GEN_ALERT_OOS (3) -- The engine is out of service and no cell ID coverage 2861 information is available 2862 - eQMI_LOC_GEOFENCE_GEN_ALERT_TIME_INVALID (4) -- The engine has an invalid time 2863 */ 2864 }qmiLocEventGeofenceGenAlertIndMsgT_v02; /* Message */ 2865 /** 2866 @} 2867 */ 2868 2869 /** @addtogroup loc_qmi_enums 2870 @{ 2871 */ 2872 typedef enum { 2873 QMILOCGEOFENCEBREACHTYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 2874 eQMI_LOC_GEOFENCE_BREACH_TYPE_ENTERING_V02 = 1, /**< Denotes that a client entered the Geofence */ 2875 eQMI_LOC_GEOFENCE_BREACH_TYPE_LEAVING_V02 = 2, /**< Denotes that a client left the Geofence */ 2876 QMILOCGEOFENCEBREACHTYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 2877 }qmiLocGeofenceBreachTypeEnumT_v02; 2878 /** 2879 @} 2880 */ 2881 2882 /** @addtogroup loc_qmi_aggregates 2883 @{ 2884 */ 2885 typedef struct { 2886 2887 /* UTC Timestamp */ 2888 uint64_t timestampUtc; 2889 /**< UTC timestamp. 2890 \begin{itemize1} 2891 \item Units: Milliseconds since Jan. 1, 1970 2892 \vspace{-0.18in} \end{itemize1} */ 2893 2894 /* Latitude */ 2895 double latitude; 2896 /**< Latitude (specified in WGS84 datum). 2897 \begin{itemize1} 2898 \item Type: Floating point 2899 \item Units: Degrees 2900 \item Range: -90.0 to 90.0 \begin{itemize1} 2901 \item Positive values indicate northern latitude 2902 \item Negative values indicate southern latitude 2903 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 2904 2905 /* Longitude */ 2906 double longitude; 2907 /**< Longitude (specified in WGS84 datum). 2908 \begin{itemize1} 2909 \item Type: Floating point 2910 \item Units: Degrees 2911 \item Range: -180.0 to 180.0 \begin{itemize1} 2912 \item Positive values indicate eastern longitude 2913 \item Negative values indicate western longitude 2914 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 2915 2916 /* Horizontal Elliptical Uncertainty (Semi-Minor Axis) */ 2917 float horUncEllipseSemiMinor; 2918 /**< Semi-minor axis of horizontal elliptical uncertainty.\n 2919 - Units: Meters */ 2920 2921 /* Horizontal Elliptical Uncertainty (Semi-Major Axis) */ 2922 float horUncEllipseSemiMajor; 2923 /**< Semi-major axis of horizontal elliptical uncertainty.\n 2924 - Units: Meters */ 2925 2926 /* Elliptical Horizontal Uncertainty Azimuth */ 2927 float horUncEllipseOrientAzimuth; 2928 /**< Elliptical horizontal uncertainty azimuth of orientation.\n 2929 - Units: Decimal degrees \n 2930 - Range: 0 to 180 */ 2931 2932 /* Horizontal Speed validity bit */ 2933 uint8_t speedHorizontal_valid; 2934 /**< Indicates whether the Horizontal speed field contains valid 2935 information. 2936 \begin{itemize1} 2937 \item 0x01 (TRUE) -- Horizontal speed is valid 2938 \item 0x00 (FALSE) -- Horizontal speed is invalid 2939 and is to be ignored 2940 \vspace{-0.18in} \end{itemize1} */ 2941 2942 /* Horizontal Speed */ 2943 float speedHorizontal; 2944 /**< Horizontal speed.\n 2945 - Units: Meters/second */ 2946 2947 /* Altitude validity bit */ 2948 uint8_t altitudeWrtEllipsoid_valid; 2949 /**< Indicates whether the altitude field contains valid 2950 information. 2951 \begin{itemize1} 2952 \item 0x01 (TRUE) -- Altitude field is valid 2953 \item 0x00 (FALSE) -- Altitude field is invalid 2954 and is to be ignored 2955 \vspace{-0.18in} \end{itemize1} 2956 */ 2957 2958 /* Altitude With Respect to Ellipsoid */ 2959 float altitudeWrtEllipsoid; 2960 /**< Altitude with respect to the WGS84 ellipsoid.\n 2961 - Units: Meters \n 2962 - Range: -500 to 15883 */ 2963 2964 /* Vertical Uncertainty validity bit */ 2965 uint8_t vertUnc_valid; 2966 /**< Indicates whether the Vertical Uncertainty field contains valid 2967 information. 2968 \begin{itemize1} 2969 \item 0x01 (TRUE) -- Vertical Uncertainty field is valid 2970 \item 0x00 (FALSE) -- Vertical Uncertainty field is invalid 2971 and is to be ignored 2972 \vspace{-0.18in} \end{itemize1} */ 2973 2974 /* Vertical Uncertainty */ 2975 float vertUnc; 2976 /**< Vertical uncertainty.\n 2977 - Units: Meters */ 2978 2979 /* Vertical Speed validity bit */ 2980 uint8_t speedVertical_valid; 2981 /**< Indicates whether the Vertical Speed field contains valid 2982 information. 2983 \begin{itemize1} 2984 \item 0x01 (TRUE) -- Vertical Speed field is valid 2985 \item 0x00 (FALSE) -- Vertical Speed field is invalid 2986 and is to be ignored 2987 \vspace{-0.18in} \end{itemize1} */ 2988 2989 /* Vertical Speed */ 2990 float speedVertical; 2991 /**< Vertical speed.\n 2992 - Units: Meters/second */ 2993 2994 /* heading validity bit */ 2995 uint8_t heading_valid; 2996 /**< Indicates whether the Heading field contains valid 2997 information. 2998 \begin{itemize1} 2999 \item 0x01 (TRUE) -- Heading field is valid 3000 \item 0x00 (FALSE) -- Heading field is invalid 3001 and is to be ignored 3002 \vspace{-0.18in} \end{itemize1} */ 3003 3004 /* Heading */ 3005 float heading; 3006 /**< Heading.\n 3007 - Units: Degrees \n 3008 - Range: 0 to 359.999 */ 3009 }qmiLocGeofencePositionStructT_v02; /* Type */ 3010 /** 3011 @} 3012 */ 3013 3014 /** @addtogroup loc_qmi_enums 3015 @{ 3016 */ 3017 typedef enum { 3018 QMILOCGEOFENCECONFIDENCEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 3019 eQMI_LOC_GEOFENCE_CONFIDENCE_LOW_V02 = 0x01, /**< Geofence engine indicates a breach with 3020 low confidence; this setting results in lower 3021 power usage, and it can impact the yield because 3022 incorrect breach events may be sent */ 3023 eQMI_LOC_GEOFENCE_CONFIDENCE_MED_V02 = 0x02, /**< (Default) Geofence engine indicates a breach with 3024 medium confidence */ 3025 eQMI_LOC_GEOFENCE_CONFIDENCE_HIGH_V02 = 0x03, /**< Geofence engine indicates a breach with 3026 high confidence; this setting results in higher 3027 power usage */ 3028 QMILOCGEOFENCECONFIDENCEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 3029 }qmiLocGeofenceConfidenceEnumT_v02; 3030 /** 3031 @} 3032 */ 3033 3034 /** @addtogroup loc_qmi_messages 3035 @{ 3036 */ 3037 /** Indication Message; Notifies the control point of 3038 a Geofence breach event. */ 3039 typedef struct { 3040 3041 /* Mandatory */ 3042 /* Geofence ID */ 3043 uint32_t geofenceId; 3044 /**< ID of the Geofence for which this 3045 notification was generated. */ 3046 3047 /* Mandatory */ 3048 /* Geofence Breach Type */ 3049 qmiLocGeofenceBreachTypeEnumT_v02 breachType; 3050 /**< The type of breach that generated this event. 3051 3052 Valid values: \n 3053 - eQMI_LOC_GEOFENCE_BREACH_TYPE_ENTERING (1) -- Denotes that a client entered the Geofence 3054 - eQMI_LOC_GEOFENCE_BREACH_TYPE_LEAVING (2) -- Denotes that a client left the Geofence 3055 */ 3056 3057 /* Optional */ 3058 /* Geofence Position */ 3059 uint8_t geofencePosition_valid; /**< Must be set to true if geofencePosition is being passed */ 3060 qmiLocGeofencePositionStructT_v02 geofencePosition; 3061 /**< \vspace{0.06in} \n Position of the client when it breached the Geofence. 3062 This TLV is included if the client configures the 3063 Geofence to report position. The position is reported 3064 at the same confidence level that was specified in the 3065 Add Circular Geofence request. */ 3066 3067 /* Optional */ 3068 /* Geofence Breach Confidence */ 3069 uint8_t breachConfidence_valid; /**< Must be set to true if breachConfidence is being passed */ 3070 qmiLocGeofenceConfidenceEnumT_v02 breachConfidence; 3071 /**< \vspace{0.06in} \n 3072 Given a breach event, the confidence determines the probability 3073 that the breach happened at the Geofence boundary. 3074 Valid values: \n 3075 - eQMI_LOC_GEOFENCE_CONFIDENCE_LOW (0x01) -- Geofence engine indicates a breach with 3076 low confidence; this setting results in lower 3077 power usage, and it can impact the yield because 3078 incorrect breach events may be sent 3079 - eQMI_LOC_GEOFENCE_CONFIDENCE_MED (0x02) -- (Default) Geofence engine indicates a breach with 3080 medium confidence 3081 - eQMI_LOC_GEOFENCE_CONFIDENCE_HIGH (0x03) -- Geofence engine indicates a breach with 3082 high confidence; this setting results in higher 3083 power usage 3084 */ 3085 }qmiLocEventGeofenceBreachIndMsgT_v02; /* Message */ 3086 /** 3087 @} 3088 */ 3089 3090 /** @addtogroup loc_qmi_messages 3091 @{ 3092 */ 3093 /** Indication Message; Recommends how pedometer reports are to be 3094 sent to the location engine. */ 3095 typedef struct { 3096 3097 /* Mandatory */ 3098 /* Request Pedometer Data */ 3099 uint8_t requestPedometerData; 3100 /**< Indicates whether the GNSS location engine is requesting the client to 3101 send pedometer data. 3102 \begin{itemize1} 3103 \item 0x01 (TRUE) -- GNSS location engine is requesting 3104 pedometer data 3105 \item 0x00 (FALSE) -- GNSS location engine is not requesting 3106 pedometer data 3107 \vspace{-0.18in} \end{itemize1} 3108 */ 3109 3110 /* Optional */ 3111 /* Reset Step Count */ 3112 uint8_t resetStepCount_valid; /**< Must be set to true if resetStepCount is being passed */ 3113 uint8_t resetStepCount; 3114 /**< Indicates whether the location engine is to reset the step count. 3115 \begin{itemize1} 3116 \item 0x01 (TRUE) -- Pedometer step count is to be reset 3117 \item 0x00 (FALSE) -- Pedometer step count is not to be reset 3118 \vspace{-0.18in} \end{itemize1} */ 3119 3120 /* Optional */ 3121 /* Step Count Threshold */ 3122 uint8_t stepCountThreshold_valid; /**< Must be set to true if stepCountThreshold is being passed */ 3123 uint32_t stepCountThreshold; 3124 /**< Specifies the number of steps to be sampled in a pedometer report, 3125 as recommended by the the location engine. If the threshold is set to 0, 3126 the location engine wants a pedometer report at every step event. 3127 */ 3128 }qmiLocEventPedometerControlIndMsgT_v02; /* Message */ 3129 /** 3130 @} 3131 */ 3132 3133 /** @addtogroup loc_qmi_messages 3134 @{ 3135 */ 3136 /** Indication Message; Recommends how motion data reports are to be 3137 sent to the location engine. */ 3138 typedef struct { 3139 3140 /* Mandatory */ 3141 /* Request Motion Data */ 3142 uint8_t requestMotionData; 3143 /**< Indicates whether the GNSS location engine is requesting 3144 the client to send motion data. 3145 \begin{itemize1} 3146 \item 0x01 (TRUE) -- GNSS location engine is requesting 3147 motion data 3148 \item 0x00 (FALSE) -- GNSS location engine is not requesting 3149 motion data 3150 \vspace{-0.18in} \end{itemize1} 3151 */ 3152 }qmiLocEventMotionDataControlIndMsgT_v02; /* Message */ 3153 /** 3154 @} 3155 */ 3156 3157 /** @addtogroup loc_qmi_aggregates 3158 @{ 3159 */ 3160 typedef struct { 3161 3162 /* Low Geofence ID */ 3163 uint32_t idLow; 3164 /**< Contains the starting ID of the Geofence in the range of the continuous 3165 range of Geofences that were breached at the same position. */ 3166 3167 /* High Geofence ID */ 3168 uint32_t idHigh; 3169 /**< Contains the ending ID of the Geofence in the range of the continuous 3170 range of Geofences that were breached at the same position. */ 3171 }qmiLocGeofenceIdContinuousStructT_v02; /* Type */ 3172 /** 3173 @} 3174 */ 3175 3176 /** @addtogroup loc_qmi_messages 3177 @{ 3178 */ 3179 /** Indication Message; Notifies the control point of a Geofence breach event by 3180 batching all the Geofences that were breached. */ 3181 typedef struct { 3182 3183 /* Mandatory */ 3184 /* Geofence Breach Type */ 3185 qmiLocGeofenceBreachTypeEnumT_v02 breachType; 3186 /**< Type of breach that generated this event. 3187 3188 Valid values: \n 3189 - eQMI_LOC_GEOFENCE_BREACH_TYPE_ENTERING (1) -- Denotes that a client entered the Geofence 3190 - eQMI_LOC_GEOFENCE_BREACH_TYPE_LEAVING (2) -- Denotes that a client left the Geofence 3191 */ 3192 3193 /* Optional */ 3194 /* Geofence ID Continuous */ 3195 uint8_t geofenceIdContinuousList_valid; /**< Must be set to true if geofenceIdContinuousList is being passed */ 3196 uint32_t geofenceIdContinuousList_len; /**< Must be set to # of elements in geofenceIdContinuousList */ 3197 qmiLocGeofenceIdContinuousStructT_v02 geofenceIdContinuousList[QMI_LOC_MAX_GEOFENCE_ID_CONTINUOUS_LIST_LENGTH_V02]; 3198 /**< \vspace{0.06in} \n Each entry in the list contains the continuous range of Geofence IDs that were breached 3199 at the same position. This list does not overlap with the discrete Geofence ID list. */ 3200 3201 /* Optional */ 3202 /* Geofence ID Discrete */ 3203 uint8_t geofenceIdDiscreteList_valid; /**< Must be set to true if geofenceIdDiscreteList is being passed */ 3204 uint32_t geofenceIdDiscreteList_len; /**< Must be set to # of elements in geofenceIdDiscreteList */ 3205 uint32_t geofenceIdDiscreteList[QMI_LOC_MAX_GEOFENCE_ID_DISCRETE_LIST_LENGTH_V02]; 3206 /**< This list contains the Geofence IDs that were breached at the same position. 3207 This list does not overlap with the continuous Geofence ID list. */ 3208 3209 /* Optional */ 3210 /* Geofence Position */ 3211 uint8_t geofencePosition_valid; /**< Must be set to true if geofencePosition is being passed */ 3212 qmiLocGeofencePositionStructT_v02 geofencePosition; 3213 /**< \vspace{0.06in} \n Position of the client when it breached the Geofence. 3214 This TLV is included if the client configures the 3215 Geofence to report its position. The position is reported 3216 at the same confidence level that was specified in the 3217 Add Circular Geofence request. */ 3218 3219 /* Optional */ 3220 /* Geofence Breach Confidence */ 3221 uint8_t breachConfidence_valid; /**< Must be set to true if breachConfidence is being passed */ 3222 qmiLocGeofenceConfidenceEnumT_v02 breachConfidence; 3223 /**< \vspace{0.06in} \n 3224 Given a breach event, the confidence determines the probability 3225 that the breach happened at the Geofence boundary. 3226 Valid values: \n 3227 - eQMI_LOC_GEOFENCE_CONFIDENCE_LOW (0x01) -- Geofence engine indicates a breach with 3228 low confidence; this setting results in lower 3229 power usage, and it can impact the yield because 3230 incorrect breach events may be sent 3231 - eQMI_LOC_GEOFENCE_CONFIDENCE_MED (0x02) -- (Default) Geofence engine indicates a breach with 3232 medium confidence 3233 - eQMI_LOC_GEOFENCE_CONFIDENCE_HIGH (0x03) -- Geofence engine indicates a breach with 3234 high confidence; this setting results in higher 3235 power usage 3236 */ 3237 3238 /* Optional */ 3239 /* Heading Uncertainty */ 3240 uint8_t headingUnc_valid; /**< Must be set to true if headingUnc is being passed */ 3241 float headingUnc; 3242 /**< Heading uncertainty.\n 3243 - Units: Degrees \n 3244 - Range: 0 to 359.999 */ 3245 3246 /* Optional */ 3247 /* Vertical Uncertainty */ 3248 uint8_t vertUnc_valid; /**< Must be set to true if vertUnc is being passed */ 3249 float vertUnc; 3250 /**< Vertical uncertainty.\n 3251 - Units: Meters */ 3252 3253 /* Optional */ 3254 /* Speed Uncertainty */ 3255 uint8_t speedUnc_valid; /**< Must be set to true if speedUnc is being passed */ 3256 float speedUnc; 3257 /**< 3-D speed uncertainty.\n 3258 - Units: Meters/second */ 3259 3260 /* Optional */ 3261 /* Horizontal Confidence */ 3262 uint8_t horConfidence_valid; /**< Must be set to true if horConfidence is being passed */ 3263 uint8_t horConfidence; 3264 /**< Horizontal uncertainty confidence.\n 3265 - Units: Percent \n 3266 - Range: 0 to 99 */ 3267 3268 /* Optional */ 3269 /* Vertical Confidence */ 3270 uint8_t vertConfidence_valid; /**< Must be set to true if vertConfidence is being passed */ 3271 uint8_t vertConfidence; 3272 /**< Vertical uncertainty confidence.\n 3273 - Units: Percent \n 3274 - Range: 0 to 99 */ 3275 3276 /* Optional */ 3277 /* Dilution of Precision */ 3278 uint8_t DOP_valid; /**< Must be set to true if DOP is being passed */ 3279 qmiLocDOPStructT_v02 DOP; 3280 /**< \vspace{0.06in} \n Dilution of precision associated with this position. */ 3281 3282 /* Optional */ 3283 /* SVs Used to Calculate the Fix */ 3284 uint8_t gnssSvUsedList_valid; /**< Must be set to true if gnssSvUsedList is being passed */ 3285 uint32_t gnssSvUsedList_len; /**< Must be set to # of elements in gnssSvUsedList */ 3286 uint16_t gnssSvUsedList[QMI_LOC_MAX_SV_USED_LIST_LENGTH_V02]; 3287 /**< Each entry in the list contains the SV ID of a satellite 3288 used for calculating this position report. The following 3289 information is associated with each SV ID: \n 3290 Range: \n 3291 - For GPS: 1 to 32 \n 3292 - For GLONASS: 65 to 96 \n 3293 - For SBAS: 120 to 158 and 183 to 187 \n 3294 - For QZSS: 193 to 197 \n 3295 - For BDS: 201 to 237 \n 3296 - For GAL: 301 to 336 3297 */ 3298 }qmiLocEventGeofenceBatchedBreachIndMsgT_v02; /* Message */ 3299 /** 3300 @} 3301 */ 3302 3303 /** @addtogroup loc_qmi_enums 3304 @{ 3305 */ 3306 typedef enum { 3307 QMILOCGEOFENCEPROXIMITYTYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 3308 eQMI_LOC_GEOFENCE_PROXIMITY_TYPE_IN_V02 = 1, /**< Denotes that a client is in proximity of the Geofence \n */ 3309 eQMI_LOC_GEOFENCE_PROXIMITY_TYPE_OUT_V02 = 2, /**< Denotes that a client is out of proximity of the Geofence */ 3310 QMILOCGEOFENCEPROXIMITYTYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 3311 }qmiLocGeofenceProximityTypeEnumT_v02; 3312 /** 3313 @} 3314 */ 3315 3316 /** @addtogroup loc_qmi_messages 3317 @{ 3318 */ 3319 /** Indication Message; Notifies the control point of a Geofence proximity event. */ 3320 typedef struct { 3321 3322 /* Mandatory */ 3323 /* Geofence Breach Type */ 3324 qmiLocGeofenceProximityTypeEnumT_v02 proximityType; 3325 /**< Valid values: \n 3326 - eQMI_LOC_GEOFENCE_PROXIMITY_TYPE_IN (1) -- Denotes that a client is in proximity of the Geofence \n 3327 - eQMI_LOC_GEOFENCE_PROXIMITY_TYPE_OUT (2) -- Denotes that a client is out of proximity of the Geofence 3328 */ 3329 3330 /* Mandatory */ 3331 /* Geofence ID */ 3332 uint32_t geofenceId; 3333 /**< Identifier of the Geofence that is in proximity to the handset. 3334 */ 3335 3336 /* Optional */ 3337 /* Geofence Context ID */ 3338 uint8_t contextId_valid; /**< Must be set to true if contextId is being passed */ 3339 uint32_t contextId; 3340 /**< Identifier for the context of the Geofence to which the handset is in proximity. 3341 A single Geofence may be associated with different contexts. 3342 */ 3343 }qmiLocEventGeofenceProximityIndMsgT_v02; /* Message */ 3344 /** 3345 @} 3346 */ 3347 3348 /** @addtogroup loc_qmi_enums 3349 @{ 3350 */ 3351 typedef enum { 3352 QMILOCGEOFENCEDWELLTYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 3353 eQMI_LOC_GEOFENCE_DWELL_TYPE_INSIDE_V02 = 1, /**< Denotes that a client dwelled inside the Geofence */ 3354 eQMI_LOC_GEOFENCE_DWELL_TYPE_OUTSIDE_V02 = 2, /**< Denotes that a client dwelled outside the Geofence */ 3355 QMILOCGEOFENCEDWELLTYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 3356 }qmiLocGeofenceDwellTypeEnumT_v02; 3357 /** 3358 @} 3359 */ 3360 3361 /** @addtogroup loc_qmi_messages 3362 @{ 3363 */ 3364 /** Indication Message; Notifies the control point of a Geofence dwell event by 3365 batching all the Geofences that were dwelled in. */ 3366 typedef struct { 3367 3368 /* Mandatory */ 3369 /* Geofence Dwell Type */ 3370 qmiLocGeofenceDwellTypeEnumT_v02 dwellType; 3371 /**< Type of dwell event generated. 3372 3373 Valid values: \n 3374 - eQMI_LOC_GEOFENCE_DWELL_TYPE_INSIDE (1) -- Denotes that a client dwelled inside the Geofence 3375 - eQMI_LOC_GEOFENCE_DWELL_TYPE_OUTSIDE (2) -- Denotes that a client dwelled outside the Geofence 3376 */ 3377 3378 /* Optional */ 3379 /* Geofence ID Continuous */ 3380 uint8_t geofenceIdContinuousList_valid; /**< Must be set to true if geofenceIdContinuousList is being passed */ 3381 uint32_t geofenceIdContinuousList_len; /**< Must be set to # of elements in geofenceIdContinuousList */ 3382 qmiLocGeofenceIdContinuousStructT_v02 geofenceIdContinuousList[QMI_LOC_MAX_GEOFENCE_ID_CONTINUOUS_LIST_LENGTH_V02]; 3383 /**< Each entry in the list contains the continuous range of Geofence IDs in which a client dwelled. 3384 This list does not overlap with the discrete Geofence ID list. */ 3385 3386 /* Optional */ 3387 /* Geofence ID Discrete */ 3388 uint8_t geofenceIdDiscreteList_valid; /**< Must be set to true if geofenceIdDiscreteList is being passed */ 3389 uint32_t geofenceIdDiscreteList_len; /**< Must be set to # of elements in geofenceIdDiscreteList */ 3390 uint32_t geofenceIdDiscreteList[QMI_LOC_MAX_GEOFENCE_ID_DISCRETE_LIST_LENGTH_V02]; 3391 /**< This list contains the Geofence IDs in which a client dwelled. 3392 This list does not overlap with the continuous Geofence ID list. */ 3393 3394 /* Optional */ 3395 /* Geofence Position */ 3396 uint8_t geofencePosition_valid; /**< Must be set to true if geofencePosition is being passed */ 3397 qmiLocGeofencePositionStructT_v02 geofencePosition; 3398 /**< \n The latest position calculated by the Geofence engine when 3399 the dwell notification is sent. */ 3400 3401 /* Optional */ 3402 /* Heading Uncertainty */ 3403 uint8_t headingUnc_valid; /**< Must be set to true if headingUnc is being passed */ 3404 float headingUnc; 3405 /**< Heading uncertainty.\n 3406 - Units: Degrees \n 3407 - Range: 0 to 359.999 */ 3408 3409 /* Optional */ 3410 /* Vertical Uncertainty */ 3411 uint8_t vertUnc_valid; /**< Must be set to true if vertUnc is being passed */ 3412 float vertUnc; 3413 /**< Vertical uncertainty.\n 3414 - Units: Meters */ 3415 3416 /* Optional */ 3417 /* Speed Uncertainty */ 3418 uint8_t speedUnc_valid; /**< Must be set to true if speedUnc is being passed */ 3419 float speedUnc; 3420 /**< 3-D speed uncertainty.\n 3421 - Units: Meters/second */ 3422 3423 /* Optional */ 3424 /* Horizontal Confidence */ 3425 uint8_t horConfidence_valid; /**< Must be set to true if horConfidence is being passed */ 3426 uint8_t horConfidence; 3427 /**< Horizontal uncertainty confidence.\n 3428 - Units: Percent \n 3429 - Range: 0 to 99 */ 3430 3431 /* Optional */ 3432 /* Vertical Confidence */ 3433 uint8_t vertConfidence_valid; /**< Must be set to true if vertConfidence is being passed */ 3434 uint8_t vertConfidence; 3435 /**< Vertical uncertainty confidence.\n 3436 - Units: Percent \n 3437 - Range: 0 to 99 */ 3438 3439 /* Optional */ 3440 /* Dilution of Precision */ 3441 uint8_t DOP_valid; /**< Must be set to true if DOP is being passed */ 3442 qmiLocDOPStructT_v02 DOP; 3443 /**< \vspace{0.06in} \n Dilution of precision associated with this position. */ 3444 3445 /* Optional */ 3446 /* SVs Used to Calculate the Fix */ 3447 uint8_t gnssSvUsedList_valid; /**< Must be set to true if gnssSvUsedList is being passed */ 3448 uint32_t gnssSvUsedList_len; /**< Must be set to # of elements in gnssSvUsedList */ 3449 uint16_t gnssSvUsedList[QMI_LOC_MAX_SV_USED_LIST_LENGTH_V02]; 3450 /**< Each entry in the list contains the SV ID of a satellite 3451 used for calculating this position report. The following 3452 information is associated with each SV ID: \n 3453 Range: \n 3454 - For GPS: 1 to 32 \n 3455 - For GLONASS: 65 to 96 \n 3456 - For SBAS: 120 to 158 and 183 to 187 \n 3457 - For QZSS: 193 to 197 \n 3458 - For BDS: 201 to 237 \n 3459 - For GAL: 301 to 336 3460 */ 3461 }qmiLocEventGeofenceBatchedDwellIndMsgT_v02; /* Message */ 3462 /** 3463 @} 3464 */ 3465 3466 /** @addtogroup loc_qmi_enums 3467 @{ 3468 */ 3469 typedef enum { 3470 QMILOCGDTSERVICEIDENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 3471 eQMI_LOC_GDT_SERVICE_WWAN_V02 = 1, /**< GDT service for WWAN UL */ 3472 eQMI_LOC_GDT_SERVICE_WWAN_DL_V02 = 2, /**< GDT service for WWAN DL */ 3473 QMILOCGDTSERVICEIDENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 3474 }qmiLocGdtServiceIdEnumT_v02; 3475 /** 3476 @} 3477 */ 3478 3479 /** @addtogroup loc_qmi_enums 3480 @{ 3481 */ 3482 typedef enum { 3483 QMILOCGDTACCESSSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 3484 eQMI_LOC_GDT_ACCESS_ALLOWED_V02 = 1, /**< GDT access to the service is allowed */ 3485 eQMI_LOC_GDT_ACCESS_FAILED_V02 = 2, /**< Any type of GDT access error */ 3486 eQMI_LOC_GDT_ACCESS_NOT_ALLOWED_V02 = 3, /**< GDT access to the service is not allowed */ 3487 QMILOCGDTACCESSSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 3488 }qmiLocGdtAccessStatusEnumT_v02; 3489 /** 3490 @} 3491 */ 3492 3493 /** @addtogroup loc_qmi_messages 3494 @{ 3495 */ 3496 /** Indication Message; Requests the control point to transfer data. */ 3497 typedef struct { 3498 3499 /* Mandatory */ 3500 /* GDT Service ID */ 3501 qmiLocGdtServiceIdEnumT_v02 serviceId; 3502 /**< Values: \n 3503 3504 - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL 3505 - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT service for WWAN DL */ 3506 3507 /* Mandatory */ 3508 /* Session ID */ 3509 uint32_t sessionId; 3510 /**< Session ID. */ 3511 3512 /* Mandatory */ 3513 /* Data */ 3514 uint32_t filePath_len; /**< Must be set to # of elements in filePath */ 3515 char filePath[QMI_LOC_MAX_GDT_PATH_LEN_V02]; 3516 /**< File path to the data. \n 3517 - Type: Array of bytes \n 3518 - Maximum length of the array: 255 3519 */ 3520 }qmiLocEventGdtUploadBeginStatusReqIndMsgT_v02; /* Message */ 3521 /** 3522 @} 3523 */ 3524 3525 /** @addtogroup loc_qmi_enums 3526 @{ 3527 */ 3528 typedef enum { 3529 QMILOCGDTENDSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 3530 eQMI_LOC_GDT_SUCCESS_V02 = 1, /**< The sent data was accepted */ 3531 eQMI_LOC_GDT_FAILED_V02 = 2, /**< The sent data was not accepted */ 3532 eQMI_LOC_GDT_INVALID_V02 = 3, /**< General error in the received data */ 3533 QMILOCGDTENDSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 3534 }qmiLocGdtEndStatusEnumT_v02; 3535 /** 3536 @} 3537 */ 3538 3539 /** @addtogroup loc_qmi_messages 3540 @{ 3541 */ 3542 /** Indication Message; Requests the control point to report the status of the 3543 transfered data. */ 3544 typedef struct { 3545 3546 /* Mandatory */ 3547 /* GDT Service ID */ 3548 qmiLocGdtServiceIdEnumT_v02 serviceId; 3549 /**< Values: \n 3550 3551 - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL 3552 - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT service for WWAN DL */ 3553 3554 /* Mandatory */ 3555 /* Session ID */ 3556 uint32_t sessionId; 3557 3558 /* Mandatory */ 3559 /* GDT End Status */ 3560 qmiLocGdtEndStatusEnumT_v02 endStatus; 3561 /**< Values: \n 3562 3563 - eQMI_LOC_GDT_SUCCESS (1) -- The sent data was accepted 3564 - eQMI_LOC_GDT_FAILED (2) -- The sent data was not accepted 3565 - eQMI_LOC_GDT_INVALID (3) -- General error in the received data */ 3566 }qmiLocEventGdtUploadEndReqIndMsgT_v02; /* Message */ 3567 /** 3568 @} 3569 */ 3570 3571 /** @addtogroup loc_qmi_messages 3572 @{ 3573 */ 3574 /** Indication Message; Requests the control point to transfer data. */ 3575 typedef struct { 3576 3577 /* Mandatory */ 3578 /* GDT Service ID */ 3579 qmiLocGdtServiceIdEnumT_v02 serviceId; 3580 /**< Values: \n 3581 3582 - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL 3583 - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT service for WWAN DL */ 3584 3585 /* Mandatory */ 3586 /* Session ID */ 3587 uint32_t sessionId; 3588 /**< Session ID. */ 3589 3590 /* Mandatory */ 3591 /* Interval After Which AP Must Respond to MP */ 3592 uint32_t respTimeoutInterval; 3593 /**< Interval after which the AP must respond to the MP, in seconds. */ 3594 3595 /* Mandatory */ 3596 /* Encoded GTP Client Information */ 3597 uint32_t clientInfo_len; /**< Must be set to # of elements in clientInfo */ 3598 uint8_t clientInfo[QMI_LOC_MAX_GTP_CL_INFO_LEN_V02]; 3599 /**< GTP client information encoded in asn.1 format. \n 3600 - Type: Array of bytes \n 3601 - Maximum length of the array: 1500 3602 */ 3603 3604 /* Mandatory */ 3605 /* Encoded Mobile Status Data */ 3606 uint32_t mobileStatusData_len; /**< Must be set to # of elements in mobileStatusData */ 3607 uint8_t mobileStatusData[QMI_LOC_MAX_GTP_MSD_LEN_V02]; 3608 /**< Mobile status data encoded in asn.1 format. \n 3609 - Type: Array of bytes \n 3610 - Maximum length of the array: 4000 3611 */ 3612 3613 /* Mandatory */ 3614 /* Data Filepath */ 3615 uint32_t filePath_len; /**< Must be set to # of elements in filePath */ 3616 char filePath[QMI_LOC_MAX_GDT_PATH_LEN_V02]; 3617 /**< File path to the position data expected by the MP. \n 3618 - Type: Array of bytes \n 3619 - Maximum length of the array: 255 3620 */ 3621 3622 /* Optional */ 3623 /* Power Budget Info */ 3624 uint8_t powerBudgetInfo_valid; /**< Must be set to true if powerBudgetInfo is being passed */ 3625 uint32_t powerBudgetInfo; 3626 /**< Power budget information. */ 3627 3628 /* Optional */ 3629 /* Power Budget Allowance */ 3630 uint8_t powerBudgetAllowance_valid; /**< Must be set to true if powerBudgetAllowance is being passed */ 3631 uint32_t powerBudgetAllowance; 3632 /**< Power budget allowance. */ 3633 }qmiLocEventGdtDownloadBeginReqIndMsgT_v02; /* Message */ 3634 /** 3635 @} 3636 */ 3637 3638 /** @addtogroup loc_qmi_enums 3639 @{ 3640 */ 3641 typedef enum { 3642 QMILOCGDTRECEIVESTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 3643 eQMI_LOC_GTP_RCV_STATUS_CONTINUE_V02 = 1, /**< Indicates that the AP is to continue sending more partitions to the MP */ 3644 eQMI_LOC_GTP_RCV_STATUS_DONE_V02 = 2, /**< Indicates that the AP is to stop sending partitions to the MP */ 3645 QMILOCGDTRECEIVESTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 3646 }qmiLocGdtReceiveStatusEnumT_v02; 3647 /** 3648 @} 3649 */ 3650 3651 /** @addtogroup loc_qmi_messages 3652 @{ 3653 */ 3654 /** Indication Message; Notifies the control point after consuming the current data transfer. */ 3655 typedef struct { 3656 3657 /* Mandatory */ 3658 /* GDT Service ID */ 3659 qmiLocGdtServiceIdEnumT_v02 serviceId; 3660 /**< Values: \n 3661 3662 - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL 3663 - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT service for WWAN DL */ 3664 3665 /* Mandatory */ 3666 /* Session ID */ 3667 uint32_t sessionId; 3668 /**< Session ID. */ 3669 3670 /* Mandatory */ 3671 /* GDT Receive Status */ 3672 qmiLocGdtReceiveStatusEnumT_v02 status; 3673 /**< Status indicating the continuation or termination of sending to the AP. 3674 Valid values: \n 3675 - eQMI_LOC_GTP_RCV_STATUS_CONTINUE (1) -- Indicates that the AP is to continue sending more partitions to the MP 3676 - eQMI_LOC_GTP_RCV_STATUS_DONE (2) -- Indicates that the AP is to stop sending partitions to the MP 3677 */ 3678 }qmiLocEventGdtReceiveDoneIndMsgT_v02; /* Message */ 3679 /** 3680 @} 3681 */ 3682 3683 /** @addtogroup loc_qmi_enums 3684 @{ 3685 */ 3686 typedef enum { 3687 QMILOCSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 3688 eQMI_LOC_SUCCESS_V02 = 0, /**< Request was completed successfully \n */ 3689 eQMI_LOC_GENERAL_FAILURE_V02 = 1, /**< Request failed because of a general failure \n */ 3690 eQMI_LOC_UNSUPPORTED_V02 = 2, /**< Request failed because it is not supported \n */ 3691 eQMI_LOC_INVALID_PARAMETER_V02 = 3, /**< Request failed because it contained invalid parameters \n */ 3692 eQMI_LOC_ENGINE_BUSY_V02 = 4, /**< Request failed because the engine is busy \n */ 3693 eQMI_LOC_PHONE_OFFLINE_V02 = 5, /**< Request failed because the phone is offline \n */ 3694 eQMI_LOC_TIMEOUT_V02 = 6, /**< Request failed because it timed out \n */ 3695 eQMI_LOC_CONFIG_NOT_SUPPORTED_V02 = 7, /**< Request failed because an undefined configuration was requested \n */ 3696 eQMI_LOC_INSUFFICIENT_MEMORY_V02 = 8, /**< Request failed because the engine could not allocate sufficient memory for the request \n */ 3697 eQMI_LOC_MAX_GEOFENCE_PROGRAMMED_V02 = 9, /**< Request failed because the maximum number of Geofences are already programmed \n */ 3698 eQMI_LOC_XTRA_VERSION_CHECK_FAILURE_V02 = 10, /**< Location service failed because of an XTRA version-based file format check failure */ 3699 QMILOCSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 3700 }qmiLocStatusEnumT_v02; 3701 /** 3702 @} 3703 */ 3704 3705 /** @addtogroup loc_qmi_messages 3706 @{ 3707 */ 3708 /** Indication Message; Notifies the control point of the end of a download session. */ 3709 typedef struct { 3710 3711 /* Mandatory */ 3712 /* GDT Service ID */ 3713 qmiLocGdtServiceIdEnumT_v02 serviceId; 3714 /**< Values: \n 3715 3716 - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL 3717 - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT service for WWAN DL */ 3718 3719 /* Mandatory */ 3720 /* Session ID */ 3721 uint32_t sessionId; 3722 /**< Session ID. */ 3723 3724 /* Mandatory */ 3725 /* GDT Download End Status */ 3726 qmiLocStatusEnumT_v02 status; 3727 /**< Status of the download session. 3728 Valid values: \n 3729 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 3730 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 3731 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 3732 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 3733 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 3734 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 3735 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 3736 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 3737 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 3738 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 3739 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 3740 */ 3741 }qmiLocEventGdtDownloadEndReqIndMsgT_v02; /* Message */ 3742 /** 3743 @} 3744 */ 3745 3746 /** @addtogroup loc_qmi_messages 3747 @{ 3748 */ 3749 /** Request Message; Client can query the service revision using this message. */ 3750 typedef struct { 3751 /* This element is a placeholder to prevent the declaration of 3752 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 3753 char __placeholder; 3754 }qmiLocGetServiceRevisionReqMsgT_v02; 3755 3756 /* Message */ 3757 /** 3758 @} 3759 */ 3760 3761 /** @addtogroup loc_qmi_messages 3762 @{ 3763 */ 3764 /** Indication Message; Client can query the service revision using this message. */ 3765 typedef struct { 3766 3767 /* Mandatory */ 3768 /* Get Revision Status */ 3769 qmiLocStatusEnumT_v02 status; 3770 /**< Status of the Get Revision request. 3771 3772 Valid values: \n 3773 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 3774 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 3775 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 3776 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 3777 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 3778 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 3779 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 3780 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 3781 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 3782 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 3783 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 3784 */ 3785 3786 /* Mandatory */ 3787 /* Interface Definition Minor Revision */ 3788 uint32_t revision; 3789 /**< Revision of the service. This is the minor revision of the interface that 3790 the service implements. Minor revision updates of the service are always 3791 backward compatible. */ 3792 3793 /* Optional */ 3794 /* GNSS Measurement Engine Firmware Version String */ 3795 uint8_t gnssMeFWVerString_valid; /**< Must be set to true if gnssMeFWVerString is being passed */ 3796 char gnssMeFWVerString[QMI_LOC_GNSS_ME_VERSION_STRING_MAX_LENGTH_V02 + 1]; 3797 /**< Version of the GNSS measurement engine software running under the LOC API. 3798 \begin{itemize1} 3799 \item Type: NULL-terminated string 3800 \item Maximum string length (including NULL terminator): 128 3801 \vspace{0.1in} \end{itemize1} 3802 3803 \textbf{Note:} This string is only provided on platforms that have 3804 a measurement engine that supports this version string. On all other 3805 platforms, this optional TLV is not provided. */ 3806 3807 /* Optional */ 3808 /* GNSS Hosted Software Version String */ 3809 uint8_t gnssHostSWVerString_valid; /**< Must be set to true if gnssHostSWVerString is being passed */ 3810 char gnssHostSWVerString[QMI_LOC_GNSS_HOSTED_SW_VERSION_STRING_MAX_LENGTH_V02 + 1]; 3811 /**< Version of the GNSS hosted software running under the LOC API. 3812 \begin{itemize1} 3813 \item Type: NULL-terminated string 3814 \item Maximum string length (including NULL terminator): 128 3815 \vspace{0.1in}\end{itemize1} 3816 3817 \textbf{Note:} This string is only provided on hosted architectures 3818 (measurement and position engine running on different processors) that 3819 support this version string. On all other platforms, this optional TLV 3820 is not provided. */ 3821 3822 /* Optional */ 3823 /* GNSS Software Version String */ 3824 uint8_t gnssSWVerString_valid; /**< Must be set to true if gnssSWVerString is being passed */ 3825 char gnssSWVerString[QMI_LOC_GNSS_SW_VERSION_STRING_MAX_LENGTH_V02 + 1]; 3826 /**< Aggregate version of the GNSS software. 3827 \begin{itemize1} 3828 \item Type: NULL-terminated string 3829 \item Maximum string length (including NULL terminator): 256 3830 \vspace{-0.18in} \end{itemize1} */ 3831 }qmiLocGetServiceRevisionIndMsgT_v02; /* Message */ 3832 /** 3833 @} 3834 */ 3835 3836 /** @addtogroup loc_qmi_messages 3837 @{ 3838 */ 3839 /** Request Message; Gets the fix criteria from the location engine. */ 3840 typedef struct { 3841 /* This element is a placeholder to prevent the declaration of 3842 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 3843 char __placeholder; 3844 }qmiLocGetFixCriteriaReqMsgT_v02; 3845 3846 /* Message */ 3847 /** 3848 @} 3849 */ 3850 3851 /** @addtogroup loc_qmi_messages 3852 @{ 3853 */ 3854 /** Indication Message; Gets the fix criteria from the location engine. */ 3855 typedef struct { 3856 3857 /* Mandatory */ 3858 /* Get Fix Criteria Status */ 3859 qmiLocStatusEnumT_v02 status; 3860 /**< Status of the Get Fix Criteria request. 3861 3862 Valid values: \n 3863 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 3864 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 3865 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 3866 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 3867 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 3868 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 3869 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 3870 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 3871 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 3872 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 3873 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 3874 */ 3875 3876 /* Optional */ 3877 /* Horizontal Accuracy */ 3878 uint8_t horizontalAccuracyLevel_valid; /**< Must be set to true if horizontalAccuracyLevel is being passed */ 3879 qmiLocAccuracyLevelEnumT_v02 horizontalAccuracyLevel; 3880 /**< Horizontal accuracy level. 3881 3882 Valid values: \n 3883 - eQMI_LOC_ACCURACY_LOW (1) -- Low accuracy 3884 - eQMI_LOC_ACCURACY_MED (2) -- Medium accuracy 3885 - eQMI_LOC_ACCURACY_HIGH (3) -- High accuracy 3886 */ 3887 3888 /* Optional */ 3889 /* Enable/Disable Intermediate Fixes */ 3890 uint8_t intermediateReportState_valid; /**< Must be set to true if intermediateReportState is being passed */ 3891 qmiLocIntermediateReportStateEnumT_v02 intermediateReportState; 3892 /**< Intermediate Report state (ON, OFF).\n 3893 The client must explicitly set this field to OFF to stop receiving 3894 intermediate position reports. Intermediate position reports are 3895 generated at 1 Hz and are ON by default. If intermediate reports 3896 are turned ON, the client receives position reports even if the 3897 accuracy criteria is not met. The status in the position report is 3898 set to IN_PROGRESS for intermediate reports. 3899 3900 Valid values: \n 3901 - eQMI_LOC_INTERMEDIATE_REPORTS_ON (1) -- Intermediate reports are turned on 3902 - eQMI_LOC_INTERMEDIATE_REPORTS_OFF (2) -- Intermediate reports are turned off 3903 */ 3904 3905 /* Optional */ 3906 /* Minimum Interval Between Fixes */ 3907 uint8_t minInterval_valid; /**< Must be set to true if minInterval is being passed */ 3908 uint32_t minInterval; 3909 /**< Time that must elapse before alerting the client. \n 3910 - Units: Milliseconds */ 3911 3912 /* Optional */ 3913 /* ID of the Application that Sent the Position Request */ 3914 uint8_t applicationId_valid; /**< Must be set to true if applicationId is being passed */ 3915 qmiLocApplicationIdStructT_v02 applicationId; 3916 /**< \vspace{0.06in} \n Application provider, name, and version.*/ 3917 3918 /* Optional */ 3919 /* Configuration for Altitude Assumed Info in GNSS SV Info Event */ 3920 uint8_t configAltitudeAssumed_valid; /**< Must be set to true if configAltitudeAssumed is being passed */ 3921 qmiLocConfigIncludeAltitudeAssumedInGnssSvInfoEnumT_v02 configAltitudeAssumed; 3922 /**< Specifies the configuration to include Altitude Assumed information in the GNSS SV Info Event. 3923 When enabled, an additional GNSS SV Info event indication is sent to the control 3924 point that also includes the altitude assumed information. 3925 3926 If not specified, the configuration defaults to ENABLED. 3927 3928 Valid values: \n 3929 - eQMI_LOC_ALTITUDE_ASSUMED_IN_GNSS_SV_INFO_ENABLED (1) -- Enable Altitude Assumed information in GNSS SV Info Event. 3930 - eQMI_LOC_ALTITUDE_ASSUMED_IN_GNSS_SV_INFO_DISABLED (2) -- Disable Altitude Assumed information in GNSS SV Info Event. 3931 */ 3932 3933 /* Optional */ 3934 /* Minimum Interval Between Intermediate Position Reports */ 3935 uint8_t minIntermediatePositionReportInterval_valid; /**< Must be set to true if minIntermediatePositionReportInterval is being passed */ 3936 uint32_t minIntermediatePositionReportInterval; 3937 /**< Minimum time interval for intermediate position reports, specified by the control point, 3938 that, between the position reports elapsed time, must be longer than the interval time. 3939 If this optional value is not set or set to the default value (0), the intermediate position 3940 will be reported when it is ready. \n 3941 - Units: Milliseconds \n 3942 - Default: 0 ms 3943 */ 3944 3945 /* Optional */ 3946 /* Maximum Wait Time to Get a Position Report */ 3947 uint8_t positionReportTimeout_valid; /**< Must be set to true if positionReportTimeout is being passed */ 3948 uint32_t positionReportTimeout; 3949 /**< Maximum time to work on each fix, specified by the control point. 3950 The GPS engine returns QMI_ERR_INTERNAL if a position cannot be obtained 3951 within the positionReportTimeout value. \n 3952 - Units: Milliseconds \n 3953 - Default: 255*1000 ms \n 3954 - Range: 1000 - 255*1000 ms 3955 */ 3956 3957 /* Optional */ 3958 /* Share position report with other clients */ 3959 uint8_t sharePosition_valid; /**< Must be set to true if sharePosition is being passed */ 3960 uint8_t sharePosition; 3961 /**< Allow to share the position report with the other QMI_LOC clients \n 3962 \item 0x00(FALSE) Do not share the position report 3963 \item 0x01(TRUE) Share the position report 3964 \vspace{-0.18in} \end{itemize1} 3965 */ 3966 }qmiLocGetFixCriteriaIndMsgT_v02; /* Message */ 3967 /** 3968 @} 3969 */ 3970 3971 /** @addtogroup loc_qmi_enums 3972 @{ 3973 */ 3974 typedef enum { 3975 QMILOCNIUSERRESPENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 3976 eQMI_LOC_NI_LCS_NOTIFY_VERIFY_ACCEPT_V02 = 1, /**< User accepted the Notify/Verify request */ 3977 eQMI_LOC_NI_LCS_NOTIFY_VERIFY_DENY_V02 = 2, /**< User denied the Notify/Verify request */ 3978 eQMI_LOC_NI_LCS_NOTIFY_VERIFY_NORESP_V02 = 3, /**< User did not respond to the Notify/Verify request */ 3979 QMILOCNIUSERRESPENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 3980 }qmiLocNiUserRespEnumT_v02; 3981 /** 3982 @} 3983 */ 3984 3985 /** @addtogroup loc_qmi_messages 3986 @{ 3987 */ 3988 /** Request Message; Sends the NI user response back to the engine; success or 3989 failure is reported in a separate indication. */ 3990 typedef struct { 3991 3992 /* Mandatory */ 3993 /* User Response */ 3994 qmiLocNiUserRespEnumT_v02 userResp; 3995 /**< User accepted or denied. 3996 3997 Valid values: \n 3998 - eQMI_LOC_NI_LCS_NOTIFY_VERIFY_ACCEPT (1) -- User accepted the Notify/Verify request 3999 - eQMI_LOC_NI_LCS_NOTIFY_VERIFY_DENY (2) -- User denied the Notify/Verify request 4000 - eQMI_LOC_NI_LCS_NOTIFY_VERIFY_NORESP (3) -- User did not respond to the Notify/Verify request 4001 */ 4002 4003 /* Mandatory */ 4004 /* Notification Type */ 4005 qmiLocNiNotifyVerifyEnumT_v02 notificationType; 4006 /**< Type of notification/verification performed. 4007 4008 Valid values: \n 4009 - eQMI_LOC_NI_USER_NO_NOTIFY_NO_VERIFY (1) -- No notification and no verification required 4010 - eQMI_LOC_NI_USER_NOTIFY_ONLY (2) -- Notify only; no verification required 4011 - eQMI_LOC_NI_USER_NOTIFY_VERIFY_ALLOW_NO_RESP (3) -- Notify and verify, but no response required. 4012 - eQMI_LOC_NI_USER_NOTIFY_VERIFY_NOT_ALLOW_NO_RESP (4) -- Notify and verify, and require a response 4013 - eQMI_LOC_NI_USER_NOTIFY_VERIFY_PRIVACY_OVERRIDE (5) -- Notify and verify; privacy override 4014 */ 4015 4016 /* Optional */ 4017 /* Network Initiated Vx Request */ 4018 uint8_t NiVxPayload_valid; /**< Must be set to true if NiVxPayload is being passed */ 4019 qmiLocNiVxNotifyVerifyStructT_v02 NiVxPayload; 4020 /**< \vspace{0.06in} \n Optional NI VX request payload. */ 4021 4022 /* Optional */ 4023 /* Network Initiated SUPL Request */ 4024 uint8_t NiSuplPayload_valid; /**< Must be set to true if NiSuplPayload is being passed */ 4025 qmiLocNiSuplNotifyVerifyStructT_v02 NiSuplPayload; 4026 /**< \vspace{0.06in} \n Optional NI SUPL request payload. */ 4027 4028 /* Optional */ 4029 /* Network Initiated UMTS Control Plane Request */ 4030 uint8_t NiUmtsCpPayload_valid; /**< Must be set to true if NiUmtsCpPayload is being passed */ 4031 qmiLocNiUmtsCpNotifyVerifyStructT_v02 NiUmtsCpPayload; 4032 /**< \vspace{0.06in} \n Optional NI UMTS-CP request payload. */ 4033 4034 /* Optional */ 4035 /* Network Initiated Service Interaction Request */ 4036 uint8_t NiVxServiceInteractionPayload_valid; /**< Must be set to true if NiVxServiceInteractionPayload is being passed */ 4037 qmiLocNiVxServiceInteractionStructT_v02 NiVxServiceInteractionPayload; 4038 /**< \vspace{0.06in} \n Optional NI service interaction payload. */ 4039 4040 /* Optional */ 4041 /* Network Initiated SUPL Version 2 Extension */ 4042 uint8_t NiSuplVer2ExtPayload_valid; /**< Must be set to true if NiSuplVer2ExtPayload is being passed */ 4043 qmiLocNiSuplVer2ExtStructT_v02 NiSuplVer2ExtPayload; 4044 /**< \vspace{0.06in} \n Optional SUPL Version 2 Extension payload. */ 4045 4046 /* Optional */ 4047 /* SUPL Emergency Notification */ 4048 uint8_t suplEmergencyNotification_valid; /**< Must be set to true if suplEmergencyNotification is being passed */ 4049 qmiLocEmergencyNotificationStructT_v02 suplEmergencyNotification; 4050 /**< \vspace{0.06in} \n SUPL emergency notification payload. Emergency notification 4051 can be given even without an ESLP address */ 4052 }qmiLocNiUserRespReqMsgT_v02; /* Message */ 4053 /** 4054 @} 4055 */ 4056 4057 /** @addtogroup loc_qmi_messages 4058 @{ 4059 */ 4060 /** Indication Message; Sends the NI user response back to the engine; success or 4061 failure is reported in a separate indication. */ 4062 typedef struct { 4063 4064 /* Mandatory */ 4065 /* NI User Response Status */ 4066 qmiLocStatusEnumT_v02 status; 4067 /**< Status of the NI User Response request. 4068 4069 Valid values: \n 4070 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 4071 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 4072 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 4073 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 4074 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 4075 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 4076 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 4077 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 4078 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 4079 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 4080 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 4081 */ 4082 }qmiLocNiUserRespIndMsgT_v02; /* Message */ 4083 /** 4084 @} 4085 */ 4086 4087 /** @addtogroup loc_qmi_enums 4088 @{ 4089 */ 4090 typedef enum { 4091 QMILOCPREDICTEDORBITSDATAFORMATENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 4092 eQMI_LOC_PREDICTED_ORBITS_XTRA_V02 = 0, /**< Default is QCOM-XTRA format. */ 4093 QMILOCPREDICTEDORBITSDATAFORMATENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 4094 }qmiLocPredictedOrbitsDataFormatEnumT_v02; 4095 /** 4096 @} 4097 */ 4098 4099 /** @addtogroup loc_qmi_messages 4100 @{ 4101 */ 4102 /** Request Message; Injects predicted orbits data. */ 4103 typedef struct { 4104 4105 /* Mandatory */ 4106 /* Total Size */ 4107 uint32_t totalSize; 4108 /**< Total size of the predicted orbits data to be injected. \n 4109 - Units: Bytes */ 4110 4111 /* Mandatory */ 4112 /* Total Parts */ 4113 uint16_t totalParts; 4114 /**< Total number of parts into which the predicted orbits data is 4115 divided. */ 4116 4117 /* Mandatory */ 4118 /* Part Number */ 4119 uint16_t partNum; 4120 /**< Number of the current predicted orbits data part; starts at 1. */ 4121 4122 /* Mandatory */ 4123 /* Data */ 4124 uint32_t partData_len; /**< Must be set to # of elements in partData */ 4125 char partData[QMI_LOC_MAX_PREDICTED_ORBITS_PART_LEN_V02]; 4126 /**< Predicted orbits data. \n 4127 - Type: Array of bytes \n 4128 - Maximum length of the array: 1024 4129 */ 4130 4131 /* Optional */ 4132 /* Format Type */ 4133 uint8_t formatType_valid; /**< Must be set to true if formatType is being passed */ 4134 qmiLocPredictedOrbitsDataFormatEnumT_v02 formatType; 4135 /**< Predicted orbits data format. \n 4136 Valid values: \n 4137 - eQMI_LOC_PREDICTED_ORBITS_XTRA (0) -- Default is QCOM-XTRA format. 4138 */ 4139 }qmiLocInjectPredictedOrbitsDataReqMsgT_v02; /* Message */ 4140 /** 4141 @} 4142 */ 4143 4144 /** @addtogroup loc_qmi_messages 4145 @{ 4146 */ 4147 /** Indication Message; Injects predicted orbits data. */ 4148 typedef struct { 4149 4150 /* Mandatory */ 4151 /* Data Injection Status */ 4152 qmiLocStatusEnumT_v02 status; 4153 /**< Status of the Data Injection request. 4154 4155 Valid values: \n 4156 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 4157 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 4158 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 4159 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 4160 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 4161 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 4162 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 4163 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 4164 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 4165 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 4166 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 4167 */ 4168 4169 /* Optional */ 4170 /* Part Number */ 4171 uint8_t partNum_valid; /**< Must be set to true if partNum is being passed */ 4172 uint16_t partNum; 4173 /**< Number of the predicted orbits data part for which this indication 4174 is sent; starts at 1. */ 4175 }qmiLocInjectPredictedOrbitsDataIndMsgT_v02; /* Message */ 4176 /** 4177 @} 4178 */ 4179 4180 /** @addtogroup loc_qmi_messages 4181 @{ 4182 */ 4183 /** Request Message; Gets the predicted orbits data source. */ 4184 typedef struct { 4185 /* This element is a placeholder to prevent the declaration of 4186 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 4187 char __placeholder; 4188 }qmiLocGetPredictedOrbitsDataSourceReqMsgT_v02; 4189 4190 /* Message */ 4191 /** 4192 @} 4193 */ 4194 4195 /** @addtogroup loc_qmi_messages 4196 @{ 4197 */ 4198 /** Indication Message; Gets the predicted orbits data source. */ 4199 typedef struct { 4200 4201 /* Mandatory */ 4202 /* Predicted Orbits Data Source Status */ 4203 qmiLocStatusEnumT_v02 status; 4204 /**< Status of the query request for a predicted orbits data source. 4205 4206 Valid values: \n 4207 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 4208 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 4209 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 4210 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 4211 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 4212 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 4213 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 4214 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 4215 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 4216 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 4217 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 4218 */ 4219 4220 /* Optional */ 4221 /* Allowed Sizes */ 4222 uint8_t allowedSizes_valid; /**< Must be set to true if allowedSizes is being passed */ 4223 qmiLocPredictedOrbitsAllowedSizesStructT_v02 allowedSizes; 4224 /**< \n Maximum part and file size allowed to be injected in the engine. */ 4225 4226 /* Optional */ 4227 /* Server List */ 4228 uint8_t serverList_valid; /**< Must be set to true if serverList is being passed */ 4229 qmiLocPredictedOrbitsServerListStructT_v02 serverList; 4230 /**< \n List of servers that can be used by the client to download 4231 predicted orbits data. */ 4232 }qmiLocGetPredictedOrbitsDataSourceIndMsgT_v02; /* Message */ 4233 /** 4234 @} 4235 */ 4236 4237 /** @addtogroup loc_qmi_messages 4238 @{ 4239 */ 4240 /** Request Message; Gets the predicted orbits data validity. */ 4241 typedef struct { 4242 /* This element is a placeholder to prevent the declaration of 4243 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 4244 char __placeholder; 4245 }qmiLocGetPredictedOrbitsDataValidityReqMsgT_v02; 4246 4247 /* Message */ 4248 /** 4249 @} 4250 */ 4251 4252 /** @addtogroup loc_qmi_aggregates 4253 @{ 4254 */ 4255 typedef struct { 4256 4257 uint64_t startTimeInUTC; 4258 /**< Predicted orbits data is valid starting from this time. \n 4259 - Units: Seconds (since Jan. 1, 1970) 4260 */ 4261 4262 uint16_t durationHours; 4263 /**< Duration from the start time for which the data is valid.\n 4264 - Units: Hours 4265 */ 4266 }qmiLocPredictedOrbitsDataValidityStructT_v02; /* Type */ 4267 /** 4268 @} 4269 */ 4270 4271 /** @addtogroup loc_qmi_messages 4272 @{ 4273 */ 4274 /** Indication Message; Gets the predicted orbits data validity. */ 4275 typedef struct { 4276 4277 /* Mandatory */ 4278 /* Predicted Orbits Data Validity Status */ 4279 qmiLocStatusEnumT_v02 status; 4280 /**< Status of the query request for predicted orbits data validity. 4281 4282 Valid values: \n 4283 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 4284 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 4285 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 4286 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 4287 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 4288 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 4289 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 4290 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 4291 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 4292 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 4293 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 4294 */ 4295 4296 /* Optional */ 4297 /* Validity Info */ 4298 uint8_t validityInfo_valid; /**< Must be set to true if validityInfo is being passed */ 4299 qmiLocPredictedOrbitsDataValidityStructT_v02 validityInfo; 4300 }qmiLocGetPredictedOrbitsDataValidityIndMsgT_v02; /* Message */ 4301 /** 4302 @} 4303 */ 4304 4305 /** @addtogroup loc_qmi_messages 4306 @{ 4307 */ 4308 /** Request Message; Injects UTC time in the location engine. */ 4309 typedef struct { 4310 4311 /* Mandatory */ 4312 /* UTC Time */ 4313 uint64_t timeUtc; 4314 /**< UTC time since Jan. 1, 1970.\n 4315 - Units: Milliseconds */ 4316 4317 /* Mandatory */ 4318 /* Time Uncertainty */ 4319 uint32_t timeUnc; 4320 /**< Time uncertainty.\n 4321 - Units: Milliseconds */ 4322 }qmiLocInjectUtcTimeReqMsgT_v02; /* Message */ 4323 /** 4324 @} 4325 */ 4326 4327 /** @addtogroup loc_qmi_messages 4328 @{ 4329 */ 4330 /** Indication Message; Injects UTC time in the location engine. */ 4331 typedef struct { 4332 4333 /* Mandatory */ 4334 /* UTC Time Injection Status */ 4335 qmiLocStatusEnumT_v02 status; 4336 /**< Status of the UTC Time Injection request. 4337 4338 Valid values: \n 4339 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 4340 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 4341 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 4342 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 4343 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 4344 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 4345 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 4346 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 4347 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 4348 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 4349 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 4350 */ 4351 }qmiLocInjectUtcTimeIndMsgT_v02; /* Message */ 4352 /** 4353 @} 4354 */ 4355 4356 /** @addtogroup loc_qmi_enums 4357 @{ 4358 */ 4359 typedef enum { 4360 QMILOCALTSRCENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 4361 eQMI_LOC_ALT_SRC_UNKNOWN_V02 = 0, /**< Source is unknown */ 4362 eQMI_LOC_ALT_SRC_GPS_V02 = 1, /**< GPS is the source */ 4363 eQMI_LOC_ALT_SRC_CELL_ID_V02 = 2, /**< Cell ID provided the source */ 4364 eQMI_LOC_ALT_SRC_ENHANCED_CELL_ID_V02 = 3, /**< Source is enhanced cell ID */ 4365 eQMI_LOC_ALT_SRC_WIFI_V02 = 4, /**< Wi-Fi is the source */ 4366 eQMI_LOC_ALT_SRC_TERRESTRIAL_V02 = 5, /**< Terrestrial source */ 4367 eQMI_LOC_ALT_SRC_TERRESTRIAL_HYBRID_V02 = 6, /**< Hybrid terrestrial source */ 4368 eQMI_LOC_ALT_SRC_ALTITUDE_DATABASE_V02 = 7, /**< Altitude database is the source */ 4369 eQMI_LOC_ALT_SRC_BAROMETRIC_ALTIMETER_V02 = 8, /**< Barometric altimeter is the source */ 4370 eQMI_LOC_ALT_SRC_OTHER_V02 = 9, /**< Other sources */ 4371 QMILOCALTSRCENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 4372 }qmiLocAltSrcEnumT_v02; 4373 /** 4374 @} 4375 */ 4376 4377 /** @addtogroup loc_qmi_enums 4378 @{ 4379 */ 4380 typedef enum { 4381 QMILOCALTSRCLINKAGEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 4382 eQMI_LOC_ALT_SRC_LINKAGE_NOT_SPECIFIED_V02 = 0, /**< Not specified */ 4383 eQMI_LOC_ALT_SRC_LINKAGE_FULLY_INTERDEPENDENT_V02 = 1, /**< Fully interdependent */ 4384 eQMI_LOC_ALT_SRC_LINKAGE_DEPENDS_ON_LAT_LONG_V02 = 2, /**< Depends on latitude and longitude */ 4385 eQMI_LOC_ALT_SRC_LINKAGE_FULLY_INDEPENDENT_V02 = 3, /**< Fully independent */ 4386 QMILOCALTSRCLINKAGEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 4387 }qmiLocAltSrcLinkageEnumT_v02; 4388 /** 4389 @} 4390 */ 4391 4392 /** @addtogroup loc_qmi_enums 4393 @{ 4394 */ 4395 typedef enum { 4396 QMILOCALTSRCUNCERTAINTYCOVERAGEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 4397 eQMI_LOC_ALT_UNCERTAINTY_NOT_SPECIFIED_V02 = 0, /**< Not specified */ 4398 eQMI_LOC_ALT_UNCERTAINTY_POINT_V02 = 1, /**< Altitude uncertainty is valid at the injected horizontal 4399 position coordinates only */ 4400 eQMI_LOC_ALT_UNCERTAINTY_FULL_V02 = 2, /**< Altitude uncertainty applies to the position of the device 4401 regardless of horizontal position (within the horizontal 4402 uncertainty region, if provided) */ 4403 QMILOCALTSRCUNCERTAINTYCOVERAGEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 4404 }qmiLocAltSrcUncertaintyCoverageEnumT_v02; 4405 /** 4406 @} 4407 */ 4408 4409 /** @addtogroup loc_qmi_aggregates 4410 @{ 4411 */ 4412 typedef struct { 4413 4414 qmiLocAltSrcEnumT_v02 source; 4415 /**< Specifies the source of the altitude. 4416 4417 Valid values: \n 4418 - eQMI_LOC_ALT_SRC_UNKNOWN (0) -- Source is unknown 4419 - eQMI_LOC_ALT_SRC_GPS (1) -- GPS is the source 4420 - eQMI_LOC_ALT_SRC_CELL_ID (2) -- Cell ID provided the source 4421 - eQMI_LOC_ALT_SRC_ENHANCED_CELL_ID (3) -- Source is enhanced cell ID 4422 - eQMI_LOC_ALT_SRC_WIFI (4) -- Wi-Fi is the source 4423 - eQMI_LOC_ALT_SRC_TERRESTRIAL (5) -- Terrestrial source 4424 - eQMI_LOC_ALT_SRC_TERRESTRIAL_HYBRID (6) -- Hybrid terrestrial source 4425 - eQMI_LOC_ALT_SRC_ALTITUDE_DATABASE (7) -- Altitude database is the source 4426 - eQMI_LOC_ALT_SRC_BAROMETRIC_ALTIMETER (8) -- Barometric altimeter is the source 4427 - eQMI_LOC_ALT_SRC_OTHER (9) -- Other sources 4428 */ 4429 4430 qmiLocAltSrcLinkageEnumT_v02 linkage; 4431 /**< Specifies the dependency between the horizontal and 4432 altitude position components. 4433 4434 Valid values: \n 4435 - eQMI_LOC_ALT_SRC_LINKAGE_NOT_SPECIFIED (0) -- Not specified 4436 - eQMI_LOC_ALT_SRC_LINKAGE_FULLY_INTERDEPENDENT (1) -- Fully interdependent 4437 - eQMI_LOC_ALT_SRC_LINKAGE_DEPENDS_ON_LAT_LONG (2) -- Depends on latitude and longitude 4438 - eQMI_LOC_ALT_SRC_LINKAGE_FULLY_INDEPENDENT (3) -- Fully independent 4439 */ 4440 4441 qmiLocAltSrcUncertaintyCoverageEnumT_v02 coverage; 4442 /**< Specifies the region of uncertainty. 4443 4444 Valid values: \n 4445 - eQMI_LOC_ALT_UNCERTAINTY_NOT_SPECIFIED (0) -- Not specified 4446 - eQMI_LOC_ALT_UNCERTAINTY_POINT (1) -- Altitude uncertainty is valid at the injected horizontal 4447 position coordinates only 4448 - eQMI_LOC_ALT_UNCERTAINTY_FULL (2) -- Altitude uncertainty applies to the position of the device 4449 regardless of horizontal position (within the horizontal 4450 uncertainty region, if provided) 4451 */ 4452 }qmiLocAltitudeSrcInfoStructT_v02; /* Type */ 4453 /** 4454 @} 4455 */ 4456 4457 /** @addtogroup loc_qmi_enums 4458 @{ 4459 */ 4460 typedef enum { 4461 QMILOCPOSITIONSRCENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 4462 eQMI_LOC_POSITION_SRC_GNSS_V02 = 0, /**< Position source is GNSS */ 4463 eQMI_LOC_POSITION_SRC_CELLID_V02 = 1, /**< Position source is Cell ID */ 4464 eQMI_LOC_POSITION_SRC_ENH_CELLID_V02 = 2, /**< Position source is Enhanced Cell ID */ 4465 eQMI_LOC_POSITION_SRC_WIFI_V02 = 3, /**< Position source is Wi-Fi */ 4466 eQMI_LOC_POSITION_SRC_TERRESTRIAL_V02 = 4, /**< Position source is Terrestrial */ 4467 eQMI_LOC_POSITION_SRC_GNSS_TERRESTRIAL_HYBRID_V02 = 5, /**< Position source is GNSS Terrestrial Hybrid */ 4468 eQMI_LOC_POSITION_SRC_OTHER_V02 = 6, /**< Other sources */ 4469 QMILOCPOSITIONSRCENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 4470 }qmiLocPositionSrcEnumT_v02; 4471 /** 4472 @} 4473 */ 4474 4475 /** @addtogroup loc_qmi_messages 4476 @{ 4477 */ 4478 /** Request Message; Injects a position to the location engine. */ 4479 typedef struct { 4480 4481 /* Optional */ 4482 /* Latitude */ 4483 uint8_t latitude_valid; /**< Must be set to true if latitude is being passed */ 4484 double latitude; 4485 /**< Latitude (specified in WGS84 datum). 4486 \begin{itemize1} 4487 \item Type: Floating point 4488 \item Units: Degrees 4489 \item Range: -90.0 to 90.0 \begin{itemize1} 4490 \item Positive values indicate northern latitude 4491 \item Negative values indicate southern latitude 4492 \vspace{-0.18in} \end{itemize1} \end{itemize1} 4493 */ 4494 4495 /* Optional */ 4496 /* Longitude */ 4497 uint8_t longitude_valid; /**< Must be set to true if longitude is being passed */ 4498 double longitude; 4499 /**< Longitude (specified in WGS84 datum). 4500 \begin{itemize1} 4501 \item Type: Floating point 4502 \item Units: Degrees 4503 \item Range: -180.0 to 180.0 \begin{itemize1} 4504 \item Positive values indicate eastern longitude 4505 \item Negative values indicate western longitude 4506 \vspace{-0.18in} \end{itemize1} \end{itemize1} 4507 */ 4508 4509 /* Optional */ 4510 /* Circular Horizontal Uncertainty */ 4511 uint8_t horUncCircular_valid; /**< Must be set to true if horUncCircular is being passed */ 4512 float horUncCircular; 4513 /**< Horizontal position uncertainty (circular).\n 4514 - Units: Meters */ 4515 4516 /* Optional */ 4517 /* Horizontal Confidence */ 4518 uint8_t horConfidence_valid; /**< Must be set to true if horConfidence is being passed */ 4519 uint8_t horConfidence; 4520 /**< Horizontal confidence, as defined by ETSI TS 101 109 (3GPP \hyperref[TS 03.32]{TS 03.32). 4521 \begin{itemize1} 4522 \item Units: Percent (1 to 99) 4523 \item 0, 101 to 255 -- invalid value 4524 \item If 100 is received, reinterpret to 99 4525 \end{itemize1} 4526 This field must be specified together with horizontal uncertainty. 4527 If not specified when horUncCircular is set, the default value is 50. */ 4528 4529 /* Optional */ 4530 /* Horizontal Reliability */ 4531 uint8_t horReliability_valid; /**< Must be set to true if horReliability is being passed */ 4532 qmiLocReliabilityEnumT_v02 horReliability; 4533 /**< Specifies the reliability of the horizontal position. 4534 4535 Valid values: \n 4536 - eQMI_LOC_RELIABILITY_NOT_SET (0) -- Location reliability is not set 4537 - eQMI_LOC_RELIABILITY_VERY_LOW (1) -- Location reliability is very low; use it at your own risk 4538 - eQMI_LOC_RELIABILITY_LOW (2) -- Location reliability is low; little or no cross-checking is possible 4539 - eQMI_LOC_RELIABILITY_MEDIUM (3) -- Location reliability is medium; limited cross-check passed 4540 - eQMI_LOC_RELIABILITY_HIGH (4) -- Location reliability is high; strong cross-check passed 4541 */ 4542 4543 /* Optional */ 4544 /* Altitude With Respect to Ellipsoid */ 4545 uint8_t altitudeWrtEllipsoid_valid; /**< Must be set to true if altitudeWrtEllipsoid is being passed */ 4546 float altitudeWrtEllipsoid; 4547 /**< Altitude with respect to the WGS84 ellipsoid. 4548 \begin{itemize1} 4549 \item Units: Meters \begin{itemize1} 4550 \item Positive = height 4551 \item Negative = depth 4552 \vspace{-0.18in} \end{itemize1} \end{itemize1}*/ 4553 4554 /* Optional */ 4555 /* Altitude With Respect to Sea Level */ 4556 uint8_t altitudeWrtMeanSeaLevel_valid; /**< Must be set to true if altitudeWrtMeanSeaLevel is being passed */ 4557 float altitudeWrtMeanSeaLevel; 4558 /**< Altitude with respect to mean sea level.\n 4559 - Units: Meters */ 4560 4561 /* Optional */ 4562 /* Vertical Uncertainty */ 4563 uint8_t vertUnc_valid; /**< Must be set to true if vertUnc is being passed */ 4564 float vertUnc; 4565 /**< Vertical uncertainty. This is mandatory if either altitudeWrtEllipsoid 4566 or altitudeWrtMeanSeaLevel is specified.\n 4567 - Units: Meters */ 4568 4569 /* Optional */ 4570 /* Vertical Confidence */ 4571 uint8_t vertConfidence_valid; /**< Must be set to true if vertConfidence is being passed */ 4572 uint8_t vertConfidence; 4573 /**< Vertical confidence, as defined by ETSI TS 101 109 (3GPP \hyperref[TS 03.32]{TS 03.32}). 4574 \begin{itemize1} 4575 \item Units: Percent (0-99) 4576 \item 0 -- invalid value 4577 \item 100 to 256 -- not used 4578 \item If 100 is received, reinterpret to 99 4579 \end{itemize1} 4580 This field must be specified together with the vertical uncertainty. 4581 If not specified, the default value will be 50. */ 4582 4583 /* Optional */ 4584 /* Vertical Reliability */ 4585 uint8_t vertReliability_valid; /**< Must be set to true if vertReliability is being passed */ 4586 qmiLocReliabilityEnumT_v02 vertReliability; 4587 /**< Specifies the reliability of the vertical position. 4588 4589 Valid values: \n 4590 - eQMI_LOC_RELIABILITY_NOT_SET (0) -- Location reliability is not set 4591 - eQMI_LOC_RELIABILITY_VERY_LOW (1) -- Location reliability is very low; use it at your own risk 4592 - eQMI_LOC_RELIABILITY_LOW (2) -- Location reliability is low; little or no cross-checking is possible 4593 - eQMI_LOC_RELIABILITY_MEDIUM (3) -- Location reliability is medium; limited cross-check passed 4594 - eQMI_LOC_RELIABILITY_HIGH (4) -- Location reliability is high; strong cross-check passed 4595 */ 4596 4597 /* Optional */ 4598 /* Altitude Source Info */ 4599 uint8_t altSourceInfo_valid; /**< Must be set to true if altSourceInfo is being passed */ 4600 qmiLocAltitudeSrcInfoStructT_v02 altSourceInfo; 4601 /**< \vspace{0.06in} \n Specifies information regarding the altitude source. */ 4602 4603 /* Optional */ 4604 /* UTC Timestamp */ 4605 uint8_t timestampUtc_valid; /**< Must be set to true if timestampUtc is being passed */ 4606 uint64_t timestampUtc; 4607 /**< UTC timestamp. \n 4608 - Units: Milliseconds (since Jan. 1, 1970) */ 4609 4610 /* Optional */ 4611 /* Position Age */ 4612 uint8_t timestampAge_valid; /**< Must be set to true if timestampAge is being passed */ 4613 int32_t timestampAge; 4614 /**< Position age, which is an estimate of how long ago this fix was made. \n 4615 - Units: Milliseconds */ 4616 4617 /* Optional */ 4618 /* Position Source */ 4619 uint8_t positionSrc_valid; /**< Must be set to true if positionSrc is being passed */ 4620 qmiLocPositionSrcEnumT_v02 positionSrc; 4621 /**< Source from which this position was obtained. 4622 4623 Valid values: \n 4624 - eQMI_LOC_POSITION_SRC_GNSS (0) -- Position source is GNSS 4625 - eQMI_LOC_POSITION_SRC_CELLID (1) -- Position source is Cell ID 4626 - eQMI_LOC_POSITION_SRC_ENH_CELLID (2) -- Position source is Enhanced Cell ID 4627 - eQMI_LOC_POSITION_SRC_WIFI (3) -- Position source is Wi-Fi 4628 - eQMI_LOC_POSITION_SRC_TERRESTRIAL (4) -- Position source is Terrestrial 4629 - eQMI_LOC_POSITION_SRC_GNSS_TERRESTRIAL_HYBRID (5) -- Position source is GNSS Terrestrial Hybrid 4630 - eQMI_LOC_POSITION_SRC_OTHER (6) -- Other sources 4631 4632 If altitude is specified and the altitude source is not specified, the engine 4633 assumes that the altitude was obtained using the specified position source. \n 4634 If both altitude and altitude source are specified, the engine assumes 4635 that only latitude and longitude were obtained using the specified position 4636 source. 4637 */ 4638 4639 /* Optional */ 4640 /* Raw Circular Horizontal Uncertainty */ 4641 uint8_t rawHorUncCircular_valid; /**< Must be set to true if rawHorUncCircular is being passed */ 4642 float rawHorUncCircular; 4643 /**< Horizontal position uncertainty (circular) without any optimization.\n 4644 - Units: Meters */ 4645 4646 /* Optional */ 4647 /* Raw Horizontal Confidence */ 4648 uint8_t rawHorConfidence_valid; /**< Must be set to true if rawHorConfidence is being passed */ 4649 uint8_t rawHorConfidence; 4650 /**< Horizontal confidence associated with raw horizontal uncertainty, 4651 as defined by ETSI TS 101 109 (3GPP \hyperref[TS 03.32]{TS 03.32}). 4652 \begin{itemize1} 4653 \item Units: Percent (1 to 99) 4654 \item 0, 101 to 255 -- invalid value 4655 \item If 100 is received, reinterpret to 99 4656 \end{itemize1} 4657 This field must be specified together with raw horizontal uncertainty. 4658 If not specified when rawHorUncCircular is set, the default value is 50. */ 4659 }qmiLocInjectPositionReqMsgT_v02; /* Message */ 4660 /** 4661 @} 4662 */ 4663 4664 /** @addtogroup loc_qmi_messages 4665 @{ 4666 */ 4667 /** Indication Message; Injects a position to the location engine. */ 4668 typedef struct { 4669 4670 /* Mandatory */ 4671 /* UTC Position Injection Status */ 4672 qmiLocStatusEnumT_v02 status; 4673 /**< Status of the UTC Position Injection request. 4674 4675 Valid values: \n 4676 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 4677 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 4678 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 4679 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 4680 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 4681 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 4682 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 4683 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 4684 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 4685 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 4686 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 4687 */ 4688 }qmiLocInjectPositionIndMsgT_v02; /* Message */ 4689 /** 4690 @} 4691 */ 4692 4693 /** @addtogroup loc_qmi_enums 4694 @{ 4695 */ 4696 typedef enum { 4697 QMILOCLOCKENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 4698 eQMI_LOC_LOCK_NONE_V02 = 1, /**< Do not lock any position sessions */ 4699 eQMI_LOC_LOCK_MI_V02 = 2, /**< Lock mobile-initiated position sessions */ 4700 eQMI_LOC_LOCK_MT_V02 = 3, /**< Lock mobile-terminated position sessions */ 4701 eQMI_LOC_LOCK_ALL_V02 = 4, /**< Lock all position sessions */ 4702 QMILOCLOCKENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 4703 }qmiLocLockEnumT_v02; 4704 /** 4705 @} 4706 */ 4707 4708 /** @addtogroup loc_qmi_messages 4709 @{ 4710 */ 4711 /** Request Message; Sets the location engine lock. */ 4712 typedef struct { 4713 4714 /* Mandatory */ 4715 /* Lock Type */ 4716 qmiLocLockEnumT_v02 lockType; 4717 /**< Type of lock. 4718 4719 Valid values: \n 4720 - eQMI_LOC_LOCK_NONE (1) -- Do not lock any position sessions 4721 - eQMI_LOC_LOCK_MI (2) -- Lock mobile-initiated position sessions 4722 - eQMI_LOC_LOCK_MT (3) -- Lock mobile-terminated position sessions 4723 - eQMI_LOC_LOCK_ALL (4) -- Lock all position sessions 4724 */ 4725 }qmiLocSetEngineLockReqMsgT_v02; /* Message */ 4726 /** 4727 @} 4728 */ 4729 4730 /** @addtogroup loc_qmi_messages 4731 @{ 4732 */ 4733 /** Indication Message; Sets the location engine lock. */ 4734 typedef struct { 4735 4736 /* Mandatory */ 4737 /* Set Engine Lock Status */ 4738 qmiLocStatusEnumT_v02 status; 4739 /**< Status of the Set Engine Lock request. 4740 4741 Valid values: \n 4742 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 4743 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 4744 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 4745 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 4746 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 4747 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 4748 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 4749 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 4750 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 4751 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 4752 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 4753 */ 4754 }qmiLocSetEngineLockIndMsgT_v02; /* Message */ 4755 /** 4756 @} 4757 */ 4758 4759 /** @addtogroup loc_qmi_messages 4760 @{ 4761 */ 4762 /** Request Message; Gets the location engine lock. */ 4763 typedef struct { 4764 /* This element is a placeholder to prevent the declaration of 4765 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 4766 char __placeholder; 4767 }qmiLocGetEngineLockReqMsgT_v02; 4768 4769 /* Message */ 4770 /** 4771 @} 4772 */ 4773 4774 /** @addtogroup loc_qmi_messages 4775 @{ 4776 */ 4777 /** Indication Message; Gets the location engine lock. */ 4778 typedef struct { 4779 4780 /* Mandatory */ 4781 /* Get Engine Lock Status */ 4782 qmiLocStatusEnumT_v02 status; 4783 /**< Status of the Get Engine Lock request. 4784 4785 Valid values: \n 4786 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 4787 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 4788 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 4789 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 4790 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 4791 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 4792 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 4793 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 4794 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 4795 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 4796 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 4797 */ 4798 4799 /* Optional */ 4800 /* Lock Type */ 4801 uint8_t lockType_valid; /**< Must be set to true if lockType is being passed */ 4802 qmiLocLockEnumT_v02 lockType; 4803 /**< Type of lock. 4804 4805 Valid values: \n 4806 - eQMI_LOC_LOCK_NONE (1) -- Do not lock any position sessions 4807 - eQMI_LOC_LOCK_MI (2) -- Lock mobile-initiated position sessions 4808 - eQMI_LOC_LOCK_MT (3) -- Lock mobile-terminated position sessions 4809 - eQMI_LOC_LOCK_ALL (4) -- Lock all position sessions 4810 */ 4811 }qmiLocGetEngineLockIndMsgT_v02; /* Message */ 4812 /** 4813 @} 4814 */ 4815 4816 /** @addtogroup loc_qmi_messages 4817 @{ 4818 */ 4819 /** Request Message; Sets the SBAS configuration. */ 4820 typedef struct { 4821 4822 /* Mandatory */ 4823 /* SBAS Config */ 4824 uint8_t sbasConfig; 4825 /**< Indicates whether SBAS configuration is enabled. 4826 \begin{itemize1} 4827 \item 0x01 (TRUE) -- SBAS configuration is enabled 4828 \item 0x00 (FALSE) -- SBAS configuration is disabled 4829 \vspace{-0.18in} \end{itemize1}*/ 4830 }qmiLocSetSbasConfigReqMsgT_v02; /* Message */ 4831 /** 4832 @} 4833 */ 4834 4835 /** @addtogroup loc_qmi_messages 4836 @{ 4837 */ 4838 /** Indication Message; Sets the SBAS configuration. */ 4839 typedef struct { 4840 4841 /* Mandatory */ 4842 /* Set SBAS Config Status */ 4843 qmiLocStatusEnumT_v02 status; 4844 /**< Status of the Set SBAS Configuration request. 4845 4846 Valid values: \n 4847 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 4848 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 4849 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 4850 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 4851 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 4852 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 4853 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 4854 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 4855 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 4856 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 4857 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 4858 */ 4859 }qmiLocSetSbasConfigIndMsgT_v02; /* Message */ 4860 /** 4861 @} 4862 */ 4863 4864 /** @addtogroup loc_qmi_messages 4865 @{ 4866 */ 4867 /** Request Message; Gets the SBAS configuration from the location engine. */ 4868 typedef struct { 4869 /* This element is a placeholder to prevent the declaration of 4870 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 4871 char __placeholder; 4872 }qmiLocGetSbasConfigReqMsgT_v02; 4873 4874 /* Message */ 4875 /** 4876 @} 4877 */ 4878 4879 /** @addtogroup loc_qmi_messages 4880 @{ 4881 */ 4882 /** Indication Message; Gets the SBAS configuration from the location engine. */ 4883 typedef struct { 4884 4885 /* Mandatory */ 4886 /* Get SBAS Config Status */ 4887 qmiLocStatusEnumT_v02 status; 4888 /**< Status of the Get SBAS Configuration request. 4889 4890 Valid values: \n 4891 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 4892 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 4893 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 4894 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 4895 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 4896 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 4897 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 4898 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 4899 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 4900 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 4901 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 4902 */ 4903 4904 /* Optional */ 4905 /* SBAS Config */ 4906 uint8_t sbasConfig_valid; /**< Must be set to true if sbasConfig is being passed */ 4907 uint8_t sbasConfig; 4908 /**< Indicates whether SBAS configuration is enabled. 4909 \begin{itemize1} 4910 \item 0x01 (TRUE) -- SBAS configuration is enabled 4911 \item 0x00 (FALSE) -- SBAS configuration is disabled 4912 \vspace{-0.18in} \end{itemize1}*/ 4913 }qmiLocGetSbasConfigIndMsgT_v02; /* Message */ 4914 /** 4915 @} 4916 */ 4917 4918 typedef uint32_t qmiLocNmeaSentenceMaskT_v02; 4919 #define QMI_LOC_NMEA_MASK_GGA_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00000001) /**< Enable GGA type */ 4920 #define QMI_LOC_NMEA_MASK_RMC_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00000002) /**< Enable RMC type */ 4921 #define QMI_LOC_NMEA_MASK_GSV_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00000004) /**< Enable GSV type */ 4922 #define QMI_LOC_NMEA_MASK_GSA_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00000008) /**< Enable GSA type */ 4923 #define QMI_LOC_NMEA_MASK_VTG_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00000010) /**< Enable VTG type */ 4924 #define QMI_LOC_NMEA_MASK_PQXFI_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00000020) /**< Enable PQXFI type */ 4925 #define QMI_LOC_NMEA_MASK_PSTIS_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00000040) /**< Enable PSTIS type */ 4926 #define QMI_LOC_NMEA_MASK_GLGSV_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00000080) /**< Enable GLGSV type */ 4927 #define QMI_LOC_NMEA_MASK_GNGSA_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00000100) /**< Enable GNGSA type */ 4928 #define QMI_LOC_NMEA_MASK_GNGNS_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00000200) /**< Enable GNGNS type */ 4929 #define QMI_LOC_NMEA_MASK_GARMC_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00000400) /**< Enable GARMC type */ 4930 #define QMI_LOC_NMEA_MASK_GAGSV_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00000800) /**< Enable GAGSV type */ 4931 #define QMI_LOC_NMEA_MASK_GAGSA_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00001000) /**< Enable GAGSA type */ 4932 #define QMI_LOC_NMEA_MASK_GAVTG_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00002000) /**< Enable GAVTG type */ 4933 #define QMI_LOC_NMEA_MASK_GAGGA_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00004000) /**< Enable GAGGA type */ 4934 #define QMI_LOC_NMEA_MASK_PQGSA_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00008000) /**< Enable PQGSA type */ 4935 #define QMI_LOC_NMEA_MASK_PQGSV_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00010000) /**< Enable PQGSV type */ 4936 /** @addtogroup loc_qmi_messages 4937 @{ 4938 */ 4939 /** Request Message; Sets the NMEA types. */ 4940 typedef struct { 4941 4942 /* Mandatory */ 4943 /* NMEA Sentence Types */ 4944 qmiLocNmeaSentenceMaskT_v02 nmeaSentenceType; 4945 /**< Bitmasks of NMEA types to enable. 4946 4947 Valid bitmasks: \n 4948 - QMI_LOC_NMEA_MASK_GGA (0x00000001) -- Enable GGA type 4949 - QMI_LOC_NMEA_MASK_RMC (0x00000002) -- Enable RMC type 4950 - QMI_LOC_NMEA_MASK_GSV (0x00000004) -- Enable GSV type 4951 - QMI_LOC_NMEA_MASK_GSA (0x00000008) -- Enable GSA type 4952 - QMI_LOC_NMEA_MASK_VTG (0x00000010) -- Enable VTG type 4953 - QMI_LOC_NMEA_MASK_PQXFI (0x00000020) -- Enable PQXFI type 4954 - QMI_LOC_NMEA_MASK_PSTIS (0x00000040) -- Enable PSTIS type 4955 - QMI_LOC_NMEA_MASK_GLGSV (0x00000080) -- Enable GLGSV type 4956 - QMI_LOC_NMEA_MASK_GNGSA (0x00000100) -- Enable GNGSA type 4957 - QMI_LOC_NMEA_MASK_GNGNS (0x00000200) -- Enable GNGNS type 4958 - QMI_LOC_NMEA_MASK_GARMC (0x00000400) -- Enable GARMC type 4959 - QMI_LOC_NMEA_MASK_GAGSV (0x00000800) -- Enable GAGSV type 4960 - QMI_LOC_NMEA_MASK_GAGSA (0x00001000) -- Enable GAGSA type 4961 - QMI_LOC_NMEA_MASK_GAVTG (0x00002000) -- Enable GAVTG type 4962 - QMI_LOC_NMEA_MASK_GAGGA (0x00004000) -- Enable GAGGA type 4963 - QMI_LOC_NMEA_MASK_PQGSA (0x00008000) -- Enable PQGSA type 4964 - QMI_LOC_NMEA_MASK_PQGSV (0x00010000) -- Enable PQGSV type 4965 */ 4966 }qmiLocSetNmeaTypesReqMsgT_v02; /* Message */ 4967 /** 4968 @} 4969 */ 4970 4971 /** @addtogroup loc_qmi_messages 4972 @{ 4973 */ 4974 /** Indication Message; Sets the NMEA types. */ 4975 typedef struct { 4976 4977 /* Mandatory */ 4978 /* Set NMEA Types Status */ 4979 qmiLocStatusEnumT_v02 status; 4980 /**< Status of Set NMEA Types request. 4981 4982 Valid values: \n 4983 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 4984 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 4985 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 4986 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 4987 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 4988 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 4989 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 4990 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 4991 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 4992 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 4993 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 4994 */ 4995 }qmiLocSetNmeaTypesIndMsgT_v02; /* Message */ 4996 /** 4997 @} 4998 */ 4999 5000 /** @addtogroup loc_qmi_messages 5001 @{ 5002 */ 5003 /** Request Message; Gets the NMEA types from the location engine. */ 5004 typedef struct { 5005 /* This element is a placeholder to prevent the declaration of 5006 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 5007 char __placeholder; 5008 }qmiLocGetNmeaTypesReqMsgT_v02; 5009 5010 /* Message */ 5011 /** 5012 @} 5013 */ 5014 5015 /** @addtogroup loc_qmi_messages 5016 @{ 5017 */ 5018 /** Indication Message; Gets the NMEA types from the location engine. */ 5019 typedef struct { 5020 5021 /* Mandatory */ 5022 /* Get NMEA Types Status */ 5023 qmiLocStatusEnumT_v02 status; 5024 /**< Status of the Get NMEA Types request. 5025 5026 Valid values: \n 5027 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 5028 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 5029 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 5030 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 5031 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 5032 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 5033 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 5034 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 5035 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 5036 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 5037 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 5038 */ 5039 5040 /* Optional */ 5041 /* NMEA Sentence Types */ 5042 uint8_t nmeaSentenceType_valid; /**< Must be set to true if nmeaSentenceType is being passed */ 5043 qmiLocNmeaSentenceMaskT_v02 nmeaSentenceType; 5044 /**< NMEA types to enable. 5045 5046 Valid bitmasks: \n 5047 - QMI_LOC_NMEA_MASK_GGA (0x00000001) -- Enable GGA type 5048 - QMI_LOC_NMEA_MASK_RMC (0x00000002) -- Enable RMC type 5049 - QMI_LOC_NMEA_MASK_GSV (0x00000004) -- Enable GSV type 5050 - QMI_LOC_NMEA_MASK_GSA (0x00000008) -- Enable GSA type 5051 - QMI_LOC_NMEA_MASK_VTG (0x00000010) -- Enable VTG type 5052 - QMI_LOC_NMEA_MASK_PQXFI (0x00000020) -- Enable PQXFI type 5053 - QMI_LOC_NMEA_MASK_PSTIS (0x00000040) -- Enable PSTIS type 5054 - QMI_LOC_NMEA_MASK_GLGSV (0x00000080) -- Enable GLGSV type 5055 - QMI_LOC_NMEA_MASK_GNGSA (0x00000100) -- Enable GNGSA type 5056 - QMI_LOC_NMEA_MASK_GNGNS (0x00000200) -- Enable GNGNS type 5057 - QMI_LOC_NMEA_MASK_GARMC (0x00000400) -- Enable GARMC type 5058 - QMI_LOC_NMEA_MASK_GAGSV (0x00000800) -- Enable GAGSV type 5059 - QMI_LOC_NMEA_MASK_GAGSA (0x00001000) -- Enable GAGSA type 5060 - QMI_LOC_NMEA_MASK_GAVTG (0x00002000) -- Enable GAVTG type 5061 - QMI_LOC_NMEA_MASK_GAGGA (0x00004000) -- Enable GAGGA type 5062 - QMI_LOC_NMEA_MASK_PQGSA (0x00008000) -- Enable PQGSA type 5063 - QMI_LOC_NMEA_MASK_PQGSV (0x00010000) -- Enable PQGSV type 5064 */ 5065 }qmiLocGetNmeaTypesIndMsgT_v02; /* Message */ 5066 /** 5067 @} 5068 */ 5069 5070 /** @addtogroup loc_qmi_messages 5071 @{ 5072 */ 5073 /** Request Message; Enables/disables Low Power Mode (LPM) configuration. */ 5074 typedef struct { 5075 5076 /* Mandatory */ 5077 /* Enable Low Power Mode */ 5078 uint8_t lowPowerMode; 5079 /**< Indicates whether to enable Low Power mode:\n 5080 - 0x01 (TRUE) -- Enable LPM \n 5081 - 0x00 (FALSE) -- Disable LPM */ 5082 }qmiLocSetLowPowerModeReqMsgT_v02; /* Message */ 5083 /** 5084 @} 5085 */ 5086 5087 /** @addtogroup loc_qmi_messages 5088 @{ 5089 */ 5090 /** Indication Message; Enables/disables Low Power Mode (LPM) configuration. */ 5091 typedef struct { 5092 5093 /* Mandatory */ 5094 /* Set LPM Status */ 5095 qmiLocStatusEnumT_v02 status; 5096 /**< Status of the Set Low Power Mode request. 5097 5098 Valid values: \n 5099 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 5100 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 5101 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 5102 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 5103 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 5104 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 5105 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 5106 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 5107 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 5108 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 5109 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 5110 */ 5111 }qmiLocSetLowPowerModeIndMsgT_v02; /* Message */ 5112 /** 5113 @} 5114 */ 5115 5116 /** @addtogroup loc_qmi_messages 5117 @{ 5118 */ 5119 /** Request Message; Gets the LPM status from the location engine. */ 5120 typedef struct { 5121 /* This element is a placeholder to prevent the declaration of 5122 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 5123 char __placeholder; 5124 }qmiLocGetLowPowerModeReqMsgT_v02; 5125 5126 /* Message */ 5127 /** 5128 @} 5129 */ 5130 5131 /** @addtogroup loc_qmi_messages 5132 @{ 5133 */ 5134 /** Indication Message; Gets the LPM status from the location engine. */ 5135 typedef struct { 5136 5137 /* Mandatory */ 5138 /* Get LPM Status */ 5139 qmiLocStatusEnumT_v02 status; 5140 /**< Status of the Get LPM request. 5141 5142 Valid values: \n 5143 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 5144 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 5145 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 5146 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 5147 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 5148 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 5149 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 5150 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 5151 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 5152 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 5153 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 5154 */ 5155 5156 /* Optional */ 5157 /* Enable/Disable LPM */ 5158 uint8_t lowPowerMode_valid; /**< Must be set to true if lowPowerMode is being passed */ 5159 uint8_t lowPowerMode; 5160 /**< Indicates whether to enable Low Power mode:\n 5161 - 0x01 (TRUE) -- Enable LPM \n 5162 - 0x00 (FALSE) -- Disable LPM */ 5163 }qmiLocGetLowPowerModeIndMsgT_v02; /* Message */ 5164 /** 5165 @} 5166 */ 5167 5168 /** @addtogroup loc_qmi_enums 5169 @{ 5170 */ 5171 typedef enum { 5172 QMILOCSERVERTYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 5173 eQMI_LOC_SERVER_TYPE_CDMA_PDE_V02 = 1, /**< Server type is CDMA PDE */ 5174 eQMI_LOC_SERVER_TYPE_CDMA_MPC_V02 = 2, /**< Server type is CDMA MPC */ 5175 eQMI_LOC_SERVER_TYPE_UMTS_SLP_V02 = 3, /**< Server type is UMTS SLP */ 5176 eQMI_LOC_SERVER_TYPE_CUSTOM_PDE_V02 = 4, /**< Server type is custom PDE */ 5177 QMILOCSERVERTYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 5178 }qmiLocServerTypeEnumT_v02; 5179 /** 5180 @} 5181 */ 5182 5183 /** @addtogroup loc_qmi_messages 5184 @{ 5185 */ 5186 /** Request Message; Specifies the A-GPS server type and address. */ 5187 typedef struct { 5188 5189 /* Mandatory */ 5190 /* Server Type */ 5191 qmiLocServerTypeEnumT_v02 serverType; 5192 /**< Type of server. 5193 5194 Valid values: \n 5195 - eQMI_LOC_SERVER_TYPE_CDMA_PDE (1) -- Server type is CDMA PDE 5196 - eQMI_LOC_SERVER_TYPE_CDMA_MPC (2) -- Server type is CDMA MPC 5197 - eQMI_LOC_SERVER_TYPE_UMTS_SLP (3) -- Server type is UMTS SLP 5198 - eQMI_LOC_SERVER_TYPE_CUSTOM_PDE (4) -- Server type is custom PDE 5199 */ 5200 5201 /* Optional */ 5202 /* IPv4 Address */ 5203 uint8_t ipv4Addr_valid; /**< Must be set to true if ipv4Addr is being passed */ 5204 qmiLocIpV4AddrStructType_v02 ipv4Addr; 5205 /**< \vspace{0.06in} \n IPv4 address and port. */ 5206 5207 /* Optional */ 5208 /* IPv6 Address */ 5209 uint8_t ipv6Addr_valid; /**< Must be set to true if ipv6Addr is being passed */ 5210 qmiLocIpV6AddrStructType_v02 ipv6Addr; 5211 /**< \vspace{0.06in} \n IPv6 address and port. */ 5212 5213 /* Optional */ 5214 /* Uniform Resource Locator */ 5215 uint8_t urlAddr_valid; /**< Must be set to true if urlAddr is being passed */ 5216 char urlAddr[QMI_LOC_MAX_SERVER_ADDR_LENGTH_V02 + 1]; 5217 /**< URL address. 5218 \begin{itemize1} 5219 \item Type: NULL-terminated string 5220 \item Maximum string length (including NULL terminator): 256 5221 \vspace{-0.18in} \end{itemize1} 5222 */ 5223 }qmiLocSetServerReqMsgT_v02; /* Message */ 5224 /** 5225 @} 5226 */ 5227 5228 /** @addtogroup loc_qmi_messages 5229 @{ 5230 */ 5231 /** Indication Message; Specifies the A-GPS server type and address. */ 5232 typedef struct { 5233 5234 /* Mandatory */ 5235 /* Set Server Status */ 5236 qmiLocStatusEnumT_v02 status; 5237 /**< Status of the Set Server request. 5238 5239 Valid values: \n 5240 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 5241 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 5242 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 5243 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 5244 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 5245 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 5246 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 5247 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 5248 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 5249 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 5250 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 5251 */ 5252 }qmiLocSetServerIndMsgT_v02; /* Message */ 5253 /** 5254 @} 5255 */ 5256 5257 /** @addtogroup loc_qmi_messages 5258 @{ 5259 */ 5260 /** Request Message; Gets the location server from the location engine. */ 5261 typedef struct { 5262 5263 /* Mandatory */ 5264 /* Server Type */ 5265 qmiLocServerTypeEnumT_v02 serverType; 5266 /**< Type of server. 5267 5268 Valid values: \n 5269 - eQMI_LOC_SERVER_TYPE_CDMA_PDE (1) -- Server type is CDMA PDE 5270 - eQMI_LOC_SERVER_TYPE_CDMA_MPC (2) -- Server type is CDMA MPC 5271 - eQMI_LOC_SERVER_TYPE_UMTS_SLP (3) -- Server type is UMTS SLP 5272 - eQMI_LOC_SERVER_TYPE_CUSTOM_PDE (4) -- Server type is custom PDE 5273 */ 5274 5275 /* Optional */ 5276 /* Server Address Type */ 5277 uint8_t serverAddrTypeMask_valid; /**< Must be set to true if serverAddrTypeMask is being passed */ 5278 qmiLocServerAddrTypeMaskT_v02 serverAddrTypeMask; 5279 /**< Type of address the client wants. If unspecified, the 5280 indication will contain all the types of addresses 5281 it has for the specified server type. 5282 5283 Valid bitmasks: \n 5284 - 0x01 -- IPv4 \n 5285 - 0x02 -- IPv6 \n 5286 - 0x04 -- URL 5287 */ 5288 }qmiLocGetServerReqMsgT_v02; /* Message */ 5289 /** 5290 @} 5291 */ 5292 5293 /** @addtogroup loc_qmi_messages 5294 @{ 5295 */ 5296 /** Indication Message; Gets the location server from the location engine. */ 5297 typedef struct { 5298 5299 /* Mandatory */ 5300 /* Get Server Status */ 5301 qmiLocStatusEnumT_v02 status; 5302 /**< Status of the Get Server request. 5303 5304 Valid values: \n 5305 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 5306 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 5307 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 5308 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 5309 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 5310 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 5311 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 5312 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 5313 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 5314 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 5315 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 5316 */ 5317 5318 /* Mandatory */ 5319 /* Server Type */ 5320 qmiLocServerTypeEnumT_v02 serverType; 5321 /**< Type of server. 5322 5323 Valid values: \n 5324 - eQMI_LOC_SERVER_TYPE_CDMA_PDE (1) -- Server type is CDMA PDE 5325 - eQMI_LOC_SERVER_TYPE_CDMA_MPC (2) -- Server type is CDMA MPC 5326 - eQMI_LOC_SERVER_TYPE_UMTS_SLP (3) -- Server type is UMTS SLP 5327 - eQMI_LOC_SERVER_TYPE_CUSTOM_PDE (4) -- Server type is custom PDE 5328 */ 5329 5330 /* Optional */ 5331 /* IPv4 Address */ 5332 uint8_t ipv4Addr_valid; /**< Must be set to true if ipv4Addr is being passed */ 5333 qmiLocIpV4AddrStructType_v02 ipv4Addr; 5334 /**< \vspace{0.06in} \n IPv4 address and port. */ 5335 5336 /* Optional */ 5337 /* IPv6 Address */ 5338 uint8_t ipv6Addr_valid; /**< Must be set to true if ipv6Addr is being passed */ 5339 qmiLocIpV6AddrStructType_v02 ipv6Addr; 5340 /**< \vspace{0.06in} \n IPv6 address and port. */ 5341 5342 /* Optional */ 5343 /* Uniform Resource Locator */ 5344 uint8_t urlAddr_valid; /**< Must be set to true if urlAddr is being passed */ 5345 char urlAddr[QMI_LOC_MAX_SERVER_ADDR_LENGTH_V02 + 1]; 5346 /**< URL. 5347 \begin{itemize1} 5348 \item Type: NULL-terminated string 5349 \item Maximum string length (including NULL terminator): 256 5350 \vspace{-0.18in} \end{itemize1} 5351 */ 5352 }qmiLocGetServerIndMsgT_v02; /* Message */ 5353 /** 5354 @} 5355 */ 5356 5357 typedef uint64_t qmiLocDeleteGnssDataMaskT_v02; 5358 #define QMI_LOC_MASK_DELETE_GPS_SVDIR_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00000001ull) /**< Mask to delete GPS SVDIR */ 5359 #define QMI_LOC_MASK_DELETE_GPS_SVSTEER_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00000002ull) /**< Mask to delete GPS SVSTEER */ 5360 #define QMI_LOC_MASK_DELETE_GPS_TIME_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00000004ull) /**< Mask to delete GPS time */ 5361 #define QMI_LOC_MASK_DELETE_GPS_ALM_CORR_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00000008ull) /**< Mask to delete almanac correlation */ 5362 #define QMI_LOC_MASK_DELETE_GLO_SVDIR_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00000010ull) /**< Mask to delete GLONASS SVDIR */ 5363 #define QMI_LOC_MASK_DELETE_GLO_SVSTEER_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00000020ull) /**< Mask to delete GLONASS SVSTEER */ 5364 #define QMI_LOC_MASK_DELETE_GLO_TIME_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00000040ull) /**< Mask to delete GLONASS time */ 5365 #define QMI_LOC_MASK_DELETE_GLO_ALM_CORR_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00000080ull) /**< Mask to delete GLONASS almanac correlation */ 5366 #define QMI_LOC_MASK_DELETE_SBAS_SVDIR_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00000100ull) /**< Mask to delete SBAS SVDIR */ 5367 #define QMI_LOC_MASK_DELETE_SBAS_SVSTEER_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00000200ull) /**< Mask to delete SBAS SVSTEER */ 5368 #define QMI_LOC_MASK_DELETE_POSITION_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00000400ull) /**< Mask to delete position estimate */ 5369 #define QMI_LOC_MASK_DELETE_TIME_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00000800ull) /**< Mask to delete time estimate */ 5370 #define QMI_LOC_MASK_DELETE_IONO_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00001000ull) /**< Mask to delete IONO */ 5371 #define QMI_LOC_MASK_DELETE_UTC_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00002000ull) /**< Mask to delete UTC estimate */ 5372 #define QMI_LOC_MASK_DELETE_HEALTH_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00004000ull) /**< Mask to delete SV health record */ 5373 #define QMI_LOC_MASK_DELETE_SADATA_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00008000ull) /**< Mask to delete SADATA */ 5374 #define QMI_LOC_MASK_DELETE_RTI_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00010000ull) /**< Mask to delete RTI */ 5375 #define QMI_LOC_MASK_DELETE_SV_NO_EXIST_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00020000ull) /**< Mask to delete SV_NO_EXIST */ 5376 #define QMI_LOC_MASK_DELETE_FREQ_BIAS_EST_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00040000ull) /**< Mask to delete frequency bias estimate */ 5377 #define QMI_LOC_MASK_DELETE_BDS_SVDIR_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00080000ull) /**< Mask to delete BDS SVDIR */ 5378 #define QMI_LOC_MASK_DELETE_BDS_SVSTEER_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00100000ull) /**< Mask to delete BDS SVSTEER */ 5379 #define QMI_LOC_MASK_DELETE_BDS_TIME_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00200000ull) /**< Mask to delete BDS time */ 5380 #define QMI_LOC_MASK_DELETE_BDS_ALM_CORR_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00400000ull) /**< Mask to delete BDS almanac correlation */ 5381 #define QMI_LOC_MASK_DELETE_GNSS_SV_BLACKLIST_GPS_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x00800000ull) /**< Mask to delete GNSS SV blacklist GPS */ 5382 #define QMI_LOC_MASK_DELETE_GNSS_SV_BLACKLIST_GLO_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x01000000ull) /**< Mask to delete GNSS SV blacklist GLO */ 5383 #define QMI_LOC_MASK_DELETE_GNSS_SV_BLACKLIST_BDS_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x02000000ull) /**< Mask to delete GNSS SV blacklist BDS */ 5384 #define QMI_LOC_MASK_DELETE_GNSS_SV_BLACKLIST_GAL_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x04000000ull) /**< Mask to delete GNSS SV blacklist GAL */ 5385 #define QMI_LOC_MASK_DELETE_GAL_SVDIR_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x08000000ull) /**< Mask to delete GAL SVDIR */ 5386 #define QMI_LOC_MASK_DELETE_GAL_SVSTEER_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x10000000ull) /**< Mask to delete GAL SVSTEER */ 5387 #define QMI_LOC_MASK_DELETE_GAL_TIME_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x20000000ull) /**< Mask to delete GAL time */ 5388 #define QMI_LOC_MASK_DELETE_GAL_ALM_CORR_V02 ((qmiLocDeleteGnssDataMaskT_v02)0x40000000ull) /**< Mask to delete GAL almanac correlation */ 5389 typedef uint32_t qmiLocDeleteCelldbDataMaskT_v02; 5390 #define QMI_LOC_MASK_DELETE_CELLDB_POS_V02 ((qmiLocDeleteCelldbDataMaskT_v02)0x00000001) /**< Mask to delete cell database position */ 5391 #define QMI_LOC_MASK_DELETE_CELLDB_LATEST_GPS_POS_V02 ((qmiLocDeleteCelldbDataMaskT_v02)0x00000002) /**< Mask to delete cell database latest GPS position */ 5392 #define QMI_LOC_MASK_DELETE_CELLDB_OTA_POS_V02 ((qmiLocDeleteCelldbDataMaskT_v02)0x00000004) /**< Mask to delete cell database OTA position */ 5393 #define QMI_LOC_MASK_DELETE_CELLDB_EXT_REF_POS_V02 ((qmiLocDeleteCelldbDataMaskT_v02)0x00000008) /**< Mask to delete cell database external reference position */ 5394 #define QMI_LOC_MASK_DELETE_CELLDB_TIMETAG_V02 ((qmiLocDeleteCelldbDataMaskT_v02)0x00000010) /**< Mask to delete cell database time tag */ 5395 #define QMI_LOC_MASK_DELETE_CELLDB_CELLID_V02 ((qmiLocDeleteCelldbDataMaskT_v02)0x00000020) /**< Mask to delete cell database cell ID */ 5396 #define QMI_LOC_MASK_DELETE_CELLDB_CACHED_CELLID_V02 ((qmiLocDeleteCelldbDataMaskT_v02)0x00000040) /**< Mask to delete cell database cached cell ID */ 5397 #define QMI_LOC_MASK_DELETE_CELLDB_LAST_SRV_CELL_V02 ((qmiLocDeleteCelldbDataMaskT_v02)0x00000080) /**< Mask to delete cell database last service cell */ 5398 #define QMI_LOC_MASK_DELETE_CELLDB_CUR_SRV_CELL_V02 ((qmiLocDeleteCelldbDataMaskT_v02)0x00000100) /**< Mask to delete cell database current service cell */ 5399 #define QMI_LOC_MASK_DELETE_CELLDB_NEIGHBOR_INFO_V02 ((qmiLocDeleteCelldbDataMaskT_v02)0x00000200) /**< Mask to delete cell database neighbor information */ 5400 typedef uint32_t qmiLocDeleteClockInfoMaskT_v02; 5401 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_TIME_EST_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00000001) /**< Mask to delete time estimate from clock information */ 5402 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_FREQ_EST_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00000002) /**< Mask to delete frequency estimate from clock information */ 5403 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_WEEK_NUMBER_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00000004) /**< Mask to delete week number from clock information */ 5404 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_RTC_TIME_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00000008) /**< Mask to delete RTC time from clock information */ 5405 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_TIME_TRANSFER_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00000010) /**< Mask to delete time transfer from clock information */ 5406 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GPSTIME_EST_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00000020) /**< Mask to delete GPS time estimate from clock information */ 5407 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GLOTIME_EST_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00000040) /**< Mask to delete GLONASS time estimate from clock information */ 5408 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GLODAY_NUMBER_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00000080) /**< Mask to delete GLONASS day number from clock information */ 5409 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GLO4YEAR_NUMBER_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00000100) /**< Mask to delete GLONASS four year number from clock information */ 5410 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GLO_RF_GRP_DELAY_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00000200) /**< Mask to delete GLONASS RF GRP delay from clock information */ 5411 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_DISABLE_TT_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00000400) /**< Mask to delete disable TT from clock information */ 5412 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GG_LEAPSEC_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00000800) /**< Mask to delete a BDS time estimate from the clock information */ 5413 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GG_GGTB_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00001000) /**< Mask to delete a BDS time estimate from the clock information */ 5414 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_BDSTIME_EST_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00002000) /**< Mask to delete a BDS time estimate from the clock information */ 5415 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GB_GBTB_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00004000) /**< Mask to delete Glonass-to-BDS time bias-related information from the 5416 clock information */ 5417 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_BG_BGTB_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00008000) /**< Mask to delete BDS-to-GLONASS time bias-related information from the 5418 clock information */ 5419 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_BDSWEEK_NUMBER_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00010000) /**< Mask to delete the BDS week number from the clock information */ 5420 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_BDS_RF_GRP_DELAY_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00020000) /**< Mask to delete the BDS RF GRP delay from the clock information */ 5421 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTIME_EST_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00040000) /**< Mask to delete a GAL time estimate from the clock information */ 5422 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTOGPS_TB_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00080000) /**< Mask to delete GAL-to-GPS time bias-related information from the 5423 clock information */ 5424 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTOGLO_TB_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00100000) /**< Mask to delete GAL-to-GLO time bias-related information from the 5425 clock information */ 5426 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTOBDS_TB_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00200000) /**< Mask to delete GAL-to-BDS time bias-related information from the 5427 clock information */ 5428 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GALWEEK_NUMBER_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x00800000) /**< Mask to delete the GAL week number from the clock information */ 5429 #define QMI_LOC_MASK_DELETE_CLOCK_INFO_GAL_RF_GRP_DELAY_V02 ((qmiLocDeleteClockInfoMaskT_v02)0x01000000) /**< Mask to delete the GAL RF GRP delay from the clock information */ 5430 typedef uint8_t qmiLocDeleteSvInfoMaskT_v02; 5431 #define QMI_LOC_MASK_DELETE_EPHEMERIS_V02 ((qmiLocDeleteSvInfoMaskT_v02)0x01) /**< Delete ephemeris for the satellite */ 5432 #define QMI_LOC_MASK_DELETE_ALMANAC_V02 ((qmiLocDeleteSvInfoMaskT_v02)0x02) /**< Delete almanac for the satellite */ 5433 /** @addtogroup loc_qmi_aggregates 5434 @{ 5435 */ 5436 typedef struct { 5437 5438 uint16_t gnssSvId; 5439 /**< SV ID of the satellite whose data is to be deleted. 5440 \begin{itemize1} 5441 \item Range: \begin{itemize1} 5442 \item For GPS: 1 to 32 5443 \item For SBAS: 33 to 64 5444 \item For GLONASS: 65 to 96 5445 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 5446 5447 qmiLocSvSystemEnumT_v02 system; 5448 /**< Indicates to which constellation this SV belongs. 5449 5450 Valid values: \n 5451 - eQMI_LOC_SV_SYSTEM_GPS (1) -- GPS satellite 5452 - eQMI_LOC_SV_SYSTEM_GALILEO (2) -- GALILEO satellite 5453 - eQMI_LOC_SV_SYSTEM_SBAS (3) -- SBAS satellite 5454 - eQMI_LOC_SV_SYSTEM_COMPASS (4) -- COMPASS satellite (Deprecated) 5455 - eQMI_LOC_SV_SYSTEM_GLONASS (5) -- GLONASS satellite 5456 - eQMI_LOC_SV_SYSTEM_BDS (6) -- BDS satellite 5457 - eQMI_LOC_SV_SYSTEM_QZSS (7) -- QZSS satellite 5458 */ 5459 5460 qmiLocDeleteSvInfoMaskT_v02 deleteSvInfoMask; 5461 /**< Indicates whether the ephemeris or almanac for a satellite 5462 is to be deleted. \n 5463 Valid values: \n 5464 - QMI_LOC_MASK_DELETE_EPHEMERIS (0x01) -- Delete ephemeris for the satellite 5465 - QMI_LOC_MASK_DELETE_ALMANAC (0x02) -- Delete almanac for the satellite 5466 */ 5467 }qmiLocDeleteSvInfoStructT_v02; /* Type */ 5468 /** 5469 @} 5470 */ 5471 5472 /** @addtogroup loc_qmi_aggregates 5473 @{ 5474 */ 5475 typedef struct { 5476 5477 uint16_t gnssSvId; 5478 /**< SV ID of the satellite whose data is to be deleted. \n 5479 Range for BDS: 201 to 237 */ 5480 5481 qmiLocDeleteSvInfoMaskT_v02 deleteSvInfoMask; 5482 /**< Indicates if the ephemeris or almanac for a satellite 5483 is to be deleted. \n 5484 Valid values: \n 5485 - QMI_LOC_MASK_DELETE_EPHEMERIS (0x01) -- Delete ephemeris for the satellite 5486 - QMI_LOC_MASK_DELETE_ALMANAC (0x02) -- Delete almanac for the satellite 5487 */ 5488 }qmiLocDeleteBDSSvInfoStructT_v02; /* Type */ 5489 /** 5490 @} 5491 */ 5492 5493 /** @addtogroup loc_qmi_aggregates 5494 @{ 5495 */ 5496 typedef struct { 5497 5498 uint16_t gnssSvId; 5499 /**< SV ID of the satellite whose data is to be deleted. \n 5500 Range for GAL: 301 to 336 */ 5501 5502 qmiLocDeleteSvInfoMaskT_v02 deleteSvInfoMask; 5503 /**< Indicates if the ephemeris or almanac for a satellite 5504 is to be deleted. \n 5505 Valid values: \n 5506 - QMI_LOC_MASK_DELETE_EPHEMERIS (0x01) -- Delete ephemeris for the satellite 5507 - QMI_LOC_MASK_DELETE_ALMANAC (0x02) -- Delete almanac for the satellite 5508 */ 5509 }qmiLocDeleteGALSvInfoStructT_v02; /* Type */ 5510 /** 5511 @} 5512 */ 5513 5514 /** @addtogroup loc_qmi_messages 5515 @{ 5516 */ 5517 /** Request Message; This command is used to delete the location engine 5518 assistance data. */ 5519 typedef struct { 5520 5521 /* Mandatory */ 5522 /* Delete All */ 5523 uint8_t deleteAllFlag; 5524 /**< Indicates whether all assistance data is to be deleted. 5525 5526 Valid values: \begin{itemize1} 5527 \item 0x01 (TRUE) -- All assistance data is to be deleted; if 5528 this flag is set, all the other information 5529 contained in the optional fields for this 5530 message are ignored 5531 \item 0x00 (FALSE) -- The optional fields in the message are to be 5532 used to determine which data is to be deleted 5533 \vspace{-0.18in} \end{itemize1} */ 5534 5535 /* Optional */ 5536 /* Delete SV Info */ 5537 uint8_t deleteSvInfoList_valid; /**< Must be set to true if deleteSvInfoList is being passed */ 5538 uint32_t deleteSvInfoList_len; /**< Must be set to # of elements in deleteSvInfoList */ 5539 qmiLocDeleteSvInfoStructT_v02 deleteSvInfoList[QMI_LOC_DELETE_MAX_SV_INFO_LENGTH_V02]; 5540 /**< \vspace{0.06in} \n List of satellites for which the assistance data is to be deleted. 5541 */ 5542 5543 /* Optional */ 5544 /* Delete GNSS Data */ 5545 uint8_t deleteGnssDataMask_valid; /**< Must be set to true if deleteGnssDataMask is being passed */ 5546 qmiLocDeleteGnssDataMaskT_v02 deleteGnssDataMask; 5547 /**< Mask for the GNSS data that is to be deleted. 5548 5549 Valid values: \n 5550 - QMI_LOC_MASK_DELETE_GPS_SVDIR (0x00000001) -- Mask to delete GPS SVDIR 5551 - QMI_LOC_MASK_DELETE_GPS_SVSTEER (0x00000002) -- Mask to delete GPS SVSTEER 5552 - QMI_LOC_MASK_DELETE_GPS_TIME (0x00000004) -- Mask to delete GPS time 5553 - QMI_LOC_MASK_DELETE_GPS_ALM_CORR (0x00000008) -- Mask to delete almanac correlation 5554 - QMI_LOC_MASK_DELETE_GLO_SVDIR (0x00000010) -- Mask to delete GLONASS SVDIR 5555 - QMI_LOC_MASK_DELETE_GLO_SVSTEER (0x00000020) -- Mask to delete GLONASS SVSTEER 5556 - QMI_LOC_MASK_DELETE_GLO_TIME (0x00000040) -- Mask to delete GLONASS time 5557 - QMI_LOC_MASK_DELETE_GLO_ALM_CORR (0x00000080) -- Mask to delete GLONASS almanac correlation 5558 - QMI_LOC_MASK_DELETE_SBAS_SVDIR (0x00000100) -- Mask to delete SBAS SVDIR 5559 - QMI_LOC_MASK_DELETE_SBAS_SVSTEER (0x00000200) -- Mask to delete SBAS SVSTEER 5560 - QMI_LOC_MASK_DELETE_POSITION (0x00000400) -- Mask to delete position estimate 5561 - QMI_LOC_MASK_DELETE_TIME (0x00000800) -- Mask to delete time estimate 5562 - QMI_LOC_MASK_DELETE_IONO (0x00001000) -- Mask to delete IONO 5563 - QMI_LOC_MASK_DELETE_UTC (0x00002000) -- Mask to delete UTC estimate 5564 - QMI_LOC_MASK_DELETE_HEALTH (0x00004000) -- Mask to delete SV health record 5565 - QMI_LOC_MASK_DELETE_SADATA (0x00008000) -- Mask to delete SADATA 5566 - QMI_LOC_MASK_DELETE_RTI (0x00010000) -- Mask to delete RTI 5567 - QMI_LOC_MASK_DELETE_SV_NO_EXIST (0x00020000) -- Mask to delete SV_NO_EXIST 5568 - QMI_LOC_MASK_DELETE_FREQ_BIAS_EST (0x00040000) -- Mask to delete frequency bias estimate 5569 - QMI_LOC_MASK_DELETE_BDS_SVDIR (0x00080000) -- Mask to delete BDS SVDIR 5570 - QMI_LOC_MASK_DELETE_BDS_SVSTEER (0x00100000) -- Mask to delete BDS SVSTEER 5571 - QMI_LOC_MASK_DELETE_BDS_TIME (0x00200000) -- Mask to delete BDS time 5572 - QMI_LOC_MASK_DELETE_BDS_ALM_CORR (0x00400000) -- Mask to delete BDS almanac correlation 5573 - QMI_LOC_MASK_DELETE_GNSS_SV_BLACKLIST_GPS (0x00800000) -- Mask to delete GNSS SV blacklist GPS 5574 - QMI_LOC_MASK_DELETE_GNSS_SV_BLACKLIST_GLO (0x01000000) -- Mask to delete GNSS SV blacklist GLO 5575 - QMI_LOC_MASK_DELETE_GNSS_SV_BLACKLIST_BDS (0x02000000) -- Mask to delete GNSS SV blacklist BDS 5576 - QMI_LOC_MASK_DELETE_GNSS_SV_BLACKLIST_GAL (0x04000000) -- Mask to delete GNSS SV blacklist GAL 5577 - QMI_LOC_MASK_DELETE_GAL_SVDIR (0x08000000) -- Mask to delete GAL SVDIR 5578 - QMI_LOC_MASK_DELETE_GAL_SVSTEER (0x10000000) -- Mask to delete GAL SVSTEER 5579 - QMI_LOC_MASK_DELETE_GAL_TIME (0x20000000) -- Mask to delete GAL time 5580 - QMI_LOC_MASK_DELETE_GAL_ALM_CORR (0x40000000) -- Mask to delete GAL almanac correlation 5581 */ 5582 5583 /* Optional */ 5584 /* Delete Cell Database */ 5585 uint8_t deleteCellDbDataMask_valid; /**< Must be set to true if deleteCellDbDataMask is being passed */ 5586 qmiLocDeleteCelldbDataMaskT_v02 deleteCellDbDataMask; 5587 /**< Mask for the cell database assistance data that is to be deleted. 5588 5589 Valid values: \begin{itemize1} 5590 \item 0x00000001 -- DELETE_CELLDB_ POS 5591 \item 0x00000002 -- DELETE_CELLDB_ LATEST_GPS_POS 5592 \item 0x00000004 -- DELETE_CELLDB_ OTA_POS 5593 \item 0x00000008 -- DELETE_CELLDB_ EXT_REF_POS 5594 \item 0x00000010 -- DELETE_CELLDB_ TIMETAG 5595 \item 0x00000020 -- DELETE_CELLDB_ CELLID 5596 \item 0x00000040 -- DELETE_CELLDB_ CACHED_CELLID 5597 \item 0x00000080 -- DELETE_CELLDB_ LAST_SRV_CELL 5598 \item 0x00000100 -- DELETE_CELLDB_ CUR_SRV_CELL 5599 \item 0x00000200 -- DELETE_CELLDB_ NEIGHBOR_INFO 5600 \vspace{-0.18in} \end{itemize1} 5601 */ 5602 5603 /* Optional */ 5604 /* Delete Clock Info */ 5605 uint8_t deleteClockInfoMask_valid; /**< Must be set to true if deleteClockInfoMask is being passed */ 5606 qmiLocDeleteClockInfoMaskT_v02 deleteClockInfoMask; 5607 /**< Mask for the clock information assistance data that is to be deleted. 5608 5609 Valid bitmasks: \n 5610 - QMI_LOC_MASK_DELETE_CLOCK_INFO_TIME_EST (0x00000001) -- Mask to delete time estimate from clock information 5611 - QMI_LOC_MASK_DELETE_CLOCK_INFO_FREQ_EST (0x00000002) -- Mask to delete frequency estimate from clock information 5612 - QMI_LOC_MASK_DELETE_CLOCK_INFO_WEEK_NUMBER (0x00000004) -- Mask to delete week number from clock information 5613 - QMI_LOC_MASK_DELETE_CLOCK_INFO_RTC_TIME (0x00000008) -- Mask to delete RTC time from clock information 5614 - QMI_LOC_MASK_DELETE_CLOCK_INFO_TIME_TRANSFER (0x00000010) -- Mask to delete time transfer from clock information 5615 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GPSTIME_EST (0x00000020) -- Mask to delete GPS time estimate from clock information 5616 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GLOTIME_EST (0x00000040) -- Mask to delete GLONASS time estimate from clock information 5617 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GLODAY_NUMBER (0x00000080) -- Mask to delete GLONASS day number from clock information 5618 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GLO4YEAR_NUMBER (0x00000100) -- Mask to delete GLONASS four year number from clock information 5619 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GLO_RF_GRP_DELAY (0x00000200) -- Mask to delete GLONASS RF GRP delay from clock information 5620 - QMI_LOC_MASK_DELETE_CLOCK_INFO_DISABLE_TT (0x00000400) -- Mask to delete disable TT from clock information 5621 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GG_LEAPSEC (0x00000800) -- Mask to delete a BDS time estimate from the clock information 5622 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GG_GGTB (0x00001000) -- Mask to delete a BDS time estimate from the clock information 5623 - QMI_LOC_MASK_DELETE_CLOCK_INFO_BDSTIME_EST (0x00002000) -- Mask to delete a BDS time estimate from the clock information 5624 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GB_GBTB (0x00004000) -- Mask to delete Glonass-to-BDS time bias-related information from the 5625 clock information 5626 - QMI_LOC_MASK_DELETE_CLOCK_INFO_BG_BGTB (0x00008000) -- Mask to delete BDS-to-GLONASS time bias-related information from the 5627 clock information 5628 - QMI_LOC_MASK_DELETE_CLOCK_INFO_BDSWEEK_NUMBER (0x00010000) -- Mask to delete the BDS week number from the clock information 5629 - QMI_LOC_MASK_DELETE_CLOCK_INFO_BDS_RF_GRP_DELAY (0x00020000) -- Mask to delete the BDS RF GRP delay from the clock information 5630 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTIME_EST (0x00040000) -- Mask to delete a GAL time estimate from the clock information 5631 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTOGPS_TB (0x00080000) -- Mask to delete GAL-to-GPS time bias-related information from the 5632 clock information 5633 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTOGLO_TB (0x00100000) -- Mask to delete GAL-to-GLO time bias-related information from the 5634 clock information 5635 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTOBDS_TB (0x00200000) -- Mask to delete GAL-to-BDS time bias-related information from the 5636 clock information 5637 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALWEEK_NUMBER (0x00800000) -- Mask to delete the GAL week number from the clock information 5638 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GAL_RF_GRP_DELAY (0x01000000) -- Mask to delete the GAL RF GRP delay from the clock information 5639 */ 5640 5641 /* Optional */ 5642 /* Delete BDS SV Info */ 5643 uint8_t deleteBdsSvInfoList_valid; /**< Must be set to true if deleteBdsSvInfoList is being passed */ 5644 uint32_t deleteBdsSvInfoList_len; /**< Must be set to # of elements in deleteBdsSvInfoList */ 5645 qmiLocDeleteBDSSvInfoStructT_v02 deleteBdsSvInfoList[QMI_LOC_DELETE_MAX_BDS_SV_INFO_LENGTH_V02]; 5646 /**< \vspace{0.06in} \n List of BDS satellites for which the assistance data is to be deleted. 5647 */ 5648 5649 /* Optional */ 5650 /* Delete GAL SV Info */ 5651 uint8_t deleteGalSvInfoList_valid; /**< Must be set to true if deleteGalSvInfoList is being passed */ 5652 uint32_t deleteGalSvInfoList_len; /**< Must be set to # of elements in deleteGalSvInfoList */ 5653 qmiLocDeleteGALSvInfoStructT_v02 deleteGalSvInfoList[QMI_LOC_DELETE_MAX_GAL_SV_INFO_LENGTH_V02]; 5654 /**< \vspace{0.06in} \n List of GAL satellites for which the assistance data is to be deleted. 5655 */ 5656 }qmiLocDeleteAssistDataReqMsgT_v02; /* Message */ 5657 /** 5658 @} 5659 */ 5660 5661 /** @addtogroup loc_qmi_messages 5662 @{ 5663 */ 5664 /** Indication Message; This command is used to delete the location engine 5665 assistance data. */ 5666 typedef struct { 5667 5668 /* Mandatory */ 5669 /* Delete Assist Data Status */ 5670 qmiLocStatusEnumT_v02 status; 5671 /**< Status of the Delete Assist Data request. 5672 5673 Valid values: \n 5674 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 5675 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 5676 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 5677 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 5678 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 5679 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 5680 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 5681 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 5682 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 5683 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 5684 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 5685 */ 5686 }qmiLocDeleteAssistDataIndMsgT_v02; /* Message */ 5687 /** 5688 @} 5689 */ 5690 5691 /** @addtogroup loc_qmi_messages 5692 @{ 5693 */ 5694 /** Request Message; Enables/disables XTRA-T session control. */ 5695 typedef struct { 5696 5697 /* Mandatory */ 5698 /* Enable XTRA-T */ 5699 uint8_t xtraTSessionControl; 5700 /**< Indicates whether to enable XTRA-T:\n 5701 - 0x01 (TRUE) -- Enable XTRA-T \n 5702 - 0x00 (FALSE) -- Disable XTRA-T */ 5703 }qmiLocSetXtraTSessionControlReqMsgT_v02; /* Message */ 5704 /** 5705 @} 5706 */ 5707 5708 /** @addtogroup loc_qmi_messages 5709 @{ 5710 */ 5711 /** Indication Message; Enables/disables XTRA-T session control. */ 5712 typedef struct { 5713 5714 /* Mandatory */ 5715 /* Set XTRA-T Session Control Status */ 5716 qmiLocStatusEnumT_v02 status; 5717 /**< Status of the Set XTRA-T Session Control request. 5718 5719 Valid values: \n 5720 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 5721 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 5722 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 5723 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 5724 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 5725 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 5726 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 5727 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 5728 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 5729 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 5730 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 5731 */ 5732 }qmiLocSetXtraTSessionControlIndMsgT_v02; /* Message */ 5733 /** 5734 @} 5735 */ 5736 5737 /** @addtogroup loc_qmi_messages 5738 @{ 5739 */ 5740 /** Request Message; Gets the XTRA-T session control value from the location 5741 engine. */ 5742 typedef struct { 5743 /* This element is a placeholder to prevent the declaration of 5744 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 5745 char __placeholder; 5746 }qmiLocGetXtraTSessionControlReqMsgT_v02; 5747 5748 /* Message */ 5749 /** 5750 @} 5751 */ 5752 5753 /** @addtogroup loc_qmi_messages 5754 @{ 5755 */ 5756 /** Indication Message; Gets the XTRA-T session control value from the location 5757 engine. */ 5758 typedef struct { 5759 5760 /* Mandatory */ 5761 /* Get XTRA-T Session Control Status */ 5762 qmiLocStatusEnumT_v02 status; 5763 /**< Status of the Get XTRA-T Session Control request. 5764 5765 Valid values: \n 5766 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 5767 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 5768 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 5769 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 5770 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 5771 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 5772 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 5773 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 5774 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 5775 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 5776 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 5777 */ 5778 5779 /* Optional */ 5780 /* Enable/Disable XTRA-T */ 5781 uint8_t xtraTSessionControl_valid; /**< Must be set to true if xtraTSessionControl is being passed */ 5782 uint8_t xtraTSessionControl; 5783 /**< Indicates whether to enable XTRA-T:\n 5784 - 0x01 (TRUE) -- Enable XTRA-T \n 5785 - 0x00 (FALSE) -- Disable XTRA-T */ 5786 }qmiLocGetXtraTSessionControlIndMsgT_v02; /* Message */ 5787 /** 5788 @} 5789 */ 5790 5791 /** @addtogroup loc_qmi_aggregates 5792 @{ 5793 */ 5794 typedef struct { 5795 5796 uint32_t wifiPositionTime; 5797 /**< Common counter (typically, the number of milliseconds since bootup). 5798 This field is only to be provided if the modem and host processors are 5799 synchronized. */ 5800 }qmiLocWifiFixTimeStructT_v02; /* Type */ 5801 /** 5802 @} 5803 */ 5804 5805 /** @addtogroup loc_qmi_enums 5806 @{ 5807 */ 5808 typedef enum { 5809 QMILOCWIFIFIXERRORCODEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 5810 eQMI_LOC_WIFI_FIX_ERROR_SUCCESS_V02 = 0, /**< Wi-Fi fix is successful. */ 5811 eQMI_LOC_WIFI_FIX_ERROR_WIFI_NOT_AVAILABLE_V02 = 1, /**< Wi-Fi fix failed because Wi-Fi is not available on the device. */ 5812 eQMI_LOC_WIFI_FIX_ERROR_NO_AP_FOUND_V02 = 2, /**< Wi-Fi fix failed because no access points were found. */ 5813 eQMI_LOC_WIFI_FIX_ERROR_UNAUTHORIZED_V02 = 3, /**< Wi-Fi fix failed because the server denied access due to bad authorization 5814 code. */ 5815 eQMI_LOC_WIFI_FIX_ERROR_SERVER_UNAVAILABLE_V02 = 4, /**< Wi-Fi fix failed because the Wi-Fi server was unavailable. */ 5816 eQMI_LOC_WIFI_FIX_ERROR_LOCATION_CANNOT_BE_DETERMINED_V02 = 5, /**< Wi-Fi fix failed even though APs were found and the server could be reached. 5817 This may be because the APs found are not in the database. */ 5818 eQMI_LOC_WIFI_FIX_ERROR_UNKNOWN_V02 = 6, /**< Wi-Fi fix failed, but the cause could not be determined. */ 5819 QMILOCWIFIFIXERRORCODEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 5820 }qmiLocWifiFixErrorCodeEnumT_v02; 5821 /** 5822 @} 5823 */ 5824 5825 /** @addtogroup loc_qmi_aggregates 5826 @{ 5827 */ 5828 typedef struct { 5829 5830 double lat; 5831 /**< Wi-Fi position latitude. \n 5832 - Type: Floating point \n 5833 - Units: Degrees */ 5834 5835 double lon; 5836 /**< Wi-Fi position longitude. \n 5837 - Type: Floating point \n 5838 - Units: Degrees */ 5839 5840 uint16_t hepe; 5841 /**< Wi-Fi position HEPE.\n 5842 - Units: Meters */ 5843 5844 uint8_t numApsUsed; 5845 /**< Number of Access Points (AP) used to generate a fix. */ 5846 5847 qmiLocWifiFixErrorCodeEnumT_v02 fixErrorCode; 5848 /**< Wi-Fi position error code; set to 0 if the fix succeeds. This position 5849 is only used by a module if the value is 0. If there was a failure, 5850 the error code provided by the Wi-Fi positioning system can be provided 5851 here. 5852 5853 Valid values: \n 5854 - eQMI_LOC_WIFI_FIX_ERROR_SUCCESS (0) -- Wi-Fi fix is successful. 5855 - eQMI_LOC_WIFI_FIX_ERROR_WIFI_NOT_AVAILABLE (1) -- Wi-Fi fix failed because Wi-Fi is not available on the device. 5856 - eQMI_LOC_WIFI_FIX_ERROR_NO_AP_FOUND (2) -- Wi-Fi fix failed because no access points were found. 5857 - eQMI_LOC_WIFI_FIX_ERROR_UNAUTHORIZED (3) -- Wi-Fi fix failed because the server denied access due to bad authorization 5858 code. 5859 - eQMI_LOC_WIFI_FIX_ERROR_SERVER_UNAVAILABLE (4) -- Wi-Fi fix failed because the Wi-Fi server was unavailable. 5860 - eQMI_LOC_WIFI_FIX_ERROR_LOCATION_CANNOT_BE_DETERMINED (5) -- Wi-Fi fix failed even though APs were found and the server could be reached. 5861 This may be because the APs found are not in the database. 5862 - eQMI_LOC_WIFI_FIX_ERROR_UNKNOWN (6) -- Wi-Fi fix failed, but the cause could not be determined. 5863 */ 5864 }qmiLocWifiFixPosStructT_v02; /* Type */ 5865 /** 5866 @} 5867 */ 5868 5869 typedef uint8_t qmiLocWifiApQualifierMaskT_v02; 5870 #define QMI_LOC_WIFI_AP_QUALIFIER_BEING_USED_V02 ((qmiLocWifiApQualifierMaskT_v02)0x01) /**< Access point is being used by the WPS. */ 5871 #define QMI_LOC_WIFI_AP_QUALIFIER_HIDDEN_SSID_V02 ((qmiLocWifiApQualifierMaskT_v02)0x02) /**< AP does not broadcast SSID. */ 5872 #define QMI_LOC_WIFI_AP_QUALIFIER_PRIVATE_V02 ((qmiLocWifiApQualifierMaskT_v02)0x04) /**< AP has encryption turned on. */ 5873 #define QMI_LOC_WIFI_AP_QUALIFIER_INFRASTRUCTURE_MODE_V02 ((qmiLocWifiApQualifierMaskT_v02)0x08) /**< AP is in infrastructure mode and not in ad-hoc/unknown mode. */ 5874 /** @addtogroup loc_qmi_aggregates 5875 @{ 5876 */ 5877 typedef struct { 5878 5879 uint8_t macAddr[QMI_LOC_WIFI_MAC_ADDR_LENGTH_V02]; 5880 /**< Associated MAC address of the AP. \n 5881 - Type: Array of unsigned integers \n 5882 - Address length: 6 5883 */ 5884 5885 int32_t rssi; 5886 /**< Receive signal strength indicator.\n 5887 - Units: dBm (offset with +100 dB) */ 5888 5889 uint16_t channel; 5890 /**< Wi-Fi channel on which a beacon was received. */ 5891 5892 qmiLocWifiApQualifierMaskT_v02 apQualifier; 5893 /**< A bitmask of Boolean qualifiers for APs. 5894 All unused bits in this mask must be set to 0. 5895 5896 Valid values: \n 5897 - 0x01 -- BEING_USED \n 5898 - 0x02 -- HIDDEN_SSID \n 5899 - 0x04 -- PRIVATE \n 5900 - 0x08 -- INFRASTRUCTURE_MODE 5901 */ 5902 }qmiLocWifiApInfoStructT_v02; /* Type */ 5903 /** 5904 @} 5905 */ 5906 5907 /** @addtogroup loc_qmi_aggregates 5908 @{ 5909 */ 5910 typedef struct { 5911 5912 char ssid[QMI_LOC_MAX_WIFI_AP_SSID_STR_LENGTH_V02 + 1]; 5913 /**< NULL-terminated SSID string of the Wi-Fi AP. Its maximum length according to the ASCII standard is 32 octets. */ 5914 }qmiLocWifiApSsidStructT_v02; /* Type */ 5915 /** 5916 @} 5917 */ 5918 5919 /** @addtogroup loc_qmi_messages 5920 @{ 5921 */ 5922 /** Request Message; Injects the Wi-Fi position. */ 5923 typedef struct { 5924 5925 /* Optional */ 5926 /* Wi-Fi Fix Time */ 5927 uint8_t wifiFixTime_valid; /**< Must be set to true if wifiFixTime is being passed */ 5928 qmiLocWifiFixTimeStructT_v02 wifiFixTime; 5929 /**< \vspace{0.06in} \n Time of Wi-Fi position fix. */ 5930 5931 /* Optional */ 5932 /* Wi-Fi Position */ 5933 uint8_t wifiFixPosition_valid; /**< Must be set to true if wifiFixPosition is being passed */ 5934 qmiLocWifiFixPosStructT_v02 wifiFixPosition; 5935 /**< \vspace{0.06in} \n Wi-Fi position fix. */ 5936 5937 /* Optional */ 5938 /* Wi-Fi Access Point Information */ 5939 uint8_t apInfo_valid; /**< Must be set to true if apInfo is being passed */ 5940 uint32_t apInfo_len; /**< Must be set to # of elements in apInfo */ 5941 qmiLocWifiApInfoStructT_v02 apInfo[QMI_LOC_WIFI_MAX_REPORTED_APS_PER_MSG_V02]; 5942 /**< \vspace{0.06in} \n AP scan list. 5943 SSID of the Wi-Fi AP. 5944 The ordering of the Wi-Fi AP SSID list should matchthe Wi-Fi AP MAC address list if both are provided, 5945 that is, the first element of the Wi-Fi AP SSID list must be the SSID of the AP whose MAC 5946 address is in the first element in the Wi-Fi AP Info MAC Address, and so on. */ 5947 5948 /* Optional */ 5949 /* Horizontal Reliability */ 5950 uint8_t horizontalReliability_valid; /**< Must be set to true if horizontalReliability is being passed */ 5951 qmiLocReliabilityEnumT_v02 horizontalReliability; 5952 /**< Specifies the reliability of the horizontal position. 5953 5954 Valid values: \n 5955 - eQMI_LOC_RELIABILITY_NOT_SET (0) -- Location reliability is not set 5956 - eQMI_LOC_RELIABILITY_VERY_LOW (1) -- Location reliability is very low; use it at your own risk 5957 - eQMI_LOC_RELIABILITY_LOW (2) -- Location reliability is low; little or no cross-checking is possible 5958 - eQMI_LOC_RELIABILITY_MEDIUM (3) -- Location reliability is medium; limited cross-check passed 5959 - eQMI_LOC_RELIABILITY_HIGH (4) -- Location reliability is high; strong cross-check passed 5960 */ 5961 5962 /* Optional */ 5963 /* Raw HEPE */ 5964 uint8_t rawHepe_valid; /**< Must be set to true if rawHepe is being passed */ 5965 uint16_t rawHepe; 5966 /**< Wi-Fi position raw HEPE, which has no optimization.\n 5967 - Units: Meters */ 5968 5969 /* Optional */ 5970 /* Wi-Fi AP SSID String */ 5971 uint8_t wifiApSsidInfo_valid; /**< Must be set to true if wifiApSsidInfo is being passed */ 5972 uint32_t wifiApSsidInfo_len; /**< Must be set to # of elements in wifiApSsidInfo */ 5973 qmiLocWifiApSsidStructT_v02 wifiApSsidInfo[QMI_LOC_WIFI_MAX_REPORTED_APS_PER_MSG_V02]; 5974 /**< \vspace{0.04in} \n 5975 The ordering of the Wi-Fi AP SSID list should match the Wi-Fi AP MAC address list if both are provided, 5976 that is, the first element of the Wi-Fi AP SSID list must be the SSID of the AP whose MAC 5977 address is in the first element in the Wi-Fi AP Info MAC address, and so on.*/ 5978 }qmiLocInjectWifiPositionReqMsgT_v02; /* Message */ 5979 /** 5980 @} 5981 */ 5982 5983 /** @addtogroup loc_qmi_messages 5984 @{ 5985 */ 5986 /** Indication Message; Injects the Wi-Fi position. */ 5987 typedef struct { 5988 5989 /* Mandatory */ 5990 /* Inject Wi-Fi Position Status */ 5991 qmiLocStatusEnumT_v02 status; 5992 /**< Status of the Inject Wi-Fi Position request. 5993 5994 Valid values: \n 5995 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 5996 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 5997 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 5998 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 5999 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 6000 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 6001 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 6002 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 6003 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 6004 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 6005 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 6006 */ 6007 }qmiLocInjectWifiPositionIndMsgT_v02; /* Message */ 6008 /** 6009 @} 6010 */ 6011 6012 /** @addtogroup loc_qmi_enums 6013 @{ 6014 */ 6015 typedef enum { 6016 QMILOCWIFISTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 6017 eQMI_LOC_WIFI_STATUS_AVAILABLE_V02 = 1, /**< Wi-Fi is available */ 6018 eQMI_LOC_WIFI_STATUS_UNAVAILABLE_V02 = 2, /**< Wi-Fi is not available */ 6019 QMILOCWIFISTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 6020 }qmiLocWifiStatusEnumT_v02; 6021 /** 6022 @} 6023 */ 6024 6025 /** @addtogroup loc_qmi_messages 6026 @{ 6027 */ 6028 /** Request Message; Notifies the location engine of the Wi-Fi status. */ 6029 typedef struct { 6030 6031 /* Mandatory */ 6032 /* Availablility of Wi-Fi */ 6033 qmiLocWifiStatusEnumT_v02 wifiStatus; 6034 /**< Wi-Fi status information. 6035 6036 Valid values: \n 6037 - eQMI_LOC_WIFI_STATUS_AVAILABLE (1) -- Wi-Fi is available 6038 - eQMI_LOC_WIFI_STATUS_UNAVAILABLE (2) -- Wi-Fi is not available 6039 */ 6040 }qmiLocNotifyWifiStatusReqMsgT_v02; /* Message */ 6041 /** 6042 @} 6043 */ 6044 6045 /** @addtogroup loc_qmi_messages 6046 @{ 6047 */ 6048 /** Indication Message; Notifies the location engine of the Wi-Fi status. */ 6049 typedef struct { 6050 6051 /* Mandatory */ 6052 /* Status of Notify Wi-Fi Status Request */ 6053 qmiLocStatusEnumT_v02 status; 6054 /**< Status of the Notify Wi-Fi Status request. 6055 6056 Valid values: \n 6057 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 6058 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 6059 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 6060 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 6061 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 6062 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 6063 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 6064 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 6065 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 6066 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 6067 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 6068 */ 6069 }qmiLocNotifyWifiStatusIndMsgT_v02; /* Message */ 6070 /** 6071 @} 6072 */ 6073 6074 /** @addtogroup loc_qmi_messages 6075 @{ 6076 */ 6077 /** Request Message; Gets the mask of the events for which a client has 6078 registered. */ 6079 typedef struct { 6080 /* This element is a placeholder to prevent the declaration of 6081 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 6082 char __placeholder; 6083 }qmiLocGetRegisteredEventsReqMsgT_v02; 6084 6085 /* Message */ 6086 /** 6087 @} 6088 */ 6089 6090 /** @addtogroup loc_qmi_messages 6091 @{ 6092 */ 6093 /** Indication Message; Gets the mask of the events for which a client has 6094 registered. */ 6095 typedef struct { 6096 6097 /* Mandatory */ 6098 /* Get Registered Events Status */ 6099 qmiLocStatusEnumT_v02 status; 6100 /**< Status of the Get Registered Events request. 6101 6102 Valid values: \n 6103 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 6104 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 6105 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 6106 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 6107 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 6108 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 6109 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 6110 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 6111 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 6112 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 6113 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 6114 */ 6115 6116 /* Optional */ 6117 /* Event Registration Mask */ 6118 uint8_t eventRegMask_valid; /**< Must be set to true if eventRegMask is being passed */ 6119 qmiLocEventRegMaskT_v02 eventRegMask; 6120 /**< Event registration mask. 6121 Valid bitmasks: \n 6122 - QMI_LOC_EVENT_MASK_POSITION_REPORT (0x00000001) -- The control point must enable this mask to receive position report 6123 event indications. 6124 - QMI_LOC_EVENT_MASK_GNSS_SV_INFO (0x00000002) -- The control point must enable this mask to receive satellite report 6125 event indications. These reports are sent at a 1 Hz rate. 6126 - QMI_LOC_EVENT_MASK_NMEA (0x00000004) -- The control point must enable this mask to receive NMEA reports for 6127 position and satellites in view. The report is at a 1 Hz rate. 6128 - QMI_LOC_EVENT_MASK_NI_NOTIFY_VERIFY_REQ (0x00000008) -- The control point must enable this mask to receive NI Notify/Verify request 6129 event indications. 6130 - QMI_LOC_EVENT_MASK_INJECT_TIME_REQ (0x00000010) -- The control point must enable this mask to receive time injection request 6131 event indications. 6132 - QMI_LOC_EVENT_MASK_INJECT_PREDICTED_ORBITS_REQ (0x00000020) -- The control point must enable this mask to receive predicted orbits request 6133 event indications. 6134 - QMI_LOC_EVENT_MASK_INJECT_POSITION_REQ (0x00000040) -- The control point must enable this mask to receive position injection request 6135 event indications. 6136 - QMI_LOC_EVENT_MASK_ENGINE_STATE (0x00000080) -- The control point must enable this mask to receive engine state report 6137 event indications. 6138 - QMI_LOC_EVENT_MASK_FIX_SESSION_STATE (0x00000100) -- The control point must enable this mask to receive fix session status report 6139 event indications. 6140 - QMI_LOC_EVENT_MASK_WIFI_REQ (0x00000200) -- The control point must enable this mask to receive Wi-Fi position request 6141 event indications. 6142 - QMI_LOC_EVENT_MASK_SENSOR_STREAMING_READY_STATUS (0x00000400) -- The control point must enable this mask to receive notifications from the 6143 location engine indicating its readiness to accept data from the 6144 sensors (accelerometer, gyroscope, etc.). 6145 - QMI_LOC_EVENT_MASK_TIME_SYNC_REQ (0x00000800) -- The control point must enable this mask to receive time sync requests 6146 from the GPS engine. Time sync enables the GPS engine to synchronize 6147 its clock with the sensor processor's clock. 6148 - QMI_LOC_EVENT_MASK_SET_SPI_STREAMING_REPORT (0x00001000) -- The control point must enable this mask to receive Stationary Position 6149 Indicator (SPI) streaming report indications. 6150 - QMI_LOC_EVENT_MASK_LOCATION_SERVER_CONNECTION_REQ (0x00002000) -- The control point must enable this mask to receive location server 6151 requests. These requests are generated when the service wishes to 6152 establish a connection with a location server. 6153 - QMI_LOC_EVENT_MASK_NI_GEOFENCE_NOTIFICATION (0x00004000) -- The control point must enable this mask to receive notifications 6154 related to network-initiated Geofences. These events notify the client 6155 when a network-initiated Geofence is added, deleted, or edited. 6156 - QMI_LOC_EVENT_MASK_GEOFENCE_GEN_ALERT (0x00008000) -- The control point must enable this mask to receive Geofence alerts. 6157 These alerts are generated to inform the client of the changes that may 6158 affect a Geofence, e.g., if GPS is turned off or if the network is 6159 unavailable. 6160 - QMI_LOC_EVENT_MASK_GEOFENCE_BREACH_NOTIFICATION (0x00010000) -- The control point must enable this mask to receive notifications when 6161 a Geofence is breached. These events are generated when a UE enters 6162 or leaves the perimeter of a Geofence. This breach report is for a single 6163 Geofence . 6164 - QMI_LOC_EVENT_MASK_PEDOMETER_CONTROL (0x00020000) -- The control point must enable this mask to register for pedometer 6165 control requests from the location engine. The location engine sends 6166 this event to control the injection of pedometer reports. 6167 - QMI_LOC_EVENT_MASK_MOTION_DATA_CONTROL (0x00040000) -- The control point must enable this mask to register for motion data 6168 control requests from the location engine. The location engine sends 6169 this event to control the injection of motion data. 6170 - QMI_LOC_EVENT_MASK_BATCH_FULL_NOTIFICATION (0x00080000) -- The control point must enable this mask to receive notification when 6171 a batch is full. The location engine sends this event to notify of Batch Full 6172 for ongoing batching session. 6173 - QMI_LOC_EVENT_MASK_LIVE_BATCHED_POSITION_REPORT (0x00100000) -- The control point must enable this mask to receive position report 6174 indications along with an ongoing batching session. The location engine sends 6175 this event to notify the batched position report while a batching session 6176 is ongoing. 6177 - QMI_LOC_EVENT_MASK_INJECT_WIFI_AP_DATA_REQ (0x00200000) -- The control point must enable this mask to receive Wi-Fi AP data inject request 6178 event indications. 6179 - QMI_LOC_EVENT_MASK_GEOFENCE_BATCH_BREACH_NOTIFICATION (0x00400000) -- The control point must enable this mask to receive notifications when 6180 a Geofence is breached. These events are generated when a UE enters 6181 or leaves the perimeter of a Geofence. This breach notification is for 6182 multiple Geofences. Breaches from multiple Geofences are all batched and 6183 sent in the same notification . 6184 - QMI_LOC_EVENT_MASK_VEHICLE_DATA_READY_STATUS (0x00800000) -- The control point must enable this mask to receive notifications from the 6185 location engine indicating its readiness to accept vehicle data (vehicle 6186 accelerometer, vehicle angular rate, vehicle odometry, etc.). 6187 - QMI_LOC_EVENT_MASK_GNSS_MEASUREMENT_REPORT (0x01000000) -- The control point must enable this mask to receive system clock and satellite 6188 measurement report events (system clock, SV time, Doppler, etc.). Reports are 6189 generated only for the GNSS satellite constellations that are enabled using 6190 QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG. 6191 - QMI_LOC_EVENT_MASK_GNSS_SV_POLYNOMIAL_REPORT (0x02000000) -- The control point must enable this mask to receive satellite position 6192 reports as polynomials. Reports are generated only for the GNSS satellite 6193 constellations that are enabled using QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG. 6194 - QMI_LOC_EVENT_MASK_GEOFENCE_PROXIMITY_NOTIFICATION (0x04000000) -- The control point must enable this mask to receive notifications when a Geofence proximity is entered 6195 and exited. The proximity of a Geofence may be due to different contexts. These contexts are identified 6196 using the context ID in this indication. The context of a Geofence may contain Wi-Fi area ID lists, IBeacon lists, 6197 Cell-ID list, and so forth. 6198 - QMI_LOC_EVENT_MASK_GDT_UPLOAD_BEGIN_REQ (0x08000000) -- The control point must enable this mask to receive Generic Data Transport (GDT) 6199 session begin request event indications. 6200 - QMI_LOC_EVENT_MASK_GDT_UPLOAD_END_REQ (0x10000000) -- The control point must enable this mask to receive GDT 6201 session end request event indications. 6202 - QMI_LOC_EVENT_MASK_GEOFENCE_BATCH_DWELL_NOTIFICATION (0x20000000) -- The control point must enable this mask to receive notifications when 6203 a Geofence is dwelled. These events are generated when a UE enters 6204 or leaves the perimeter of a Geofence and dwells inside or outside for a specified time. 6205 This dwell notification is for multiple Geofences. Dwells from multiple Geofences are all batched and 6206 sent in the same notification. 6207 - QMI_LOC_EVENT_MASK_GET_TIME_ZONE_REQ (0x40000000) -- The control point must enable this mask to receive requests for time zone information from 6208 the service. These events are generated when there is a need for time zone information in the 6209 service. 6210 - QMI_LOC_EVENT_MASK_BATCHING_STATUS (0x80000000) -- The control point must enable this mask to receive asynchronous events related 6211 to batching. 6212 */ 6213 }qmiLocGetRegisteredEventsIndMsgT_v02; /* Message */ 6214 /** 6215 @} 6216 */ 6217 6218 /** @addtogroup loc_qmi_enums 6219 @{ 6220 */ 6221 typedef enum { 6222 QMILOCOPERATIONMODEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 6223 eQMI_LOC_OPER_MODE_DEFAULT_V02 = 1, /**< Use the default engine mode */ 6224 eQMI_LOC_OPER_MODE_MSB_V02 = 2, /**< Use the MS-based mode */ 6225 eQMI_LOC_OPER_MODE_MSA_V02 = 3, /**< Use the MS-assisted mode */ 6226 eQMI_LOC_OPER_MODE_STANDALONE_V02 = 4, /**< Use Standalone mode */ 6227 eQMI_LOC_OPER_MODE_CELL_ID_V02 = 5, /**< Use cell ID; this mode is only valid for GSM/UMTS networks */ 6228 eQMI_LOC_OPER_MODE_WWAN_V02 = 6, /**< Use WWAN measurements to calculate the position; if this mode is 6229 set, AFLT will be used for 1X networks and OTDOA will be used 6230 for LTE networks */ 6231 QMILOCOPERATIONMODEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 6232 }qmiLocOperationModeEnumT_v02; 6233 /** 6234 @} 6235 */ 6236 6237 /** @addtogroup loc_qmi_messages 6238 @{ 6239 */ 6240 /** Request Message; Tells the engine to use the specified operation mode while 6241 making the position fixes. */ 6242 typedef struct { 6243 6244 /* Mandatory */ 6245 /* Operation Mode */ 6246 qmiLocOperationModeEnumT_v02 operationMode; 6247 /**< Preferred operation mode. 6248 6249 Valid values: \n 6250 - eQMI_LOC_OPER_MODE_DEFAULT (1) -- Use the default engine mode 6251 - eQMI_LOC_OPER_MODE_MSB (2) -- Use the MS-based mode 6252 - eQMI_LOC_OPER_MODE_MSA (3) -- Use the MS-assisted mode 6253 - eQMI_LOC_OPER_MODE_STANDALONE (4) -- Use Standalone mode 6254 - eQMI_LOC_OPER_MODE_CELL_ID (5) -- Use cell ID; this mode is only valid for GSM/UMTS networks 6255 - eQMI_LOC_OPER_MODE_WWAN (6) -- Use WWAN measurements to calculate the position; if this mode is 6256 set, AFLT will be used for 1X networks and OTDOA will be used 6257 for LTE networks 6258 */ 6259 6260 /* Optional */ 6261 /* Minimum Interval Between Position Reports */ 6262 uint8_t minInterval_valid; /**< Must be set to true if minInterval is being passed */ 6263 uint32_t minInterval; 6264 /**< Minimum time interval, specified by the control point, that must elapse between 6265 position reports. \n 6266 - Units: milliseconds \n 6267 - Default: 1000 ms 6268 */ 6269 }qmiLocSetOperationModeReqMsgT_v02; /* Message */ 6270 /** 6271 @} 6272 */ 6273 6274 /** @addtogroup loc_qmi_messages 6275 @{ 6276 */ 6277 /** Indication Message; Tells the engine to use the specified operation mode while 6278 making the position fixes. */ 6279 typedef struct { 6280 6281 /* Mandatory */ 6282 /* Set Operation Mode Status */ 6283 qmiLocStatusEnumT_v02 status; 6284 /**< Status of the Set Operation Mode request. 6285 6286 Valid values: \n 6287 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 6288 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 6289 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 6290 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 6291 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 6292 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 6293 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 6294 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 6295 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 6296 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 6297 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 6298 */ 6299 }qmiLocSetOperationModeIndMsgT_v02; /* Message */ 6300 /** 6301 @} 6302 */ 6303 6304 /** @addtogroup loc_qmi_messages 6305 @{ 6306 */ 6307 /** Request Message; Gets the current operation mode from the engine. */ 6308 typedef struct { 6309 /* This element is a placeholder to prevent the declaration of 6310 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 6311 char __placeholder; 6312 }qmiLocGetOperationModeReqMsgT_v02; 6313 6314 /* Message */ 6315 /** 6316 @} 6317 */ 6318 6319 /** @addtogroup loc_qmi_messages 6320 @{ 6321 */ 6322 /** Indication Message; Gets the current operation mode from the engine. */ 6323 typedef struct { 6324 6325 /* Mandatory */ 6326 /* Get Operation Mode Status */ 6327 qmiLocStatusEnumT_v02 status; 6328 /**< Status of the Get Operation Mode request. 6329 6330 Valid values: \n 6331 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 6332 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 6333 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 6334 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 6335 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 6336 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 6337 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 6338 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 6339 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 6340 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 6341 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 6342 */ 6343 6344 /* Optional */ 6345 /* Operation Mode */ 6346 uint8_t operationMode_valid; /**< Must be set to true if operationMode is being passed */ 6347 qmiLocOperationModeEnumT_v02 operationMode; 6348 /**< Current operation mode. 6349 6350 Valid values: \n 6351 - eQMI_LOC_OPER_MODE_DEFAULT (1) -- Use the default engine mode 6352 - eQMI_LOC_OPER_MODE_MSB (2) -- Use the MS-based mode 6353 - eQMI_LOC_OPER_MODE_MSA (3) -- Use the MS-assisted mode 6354 - eQMI_LOC_OPER_MODE_STANDALONE (4) -- Use Standalone mode 6355 - eQMI_LOC_OPER_MODE_CELL_ID (5) -- Use cell ID; this mode is only valid for GSM/UMTS networks 6356 - eQMI_LOC_OPER_MODE_WWAN (6) -- Use WWAN measurements to calculate the position; if this mode is 6357 set, AFLT will be used for 1X networks and OTDOA will be used 6358 for LTE networks 6359 */ 6360 }qmiLocGetOperationModeIndMsgT_v02; /* Message */ 6361 /** 6362 @} 6363 */ 6364 6365 /** @addtogroup loc_qmi_messages 6366 @{ 6367 */ 6368 /** Request Message; Used by the control point to set the SPI status, which 6369 indicates whether the device is stationary. */ 6370 typedef struct { 6371 6372 /* Mandatory */ 6373 /* Stationary Status */ 6374 uint8_t stationary; 6375 /**< Indicates whether the device is stationary: 6376 \begin{itemize1} 6377 \item 0x00 (FALSE) -- Device is not stationary 6378 \item 0x01 (TRUE) -- Device is stationary 6379 \vspace{-0.18in} \end{itemize1}*/ 6380 6381 /* Optional */ 6382 /* Confidence */ 6383 uint8_t confidenceStationary_valid; /**< Must be set to true if confidenceStationary is being passed */ 6384 uint8_t confidenceStationary; 6385 /**< Confidence in the Stationary state expressed as a percentage.\n 6386 - Range: 0 to 100 */ 6387 }qmiLocSetSpiStatusReqMsgT_v02; /* Message */ 6388 /** 6389 @} 6390 */ 6391 6392 /** @addtogroup loc_qmi_messages 6393 @{ 6394 */ 6395 /** Indication Message; Used by the control point to set the SPI status, which 6396 indicates whether the device is stationary. */ 6397 typedef struct { 6398 6399 /* Mandatory */ 6400 /* Status of SPI Status Request */ 6401 qmiLocStatusEnumT_v02 status; 6402 /**< Status of the SPI Status request. 6403 6404 Valid values: \n 6405 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 6406 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 6407 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 6408 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 6409 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 6410 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 6411 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 6412 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 6413 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 6414 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 6415 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 6416 */ 6417 }qmiLocSetSpiStatusIndMsgT_v02; /* Message */ 6418 /** 6419 @} 6420 */ 6421 6422 typedef uint8_t qmiLocSensorDataFlagMaskT_v02; 6423 #define QMI_LOC_SENSOR_DATA_FLAG_SIGN_REVERSAL_V02 ((qmiLocSensorDataFlagMaskT_v02)0x01) /**< Bitmask to specify that a sign reversal is required while interpreting 6424 the sensor data; only applies to the accelerometer samples */ 6425 #define QMI_LOC_SENSOR_DATA_FLAG_SENSOR_TIME_IS_MODEM_TIME_V02 ((qmiLocSensorDataFlagMaskT_v02)0x02) /**< Bitmask to specify that the sensor time stamp is the same as the modem 6426 time stamp */ 6427 #define QMI_LOC_SENSOR_DATA_FLAG_CALIBRATED_DATA_V02 ((qmiLocSensorDataFlagMaskT_v02)0x04) /**< Bitmask to specify that the injected sensor data is calibrated */ 6428 /** @addtogroup loc_qmi_enums 6429 @{ 6430 */ 6431 typedef enum { 6432 QMILOCSENSORDATATIMESOURCEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 6433 eQMI_LOC_SENSOR_TIME_SOURCE_UNSPECIFIED_V02 = 0, /**< Sensor time source is unspecified */ 6434 eQMI_LOC_SENSOR_TIME_SOURCE_COMMON_V02 = 1, /**< Time source is common between the sensors and 6435 the location engine */ 6436 QMILOCSENSORDATATIMESOURCEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 6437 }qmiLocSensorDataTimeSourceEnumT_v02; 6438 /** 6439 @} 6440 */ 6441 6442 /** @addtogroup loc_qmi_aggregates 6443 @{ 6444 */ 6445 typedef struct { 6446 6447 uint16_t timeOffset; 6448 /**< Sample time offset. This time offset must be 6449 relative to the timestamp of the first sensor data sample.\n 6450 - Units: Milliseconds */ 6451 6452 float xAxis; 6453 /**< Sensor x-axis sample. \n 6454 - Units Accelerometer: Meters/seconds^2 \n 6455 - Units Gyroscope: Radians/second \n 6456 - Units Magnetometer: microTesla */ 6457 6458 float yAxis; 6459 /**< Sensor y-axis sample. \n 6460 - Units Accelerometer: Meters/seconds^2 \n 6461 - Units Gyroscope: Radians/second \n 6462 - Units Magnetometer: microTesla */ 6463 6464 float zAxis; 6465 /**< Sensor z-axis sample. \n 6466 - Units Accelerometer: Meters/seconds^2 ) \n 6467 - Units Gyroscope: Radians/second \n 6468 - Units Magnetometer: microTesla */ 6469 }qmiLoc3AxisSensorSampleStructT_v02; /* Type */ 6470 /** 6471 @} 6472 */ 6473 6474 /** @addtogroup loc_qmi_aggregates 6475 @{ 6476 */ 6477 typedef struct { 6478 6479 uint32_t timeOfFirstSample; 6480 /**< Denotes a full 32-bit timestamp of the first (oldest) sample in this 6481 message.The timestamp is in the time reference scale that is 6482 used by the sensor time source.\n 6483 - Units: Milliseconds */ 6484 6485 qmiLocSensorDataFlagMaskT_v02 flags; 6486 /**< Flags to indicate any deviation from the default measurement 6487 assumptions. All unused bits in this field must be set to 0. 6488 6489 Valid bitmasks: 6490 - QMI_LOC_SENSOR_DATA_FLAG_SIGN_REVERSAL (0x01) -- Bitmask to specify that a sign reversal is required while interpreting 6491 the sensor data; only applies to the accelerometer samples 6492 - QMI_LOC_SENSOR_DATA_FLAG_SENSOR_TIME_IS_MODEM_TIME (0x02) -- Bitmask to specify that the sensor time stamp is the same as the modem 6493 time stamp 6494 - QMI_LOC_SENSOR_DATA_FLAG_CALIBRATED_DATA (0x04) -- Bitmask to specify that the injected sensor data is calibrated */ 6495 6496 uint32_t sensorData_len; /**< Must be set to # of elements in sensorData */ 6497 qmiLoc3AxisSensorSampleStructT_v02 sensorData[QMI_LOC_SENSOR_DATA_MAX_SAMPLES_V02]; 6498 /**< Variable length array to specify sensor samples. \n 6499 - Maximum length of the array: 50 */ 6500 }qmiLoc3AxisSensorSampleListStructT_v02; /* Type */ 6501 /** 6502 @} 6503 */ 6504 6505 /** @addtogroup loc_qmi_aggregates 6506 @{ 6507 */ 6508 typedef struct { 6509 6510 uint16_t timeOffset; 6511 /**< Sample time offset. This time offset must be 6512 relative to the timestamp of the first sensor sample.\n 6513 - Units: Milliseconds */ 6514 6515 float temperature; 6516 /**< Sensor temperature. \n 6517 - Type: Floating point \n 6518 - Units: Degrees Celsius \n 6519 - Range: -50 to +100.00 */ 6520 }qmiLocSensorTemperatureSampleStructT_v02; /* Type */ 6521 /** 6522 @} 6523 */ 6524 6525 /** @addtogroup loc_qmi_aggregates 6526 @{ 6527 */ 6528 typedef struct { 6529 6530 qmiLocSensorDataTimeSourceEnumT_v02 timeSource; 6531 /**< Denotes the time source of the sensor data. Location service will use 6532 this field to identify the time reference used in the 6533 sensor data timestamps. 6534 6535 Valid values: \n 6536 - eQMI_LOC_SENSOR_TIME_SOURCE_UNSPECIFIED (0) -- Sensor time source is unspecified 6537 - eQMI_LOC_SENSOR_TIME_SOURCE_COMMON (1) -- Time source is common between the sensors and 6538 the location engine 6539 */ 6540 6541 uint32_t timeOfFirstSample; 6542 /**< Denotes a full 32-bit timestamp of the first (oldest) sample in this 6543 message. The timestamp is in the time reference scale that is 6544 used by the sensor time source.\n 6545 - Units: Milliseconds */ 6546 6547 uint32_t temperatureData_len; /**< Must be set to # of elements in temperatureData */ 6548 qmiLocSensorTemperatureSampleStructT_v02 temperatureData[QMI_LOC_SENSOR_DATA_MAX_SAMPLES_V02]; 6549 /**< Variable length array to specify sensor temperature samples. \n 6550 - Maximum length of the array: 50 */ 6551 }qmiLocSensorTemperatureSampleListStructT_v02; /* Type */ 6552 /** 6553 @} 6554 */ 6555 6556 /** @addtogroup loc_qmi_messages 6557 @{ 6558 */ 6559 /** Request Message; Used by the control point to inject sensor data into the 6560 GNSS location engine. */ 6561 typedef struct { 6562 6563 /* Optional */ 6564 /* Opaque Identifier */ 6565 uint8_t opaqueIdentifier_valid; /**< Must be set to true if opaqueIdentifier is being passed */ 6566 uint32_t opaqueIdentifier; 6567 /**< An opaque identifier that is sent in by the client that will be echoed 6568 in the indication so the client can relate the indication to the 6569 request. */ 6570 6571 /* Optional */ 6572 /* 3-Axis Accelerometer Data */ 6573 uint8_t threeAxisAccelData_valid; /**< Must be set to true if threeAxisAccelData is being passed */ 6574 qmiLoc3AxisSensorSampleListStructT_v02 threeAxisAccelData; 6575 /**< \vspace{0.06in} \n Accelerometer sensor samples. */ 6576 6577 /* Optional */ 6578 /* 3-Axis Gyroscope Data */ 6579 uint8_t threeAxisGyroData_valid; /**< Must be set to true if threeAxisGyroData is being passed */ 6580 qmiLoc3AxisSensorSampleListStructT_v02 threeAxisGyroData; 6581 /**< \vspace{0.06in} \n Gyroscope sensor samples. */ 6582 6583 /* Optional */ 6584 /* 3-Axis Accelerometer Data Time Source */ 6585 uint8_t threeAxisAccelDataTimeSource_valid; /**< Must be set to true if threeAxisAccelDataTimeSource is being passed */ 6586 qmiLocSensorDataTimeSourceEnumT_v02 threeAxisAccelDataTimeSource; 6587 /**< Time source for the 3-axis accelerometer data. The location service uses 6588 this field to identify the time reference used in the accelerometer data 6589 timestamps. If not specified, the location service assumes that the 6590 time source for the accelereometer data is unknown. \n 6591 Values: \n 6592 - eQMI_LOC_SENSOR_TIME_SOURCE_UNSPECIFIED (0) -- Sensor time source is unspecified 6593 - eQMI_LOC_SENSOR_TIME_SOURCE_COMMON (1) -- Time source is common between the sensors and 6594 the location engine 6595 */ 6596 6597 /* Optional */ 6598 /* 3-Axis Gyroscope Data Time Source */ 6599 uint8_t threeAxisGyroDataTimeSource_valid; /**< Must be set to true if threeAxisGyroDataTimeSource is being passed */ 6600 qmiLocSensorDataTimeSourceEnumT_v02 threeAxisGyroDataTimeSource; 6601 /**< Time source for the 3-axis gyroscope data. The location service uses 6602 this field to identify the time reference used in the gyroscope data 6603 timestamps. If not specified, the location service assumes that the 6604 time source for the gyroscope data is unknown. \n 6605 Values: \n 6606 - eQMI_LOC_SENSOR_TIME_SOURCE_UNSPECIFIED (0) -- Sensor time source is unspecified 6607 - eQMI_LOC_SENSOR_TIME_SOURCE_COMMON (1) -- Time source is common between the sensors and 6608 the location engine 6609 */ 6610 6611 /* Optional */ 6612 /* Accelerometer Temperature Data */ 6613 uint8_t accelTemperatureData_valid; /**< Must be set to true if accelTemperatureData is being passed */ 6614 qmiLocSensorTemperatureSampleListStructT_v02 accelTemperatureData; 6615 /**< \vspace{0.06in} \nAccelerometer temperature samples. This data is optional and does not 6616 have to be included in the message along with accelerometer data. */ 6617 6618 /* Optional */ 6619 /* Gyroscope Temperature Data */ 6620 uint8_t gyroTemperatureData_valid; /**< Must be set to true if gyroTemperatureData is being passed */ 6621 qmiLocSensorTemperatureSampleListStructT_v02 gyroTemperatureData; 6622 /**< \vspace{0.06in} \n Gyroscope temperature samples. This data is optional and does not 6623 have to be included in the message along with gyroscope data. */ 6624 6625 /* Optional */ 6626 /* 3-Axis Magnetometer Data */ 6627 uint8_t threeAxisMagData_valid; /**< Must be set to true if threeAxisMagData is being passed */ 6628 qmiLoc3AxisSensorSampleListStructT_v02 threeAxisMagData; 6629 /**< \vspace{0.06in} \n Magnetometer sensor samples. */ 6630 6631 /* Optional */ 6632 /* 3-Axis Magnetometer Data Time Source */ 6633 uint8_t threeAxisMagDataTimeSource_valid; /**< Must be set to true if threeAxisMagDataTimeSource is being passed */ 6634 qmiLocSensorDataTimeSourceEnumT_v02 threeAxisMagDataTimeSource; 6635 /**< Time source for the 3-axis magnetometer data. The location service uses 6636 this field to identify the time reference used in the magnetometer data 6637 timestamps. If not specified, the location service assumes that the 6638 time source for the magnetometer data is unknown. \n 6639 Values: \n 6640 - eQMI_LOC_SENSOR_TIME_SOURCE_UNSPECIFIED (0) -- Sensor time source is unspecified 6641 - eQMI_LOC_SENSOR_TIME_SOURCE_COMMON (1) -- Time source is common between the sensors and 6642 the location engine 6643 */ 6644 }qmiLocInjectSensorDataReqMsgT_v02; /* Message */ 6645 /** 6646 @} 6647 */ 6648 6649 /** @addtogroup loc_qmi_messages 6650 @{ 6651 */ 6652 /** Indication Message; Used by the control point to inject sensor data into the 6653 GNSS location engine. */ 6654 typedef struct { 6655 6656 /* Mandatory */ 6657 /* Inject Sensor Data Status */ 6658 qmiLocStatusEnumT_v02 status; 6659 /**< Status of the Inject Sensor Data request. 6660 6661 Valid values: \n 6662 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 6663 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 6664 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 6665 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 6666 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 6667 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 6668 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 6669 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 6670 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 6671 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 6672 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 6673 */ 6674 6675 /* Optional */ 6676 /* Opaque Identifier */ 6677 uint8_t opaqueIdentifier_valid; /**< Must be set to true if opaqueIdentifier is being passed */ 6678 uint32_t opaqueIdentifier; 6679 /**< Opaque identifier that was sent in by the client echoed 6680 so the client can relate the indication to the request. */ 6681 6682 /* Optional */ 6683 /* Accelerometer Samples Accepted */ 6684 uint8_t threeAxisAccelSamplesAccepted_valid; /**< Must be set to true if threeAxisAccelSamplesAccepted is being passed */ 6685 uint8_t threeAxisAccelSamplesAccepted; 6686 /**< Lets the client know how many 3-axis accelerometer samples 6687 were accepted. This field is present only if the accelerometer 6688 samples were sent in the request. */ 6689 6690 /* Optional */ 6691 /* Gyroscope Samples Accepted */ 6692 uint8_t threeAxisGyroSamplesAccepted_valid; /**< Must be set to true if threeAxisGyroSamplesAccepted is being passed */ 6693 uint8_t threeAxisGyroSamplesAccepted; 6694 /**< Lets the client know how many 3-axis gyroscope samples were 6695 accepted. This field is present only if the gyroscope 6696 samples were sent in the request. */ 6697 6698 /* Optional */ 6699 /* Accelerometer Temperature Samples Accepted */ 6700 uint8_t accelTemperatureSamplesAccepted_valid; /**< Must be set to true if accelTemperatureSamplesAccepted is being passed */ 6701 uint8_t accelTemperatureSamplesAccepted; 6702 /**< Lets the client know how many accelerometer temperature 6703 samples were accepted. This field is present only if the accelerometer 6704 temperature samples were sent in the request. */ 6705 6706 /* Optional */ 6707 /* Gyroscope Temperature Samples Accepted */ 6708 uint8_t gyroTemperatureSamplesAccepted_valid; /**< Must be set to true if gyroTemperatureSamplesAccepted is being passed */ 6709 uint8_t gyroTemperatureSamplesAccepted; 6710 /**< Lets the client know how many gyroscope temperature samples 6711 were accepted. This field is present only if the gyroscope 6712 temperature samples were sent in the request. */ 6713 6714 /* Optional */ 6715 /* Magnetometer Samples Accepted */ 6716 uint8_t threeAxisMagSamplesAccepted_valid; /**< Must be set to true if threeAxisMagSamplesAccepted is being passed */ 6717 uint8_t threeAxisMagSamplesAccepted; 6718 /**< Lets the client know how many 3-axis magnetometer samples 6719 were accepted. This field is present only if the magnetometer 6720 samples were sent in the request. */ 6721 }qmiLocInjectSensorDataIndMsgT_v02; /* Message */ 6722 /** 6723 @} 6724 */ 6725 6726 /** @addtogroup loc_qmi_messages 6727 @{ 6728 */ 6729 /** Request Message; Used by the control point to inject time sync data. */ 6730 typedef struct { 6731 6732 /* Mandatory */ 6733 /* Reference Time Sync Counter */ 6734 uint32_t refCounter; 6735 /**< Must be set to the value that was sent to the control point when the 6736 GNSS location engine requested time sync injection. */ 6737 6738 /* Mandatory */ 6739 /* Sensor Receive Time */ 6740 uint32_t sensorProcRxTime; 6741 /**< Value of the sensor time when the control point received the 6742 Time Sync Inject request from the GNSS location engine. 6743 6744 Must be monotonically increasing, jitter @latexonly $\leq$ @endlatexonly 1 6745 millisecond, never stopping until the process is rebooted.\n 6746 - Units: Milliseconds */ 6747 6748 /* Mandatory */ 6749 /* Sensor Transmit Time */ 6750 uint32_t sensorProcTxTime; 6751 /**< Value of the sensor time when the control point injects this message 6752 for use by the GNSS location engine. 6753 6754 Must be monotonically increasing, jitter @latexonly $\leq$ @endlatexonly 1 6755 millisecond, never stopping until the process is rebooted.\n 6756 - Units: Milliseconds */ 6757 }qmiLocInjectTimeSyncDataReqMsgT_v02; /* Message */ 6758 /** 6759 @} 6760 */ 6761 6762 /** @addtogroup loc_qmi_messages 6763 @{ 6764 */ 6765 /** Indication Message; Used by the control point to inject time sync data. */ 6766 typedef struct { 6767 6768 /* Mandatory */ 6769 /* Inject Time Sync Data Status */ 6770 qmiLocStatusEnumT_v02 status; 6771 /**< Status of the Inject Time Sync Data request. 6772 6773 Valid values: \n 6774 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 6775 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 6776 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 6777 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 6778 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 6779 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 6780 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 6781 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 6782 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 6783 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 6784 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 6785 */ 6786 }qmiLocInjectTimeSyncDataIndMsgT_v02; /* Message */ 6787 /** 6788 @} 6789 */ 6790 6791 /** @addtogroup loc_qmi_enums 6792 @{ 6793 */ 6794 typedef enum { 6795 QMILOCCRADLEMOUNTSTATEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 6796 eQMI_LOC_CRADLE_STATE_NOT_MOUNTED_V02 = 0, /**< Device is mounted on the cradle */ 6797 eQMI_LOC_CRADLE_STATE_MOUNTED_V02 = 1, /**< Device is not mounted on the cradle */ 6798 eQMI_LOC_CRADLE_STATE_UNKNOWN_V02 = 2, /**< Unknown cradle mount state */ 6799 QMILOCCRADLEMOUNTSTATEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 6800 }qmiLocCradleMountStateEnumT_v02; 6801 /** 6802 @} 6803 */ 6804 6805 /** @addtogroup loc_qmi_messages 6806 @{ 6807 */ 6808 /** Request Message; Used by the control point to get the current 6809 cradle mount configuration. */ 6810 typedef struct { 6811 /* This element is a placeholder to prevent the declaration of 6812 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 6813 char __placeholder; 6814 }qmiLocGetCradleMountConfigReqMsgT_v02; 6815 6816 /* Message */ 6817 /** 6818 @} 6819 */ 6820 6821 /** @addtogroup loc_qmi_messages 6822 @{ 6823 */ 6824 /** Indication Message; Used by the control point to get the current 6825 cradle mount configuration. */ 6826 typedef struct { 6827 6828 /* Mandatory */ 6829 /* Get Cradle Mount Config Status */ 6830 qmiLocStatusEnumT_v02 status; 6831 /**< Status of the Get Cradle Mount Configuration request. 6832 6833 Valid values: \n 6834 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 6835 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 6836 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 6837 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 6838 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 6839 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 6840 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 6841 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 6842 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 6843 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 6844 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 6845 */ 6846 6847 /* Optional */ 6848 /* Cradle Mount State */ 6849 uint8_t cradleMountState_valid; /**< Must be set to true if cradleMountState is being passed */ 6850 qmiLocCradleMountStateEnumT_v02 cradleMountState; 6851 /**< Cradle Mount state set by the control point. 6852 6853 Valid values: \n 6854 - eQMI_LOC_CRADLE_STATE_NOT_MOUNTED (0) -- Device is mounted on the cradle 6855 - eQMI_LOC_CRADLE_STATE_MOUNTED (1) -- Device is not mounted on the cradle 6856 - eQMI_LOC_CRADLE_STATE_UNKNOWN (2) -- Unknown cradle mount state 6857 */ 6858 6859 /* Optional */ 6860 /* Cradle Mount Confidence */ 6861 uint8_t confidenceCradleMountState_valid; /**< Must be set to true if confidenceCradleMountState is being passed */ 6862 uint8_t confidenceCradleMountState; 6863 /**< Confidence of the Cradle Mount state expressed as a percentage.\n 6864 - Range: 0 to 100 */ 6865 }qmiLocGetCradleMountConfigIndMsgT_v02; /* Message */ 6866 /** 6867 @} 6868 */ 6869 6870 /** @addtogroup loc_qmi_messages 6871 @{ 6872 */ 6873 /** Request Message; Used by the control point to set the current 6874 cradle mount configuration. */ 6875 typedef struct { 6876 6877 /* Mandatory */ 6878 /* Cradle Mount State */ 6879 qmiLocCradleMountStateEnumT_v02 cradleMountState; 6880 /**< Cradle Mount state set by the control point. 6881 6882 Valid values: \n 6883 - eQMI_LOC_CRADLE_STATE_NOT_MOUNTED (0) -- Device is mounted on the cradle 6884 - eQMI_LOC_CRADLE_STATE_MOUNTED (1) -- Device is not mounted on the cradle 6885 - eQMI_LOC_CRADLE_STATE_UNKNOWN (2) -- Unknown cradle mount state 6886 */ 6887 6888 /* Optional */ 6889 /* Cradle Mount Confidence */ 6890 uint8_t confidenceCradleMountState_valid; /**< Must be set to true if confidenceCradleMountState is being passed */ 6891 uint8_t confidenceCradleMountState; 6892 /**< Confidence in the Cradle Mount state expressed as a percentage.\n 6893 - Range: 0 to 100 */ 6894 }qmiLocSetCradleMountConfigReqMsgT_v02; /* Message */ 6895 /** 6896 @} 6897 */ 6898 6899 /** @addtogroup loc_qmi_messages 6900 @{ 6901 */ 6902 /** Indication Message; Used by the control point to set the current 6903 cradle mount configuration. */ 6904 typedef struct { 6905 6906 /* Mandatory */ 6907 /* Set Cradle Mount Config Status */ 6908 qmiLocStatusEnumT_v02 status; 6909 /**< Status of the Set Cradle Mount Configuration request. 6910 6911 Valid values: \n 6912 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 6913 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 6914 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 6915 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 6916 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 6917 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 6918 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 6919 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 6920 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 6921 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 6922 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 6923 */ 6924 }qmiLocSetCradleMountConfigIndMsgT_v02; /* Message */ 6925 /** 6926 @} 6927 */ 6928 6929 /** @addtogroup loc_qmi_enums 6930 @{ 6931 */ 6932 typedef enum { 6933 QMILOCEXTERNALPOWERCONFIGENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 6934 eQMI_LOC_EXTERNAL_POWER_NOT_CONNECTED_V02 = 0, /**< Device is not connected to an external power source */ 6935 eQMI_LOC_EXTERNAL_POWER_CONNECTED_V02 = 1, /**< Device is connected to an external power source */ 6936 eQMI_LOC_EXTERNAL_POWER_UNKNOWN_V02 = 2, /**< Unknown external power state */ 6937 QMILOCEXTERNALPOWERCONFIGENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 6938 }qmiLocExternalPowerConfigEnumT_v02; 6939 /** 6940 @} 6941 */ 6942 6943 /** @addtogroup loc_qmi_messages 6944 @{ 6945 */ 6946 /** Request Message; Used by the control point to get the current 6947 external power configuration. */ 6948 typedef struct { 6949 /* This element is a placeholder to prevent the declaration of 6950 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 6951 char __placeholder; 6952 }qmiLocGetExternalPowerConfigReqMsgT_v02; 6953 6954 /* Message */ 6955 /** 6956 @} 6957 */ 6958 6959 /** @addtogroup loc_qmi_messages 6960 @{ 6961 */ 6962 /** Indication Message; Used by the control point to get the current 6963 external power configuration. */ 6964 typedef struct { 6965 6966 /* Mandatory */ 6967 /* Get Ext Power Config Status */ 6968 qmiLocStatusEnumT_v02 status; 6969 /**< Status of the Get External Power Configuration request. 6970 6971 Valid values: \n 6972 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 6973 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 6974 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 6975 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 6976 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 6977 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 6978 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 6979 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 6980 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 6981 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 6982 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 6983 */ 6984 6985 /* Optional */ 6986 /* External Power State */ 6987 uint8_t externalPowerState_valid; /**< Must be set to true if externalPowerState is being passed */ 6988 qmiLocExternalPowerConfigEnumT_v02 externalPowerState; 6989 /**< Power state; injected by the control point. 6990 6991 Valid values: \n 6992 - eQMI_LOC_EXTERNAL_POWER_NOT_CONNECTED (0) -- Device is not connected to an external power source 6993 - eQMI_LOC_EXTERNAL_POWER_CONNECTED (1) -- Device is connected to an external power source 6994 - eQMI_LOC_EXTERNAL_POWER_UNKNOWN (2) -- Unknown external power state 6995 */ 6996 }qmiLocGetExternalPowerConfigIndMsgT_v02; /* Message */ 6997 /** 6998 @} 6999 */ 7000 7001 /** @addtogroup loc_qmi_messages 7002 @{ 7003 */ 7004 /** Request Message; Used by the control point to set the current 7005 external power configuration. */ 7006 typedef struct { 7007 7008 /* Mandatory */ 7009 /* External Power State */ 7010 qmiLocExternalPowerConfigEnumT_v02 externalPowerState; 7011 /**< Power state; injected by the control point. 7012 7013 Valid values: \n 7014 - eQMI_LOC_EXTERNAL_POWER_NOT_CONNECTED (0) -- Device is not connected to an external power source 7015 - eQMI_LOC_EXTERNAL_POWER_CONNECTED (1) -- Device is connected to an external power source 7016 - eQMI_LOC_EXTERNAL_POWER_UNKNOWN (2) -- Unknown external power state 7017 */ 7018 }qmiLocSetExternalPowerConfigReqMsgT_v02; /* Message */ 7019 /** 7020 @} 7021 */ 7022 7023 /** @addtogroup loc_qmi_messages 7024 @{ 7025 */ 7026 /** Indication Message; Used by the control point to set the current 7027 external power configuration. */ 7028 typedef struct { 7029 7030 /* Mandatory */ 7031 /* Set Ext Power Config Status */ 7032 qmiLocStatusEnumT_v02 status; 7033 /**< Status of the Set External Power Configuration request. 7034 7035 Valid values: \n 7036 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 7037 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 7038 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 7039 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 7040 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 7041 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 7042 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 7043 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 7044 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 7045 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 7046 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 7047 */ 7048 }qmiLocSetExternalPowerConfigIndMsgT_v02; /* Message */ 7049 /** 7050 @} 7051 */ 7052 7053 /** @addtogroup loc_qmi_enums 7054 @{ 7055 */ 7056 typedef enum { 7057 QMILOCSERVERPDNENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 7058 eQMI_LOC_APN_PROFILE_PDN_TYPE_IPV4_V02 = 0x01, /**< IPv4 PDN type */ 7059 eQMI_LOC_APN_PROFILE_PDN_TYPE_IPV6_V02 = 0x02, /**< IPv6 PDN type */ 7060 eQMI_LOC_APN_PROFILE_PDN_TYPE_IPV4V6_V02 = 0x03, /**< IPv4v6 PDN type */ 7061 eQMI_LOC_APN_PROFILE_PDN_TYPE_PPP_V02 = 0x04, /**< PPP PDN type */ 7062 QMILOCSERVERPDNENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 7063 }qmiLocServerPDNEnumT_v02; 7064 /** 7065 @} 7066 */ 7067 7068 /** @addtogroup loc_qmi_aggregates 7069 @{ 7070 */ 7071 typedef struct { 7072 7073 qmiLocServerPDNEnumT_v02 pdnType; 7074 /**< PDN type of the APN profile. 7075 7076 Valid values: \n 7077 - eQMI_LOC_APN_PROFILE_PDN_TYPE_IPV4 (0x01) -- IPv4 PDN type 7078 - eQMI_LOC_APN_PROFILE_PDN_TYPE_IPV6 (0x02) -- IPv6 PDN type 7079 - eQMI_LOC_APN_PROFILE_PDN_TYPE_IPV4V6 (0x03) -- IPv4v6 PDN type 7080 - eQMI_LOC_APN_PROFILE_PDN_TYPE_PPP (0x04) -- PPP PDN type 7081 */ 7082 7083 char apnName[QMI_LOC_MAX_APN_NAME_LENGTH_V02 + 1]; 7084 /**< APN name. 7085 \begin{itemize1} 7086 \item Type: NULL-terminated string 7087 \item Maximum string length (including NULL terminator): 101 7088 \vspace{-0.18in} \end{itemize1} 7089 */ 7090 }qmiLocApnProfilesStructT_v02; /* Type */ 7091 /** 7092 @} 7093 */ 7094 7095 /** @addtogroup loc_qmi_enums 7096 @{ 7097 */ 7098 typedef enum { 7099 QMILOCSERVERREQSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 7100 eQMI_LOC_SERVER_REQ_STATUS_SUCCESS_V02 = 1, /**< Location server request was successful */ 7101 eQMI_LOC_SERVER_REQ_STATUS_FAILURE_V02 = 2, /**< Location server request failed */ 7102 QMILOCSERVERREQSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 7103 }qmiLocServerReqStatusEnumT_v02; 7104 /** 7105 @} 7106 */ 7107 7108 /** @addtogroup loc_qmi_messages 7109 @{ 7110 */ 7111 /** Request Message; Used by the control point to inform the service about the 7112 status of the location server connection request that the 7113 service may have sent via the 7114 QMI_LOC_EVENT_LOCATION_SERVER_CONNECTION_REQ_IND event. */ 7115 typedef struct { 7116 7117 /* Mandatory */ 7118 /* Connection Handle */ 7119 uint32_t connHandle; 7120 /**< Connection handle that the service specified in the 7121 Location Server Connection request event. */ 7122 7123 /* Mandatory */ 7124 /* Request Type */ 7125 qmiLocServerRequestEnumT_v02 requestType; 7126 /**< Type of connection request service that was specified in the 7127 Location Server Connection Request event. 7128 7129 Valid values: \n 7130 - eQMI_LOC_SERVER_REQUEST_OPEN (1) -- Open a connection to the location server 7131 - eQMI_LOC_SERVER_REQUEST_CLOSE (2) -- Close a connection to the location server 7132 */ 7133 7134 /* Mandatory */ 7135 /* Connection Status */ 7136 qmiLocServerReqStatusEnumT_v02 statusType; 7137 /**< Status of the Connection request. 7138 7139 Valid values: \n 7140 - eQMI_LOC_SERVER_REQ_STATUS_SUCCESS (1) -- Location server request was successful 7141 - eQMI_LOC_SERVER_REQ_STATUS_FAILURE (2) -- Location server request failed 7142 */ 7143 7144 /* Optional */ 7145 /* APN Profile */ 7146 uint8_t apnProfile_valid; /**< Must be set to true if apnProfile is being passed */ 7147 qmiLocApnProfilesStructT_v02 apnProfile; 7148 /**< \vspace{0.06in} \n Access Point Name (APN) profile information is present only when 7149 requestType is OPEN and statusType is SUCCESS. */ 7150 }qmiLocInformLocationServerConnStatusReqMsgT_v02; /* Message */ 7151 /** 7152 @} 7153 */ 7154 7155 /** @addtogroup loc_qmi_messages 7156 @{ 7157 */ 7158 /** Indication Message; Used by the control point to inform the service about the 7159 status of the location server connection request that the 7160 service may have sent via the 7161 QMI_LOC_EVENT_LOCATION_SERVER_CONNECTION_REQ_IND event. */ 7162 typedef struct { 7163 7164 /* Mandatory */ 7165 /* Status of Inform Loc Server Conn Status */ 7166 qmiLocStatusEnumT_v02 status; 7167 /**< Status of the Inform Location Server Connection Status request. 7168 7169 Valid values: \n 7170 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 7171 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 7172 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 7173 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 7174 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 7175 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 7176 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 7177 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 7178 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 7179 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 7180 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 7181 */ 7182 }qmiLocInformLocationServerConnStatusIndMsgT_v02; /* Message */ 7183 /** 7184 @} 7185 */ 7186 7187 /** @addtogroup loc_qmi_enums 7188 @{ 7189 */ 7190 typedef enum { 7191 QMILOCVXVERSIONENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 7192 eQMI_LOC_VX_VERSION_V1_ONLY_V02 = 1, /**< V1 VX version */ 7193 eQMI_LOC_VX_VERSION_V2_ONLY_V02 = 2, /**< V2 VX version */ 7194 QMILOCVXVERSIONENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 7195 }qmiLocVxVersionEnumT_v02; 7196 /** 7197 @} 7198 */ 7199 7200 /** @addtogroup loc_qmi_enums 7201 @{ 7202 */ 7203 typedef enum { 7204 QMILOCSUPLVERSIONENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 7205 eQMI_LOC_SUPL_VERSION_1_0_V02 = 1, /**< SUPL version 1.0 */ 7206 eQMI_LOC_SUPL_VERSION_2_0_V02 = 2, /**< SUPL version 2.0 */ 7207 QMILOCSUPLVERSIONENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 7208 }qmiLocSuplVersionEnumT_v02; 7209 /** 7210 @} 7211 */ 7212 7213 typedef uint32_t qmiLocLppConfigMaskT_v02; 7214 #define QMI_LOC_LPP_CONFIG_ENABLE_USER_PLANE_V02 ((qmiLocLppConfigMaskT_v02)0x00000001) /**< Enable user plane configuration for LTE Positioning Profile (LPP) */ 7215 #define QMI_LOC_LPP_CONFIG_ENABLE_CONTROL_PLANE_V02 ((qmiLocLppConfigMaskT_v02)0x00000002) /**< Enable control plane configuration for LPP */ 7216 typedef uint32_t qmiLocAssistedGlonassProtocolMaskT_v02; 7217 #define QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_RRC_CP_V02 ((qmiLocAssistedGlonassProtocolMaskT_v02)0x00000001) /**< Assisted GLONASS is supported over RRC in the control plane */ 7218 #define QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_RRLP_UP_V02 ((qmiLocAssistedGlonassProtocolMaskT_v02)0x00000002) /**< Assisted GLONASS is supported over RRLP in the user plane */ 7219 #define QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_LPP_UP_V02 ((qmiLocAssistedGlonassProtocolMaskT_v02)0x00000004) /**< Assisted GLONASS is supported over LPP in the user plane; 7220 QMI_LOC_LPP_CONFIG_ENABLE_USER_PLANE must be set 7221 in the LPP configuration for this to take effect */ 7222 #define QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_LPP_CP_V02 ((qmiLocAssistedGlonassProtocolMaskT_v02)0x00000008) /**< Assisted GLONASS is supported over LPP in the control plane; 7223 QMI_LOC_LPP_CONFIG_ENABLE_CONTROL_PLANE must be set 7224 in the LPP configuration for this to take effect */ 7225 /** @addtogroup loc_qmi_enums 7226 @{ 7227 */ 7228 typedef enum { 7229 QMILOCSUPLHASHALGOENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 7230 eQMI_LOC_SUPL_HASH_ALGO_SHA1_V02 = 0, /**< SHA-1 hash algorithm for SUPL version 2.0 or later */ 7231 eQMI_LOC_SUPL_HASH_ALGO_SHA256_V02 = 1, /**< SHA-256 hash algorithm for SUPL version 2.0 or later */ 7232 QMILOCSUPLHASHALGOENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 7233 }qmiLocSuplHashAlgoEnumT_v02; 7234 /** 7235 @} 7236 */ 7237 7238 /** @addtogroup loc_qmi_enums 7239 @{ 7240 */ 7241 typedef enum { 7242 QMILOCSUPLTLSVERSIONENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 7243 eQMI_LOC_SUPL_TLS_VERSION_1_0_V02 = 0, /**< SUPL TLS version 1.0 */ 7244 eQMI_LOC_SUPL_TLS_VERSION_1_1_V02 = 1, /**< SUPL TLS version 1.1 */ 7245 QMILOCSUPLTLSVERSIONENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 7246 }qmiLocSuplTlsVersionEnumT_v02; 7247 /** 7248 @} 7249 */ 7250 7251 /** @addtogroup loc_qmi_enums 7252 @{ 7253 */ 7254 typedef enum { 7255 QMILOCEMERGENCYPROTOCOLENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 7256 eQMI_LOC_EMERGENCY_PROTOCOL_WCDMA_CP_V02 = 0, /**< Use Control Plane Protocol during an emergency while on WCDMA */ 7257 eQMI_LOC_EMERGENCY_PROTOCOL_WCDMA_UP_V02 = 1, /**< Use SUPL 2.0 emergency services during an emergency while on WCDMA */ 7258 QMILOCEMERGENCYPROTOCOLENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 7259 }qmiLocEmergencyProtocolEnumT_v02; 7260 /** 7261 @} 7262 */ 7263 7264 /** @addtogroup loc_qmi_messages 7265 @{ 7266 */ 7267 /** Request Message; Used by the control point to configure parameters stored 7268 in the nonvolatile memory. */ 7269 typedef struct { 7270 7271 /* Optional */ 7272 /* SUPL Security */ 7273 uint8_t suplSecurity_valid; /**< Must be set to true if suplSecurity is being passed */ 7274 uint8_t suplSecurity; 7275 /**< Indicates whether SUPL security is enabled. 7276 \begin{itemize1} 7277 \item 0x01 (TRUE) -- SUPL security is enabled 7278 \item 0x00 (FALSE) -- SUPL security is disabled 7279 \vspace{-0.18in} \end{itemize1} */ 7280 7281 /* Optional */ 7282 /* VX Version */ 7283 uint8_t vxVersion_valid; /**< Must be set to true if vxVersion is being passed */ 7284 qmiLocVxVersionEnumT_v02 vxVersion; 7285 /**< VX version. 7286 7287 Valid values: \n 7288 - eQMI_LOC_VX_VERSION_V1_ONLY (1) -- V1 VX version 7289 - eQMI_LOC_VX_VERSION_V2_ONLY (2) -- V2 VX version 7290 */ 7291 7292 /* Optional */ 7293 /* SUPL Version */ 7294 uint8_t suplVersion_valid; /**< Must be set to true if suplVersion is being passed */ 7295 qmiLocSuplVersionEnumT_v02 suplVersion; 7296 /**< SUPL version. 7297 7298 Valid values: \n 7299 - eQMI_LOC_SUPL_VERSION_1_0 (1) -- SUPL version 1.0 7300 - eQMI_LOC_SUPL_VERSION_2_0 (2) -- SUPL version 2.0 7301 */ 7302 7303 /* Optional */ 7304 /* LPP Configuration */ 7305 uint8_t lppConfig_valid; /**< Must be set to true if lppConfig is being passed */ 7306 qmiLocLppConfigMaskT_v02 lppConfig; 7307 /**< LTE Positioning Profile (LPP) configuration. 7308 7309 Valid bitmasks: \begin{itemize1} 7310 \item 0x00000001 -- LPP_CONFIG_ ENABLE_USER_PLANE 7311 \item 0x00000002 -- LPP_CONFIG_ ENABLE_CONTROL_PLANE 7312 \vspace{-0.18in} \end{itemize1} 7313 */ 7314 7315 /* Optional */ 7316 /* Assisted GLONASS Protocol Mask */ 7317 uint8_t assistedGlonassProtocolMask_valid; /**< Must be set to true if assistedGlonassProtocolMask is being passed */ 7318 qmiLocAssistedGlonassProtocolMaskT_v02 assistedGlonassProtocolMask; 7319 /**< Configures the protocols that the location service supports 7320 for assisted GLONASS. 7321 7322 Valid bitmasks: \n 7323 - QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_RRC_CP (0x00000001) -- Assisted GLONASS is supported over RRC in the control plane 7324 - QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_RRLP_UP (0x00000002) -- Assisted GLONASS is supported over RRLP in the user plane 7325 - QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_LPP_UP (0x00000004) -- Assisted GLONASS is supported over LPP in the user plane; 7326 QMI_LOC_LPP_CONFIG_ENABLE_USER_PLANE must be set 7327 in the LPP configuration for this to take effect 7328 - QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_LPP_CP (0x00000008) -- Assisted GLONASS is supported over LPP in the control plane; 7329 QMI_LOC_LPP_CONFIG_ENABLE_CONTROL_PLANE must be set 7330 in the LPP configuration for this to take effect 7331 */ 7332 7333 /* Optional */ 7334 /* SUPL Hash Algorithm */ 7335 uint8_t suplHashAlgo_valid; /**< Must be set to true if suplHashAlgo is being passed */ 7336 qmiLocSuplHashAlgoEnumT_v02 suplHashAlgo; 7337 /**< SUPL hash algorithm to be used. 7338 7339 Valid values: \n 7340 - eQMI_LOC_SUPL_HASH_ALGO_SHA1 (0) -- SHA-1 hash algorithm for SUPL version 2.0 or later 7341 - eQMI_LOC_SUPL_HASH_ALGO_SHA256 (1) -- SHA-256 hash algorithm for SUPL version 2.0 or later 7342 */ 7343 7344 /* Optional */ 7345 /* SUPL TLS Version */ 7346 uint8_t suplTlsVersion_valid; /**< Must be set to true if suplTlsVersion is being passed */ 7347 qmiLocSuplTlsVersionEnumT_v02 suplTlsVersion; 7348 /**< SUPL Transport Layer Security (TLS) version. This configuration is only 7349 applicable to SUPL 2.0 or later, as SUPL 1.0 always uses TLS version 1.0. 7350 7351 Valid values: \n 7352 - eQMI_LOC_SUPL_TLS_VERSION_1_0 (0) -- SUPL TLS version 1.0 7353 - eQMI_LOC_SUPL_TLS_VERSION_1_1 (1) -- SUPL TLS version 1.1 7354 */ 7355 7356 /* Optional */ 7357 /* Emergency Protocol */ 7358 uint8_t emergencyProtocol_valid; /**< Must be set to true if emergencyProtocol is being passed */ 7359 qmiLocEmergencyProtocolEnumT_v02 emergencyProtocol; 7360 /**< Configures the protocol to be used during an emergency. \n 7361 \textbf{Note:} Currently, this can only be selected on WCDMA. For GSM 7362 and 1X, the UE only allows a control plane NI trigger for positioning. 7363 For LTE, the UE allows either a SUPL or a control plane NI trigger. 7364 7365 Valid values: \n 7366 - eQMI_LOC_EMERGENCY_PROTOCOL_WCDMA_CP (0) -- Use Control Plane Protocol during an emergency while on WCDMA 7367 - eQMI_LOC_EMERGENCY_PROTOCOL_WCDMA_UP (1) -- Use SUPL 2.0 emergency services during an emergency while on WCDMA 7368 */ 7369 7370 /* Optional */ 7371 /* Wi-Fi Scan Injection Timeout Period */ 7372 uint8_t wifiScanInjectTimeout_valid; /**< Must be set to true if wifiScanInjectTimeout is being passed */ 7373 uint8_t wifiScanInjectTimeout; 7374 /**< Configures the timeout duration that the service waits for scan results 7375 injection from the control point after the event notification is sent. \n 7376 \textbf{Note:} The timeout value is in seconds. \n 7377 Values: \n 7378 0 to 10 seconds \n 7379 The minimum value (0 seconds) is the default. At this value, the service 7380 disables sending the Wi-Fi scan injection notification and ignores any 7381 scan results injection request. 7382 */ 7383 }qmiLocSetProtocolConfigParametersReqMsgT_v02; /* Message */ 7384 /** 7385 @} 7386 */ 7387 7388 typedef uint64_t qmiLocProtocolConfigParamMaskT_v02; 7389 #define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_SECURITY_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000001ull) /**< Mask for the SUPL security configuration parameter */ 7390 #define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_VX_VERSION_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000002ull) /**< Mask for the VX version configuration parameter */ 7391 #define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_VERSION_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000004ull) /**< Mask for the SUPL version configuration parameter */ 7392 #define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_LPP_CONFIG_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000008ull) /**< Mask for the LPP configuration parameter */ 7393 #define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_ASSISTED_GLONASS_PROTOCOL_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000010ull) /**< Mask for the assisted GLONASS configuration parameter */ 7394 #define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_HASH_ALGO_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000020ull) /**< Mask for the SUPL hash algorithm configuration parameter */ 7395 #define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_TLS_VERSION_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000040ull) /**< Mask for the SUPL TLS version configuration parameter */ 7396 #define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_EMERGENCY_PROTOCOL_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000080ull) /**< Mask for the emergency protocol configuration parameter */ 7397 #define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_WIFI_SCAN_INJECT_TIMEOUT_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000100ull) /**< Mask for the Wi-Fi scan injection timeout configuration parameter */ 7398 /** @addtogroup loc_qmi_messages 7399 @{ 7400 */ 7401 /** Indication Message; Used by the control point to configure parameters stored 7402 in the nonvolatile memory. */ 7403 typedef struct { 7404 7405 /* Mandatory */ 7406 /* Set Config Params Status */ 7407 qmiLocStatusEnumT_v02 status; 7408 /**< Status of the Set Configuration Parameters request. 7409 7410 Valid values: \n 7411 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 7412 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 7413 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 7414 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 7415 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 7416 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 7417 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 7418 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 7419 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 7420 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 7421 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 7422 */ 7423 7424 /* Optional */ 7425 /* Failed Parameters */ 7426 uint8_t failedProtocolConfigParamMask_valid; /**< Must be set to true if failedProtocolConfigParamMask is being passed */ 7427 qmiLocProtocolConfigParamMaskT_v02 failedProtocolConfigParamMask; 7428 /**< Identifies parameters that were not set successfully. This field 7429 is sent only if the status is not SUCCESS. 7430 7431 Valid bitmasks: \n 7432 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_SECURITY (0x0000000000000001) -- Mask for the SUPL security configuration parameter 7433 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_VX_VERSION (0x0000000000000002) -- Mask for the VX version configuration parameter 7434 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_VERSION (0x0000000000000004) -- Mask for the SUPL version configuration parameter 7435 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_LPP_CONFIG (0x0000000000000008) -- Mask for the LPP configuration parameter 7436 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_ASSISTED_GLONASS_PROTOCOL (0x0000000000000010) -- Mask for the assisted GLONASS configuration parameter 7437 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_HASH_ALGO (0x0000000000000020) -- Mask for the SUPL hash algorithm configuration parameter 7438 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_TLS_VERSION (0x0000000000000040) -- Mask for the SUPL TLS version configuration parameter 7439 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_EMERGENCY_PROTOCOL (0x0000000000000080) -- Mask for the emergency protocol configuration parameter 7440 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_WIFI_SCAN_INJECT_TIMEOUT (0x0000000000000100) -- Mask for the Wi-Fi scan injection timeout configuration parameter 7441 */ 7442 }qmiLocSetProtocolConfigParametersIndMsgT_v02; /* Message */ 7443 /** 7444 @} 7445 */ 7446 7447 /** @addtogroup loc_qmi_messages 7448 @{ 7449 */ 7450 /** Request Message; Used by the control point to get the configuration 7451 parameters stored in the nonvolatile memory. */ 7452 typedef struct { 7453 7454 /* Mandatory */ 7455 /* Config Parameters */ 7456 qmiLocProtocolConfigParamMaskT_v02 getProtocolConfigParamMask; 7457 /**< Mask denoting the configuration parameters to be retrieved. 7458 7459 Valid bitmasks: \n 7460 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_SECURITY (0x0000000000000001) -- Mask for the SUPL security configuration parameter 7461 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_VX_VERSION (0x0000000000000002) -- Mask for the VX version configuration parameter 7462 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_VERSION (0x0000000000000004) -- Mask for the SUPL version configuration parameter 7463 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_LPP_CONFIG (0x0000000000000008) -- Mask for the LPP configuration parameter 7464 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_ASSISTED_GLONASS_PROTOCOL (0x0000000000000010) -- Mask for the assisted GLONASS configuration parameter 7465 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_HASH_ALGO (0x0000000000000020) -- Mask for the SUPL hash algorithm configuration parameter 7466 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_TLS_VERSION (0x0000000000000040) -- Mask for the SUPL TLS version configuration parameter 7467 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_EMERGENCY_PROTOCOL (0x0000000000000080) -- Mask for the emergency protocol configuration parameter 7468 - QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_WIFI_SCAN_INJECT_TIMEOUT (0x0000000000000100) -- Mask for the Wi-Fi scan injection timeout configuration parameter 7469 */ 7470 }qmiLocGetProtocolConfigParametersReqMsgT_v02; /* Message */ 7471 /** 7472 @} 7473 */ 7474 7475 /** @addtogroup loc_qmi_messages 7476 @{ 7477 */ 7478 /** Indication Message; Used by the control point to get the configuration 7479 parameters stored in the nonvolatile memory. */ 7480 typedef struct { 7481 7482 /* Mandatory */ 7483 /* Get Config Params Status */ 7484 qmiLocStatusEnumT_v02 status; 7485 /**< Status of the Get Configuration Parameters request. 7486 7487 Valid values: \n 7488 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 7489 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 7490 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 7491 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 7492 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 7493 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 7494 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 7495 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 7496 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 7497 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 7498 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 7499 */ 7500 7501 /* Optional */ 7502 /* SUPL Security */ 7503 uint8_t suplSecurity_valid; /**< Must be set to true if suplSecurity is being passed */ 7504 uint8_t suplSecurity; 7505 /**< Indicates whether SUPL security is enabled. 7506 \begin{itemize1} 7507 \item 0x01 (TRUE) -- SUPL security is enabled 7508 \item 0x00 (FALSE) -- SUPL security is disabled 7509 \vspace{-0.18in} \end{itemize1}*/ 7510 7511 /* Optional */ 7512 /* VX Version */ 7513 uint8_t vxVersion_valid; /**< Must be set to true if vxVersion is being passed */ 7514 qmiLocVxVersionEnumT_v02 vxVersion; 7515 /**< VX version. 7516 7517 Valid values: \n 7518 - eQMI_LOC_VX_VERSION_V1_ONLY (1) -- V1 VX version 7519 - eQMI_LOC_VX_VERSION_V2_ONLY (2) -- V2 VX version 7520 */ 7521 7522 /* Optional */ 7523 /* SUPL Version */ 7524 uint8_t suplVersion_valid; /**< Must be set to true if suplVersion is being passed */ 7525 qmiLocSuplVersionEnumT_v02 suplVersion; 7526 /**< SUPL version. 7527 7528 Valid values: \n 7529 - eQMI_LOC_SUPL_VERSION_1_0 (1) -- SUPL version 1.0 7530 - eQMI_LOC_SUPL_VERSION_2_0 (2) -- SUPL version 2.0 7531 */ 7532 7533 /* Optional */ 7534 /* LPP Configuration */ 7535 uint8_t lppConfig_valid; /**< Must be set to true if lppConfig is being passed */ 7536 qmiLocLppConfigMaskT_v02 lppConfig; 7537 /**< LTE Positioning Profile (LPP) configuration. 7538 7539 Valid bitmasks: \begin{itemize1} 7540 \item 0x00000001 -- LPP_CONFIG_ ENABLE_USER_PLANE 7541 \item 0x00000002 -- LPP_CONFIG_ ENABLE_CONTROL_PLANE 7542 \vspace{-0.18in} \end{itemize1} 7543 */ 7544 7545 /* Optional */ 7546 /* Assisted GLONASS Protocol Mask */ 7547 uint8_t assistedGlonassProtocolMask_valid; /**< Must be set to true if assistedGlonassProtocolMask is being passed */ 7548 qmiLocAssistedGlonassProtocolMaskT_v02 assistedGlonassProtocolMask; 7549 /**< Assisted GLONASS Protocol mask. 7550 7551 Valid bitmasks: \n 7552 - QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_RRC_CP (0x00000001) -- Assisted GLONASS is supported over RRC in the control plane 7553 - QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_RRLP_UP (0x00000002) -- Assisted GLONASS is supported over RRLP in the user plane 7554 - QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_LPP_UP (0x00000004) -- Assisted GLONASS is supported over LPP in the user plane; 7555 QMI_LOC_LPP_CONFIG_ENABLE_USER_PLANE must be set 7556 in the LPP configuration for this to take effect 7557 - QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_LPP_CP (0x00000008) -- Assisted GLONASS is supported over LPP in the control plane; 7558 QMI_LOC_LPP_CONFIG_ENABLE_CONTROL_PLANE must be set 7559 in the LPP configuration for this to take effect 7560 */ 7561 7562 /* Optional */ 7563 /* SUPL Hash Algorithm */ 7564 uint8_t suplHashAlgo_valid; /**< Must be set to true if suplHashAlgo is being passed */ 7565 qmiLocSuplHashAlgoEnumT_v02 suplHashAlgo; 7566 /**< SUPL hash algorithm to be used. 7567 7568 Valid values: \n 7569 - eQMI_LOC_SUPL_HASH_ALGO_SHA1 (0) -- SHA-1 hash algorithm for SUPL version 2.0 or later 7570 - eQMI_LOC_SUPL_HASH_ALGO_SHA256 (1) -- SHA-256 hash algorithm for SUPL version 2.0 or later 7571 */ 7572 7573 /* Optional */ 7574 /* SUPL TLS Version */ 7575 uint8_t suplTlsVersion_valid; /**< Must be set to true if suplTlsVersion is being passed */ 7576 qmiLocSuplTlsVersionEnumT_v02 suplTlsVersion; 7577 /**< SUPL TLS version. This configuration is only 7578 applicable to SUPL 2.0 or later, as SUPL 1.0 always uses TLS version 1.0. 7579 7580 Valid values: \n 7581 - eQMI_LOC_SUPL_TLS_VERSION_1_0 (0) -- SUPL TLS version 1.0 7582 - eQMI_LOC_SUPL_TLS_VERSION_1_1 (1) -- SUPL TLS version 1.1 7583 */ 7584 7585 /* Optional */ 7586 /* Emergency Protocol */ 7587 uint8_t emergencyProtocol_valid; /**< Must be set to true if emergencyProtocol is being passed */ 7588 qmiLocEmergencyProtocolEnumT_v02 emergencyProtocol; 7589 /**< Protocol to be used during emergency. 7590 7591 Valid values: \n 7592 - eQMI_LOC_EMERGENCY_PROTOCOL_WCDMA_CP (0) -- Use Control Plane Protocol during an emergency while on WCDMA 7593 - eQMI_LOC_EMERGENCY_PROTOCOL_WCDMA_UP (1) -- Use SUPL 2.0 emergency services during an emergency while on WCDMA 7594 */ 7595 7596 /* Optional */ 7597 /* Wi-Fi Scan Injection Timeout Period */ 7598 uint8_t wifiScanInjectTimeout_valid; /**< Must be set to true if wifiScanInjectTimeout is being passed */ 7599 uint8_t wifiScanInjectTimeout; 7600 /**< Timeout duration that the service waits for a scan results 7601 injection from the control point after the event notification is sent. \n 7602 Values: \n 7603 0 to 10 seconds 7604 */ 7605 }qmiLocGetProtocolConfigParametersIndMsgT_v02; /* Message */ 7606 /** 7607 @} 7608 */ 7609 7610 /** @addtogroup loc_qmi_enums 7611 @{ 7612 */ 7613 typedef enum { 7614 QMILOCSENSORSCONTROLCONFIGSENSORUSEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 7615 eQMI_LOC_SENSOR_CONFIG_SENSOR_USE_ENABLE_V02 = 0, /**< Sensors data should be requested whenever a position request is 7616 received. If sensor data are injected, the positioning engine 7617 attempts to improve the heading and positioning performance using sensors. 7618 This is the default. 7619 */ 7620 eQMI_LOC_SENSOR_CONFIG_SENSOR_USE_DISABLE_V02 = 1, /**< Inertial sensors are not to be used to aid heading and position 7621 improvement. */ 7622 QMILOCSENSORSCONTROLCONFIGSENSORUSEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 7623 }qmiLocSensorsControlConfigSensorUseEnumT_v02; 7624 /** 7625 @} 7626 */ 7627 7628 /** @addtogroup loc_qmi_enums 7629 @{ 7630 */ 7631 typedef enum { 7632 QMILOCSENSORSCONTROLCONFIGSENSORPROVIDERENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 7633 eQMI_LOC_SENSOR_CONFIG_USE_PROVIDER_SSC_V02 = 0, /**< Sensors data provider is Snapdragon Sensor Core (SSC); 7634 this is the default 7635 */ 7636 eQMI_LOC_SENSOR_CONFIG_USE_PROVIDER_NATIVE_V02 = 1, /**< Sensors data provider is on the host processor */ 7637 QMILOCSENSORSCONTROLCONFIGSENSORPROVIDERENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 7638 }qmiLocSensorsControlConfigSensorProviderEnumT_v02; 7639 /** 7640 @} 7641 */ 7642 7643 /** @addtogroup loc_qmi_messages 7644 @{ 7645 */ 7646 /** Request Message; Sets the sensor control configuration. */ 7647 typedef struct { 7648 7649 /* Optional */ 7650 /* Sensors Usage */ 7651 uint8_t sensorsUsage_valid; /**< Must be set to true if sensorsUsage is being passed */ 7652 qmiLocSensorsControlConfigSensorUseEnumT_v02 sensorsUsage; 7653 /**< Controls how sensors are used to aid heading and positioning 7654 performance. 7655 7656 Valid values: \n 7657 - eQMI_LOC_SENSOR_CONFIG_SENSOR_USE_ENABLE (0) -- Sensors data should be requested whenever a position request is 7658 received. If sensor data are injected, the positioning engine 7659 attempts to improve the heading and positioning performance using sensors. 7660 This is the default. 7661 7662 - eQMI_LOC_SENSOR_CONFIG_SENSOR_USE_DISABLE (1) -- Inertial sensors are not to be used to aid heading and position 7663 improvement. 7664 */ 7665 7666 /* Optional */ 7667 /* Sensors Provider */ 7668 uint8_t sensorProvider_valid; /**< Must be set to true if sensorProvider is being passed */ 7669 qmiLocSensorsControlConfigSensorProviderEnumT_v02 sensorProvider; 7670 /**< Controls which sensors data provider is to be used. 7671 7672 Valid values: \n 7673 - eQMI_LOC_SENSOR_CONFIG_USE_PROVIDER_SSC (0) -- Sensors data provider is Snapdragon Sensor Core (SSC); 7674 this is the default 7675 7676 - eQMI_LOC_SENSOR_CONFIG_USE_PROVIDER_NATIVE (1) -- Sensors data provider is on the host processor 7677 */ 7678 }qmiLocSetSensorControlConfigReqMsgT_v02; /* Message */ 7679 /** 7680 @} 7681 */ 7682 7683 /** @addtogroup loc_qmi_messages 7684 @{ 7685 */ 7686 /** Indication Message; Sets the sensor control configuration. */ 7687 typedef struct { 7688 7689 /* Mandatory */ 7690 /* Set Sensor Control Config Status */ 7691 qmiLocStatusEnumT_v02 status; 7692 /**< Status of the Set Sensor Control Configuration request. 7693 7694 Valid values: \n 7695 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 7696 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 7697 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 7698 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 7699 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 7700 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 7701 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 7702 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 7703 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 7704 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 7705 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 7706 */ 7707 }qmiLocSetSensorControlConfigIndMsgT_v02; /* Message */ 7708 /** 7709 @} 7710 */ 7711 7712 /** @addtogroup loc_qmi_messages 7713 @{ 7714 */ 7715 /** Request Message; Retrieves the current sensor control configuration. */ 7716 typedef struct { 7717 /* This element is a placeholder to prevent the declaration of 7718 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 7719 char __placeholder; 7720 }qmiLocGetSensorControlConfigReqMsgT_v02; 7721 7722 /* Message */ 7723 /** 7724 @} 7725 */ 7726 7727 /** @addtogroup loc_qmi_messages 7728 @{ 7729 */ 7730 /** Indication Message; Retrieves the current sensor control configuration. */ 7731 typedef struct { 7732 7733 /* Mandatory */ 7734 /* Get Sensor Control Config Status */ 7735 qmiLocStatusEnumT_v02 status; 7736 /**< Status of the Get Sensors Control Configuration request. 7737 7738 Valid values: \n 7739 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 7740 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 7741 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 7742 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 7743 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 7744 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 7745 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 7746 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 7747 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 7748 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 7749 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 7750 */ 7751 7752 /* Optional */ 7753 /* Sensors Usage */ 7754 uint8_t sensorsUsage_valid; /**< Must be set to true if sensorsUsage is being passed */ 7755 qmiLocSensorsControlConfigSensorUseEnumT_v02 sensorsUsage; 7756 /**< Controls how sensors are used to aid the heading and positioning 7757 performance. 7758 7759 Valid values: \n 7760 - eQMI_LOC_SENSOR_CONFIG_SENSOR_USE_ENABLE (0) -- Sensors data should be requested whenever a position request is 7761 received. If sensor data are injected, the positioning engine 7762 attempts to improve the heading and positioning performance using sensors. 7763 This is the default. 7764 7765 - eQMI_LOC_SENSOR_CONFIG_SENSOR_USE_DISABLE (1) -- Inertial sensors are not to be used to aid heading and position 7766 improvement. 7767 */ 7768 7769 /* Optional */ 7770 /* Sensors Provider */ 7771 uint8_t sensorProvider_valid; /**< Must be set to true if sensorProvider is being passed */ 7772 qmiLocSensorsControlConfigSensorProviderEnumT_v02 sensorProvider; 7773 /**< Controls which sensors data provider to be used. 7774 7775 Valid values: \n 7776 - eQMI_LOC_SENSOR_CONFIG_USE_PROVIDER_SSC (0) -- Sensors data provider is Snapdragon Sensor Core (SSC); 7777 this is the default 7778 7779 - eQMI_LOC_SENSOR_CONFIG_USE_PROVIDER_NATIVE (1) -- Sensors data provider is on the host processor 7780 */ 7781 }qmiLocGetSensorControlConfigIndMsgT_v02; /* Message */ 7782 /** 7783 @} 7784 */ 7785 7786 typedef uint32_t qmiLocSensorPropertiesMaskT_v02; 7787 #define QMI_LOC_SENSOR_PROPERTIES_MASK_GYRO_BIAS_VARIANCE_RANDOM_WALK_V02 ((qmiLocSensorPropertiesMaskT_v02)0x00000001) /**< Denotes the gyro bias variance random walk parameter */ 7788 #define QMI_LOC_SENSOR_PROPERTIES_MASK_VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY_V02 ((qmiLocSensorPropertiesMaskT_v02)0x00000002) /**< Denotes the velocity random walk spectral density parameter */ 7789 #define QMI_LOC_SENSOR_PROPERTIES_MASK_ACCELERATION_RANDOM_WALK_SPECTRAL_DENSITY_V02 ((qmiLocSensorPropertiesMaskT_v02)0x00000004) /**< Denotes the acceleration random walk spectral density parameter */ 7790 #define QMI_LOC_SENSOR_PROPERTIES_MASK_ANGLE_RANDOM_WALK_SPECTRAL_DENSITY_V02 ((qmiLocSensorPropertiesMaskT_v02)0x00000008) /**< Denotes the angle random walk spectral density parameter */ 7791 #define QMI_LOC_SENSOR_PROPERTIES_MASK_RATE_RANDOM_WALK_SPECTRAL_DENSITY_V02 ((qmiLocSensorPropertiesMaskT_v02)0x00000010) /**< Denotes the rate random walk spectral density parameter */ 7792 #define QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_DATA_USE_CONTROL_V02 ((qmiLocSensorPropertiesMaskT_v02)0x00000020) /**< Denotes the vehicle data use control parameter */ 7793 #define QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_VELOCITY_RWSD_V02 ((qmiLocSensorPropertiesMaskT_v02)0x00000040) /**< Denotes the vehicle velocity random walk spectral density */ 7794 #define QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ACCEL_RWSD_V02 ((qmiLocSensorPropertiesMaskT_v02)0x00000080) /**< Denotes the vehicle accelerometer random walk spectral density */ 7795 #define QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ANGLE_RWSD_V02 ((qmiLocSensorPropertiesMaskT_v02)0x00000100) /**< Denotes the vehicle angle random walk spectral density */ 7796 #define QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ANGULAR_RATE_RWSD_V02 ((qmiLocSensorPropertiesMaskT_v02)0x00000200) /**< Denotes the vehicle angular rate random walk spectral density */ 7797 #define QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ODOMETRY_SCALE_RWSD_V02 ((qmiLocSensorPropertiesMaskT_v02)0x00000400) /**< Denotes the vehicle odometry scale random walk spectral density */ 7798 #define QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ODOMETRY_VARIANCE_V02 ((qmiLocSensorPropertiesMaskT_v02)0x00000800) /**< Denotes the vehicle odometry variance */ 7799 typedef uint64_t qmiLocVehicleDataUseControlMaskT_v02; 7800 #define QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_ACCEL_X_AXIS_V02 ((qmiLocVehicleDataUseControlMaskT_v02)0x0000000000000001ull) /**< Enable use of X-axis vehicle acceleration sensor data */ 7801 #define QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_ACCEL_Y_AXIS_V02 ((qmiLocVehicleDataUseControlMaskT_v02)0x0000000000000002ull) /**< Enable use of Y-axis vehicle acceleration sensor data */ 7802 #define QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_ACCEL_Z_AXIS_V02 ((qmiLocVehicleDataUseControlMaskT_v02)0x0000000000000004ull) /**< Enable use of Z-axis vehicle acceleration sensor data */ 7803 #define QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_GYRO_X_AXIS_V02 ((qmiLocVehicleDataUseControlMaskT_v02)0x0000000000000010ull) /**< Enable use of X-axis vehicle gyroscope data */ 7804 #define QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_GYRO_Y_AXIS_V02 ((qmiLocVehicleDataUseControlMaskT_v02)0x0000000000000020ull) /**< Enable use of Y-axis vehicle gyroscope data */ 7805 #define QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_GYRO_Z_AXIS_V02 ((qmiLocVehicleDataUseControlMaskT_v02)0x0000000000000040ull) /**< Enable use of Z-axis vehicle gyroscope data */ 7806 #define QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_ODOMETRY_V02 ((qmiLocVehicleDataUseControlMaskT_v02)0x0000000000000100ull) /**< Enable use of odometry data */ 7807 /** @addtogroup loc_qmi_messages 7808 @{ 7809 */ 7810 /** Request Message; Sets the properties specific to the type of sensor used. 7811 The control point must set sensor properties before they can be 7812 used to aid in heading and positioning performance improvement. 7813 */ 7814 typedef struct { 7815 7816 /* Optional */ 7817 /* Gyro Bias Random Walk Variance */ 7818 uint8_t gyroBiasVarianceRandomWalk_valid; /**< Must be set to true if gyroBiasVarianceRandomWalk is being passed */ 7819 float gyroBiasVarianceRandomWalk; 7820 /**< Specifies the gyro bias random walk variance parameter as a positive 7821 floating-point value. This value has internal default value 1.0e-5 radian^2/second^4. 7822 The gyro bias variance random walk parameter is derived from either the 7823 sensors data sheet or a sensors conformance test. \n 7824 - Units: Radians^2/seconds^4 7825 7826 */ 7827 7828 /* Optional */ 7829 /* Velocity Random Walk Spectral Density */ 7830 uint8_t velocityRandomWalkSpectralDensity_valid; /**< Must be set to true if velocityRandomWalkSpectralDensity is being passed */ 7831 float velocityRandomWalkSpectralDensity; 7832 /**< Specifies the velocity random walk spectral density parameter as a positive 7833 floating-point value. This value does not have any internal defaults. 7834 The velocity random walk spectral density parameter is derived from either the 7835 sensors data sheet or a sensors conformance test. \n 7836 - Units: Meters/seconds^2/Hertz^0.5 7837 7838 */ 7839 7840 /* Optional */ 7841 /* Acceleration Random Walk Spectral Density */ 7842 uint8_t accelerationRandomWalkSpectralDensity_valid; /**< Must be set to true if accelerationRandomWalkSpectralDensity is being passed */ 7843 float accelerationRandomWalkSpectralDensity; 7844 /**< Specifies the acceleration random walk spectral density parameter as a positive 7845 floating-point value. This value does not have any internal defaults. 7846 The acceleration random walk spectral density parameter is derived from either the 7847 sensors data sheet or a sensors conformance test. \n 7848 - Units: Meters/seconds^3/Hertz^0.5 7849 7850 */ 7851 7852 /* Optional */ 7853 /* Angle Random Walk Spectral Density */ 7854 uint8_t angleRandomWalkSpectralDensity_valid; /**< Must be set to true if angleRandomWalkSpectralDensity is being passed */ 7855 float angleRandomWalkSpectralDensity; 7856 /**< Specifies the angle random walk spectral density parameter as a positive 7857 floating-point value. This value does not have any internal defaults. 7858 The angle random walk spectral density parameter is derived from either the 7859 sensors data sheet or a sensors conformance test. \n 7860 - Units: Radians/seconds/Hertz^0.5 7861 7862 */ 7863 7864 /* Optional */ 7865 /* Rate Random Walk Spectral Density */ 7866 uint8_t rateRandomWalkSpectralDensity_valid; /**< Must be set to true if rateRandomWalkSpectralDensity is being passed */ 7867 float rateRandomWalkSpectralDensity; 7868 /**< Specifies the rate random walk spectral density parameter as a positive 7869 floating-point value. This value does not have any internal defaults. 7870 The rate random walk spectral density parameter is derived from either the 7871 sensors data sheet or a sensors conformance test. \n 7872 - Units: Radians/seconds^2/Hertz^0.5 7873 7874 */ 7875 7876 /* Optional */ 7877 /* Vehicle Data Use Control */ 7878 uint8_t vehicleDataUse_valid; /**< Must be set to true if vehicleDataUse is being passed */ 7879 qmiLocVehicleDataUseControlMaskT_v02 vehicleDataUse; 7880 /**< Identifies which portions of the vehicle data to use in location 7881 estimation (information provided by the message 7882 QMI_LOC_INJECT_VEHICLE_SENSOR_DATA). Valid bitmasks: \n 7883 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_ACCEL_X_AXIS (0x0000000000000001) -- Enable use of X-axis vehicle acceleration sensor data 7884 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_ACCEL_Y_AXIS (0x0000000000000002) -- Enable use of Y-axis vehicle acceleration sensor data 7885 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_ACCEL_Z_AXIS (0x0000000000000004) -- Enable use of Z-axis vehicle acceleration sensor data 7886 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_GYRO_X_AXIS (0x0000000000000010) -- Enable use of X-axis vehicle gyroscope data 7887 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_GYRO_Y_AXIS (0x0000000000000020) -- Enable use of Y-axis vehicle gyroscope data 7888 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_GYRO_Z_AXIS (0x0000000000000040) -- Enable use of Z-axis vehicle gyroscope data 7889 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_ODOMETRY (0x0000000000000100) -- Enable use of odometry data 7890 \b Note: All other bits are reserved for future use and are to be set to 0. */ 7891 7892 /* Optional */ 7893 /* Vehicle Velocity Random Walk Spectral Density */ 7894 uint8_t vehicleVelocityRandomWalkSpectralDensity_valid; /**< Must be set to true if vehicleVelocityRandomWalkSpectralDensity is being passed */ 7895 float vehicleVelocityRandomWalkSpectralDensity; 7896 /**< Vehicle velocity random walk spectral density. \n 7897 - Type: 32-bit float \n 7898 - Units: Meters/seconds^2/Hz^0.5 \n 7899 - Valid values: Positive values \n 7900 - Default: None 7901 */ 7902 7903 /* Optional */ 7904 /* Vehicle Acceleration Random Walk Spectral Density */ 7905 uint8_t vehicleAccelRandomWalkSpectralDensity_valid; /**< Must be set to true if vehicleAccelRandomWalkSpectralDensity is being passed */ 7906 float vehicleAccelRandomWalkSpectralDensity; 7907 /**< Vehicle accelerometer random walk spectral density. \n 7908 - Type: 32-bit float \n 7909 - Units: Meters/seconds^3/Hz^0.5 \n 7910 - Valid values: Positive values \n 7911 - Default: None 7912 */ 7913 7914 /* Optional */ 7915 /* Vehicle Angle Random Walk Spectral Density */ 7916 uint8_t vehicleAngleRandomWalkSpectralDensity_valid; /**< Must be set to true if vehicleAngleRandomWalkSpectralDensity is being passed */ 7917 float vehicleAngleRandomWalkSpectralDensity; 7918 /**< Vehicle angle random walk spectral density. \n 7919 - Type: 32-bit float \n 7920 - Units: Radians/seconds/Hz^0.5 \n 7921 - Valid values: Positive values \n 7922 - Default: None 7923 */ 7924 7925 /* Optional */ 7926 /* Vehicle Angular Rate Random Walk Spectral Density */ 7927 uint8_t vehicleAngularRateRandomWalkSpectralDensity_valid; /**< Must be set to true if vehicleAngularRateRandomWalkSpectralDensity is being passed */ 7928 float vehicleAngularRateRandomWalkSpectralDensity; 7929 /**< Vehicle angular rate random walk spectral density. \n 7930 - Type: 32-bit float \n 7931 - Units: Radians/seconds^2/Hz^0.5 \n 7932 - Valid values: Positive values \n 7933 - Default: None 7934 */ 7935 7936 /* Optional */ 7937 /* Vehicle Odometry Scale Factor Random Walk Spectral Density */ 7938 uint8_t vehicleOdometryScaleFactorRandomWalkSpectralDensity_valid; /**< Must be set to true if vehicleOdometryScaleFactorRandomWalkSpectralDensity is being passed */ 7939 float vehicleOdometryScaleFactorRandomWalkSpectralDensity; 7940 /**< Vehicle odometry scale factor random walk spectral density. \n 7941 - Type: 32-bit float \n 7942 - Units: (1/seconds)/Hz^0.5 \n 7943 - Range: Approximately 0.0001 to 0.001 \n 7944 - Default: 0.001 (actual calibration recommended) 7945 */ 7946 7947 /* Optional */ 7948 /* Vehicle Odometry Variance */ 7949 uint8_t vehicleOdometryVariance_valid; /**< Must be set to true if vehicleOdometryVariance is being passed */ 7950 float vehicleOdometryVariance; 7951 /**< Vehicle odometry variance of each odometry sample 7952 (coarseness of measurement). \n 7953 - Type: 32-bit float \n 7954 - Units: Meters^2 \n 7955 - Valid values: Positive values \n 7956 - Default: None 7957 */ 7958 }qmiLocSetSensorPropertiesReqMsgT_v02; /* Message */ 7959 /** 7960 @} 7961 */ 7962 7963 /** @addtogroup loc_qmi_messages 7964 @{ 7965 */ 7966 /** Indication Message; Sets the properties specific to the type of sensor used. 7967 The control point must set sensor properties before they can be 7968 used to aid in heading and positioning performance improvement. 7969 */ 7970 typedef struct { 7971 7972 /* Mandatory */ 7973 /* Set Sensor Properties Status */ 7974 qmiLocStatusEnumT_v02 status; 7975 /**< Status of the Set Sensor Properties request. 7976 7977 Valid values: \n 7978 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 7979 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 7980 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 7981 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 7982 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 7983 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 7984 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 7985 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 7986 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 7987 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 7988 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 7989 7990 /* Optional */ 7991 /* Failed Set Sensor Properties */ 7992 uint8_t failedSensorPropertiesMask_valid; /**< Must be set to true if failedSensorPropertiesMask is being passed */ 7993 qmiLocSensorPropertiesMaskT_v02 failedSensorPropertiesMask; 7994 /**< This field is sent only if the status is not SUCCESS. 7995 Identifies the parameters that were not set successfully. 7996 7997 Valid bitmasks: 7998 - QMI_LOC_SENSOR_PROPERTIES_MASK_GYRO_BIAS_VARIANCE_RANDOM_WALK (0x00000001) -- Denotes the gyro bias variance random walk parameter 7999 - QMI_LOC_SENSOR_PROPERTIES_MASK_VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY (0x00000002) -- Denotes the velocity random walk spectral density parameter 8000 - QMI_LOC_SENSOR_PROPERTIES_MASK_ACCELERATION_RANDOM_WALK_SPECTRAL_DENSITY (0x00000004) -- Denotes the acceleration random walk spectral density parameter 8001 - QMI_LOC_SENSOR_PROPERTIES_MASK_ANGLE_RANDOM_WALK_SPECTRAL_DENSITY (0x00000008) -- Denotes the angle random walk spectral density parameter 8002 - QMI_LOC_SENSOR_PROPERTIES_MASK_RATE_RANDOM_WALK_SPECTRAL_DENSITY (0x00000010) -- Denotes the rate random walk spectral density parameter 8003 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_DATA_USE_CONTROL (0x00000020) -- Denotes the vehicle data use control parameter 8004 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_VELOCITY_RWSD (0x00000040) -- Denotes the vehicle velocity random walk spectral density 8005 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ACCEL_RWSD (0x00000080) -- Denotes the vehicle accelerometer random walk spectral density 8006 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ANGLE_RWSD (0x00000100) -- Denotes the vehicle angle random walk spectral density 8007 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ANGULAR_RATE_RWSD (0x00000200) -- Denotes the vehicle angular rate random walk spectral density 8008 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ODOMETRY_SCALE_RWSD (0x00000400) -- Denotes the vehicle odometry scale random walk spectral density 8009 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ODOMETRY_VARIANCE (0x00000800) -- Denotes the vehicle odometry variance 8010 \vspace{-0.18in} \end{itemize1} 8011 */ 8012 }qmiLocSetSensorPropertiesIndMsgT_v02; /* Message */ 8013 /** 8014 @} 8015 */ 8016 8017 /** @addtogroup loc_qmi_messages 8018 @{ 8019 */ 8020 /** Request Message; Retrieves the current sensor properties. */ 8021 typedef struct { 8022 8023 /* Mandatory */ 8024 /* Sensor Properties Config Parameters */ 8025 qmiLocSensorPropertiesMaskT_v02 getSensorPropertiesMask; 8026 /**< Mask denoting the sensor properties parameters to be retrieved. 8027 8028 Valid bitmasks: 8029 - QMI_LOC_SENSOR_PROPERTIES_MASK_GYRO_BIAS_VARIANCE_RANDOM_WALK (0x00000001) -- Denotes the gyro bias variance random walk parameter 8030 - QMI_LOC_SENSOR_PROPERTIES_MASK_VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY (0x00000002) -- Denotes the velocity random walk spectral density parameter 8031 - QMI_LOC_SENSOR_PROPERTIES_MASK_ACCELERATION_RANDOM_WALK_SPECTRAL_DENSITY (0x00000004) -- Denotes the acceleration random walk spectral density parameter 8032 - QMI_LOC_SENSOR_PROPERTIES_MASK_ANGLE_RANDOM_WALK_SPECTRAL_DENSITY (0x00000008) -- Denotes the angle random walk spectral density parameter 8033 - QMI_LOC_SENSOR_PROPERTIES_MASK_RATE_RANDOM_WALK_SPECTRAL_DENSITY (0x00000010) -- Denotes the rate random walk spectral density parameter 8034 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_DATA_USE_CONTROL (0x00000020) -- Denotes the vehicle data use control parameter 8035 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_VELOCITY_RWSD (0x00000040) -- Denotes the vehicle velocity random walk spectral density 8036 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ACCEL_RWSD (0x00000080) -- Denotes the vehicle accelerometer random walk spectral density 8037 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ANGLE_RWSD (0x00000100) -- Denotes the vehicle angle random walk spectral density 8038 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ANGULAR_RATE_RWSD (0x00000200) -- Denotes the vehicle angular rate random walk spectral density 8039 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ODOMETRY_SCALE_RWSD (0x00000400) -- Denotes the vehicle odometry scale random walk spectral density 8040 - QMI_LOC_SENSOR_PROPERTIES_MASK_VEHICLE_ODOMETRY_VARIANCE (0x00000800) -- Denotes the vehicle odometry variance 8041 */ 8042 }qmiLocGetSensorPropertiesReqMsgT_v02; /* Message */ 8043 /** 8044 @} 8045 */ 8046 8047 /** @addtogroup loc_qmi_messages 8048 @{ 8049 */ 8050 /** Indication Message; Retrieves the current sensor properties. */ 8051 typedef struct { 8052 8053 /* Mandatory */ 8054 /* Get Sensor Properties Status */ 8055 qmiLocStatusEnumT_v02 status; 8056 /**< Status of the Get Sensors Properties request. 8057 8058 Valid values: \n 8059 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 8060 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 8061 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 8062 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 8063 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 8064 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 8065 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 8066 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 8067 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 8068 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 8069 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 8070 */ 8071 8072 /* Optional */ 8073 /* Gyro Bias Random Walk Variance */ 8074 uint8_t gyroBiasVarianceRandomWalk_valid; /**< Must be set to true if gyroBiasVarianceRandomWalk is being passed */ 8075 float gyroBiasVarianceRandomWalk; 8076 /**< Specifies the gyro bias random walk variance parameter as a positive 8077 floating-point value. This value has internal default value 1.0e-5 radian^2/second^4. 8078 The gyro bias variance random walk parameter is derived from either the 8079 sensors data sheet or a sensors conformance test. \n 8080 - Units: Radians^2/seconds^4 8081 8082 */ 8083 8084 /* Optional */ 8085 /* Velocity Random Walk Spectral Density */ 8086 uint8_t velocityRandomWalkSpectralDensity_valid; /**< Must be set to true if velocityRandomWalkSpectralDensity is being passed */ 8087 float velocityRandomWalkSpectralDensity; 8088 /**< Specifies the velocity random walk spectral density parameter as a positive 8089 floating-point value. This value does not have any internal defaults. 8090 The velocity random walk spectral density parameter is derived from either the 8091 sensors data sheet or a sensors conformance test. \n 8092 - Units: Meters/seconds^2/Hertz^0.5 8093 8094 */ 8095 8096 /* Optional */ 8097 /* Acceleration Random Walk Spectral Density */ 8098 uint8_t accelerationRandomWalkSpectralDensity_valid; /**< Must be set to true if accelerationRandomWalkSpectralDensity is being passed */ 8099 float accelerationRandomWalkSpectralDensity; 8100 /**< Specifies the acceleration random walk spectral density parameter as a positive 8101 floating-point value. This value does not have any internal defaults. 8102 The acceleration random walk spectral density parameter is derived from either the 8103 sensors data sheet or a sensors conformance test. \n 8104 - Units: Meters/seconds^3/Hertz^0.5 8105 8106 */ 8107 8108 /* Optional */ 8109 /* Angle Random Walk Spectral Density */ 8110 uint8_t angleRandomWalkSpectralDensity_valid; /**< Must be set to true if angleRandomWalkSpectralDensity is being passed */ 8111 float angleRandomWalkSpectralDensity; 8112 /**< Specifies the angle random walk spectral density parameter as a positive 8113 floating-point value. This value does not have any internal defaults. 8114 The angle random walk spectral density parameter is derived from either the 8115 sensors data sheet or a sensors conformance test. \n 8116 - Units: Radians/seconds/Hertz^0.5 8117 8118 */ 8119 8120 /* Optional */ 8121 /* Rate Random Walk Spectral Density */ 8122 uint8_t rateRandomWalkSpectralDensity_valid; /**< Must be set to true if rateRandomWalkSpectralDensity is being passed */ 8123 float rateRandomWalkSpectralDensity; 8124 /**< Specifies the rate random walk spectral density parameter as a positive 8125 floating-point value. This value does not have any internal defaults. 8126 The rate random walk spectral density parameter is derived from either the 8127 sensors data sheet or a sensors conformance test. \n 8128 - Units: Radians/seconds^2/Hertz^0.5 8129 8130 */ 8131 8132 /* Optional */ 8133 /* Vehicle Data Use Control */ 8134 uint8_t vehicleDataUse_valid; /**< Must be set to true if vehicleDataUse is being passed */ 8135 qmiLocVehicleDataUseControlMaskT_v02 vehicleDataUse; 8136 /**< Identifies which portions of the vehicle data to use in location 8137 estimation (information provided by message 8138 QMI_LOC_INJECT_VEHICLE_SENSOR_DATA). Valid bitmasks: \n 8139 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_ACCEL_X_AXIS (0x0000000000000001) -- Enable use of X-axis vehicle acceleration sensor data 8140 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_ACCEL_Y_AXIS (0x0000000000000002) -- Enable use of Y-axis vehicle acceleration sensor data 8141 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_ACCEL_Z_AXIS (0x0000000000000004) -- Enable use of Z-axis vehicle acceleration sensor data 8142 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_GYRO_X_AXIS (0x0000000000000010) -- Enable use of X-axis vehicle gyroscope data 8143 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_GYRO_Y_AXIS (0x0000000000000020) -- Enable use of Y-axis vehicle gyroscope data 8144 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_GYRO_Z_AXIS (0x0000000000000040) -- Enable use of Z-axis vehicle gyroscope data 8145 - QMI_LOC_VEHICLE_DATA_ENABLE_USE_MASK_ODOMETRY (0x0000000000000100) -- Enable use of odometry data 8146 @note1 All other bits are reserved for future use and are to be set to 0. */ 8147 8148 /* Optional */ 8149 /* Vehicle Velocity Random Walk Spectral Density */ 8150 uint8_t vehicleVelocityRandomWalkSpectralDensity_valid; /**< Must be set to true if vehicleVelocityRandomWalkSpectralDensity is being passed */ 8151 float vehicleVelocityRandomWalkSpectralDensity; 8152 /**< Vehicle velocity random walk spectral density. \n 8153 - Type: 32-bit float \n 8154 - Units: Meters/seconds^2/Hz^0.5 \n 8155 - Valid values: Positive values \n 8156 - Default: None 8157 */ 8158 8159 /* Optional */ 8160 /* Vehicle Acceleration Random Walk Spectral Density */ 8161 uint8_t vehicleAccelRandomWalkSpectralDensity_valid; /**< Must be set to true if vehicleAccelRandomWalkSpectralDensity is being passed */ 8162 float vehicleAccelRandomWalkSpectralDensity; 8163 /**< Vehicle accelerometer random walk spectral density. \n 8164 - Type: 32-bit float \n 8165 - Units: Meters/seconds^3/Hz^0.5 \n 8166 - Valid values: Positive values \n 8167 - Default: None 8168 */ 8169 8170 /* Optional */ 8171 /* Vehicle Angle Random Walk Spectral Density */ 8172 uint8_t vehicleAngleRandomWalkSpectralDensity_valid; /**< Must be set to true if vehicleAngleRandomWalkSpectralDensity is being passed */ 8173 float vehicleAngleRandomWalkSpectralDensity; 8174 /**< Vehicle angle random walk spectral density. \n 8175 - Type: 32-bit float \n 8176 - Units: Radians/seconds/Hz^0.5 \n 8177 - Valid values: Positive values \n 8178 - Default: None 8179 */ 8180 8181 /* Optional */ 8182 /* Vehicle Angular Rate Random Walk Spectral Density */ 8183 uint8_t vehicleAngularRateRandomWalkSpectralDensity_valid; /**< Must be set to true if vehicleAngularRateRandomWalkSpectralDensity is being passed */ 8184 float vehicleAngularRateRandomWalkSpectralDensity; 8185 /**< Vehicle angular rate random walk spectral density. \n 8186 - Type: 32-bit float \n 8187 - Units: Radians/seconds^2/Hz^0.5 \n 8188 - Valid values: Positive values \n 8189 - Default: None 8190 */ 8191 8192 /* Optional */ 8193 /* Vehicle Odometry Scale Factor Random Walk Spectral Density */ 8194 uint8_t vehicleOdometryScaleFactorRandomWalkSpectralDensity_valid; /**< Must be set to true if vehicleOdometryScaleFactorRandomWalkSpectralDensity is being passed */ 8195 float vehicleOdometryScaleFactorRandomWalkSpectralDensity; 8196 /**< Vehicle odometry scale factor random walk spectral density. \n 8197 - Type: 32-bit float \n 8198 - Units: (1/seconds)/Hz^0.5 \n 8199 - Range: Approximately 0.0001 to 0.001 \n 8200 - Default: 0.001 (actual calibration recommended) 8201 */ 8202 8203 /* Optional */ 8204 /* Vehicle Odometry Variance */ 8205 uint8_t vehicleOdometryVariance_valid; /**< Must be set to true if vehicleOdometryVariance is being passed */ 8206 float vehicleOdometryVariance; 8207 /**< Vehicle odometry variance of each odometry sample 8208 (coarseness of measurement). \n 8209 - Type: 32-bit float \n 8210 - Units: Meters^2 \n 8211 - Valid values: Positive values \n 8212 - Default: None 8213 */ 8214 }qmiLocGetSensorPropertiesIndMsgT_v02; /* Message */ 8215 /** 8216 @} 8217 */ 8218 8219 /** @addtogroup loc_qmi_enums 8220 @{ 8221 */ 8222 typedef enum { 8223 QMILOCSENSORPERFORMANCECONTROLMODEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 8224 eQMI_LOC_SENSOR_PERFORMANCE_CONTROL_MODE_AUTO_V02 = 0, /**< Sensors usage is to be determined by the GNSS location engine. 8225 This mode can optimize power consumption and give a 8226 power-balanced positioning and heading enhancement using 8227 inertial sensors */ 8228 eQMI_LOC_SENSOR_PERFORMANCE_CONTROL_MODE_FORCED_V02 = 1, /**< Sensors usage is to be forced ON. 8229 This mode can be requested by the control point when 8230 power consumption is not a restriction to the use of 8231 inertial sensors. */ 8232 QMILOCSENSORPERFORMANCECONTROLMODEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 8233 }qmiLocSensorPerformanceControlModeEnumT_v02; 8234 /** 8235 @} 8236 */ 8237 8238 typedef uint32_t qmiLocSensorAlgorithmMaskT_v02; 8239 #define QMI_LOC_SENSOR_ALGORITHM_MASK_DISABLE_INS_POSITIONING_FILTER_V02 ((qmiLocSensorAlgorithmMaskT_v02)0x00000001) /**< Inertial sensors are not to be used in Accelerometer-integrated fashion with 8240 GNSS. They can still be used for aiding in heading improvements. */ 8241 /** @addtogroup loc_qmi_messages 8242 @{ 8243 */ 8244 /** Request Message; Provides fine-grained control of sensor based positioning 8245 performance. */ 8246 typedef struct { 8247 8248 /* Optional */ 8249 /* Sensor Performance Control Mode */ 8250 uint8_t performanceControlMode_valid; /**< Must be set to true if performanceControlMode is being passed */ 8251 qmiLocSensorPerformanceControlModeEnumT_v02 performanceControlMode; 8252 /**< Controls when sensors data is requested during GNSS fix processing. 8253 This field is relevant only when sensors have been enabled using the 8254 sensors control configuration. 8255 8256 Valid values: \n 8257 - eQMI_LOC_SENSOR_PERFORMANCE_CONTROL_MODE_AUTO (0) -- Sensors usage is to be determined by the GNSS location engine. 8258 This mode can optimize power consumption and give a 8259 power-balanced positioning and heading enhancement using 8260 inertial sensors 8261 - eQMI_LOC_SENSOR_PERFORMANCE_CONTROL_MODE_FORCED (1) -- Sensors usage is to be forced ON. 8262 This mode can be requested by the control point when 8263 power consumption is not a restriction to the use of 8264 inertial sensors. 8265 */ 8266 8267 /* Optional */ 8268 /* Accelerometer Sampling Specification */ 8269 uint8_t accelSamplingSpec_valid; /**< Must be set to true if accelSamplingSpec is being passed */ 8270 qmiLocSensorControlConfigSamplingSpecStructT_v02 accelSamplingSpec; 8271 /**< \vspace{0.06in} \n Sets the nominal rate at which the GNSS location 8272 engine is to request acceleration data to be used by the low data rate 8273 filter. The sensor data rate is specified in terms of the nominal number 8274 of samples per batch and the number of batches per second. 8275 However, the final control of the actual requested rate resides with 8276 the Sensors Manager Module/GNSS location engine. \n 8277 Default: 10 Hz sampling rate and 2 Hz batching rate. 8278 */ 8279 8280 /* Optional */ 8281 /* Gyroscope Sampling Specification */ 8282 uint8_t gyroSamplingSpec_valid; /**< Must be set to true if gyroSamplingSpec is being passed */ 8283 qmiLocSensorControlConfigSamplingSpecStructT_v02 gyroSamplingSpec; 8284 /**< \vspace{0.06in} \n Sets the nominal rate at which the GNSS location 8285 engine is to request gyro data to be used by the high data rate filter. 8286 The sensor data rate is specified in terms of the nominal number of 8287 samples per batch and the number of batches per second. 8288 However, the final control of the actual requested rate resides with 8289 the Sensors Manager Module/GNSS location engine. \n 8290 Default: 10 Hz sampling rate and 2 Hz batching rate. 8291 */ 8292 8293 /* Optional */ 8294 /* Algorithm Configuration */ 8295 uint8_t algorithmConfig_valid; /**< Must be set to true if algorithmConfig is being passed */ 8296 qmiLocSensorAlgorithmMaskT_v02 algorithmConfig; 8297 /**< Sets which sensor algorithms are to be used when processing sensor data. 8298 8299 Valid bitmasks: \begin{itemize1} 8300 \item 0x00000001 -- DISABLE_INS_ POSITIONING_FILTER 8301 \vspace{-0.18in} \end{itemize1} 8302 */ 8303 8304 /* Optional */ 8305 /* High Data Rate Filter Accelerometer Sampling Specification */ 8306 uint8_t accelSamplingSpecHigh_valid; /**< Must be set to true if accelSamplingSpecHigh is being passed */ 8307 qmiLocSensorControlConfigSamplingSpecStructT_v02 accelSamplingSpecHigh; 8308 /**< \vspace{0.06in} \n Sets the nominal rate at which the GNSS location engine is to request 8309 acceleration data to be used by the high data rate filter. The sensor 8310 data rate is specified in terms of the nominal number of samples per 8311 batch and the number of batches per second. 8312 However, the final control of the actual requested rate resides with 8313 the Sensors Manager Module/GNSS location engine. \n 8314 Default: 100 Hz sampling rate and 4 Hz batching rate. 8315 */ 8316 8317 /* Optional */ 8318 /* High Data Rate Filter Gyroscope Sampling Specification */ 8319 uint8_t gyroSamplingSpecHigh_valid; /**< Must be set to true if gyroSamplingSpecHigh is being passed */ 8320 qmiLocSensorControlConfigSamplingSpecStructT_v02 gyroSamplingSpecHigh; 8321 /**< \vspace{0.06in} \n Sets the nominal rate at which the GNSS location engine is to request 8322 gyro data to be used by the high data rate filter. The sensor data rate 8323 is specified in terms of the nominal number of samples per batch and the 8324 number of batches per second. 8325 However, the final control of the actual requested rate resides with 8326 the Sensors Manager Module/GNSS location engine. \n 8327 Default: 100 Hz sampling rate and 4 Hz batching rate. 8328 */ 8329 }qmiLocSetSensorPerformanceControlConfigReqMsgT_v02; /* Message */ 8330 /** 8331 @} 8332 */ 8333 8334 typedef uint32_t qmiLocSensorPerformanceControlConfigFailureMaskT_v02; 8335 #define QMI_LOC_SENSOR_PERFORMANCE_CONTROL_CONFIG_PARAM_MASK_PERFORMANCE_MODE_V02 ((qmiLocSensorPerformanceControlConfigFailureMaskT_v02)0x00000001) /**< Failed to set the performance mode */ 8336 #define QMI_LOC_SENSOR_PERFORMANCE_CONTROL_CONFIG_PARAM_MASK_ACCEL_SAMPLING_SPEC_V02 ((qmiLocSensorPerformanceControlConfigFailureMaskT_v02)0x00000002) /**< Failed to set the accelerometer sampling specification */ 8337 #define QMI_LOC_SENSOR_PERFORMANCE_CONTROL_CONFIG_PARAM_MASK_GYRO_SAMPLING_SPEC_V02 ((qmiLocSensorPerformanceControlConfigFailureMaskT_v02)0x00000004) /**< Failed to set the gyroscope sampling specification */ 8338 #define QMI_LOC_SENSOR_PERFORMANCE_CONTROL_CONFIG_PARAM_MASK_ALGORITHM_CONFIG_V02 ((qmiLocSensorPerformanceControlConfigFailureMaskT_v02)0x00000008) /**< Failed to set the algorithm configuration */ 8339 #define QMI_LOC_SENSOR_PERFORMANCE_CONTROL_CONFIG_PARAM_MASK_ACCEL_SAMPLING_SPEC_HIGH_V02 ((qmiLocSensorPerformanceControlConfigFailureMaskT_v02)0x00000010) /**< Failed to set the accelerometer sampling specification */ 8340 #define QMI_LOC_SENSOR_PERFORMANCE_CONTROL_CONFIG_PARAM_MASK_GYRO_SAMPLING_SPEC_HIGH_V02 ((qmiLocSensorPerformanceControlConfigFailureMaskT_v02)0x00000020) /**< Failed to set the gyroscope sampling specification */ 8341 /** @addtogroup loc_qmi_messages 8342 @{ 8343 */ 8344 /** Indication Message; Provides fine-grained control of sensor based positioning 8345 performance. */ 8346 typedef struct { 8347 8348 /* Mandatory */ 8349 /* Set Sensor Perf Control Config Status */ 8350 qmiLocStatusEnumT_v02 status; 8351 /**< Status of the Set Sensor Performance Control Configuration request. 8352 8353 Valid values: \n 8354 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 8355 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 8356 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 8357 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 8358 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 8359 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 8360 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 8361 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 8362 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 8363 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 8364 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 8365 */ 8366 8367 /* Optional */ 8368 /* Failed Configuration */ 8369 uint8_t failedConfiguration_valid; /**< Must be set to true if failedConfiguration is being passed */ 8370 qmiLocSensorPerformanceControlConfigFailureMaskT_v02 failedConfiguration; 8371 /**< Identifies parameters that were not configured successfully. This field 8372 is sent only if the status is not a success. 8373 8374 8375 Valid bitmasks: \begin{itemize1} 8376 \item 0x00000001 -- PERFORMANCE_ MODE 8377 \item 0x00000002 -- ACCEL_SAMPLING_ SPEC 8378 \item 0x00000004 -- GYRO_SAMPLING_ SPEC 8379 \item 0x00000008 -- ALGORITHM_ CONFIG 8380 \item 0x00000010 -- ACCEL_SAMPLING_ SPEC_HIGH 8381 \item 0x00000020 -- GYRO_SAMPLING_ SPEC_HIGH 8382 \vspace{-0.18in} \end{itemize1} 8383 */ 8384 }qmiLocSetSensorPerformanceControlConfigIndMsgT_v02; /* Message */ 8385 /** 8386 @} 8387 */ 8388 8389 /** @addtogroup loc_qmi_messages 8390 @{ 8391 */ 8392 /** Request Message; Retrieves the current sensor performance control 8393 configuration. */ 8394 typedef struct { 8395 /* This element is a placeholder to prevent the declaration of 8396 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 8397 char __placeholder; 8398 }qmiLocGetSensorPerformanceControlConfigReqMsgT_v02; 8399 8400 /* Message */ 8401 /** 8402 @} 8403 */ 8404 8405 /** @addtogroup loc_qmi_messages 8406 @{ 8407 */ 8408 /** Indication Message; Retrieves the current sensor performance control 8409 configuration. */ 8410 typedef struct { 8411 8412 /* Mandatory */ 8413 /* Get Sensor Perf Control Config Status */ 8414 qmiLocStatusEnumT_v02 status; 8415 /**< Status of the Get Sensor Performance Control Configuration request. 8416 8417 Valid values: \n 8418 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 8419 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 8420 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 8421 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 8422 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 8423 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 8424 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 8425 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 8426 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 8427 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 8428 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 8429 */ 8430 8431 /* Optional */ 8432 /* Performance Control Mode */ 8433 uint8_t performanceControlMode_valid; /**< Must be set to true if performanceControlMode is being passed */ 8434 qmiLocSensorPerformanceControlModeEnumT_v02 performanceControlMode; 8435 /**< Controls when sensor data is requested during GNSS fix processing. 8436 This field is relevant only when sensors have been enabled using the 8437 sensor control configuration. 8438 8439 Valid values: \n 8440 - eQMI_LOC_SENSOR_PERFORMANCE_CONTROL_MODE_AUTO (0) -- Sensors usage is to be determined by the GNSS location engine. 8441 This mode can optimize power consumption and give a 8442 power-balanced positioning and heading enhancement using 8443 inertial sensors 8444 - eQMI_LOC_SENSOR_PERFORMANCE_CONTROL_MODE_FORCED (1) -- Sensors usage is to be forced ON. 8445 This mode can be requested by the control point when 8446 power consumption is not a restriction to the use of 8447 inertial sensors. 8448 */ 8449 8450 /* Optional */ 8451 /* Accelerometer Sampling Specification */ 8452 uint8_t accelSamplingSpec_valid; /**< Must be set to true if accelSamplingSpec is being passed */ 8453 qmiLocSensorControlConfigSamplingSpecStructT_v02 accelSamplingSpec; 8454 /**< \vspace{0.06in} \n Sets the nominal rate at which the GNSS location engine is to request 8455 acceleration data to be used by the high data rate filter. The sensor 8456 data rate is specified in terms of the nominal number of samples per 8457 batch and the number of batches per second. 8458 However, the final control of the actual requested rate resides with 8459 the Sensors Manager Module/GNSS location engine. \n 8460 Default: 10 Hz sampling rate and 2 Hz batching rate. 8461 */ 8462 8463 /* Optional */ 8464 /* Gyroscope Sampling Specification */ 8465 uint8_t gyroSamplingSpec_valid; /**< Must be set to true if gyroSamplingSpec is being passed */ 8466 qmiLocSensorControlConfigSamplingSpecStructT_v02 gyroSamplingSpec; 8467 /**< \vspace{0.06in} \n Sets the nominal rate at which the GNSS location engine is to request 8468 gyro data to be used by the high data rate filter. The sensor data 8469 rate is specified in terms of the nominal number of samples per batch 8470 and the number of batches per second. 8471 However, the final control of the actual requested rate resides with 8472 the Sensors Manager Module/GNSS location engine. \n 8473 Default: 10 Hz sampling rate and 2 Hz batching rate. 8474 */ 8475 8476 /* Optional */ 8477 /* Algorithm Configuration */ 8478 uint8_t algorithmConfig_valid; /**< Must be set to true if algorithmConfig is being passed */ 8479 qmiLocSensorAlgorithmMaskT_v02 algorithmConfig; 8480 /**< Informs which sensor algorithms are currently set. 8481 8482 Valid bitmasks: \begin{itemize1} 8483 \item 0x00000001 -- DISABLE_INS_ POSITIONING_FILTER 8484 \vspace{-0.18in} \end{itemize1} 8485 */ 8486 8487 /* Optional */ 8488 /* High Data Rate Filter Accelerometer Sampling Specification */ 8489 uint8_t accelSamplingSpecHigh_valid; /**< Must be set to true if accelSamplingSpecHigh is being passed */ 8490 qmiLocSensorControlConfigSamplingSpecStructT_v02 accelSamplingSpecHigh; 8491 /**< \vspace{0.06in} \n Sets the nominal rate at which the GNSS location engine is to request 8492 acceleration data to be used by the high data rate filter. The sensor 8493 data rate is specified in terms of the nominal number of samples per 8494 batch and the number of batches per second. 8495 However, the final control of the actual requested rate resides with 8496 the Sensors Manager Module/GNSS location engine. \n 8497 Default: 100 Hz sampling rate and 4 Hz batching rate. 8498 */ 8499 8500 /* Optional */ 8501 /* High Data Rate Filter Gyroscope Sampling Specification */ 8502 uint8_t gyroSamplingSpecHigh_valid; /**< Must be set to true if gyroSamplingSpecHigh is being passed */ 8503 qmiLocSensorControlConfigSamplingSpecStructT_v02 gyroSamplingSpecHigh; 8504 /**< \vspace{0.06in} \n Sets the nominal rate at which the GNSS location engine is to request 8505 gyro data to be used by the high data rate filter. The sensor data rate 8506 is specified in terms of the nominal number of samples per batch and the 8507 number of batches per second. 8508 However, the final control of the actual requested rate resides with 8509 the Sensors Manager Module/GNSS location engine. \n 8510 Default: 100 Hz sampling rate and 4 Hz batching rate. 8511 */ 8512 }qmiLocGetSensorPerformanceControlConfigIndMsgT_v02; /* Message */ 8513 /** 8514 @} 8515 */ 8516 8517 /** @addtogroup loc_qmi_messages 8518 @{ 8519 */ 8520 /** Request Message; Injects a SUPL certificate to be used in AGNSS sessions. */ 8521 typedef struct { 8522 8523 /* Mandatory */ 8524 /* SUPL Certificate ID */ 8525 uint8_t suplCertId; 8526 /**< Certificate ID of the SUPL certificate. \n 8527 - Units: Bytes \n 8528 - Range: 0 to 9 */ 8529 8530 /* Mandatory */ 8531 /* SUPL Certificate Data */ 8532 uint32_t suplCertData_len; /**< Must be set to # of elements in suplCertData */ 8533 uint8_t suplCertData[QMI_LOC_MAX_SUPL_CERT_LENGTH_V02]; 8534 /**< SUPL certificate contents. \n 8535 - Type: Array of bytes \n 8536 - Maximum certificate size: 2000 bytes */ 8537 }qmiLocInjectSuplCertificateReqMsgT_v02; /* Message */ 8538 /** 8539 @} 8540 */ 8541 8542 /** @addtogroup loc_qmi_messages 8543 @{ 8544 */ 8545 /** Indication Message; Injects a SUPL certificate to be used in AGNSS sessions. */ 8546 typedef struct { 8547 8548 /* Mandatory */ 8549 /* SUPL Certificate Injection Status */ 8550 qmiLocStatusEnumT_v02 status; 8551 /**< Status of the Inject SUPL Certificate request. 8552 8553 Valid values: \n 8554 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 8555 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 8556 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 8557 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 8558 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 8559 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 8560 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 8561 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 8562 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 8563 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 8564 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 8565 */ 8566 }qmiLocInjectSuplCertificateIndMsgT_v02; /* Message */ 8567 /** 8568 @} 8569 */ 8570 8571 /** @addtogroup loc_qmi_messages 8572 @{ 8573 */ 8574 /** Request Message; Deletes a SUPL certificate. */ 8575 typedef struct { 8576 8577 /* Optional */ 8578 /* SUPL Certificate ID */ 8579 uint8_t suplCertId_valid; /**< Must be set to true if suplCertId is being passed */ 8580 uint8_t suplCertId; 8581 /**< Certificate ID of the SUPL certificate to be deleted. \n 8582 - Units: Bytes \n 8583 - Range: 0 to 9 \n 8584 If suplCertId is not specified, 8585 all SUPL certificates are deleted. */ 8586 }qmiLocDeleteSuplCertificateReqMsgT_v02; /* Message */ 8587 /** 8588 @} 8589 */ 8590 8591 /** @addtogroup loc_qmi_messages 8592 @{ 8593 */ 8594 /** Indication Message; Deletes a SUPL certificate. */ 8595 typedef struct { 8596 8597 /* Mandatory */ 8598 /* SUPL Certificate Deletion Status */ 8599 qmiLocStatusEnumT_v02 status; 8600 /**< Status of the Delete SUPL Certificate request. 8601 8602 Valid values: \n 8603 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 8604 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 8605 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 8606 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 8607 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 8608 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 8609 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 8610 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 8611 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 8612 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 8613 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 8614 */ 8615 }qmiLocDeleteSuplCertificateIndMsgT_v02; /* Message */ 8616 /** 8617 @} 8618 */ 8619 8620 typedef uint32_t qmiLocPositionEngineConfigParamMaskT_v02; 8621 #define QMI_LOC_POSITION_ENGINE_CONFIG_PARAM_MASK_INJECTED_POSITION_CONTROL_V02 ((qmiLocPositionEngineConfigParamMaskT_v02)0x00000001) /**< Denotes whether the position engine uses the 8622 injected position in a direct position calculation. */ 8623 #define QMI_LOC_POSITION_ENGINE_CONFIG_PARAM_MASK_FILTER_SV_USAGE_V02 ((qmiLocPositionEngineConfigParamMaskT_v02)0x00000002) /**< Denotes whether the position engine filters the 8624 SV usage in the fix. */ 8625 #define QMI_LOC_POSITION_ENGINE_CONFIG_PARAM_MASK_STORE_ASSIST_DATA_V02 ((qmiLocPositionEngineConfigParamMaskT_v02)0x00000004) /**< Denotes whether the position engine stores assistance data 8626 in persistent memory. */ 8627 #define QMI_LOC_POSITION_ENGINE_CONFIG_PARAM_MASK_ENABLE_FASTER_TTFF_V02 ((qmiLocPositionEngineConfigParamMaskT_v02)0x00000008) /**< Denotes whether the position engine stays on to optimize 8628 the TTFF for the subsequent position fix. */ 8629 /** @addtogroup loc_qmi_messages 8630 @{ 8631 */ 8632 /** Request Message; Used by the control point to configure position engine 8633 functionality. */ 8634 typedef struct { 8635 8636 /* Optional */ 8637 /* Injected Position Control */ 8638 uint8_t injectedPositionControl_valid; /**< Must be set to true if injectedPositionControl is being passed */ 8639 uint8_t injectedPositionControl; 8640 /**< Controls how the injected position is used in the position engine. 8641 8642 Valid values: \begin{itemize1} 8643 \item 0x01 (TRUE) -- Use the injected position in a direct position 8644 calculation 8645 \item 0x00 (FALSE) -- Do not use the injected position in a direct 8646 position calculation 8647 \end{itemize1} 8648 The default value is TRUE. 8649 */ 8650 8651 /* Optional */ 8652 /* Filter SV Usage */ 8653 uint8_t filterSvUsage_valid; /**< Must be set to true if filterSvUsage is being passed */ 8654 uint8_t filterSvUsage; 8655 /**< Controls whether SV usage is filtered in a position fix. 8656 8657 Valid values: \begin{itemize1} 8658 \item 0x01 (TRUE) -- Filter the usage of SVs in the fix 8659 \item 0x00 (FALSE) -- Do not filter the usage of SVs in the fix 8660 \end{itemize1} 8661 The default value is FALSE. 8662 */ 8663 8664 /* Optional */ 8665 /* Store Assist Data */ 8666 uint8_t storeAssistData_valid; /**< Must be set to true if storeAssistData is being passed */ 8667 uint8_t storeAssistData; 8668 /**< Controls whether assistance data is to be stored in 8669 persistent memory. 8670 8671 Valid values: \begin{itemize1} 8672 \item 0x01 (TRUE) -- Store assistance data in persistent memory 8673 \item 0x00 (FALSE) -- Do not store assistance data in persistent memory 8674 \end{itemize1} 8675 The default value is TRUE. 8676 */ 8677 8678 /* Optional */ 8679 /* Enable Faster TTFF */ 8680 uint8_t enableFasterTTFF_valid; /**< Must be set to true if enableFasterTTFF is being passed */ 8681 uint8_t enableFasterTTFF; 8682 /**< Allows the receiver to stay on after a position session in order to 8683 collect information that will help reduce the Time To First Fix (TTFF) 8684 when the next position request is made. The receiver will stay 8685 on only if the engine determines that it needs to collect some 8686 information. The receiver will stay on for the duration needed to 8687 collect the information. 8688 If enabled, the clients may see a delay in receiving the Engine Off 8689 event after the position session ends. 8690 8691 Valid values: \begin{itemize1} 8692 \item 0x01 (TRUE) -- Allow the engine to stay on for reduced TTFF 8693 \item 0x00 (FALSE) -- Do not allow the engine to stay on for reduced 8694 TTFF 8695 \end{itemize1} 8696 The default value is TRUE.*/ 8697 }qmiLocSetPositionEngineConfigParametersReqMsgT_v02; /* Message */ 8698 /** 8699 @} 8700 */ 8701 8702 /** @addtogroup loc_qmi_messages 8703 @{ 8704 */ 8705 /** Indication Message; Used by the control point to configure position engine 8706 functionality. */ 8707 typedef struct { 8708 8709 /* Mandatory */ 8710 /* Set Position Engine Configuration Status */ 8711 qmiLocStatusEnumT_v02 status; 8712 /**< Status of the Set Configuration Parameters request. 8713 8714 Valid values: \n 8715 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 8716 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 8717 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 8718 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 8719 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 8720 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 8721 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 8722 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 8723 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 8724 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 8725 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 8726 */ 8727 8728 /* Optional */ 8729 /* Failed Parameters */ 8730 uint8_t failedPositionEngineConfigParamMask_valid; /**< Must be set to true if failedPositionEngineConfigParamMask is being passed */ 8731 qmiLocPositionEngineConfigParamMaskT_v02 failedPositionEngineConfigParamMask; 8732 /**< Identifies the parameters that were not set successfully. 8733 This field is sent only if the status is other than SUCCESS. 8734 8735 Valid bitmasks:\n 8736 - QMI_LOC_POSITION_ENGINE_CONFIG_PARAM_MASK_INJECTED_POSITION_CONTROL (0x00000001) -- Denotes whether the position engine uses the 8737 injected position in a direct position calculation. 8738 - QMI_LOC_POSITION_ENGINE_CONFIG_PARAM_MASK_FILTER_SV_USAGE (0x00000002) -- Denotes whether the position engine filters the 8739 SV usage in the fix. 8740 - QMI_LOC_POSITION_ENGINE_CONFIG_PARAM_MASK_STORE_ASSIST_DATA (0x00000004) -- Denotes whether the position engine stores assistance data 8741 in persistent memory. 8742 - QMI_LOC_POSITION_ENGINE_CONFIG_PARAM_MASK_ENABLE_FASTER_TTFF (0x00000008) -- Denotes whether the position engine stays on to optimize 8743 the TTFF for the subsequent position fix. 8744 */ 8745 }qmiLocSetPositionEngineConfigParametersIndMsgT_v02; /* Message */ 8746 /** 8747 @} 8748 */ 8749 8750 /** @addtogroup loc_qmi_messages 8751 @{ 8752 */ 8753 /** Request Message; Used by the control point to get the position engine 8754 configuration parameters. */ 8755 typedef struct { 8756 8757 /* Mandatory */ 8758 /* Config Parameters */ 8759 qmiLocPositionEngineConfigParamMaskT_v02 getPositionEngineConfigParamMask; 8760 /**< Mask denoting the configuration parameters to be retrieved. 8761 8762 Valid bitmasks: 8763 - QMI_LOC_POSITION_ENGINE_CONFIG_PARAM_MASK_INJECTED_POSITION_CONTROL (0x00000001) -- Denotes whether the position engine uses the 8764 injected position in a direct position calculation. 8765 - QMI_LOC_POSITION_ENGINE_CONFIG_PARAM_MASK_FILTER_SV_USAGE (0x00000002) -- Denotes whether the position engine filters the 8766 SV usage in the fix. 8767 - QMI_LOC_POSITION_ENGINE_CONFIG_PARAM_MASK_STORE_ASSIST_DATA (0x00000004) -- Denotes whether the position engine stores assistance data 8768 in persistent memory. 8769 - QMI_LOC_POSITION_ENGINE_CONFIG_PARAM_MASK_ENABLE_FASTER_TTFF (0x00000008) -- Denotes whether the position engine stays on to optimize 8770 the TTFF for the subsequent position fix. 8771 */ 8772 }qmiLocGetPositionEngineConfigParametersReqMsgT_v02; /* Message */ 8773 /** 8774 @} 8775 */ 8776 8777 /** @addtogroup loc_qmi_messages 8778 @{ 8779 */ 8780 /** Indication Message; Used by the control point to get the position engine 8781 configuration parameters. */ 8782 typedef struct { 8783 8784 /* Mandatory */ 8785 /* Get Position Engine Configuration Status */ 8786 qmiLocStatusEnumT_v02 status; 8787 /**< Status of the Get Configuration Parameters request. 8788 8789 Valid values: \n 8790 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 8791 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 8792 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 8793 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 8794 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 8795 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 8796 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 8797 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 8798 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 8799 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 8800 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 8801 */ 8802 8803 /* Optional */ 8804 /* Injected Position Control */ 8805 uint8_t injectedPositionControl_valid; /**< Must be set to true if injectedPositionControl is being passed */ 8806 uint8_t injectedPositionControl; 8807 /**< Specifies whether the injected position is used for a direct calculation 8808 in the position engine. 8809 8810 Valid values: \begin{itemize1} 8811 \item 0x01 (TRUE) -- The injected position is used in a direct 8812 position calculation 8813 \item 0x00 (FALSE) -- The injected position is not used in a direct 8814 position calculation 8815 \end{itemize1} 8816 The default value is TRUE. 8817 */ 8818 8819 /* Optional */ 8820 /* Filter SV Usage */ 8821 uint8_t filterSvUsage_valid; /**< Must be set to true if filterSvUsage is being passed */ 8822 uint8_t filterSvUsage; 8823 /**< Specifies whether SV usage is filtered in a position fix. 8824 8825 Valid values: \begin{itemize1} 8826 \item 0x01 (TRUE) -- SV usage is filtered in the fix 8827 \item 0x00 (FALSE) -- SV usage is not filtered in the fix 8828 \end{itemize1} 8829 The default value is FALSE. 8830 */ 8831 8832 /* Optional */ 8833 /* Store Assist Data */ 8834 uint8_t storeAssistData_valid; /**< Must be set to true if storeAssistData is being passed */ 8835 uint8_t storeAssistData; 8836 /**< Specifies whether assistance data is stored in persistent memory. 8837 8838 Valid values: \begin{itemize1} 8839 \item 0x01 (TRUE) -- Assistance data is stored in persistent memory 8840 \item 0x00 (FALSE) -- Assistance data is not stored in persistent 8841 memory 8842 \end{itemize1} 8843 The default value is TRUE. 8844 */ 8845 8846 /* Optional */ 8847 /* Enable Faster TTFF */ 8848 uint8_t enableFasterTTFF_valid; /**< Must be set to true if enableFasterTTFF is being passed */ 8849 uint8_t enableFasterTTFF; 8850 /**< Allows the receiver to stay on after a position session in order to 8851 collect information that will help reduce the TTFF 8852 when the next position request is made. The receiver will stay 8853 on only if the engine determines that it needs to collect some 8854 information. The receiver will stay on for the duration needed to 8855 collect the information. 8856 If enabled, the clients may see a delay in receiving the Engine Off 8857 event after the position session ends. 8858 8859 Valid values: \begin{itemize1} 8860 \item 0x01 (TRUE) -- Allow the engine to stay on for reduced TTFF 8861 \item 0x00 (FALSE) -- Do not allow the engine to stay on for reduced 8862 TTFF 8863 \end{itemize1} 8864 The default value is TRUE.*/ 8865 }qmiLocGetPositionEngineConfigParametersIndMsgT_v02; /* Message */ 8866 /** 8867 @} 8868 */ 8869 8870 typedef uint8_t qmiLocGeofenceBreachMaskT_v02; 8871 #define QMI_LOC_GEOFENCE_BREACH_ENTERING_MASK_V02 ((qmiLocGeofenceBreachMaskT_v02)0x01) /**< If this mask is set, a breach event is reported 8872 when the Geofence is entered */ 8873 #define QMI_LOC_GEOFENCE_BREACH_LEAVING_MASK_V02 ((qmiLocGeofenceBreachMaskT_v02)0x02) /**< If this mask is set, a breach event is reported 8874 when the Geofence is exited */ 8875 /** @addtogroup loc_qmi_enums 8876 @{ 8877 */ 8878 typedef enum { 8879 QMILOCGEOFENCERESPONSIVENESSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 8880 eQMI_LOC_GEOFENCE_RESPONSIVENESS_LOW_V02 = 0x01, /**< The Geofence is monitored for a breach at a 8881 low rate of 15 minutes. The gap between the actual breach and 8882 the time it is reported is higher. This 8883 setting results in lower power usage. */ 8884 eQMI_LOC_GEOFENCE_RESPONSIVENESS_MED_V02 = 0x02, /**< The Geofence is monitored for a breach at a 8885 medium rate of 2 minutes. This is the default setting. */ 8886 eQMI_LOC_GEOFENCE_RESPONSIVENESS_HIGH_V02 = 0x03, /**< The Geofence is monitored for a breach at a 8887 high rate of 10 seconds. The gap between the actual breach and 8888 the time it is reported is low. This results 8889 in higher power usage. */ 8890 eQMI_LOC_GEOFENCE_RESPONSIVENESS_ULTRA_HIGH_V02 = 0x04, /**< The Geofence is monitored for a breach at a 8891 very high rate of 1 second. The gap between the actual breach and 8892 the time it is reported is very low. This results 8893 in very high power usage. This setting must be avoided whenever 8894 possible because of the drastic power implications. */ 8895 eQMI_LOC_GEOFENCE_RESPONSIVENESS_CUSTOM_V02 = 0x05, /**< The Geofence is monitored for a breach at a 8896 user defined rate. The gap between the actual breach and 8897 the time it is reported depends on the user setting. The power implication 8898 is inversely proportional to the responsiveness value set by the user. 8899 The higher the responsiveness value, the lower the power implications, and vice-versa. */ 8900 QMILOCGEOFENCERESPONSIVENESSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 8901 }qmiLocGeofenceResponsivenessEnumT_v02; 8902 /** 8903 @} 8904 */ 8905 8906 /** @addtogroup loc_qmi_aggregates 8907 @{ 8908 */ 8909 typedef struct { 8910 8911 double latitude; 8912 /**< Latitude of the center of the Geofence.*/ 8913 8914 double longitude; 8915 /**< Longitude of the center of the Geofence.*/ 8916 8917 uint32_t radius; 8918 /**< Radius of the circular Geofence in meters. */ 8919 }qmiLocCircularGeofenceArgsStructT_v02; /* Type */ 8920 /** 8921 @} 8922 */ 8923 8924 /** @addtogroup loc_qmi_enums 8925 @{ 8926 */ 8927 typedef enum { 8928 QMILOCGEOFENCEPOSITIONENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 8929 eQMI_LOC_GEOFENCE_POSITION_INSIDE_V02 = 0x01, /**< Position is inside a Geofence */ 8930 eQMI_LOC_GEOFENCE_POSITION_OUTSIDE_V02 = 0x02, /**< Position is outside a Geofence */ 8931 QMILOCGEOFENCEPOSITIONENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 8932 }qmiLocGeofencePositionEnumT_v02; 8933 /** 8934 @} 8935 */ 8936 8937 typedef uint8_t qmiLocGeofenceDwellTypeMaskT_v02; 8938 #define QMI_LOC_GEOFENCE_DWELL_TYPE_INSIDE_MASK_V02 ((qmiLocGeofenceDwellTypeMaskT_v02)0x01) /**< If this mask is set, a dwell event is reported 8939 when a user dwells inside the Geofence for a specified time */ 8940 #define QMI_LOC_GEOFENCE_DWELL_TYPE_OUTSIDE_MASK_V02 ((qmiLocGeofenceDwellTypeMaskT_v02)0x02) /**< If this mask is set, a dwell event is reported 8941 when a user dwells outside the Geofence for a specified time */ 8942 /** @addtogroup loc_qmi_messages 8943 @{ 8944 */ 8945 /** Request Message; Used by the control point to add a circular Geofence. */ 8946 typedef struct { 8947 8948 /* Mandatory */ 8949 /* Transaction ID */ 8950 uint32_t transactionId; 8951 /**< Identifies the transaction. The transaction ID 8952 is returned in the Add Circular Geofence 8953 indication. */ 8954 8955 /* Mandatory */ 8956 /* Circular Geofence Arguments */ 8957 qmiLocCircularGeofenceArgsStructT_v02 circularGeofenceArgs; 8958 8959 /* Mandatory */ 8960 /* Breach Event Mask */ 8961 qmiLocGeofenceBreachMaskT_v02 breachMask; 8962 /**< Specifies the breach events in which the client is interested. 8963 8964 Valid values: \begin{itemize1} 8965 \item 0x01 -- GEOFENCE_BREACH_ ENTERING_MASK 8966 \item 0x02 -- GEOFENCE_BREACH_ LEAVING_MASK 8967 \vspace{-0.18in} \end{itemize1} */ 8968 8969 /* Mandatory */ 8970 /* Include Position in Breach Event */ 8971 uint8_t includePosition; 8972 /**< Specifies whether the Geofence engine is to include the position 8973 in a breach event. 8974 8975 Valid values: \begin{itemize1} 8976 \item 0x01 (TRUE) -- Position will be reported with the breach event 8977 \item 0x00 (FALSE) -- Position will not be reported with the breach 8978 event 8979 \vspace{-0.18in} \end{itemize1} */ 8980 8981 /* Optional */ 8982 /* Responsiveness */ 8983 uint8_t responsiveness_valid; /**< Must be set to true if responsiveness is being passed */ 8984 qmiLocGeofenceResponsivenessEnumT_v02 responsiveness; 8985 /**< Specifies the rate of detection for a Geofence breach. 8986 This may impact the time lag between the actual breach event and 8987 when it is reported. This parameter has power implications 8988 and is to be fine-tuned to optimize power savings. 8989 8990 Valid values: \n 8991 - eQMI_LOC_GEOFENCE_RESPONSIVENESS_LOW (0x01) -- The Geofence is monitored for a breach at a 8992 low rate of 15 minutes. The gap between the actual breach and 8993 the time it is reported is higher. This 8994 setting results in lower power usage. 8995 - eQMI_LOC_GEOFENCE_RESPONSIVENESS_MED (0x02) -- The Geofence is monitored for a breach at a 8996 medium rate of 2 minutes. This is the default setting. 8997 - eQMI_LOC_GEOFENCE_RESPONSIVENESS_HIGH (0x03) -- The Geofence is monitored for a breach at a 8998 high rate of 10 seconds. The gap between the actual breach and 8999 the time it is reported is low. This results 9000 in higher power usage. 9001 - eQMI_LOC_GEOFENCE_RESPONSIVENESS_ULTRA_HIGH (0x04) -- The Geofence is monitored for a breach at a 9002 very high rate of 1 second. The gap between the actual breach and 9003 the time it is reported is very low. This results 9004 in very high power usage. This setting must be avoided whenever 9005 possible because of the drastic power implications. 9006 - eQMI_LOC_GEOFENCE_RESPONSIVENESS_CUSTOM (0x05) -- The Geofence is monitored for a breach at a 9007 user defined rate. The gap between the actual breach and 9008 the time it is reported depends on the user setting. The power implication 9009 is inversely proportional to the responsiveness value set by the user. 9010 The higher the responsiveness value, the lower the power implications, and vice-versa. 9011 */ 9012 9013 /* Optional */ 9014 /* Confidence */ 9015 uint8_t confidence_valid; /**< Must be set to true if confidence is being passed */ 9016 qmiLocGeofenceConfidenceEnumT_v02 confidence; 9017 /**< Given a breach event, the confidence determines the probability 9018 that the breach happened at the Geofence boundary. 9019 This parameter has power implications and 9020 is to be fine-tuned to optimize power savings. 9021 9022 Valid values: \n 9023 - eQMI_LOC_GEOFENCE_CONFIDENCE_LOW (0x01) -- Geofence engine indicates a breach with 9024 low confidence; this setting results in lower 9025 power usage, and it can impact the yield because 9026 incorrect breach events may be sent 9027 - eQMI_LOC_GEOFENCE_CONFIDENCE_MED (0x02) -- (Default) Geofence engine indicates a breach with 9028 medium confidence 9029 - eQMI_LOC_GEOFENCE_CONFIDENCE_HIGH (0x03) -- Geofence engine indicates a breach with 9030 high confidence; this setting results in higher 9031 power usage 9032 */ 9033 9034 /* Optional */ 9035 /* Custom Responsiveness Value */ 9036 uint8_t customResponsivenessValue_valid; /**< Must be set to true if customResponsivenessValue is being passed */ 9037 uint32_t customResponsivenessValue; 9038 /**< Specifies in seconds the user-defined rate of detection for a Geofence breach. 9039 This may impact the time lag between the actual breach event and 9040 when it is reported. The gap between the actual breach and 9041 the time it is reported depends on the user setting. The power implication 9042 is inversely proportional to the responsiveness value set by the user. 9043 The higher the responsiveness value, the lower the power implications, and vice-versa. 9044 If this field is set, the responsiveness is always treated 9045 as eQMI_LOC_GEOFENCE_ RESPONSIVENESS_CUSTOM. 9046 The minimum value supported in this field is 1 second, and the maximum value is 65535 seconds. 9047 An error is returned if an attempt is made to set this to an unsupported value. 9048 If this field is set, the responsiveness is always treated 9049 as eQMI_LOC_GEOFENCE_ RESPONSIVENESS_CUSTOM, which means that the other responsiveness 9050 types, such as eQMI_LOC_GEOFENCE _RESPONSIVENESS_LOW, eQMI_LOC_GEOFENCE_ RESPONSIVENESS_MEDIUM, 9051 eQMI_LOC_GEOFENCE_ RESPONSIVENESS_HIGH, and eQMI_LOC_GEOFENCE_ RESPONSIVENESS_ULTRA_HIGH are all 9052 disregarded. 9053 If this field is not set, the responsiveness will be treated as 9054 eQMI_LOC_GEOFENCE_ RESPONSIVENESS_LOW, eQMI_LOC_GEOFENCE_RESPONSIVENESS_MEDIUM, 9055 eQMI_LOC_GEOFENCE_RESPONSIVENESS_HIGH, or eQMI_LOC_GEOFENCE_RESPONSIVENESS_ULTRA_HIGH. 9056 */ 9057 9058 /* Optional */ 9059 /* Dwell Time of Geofence */ 9060 uint8_t dwellTime_valid; /**< Must be set to true if dwellTime is being passed */ 9061 uint32_t dwellTime; 9062 /**< Dwell time is the time in seconds a user spends in the Geofence before a dwell 9063 event is sent. 9064 */ 9065 9066 /* Optional */ 9067 /* Geofence Dwell Type */ 9068 uint8_t dwellTypeMask_valid; /**< Must be set to true if dwellTypeMask is being passed */ 9069 qmiLocGeofenceDwellTypeMaskT_v02 dwellTypeMask; 9070 /**< Type of dwell event in which the user is interested . 9071 9072 Valid values: \n 9073 - QMI_LOC_GEOFENCE_DWELL_TYPE_INSIDE_MASK (0x01) -- If this mask is set, a dwell event is reported 9074 when a user dwells inside the Geofence for a specified time 9075 - QMI_LOC_GEOFENCE_DWELL_TYPE_OUTSIDE_MASK (0x02) -- If this mask is set, a dwell event is reported 9076 when a user dwells outside the Geofence for a specified time 9077 */ 9078 }qmiLocAddCircularGeofenceReqMsgT_v02; /* Message */ 9079 /** 9080 @} 9081 */ 9082 9083 /** @addtogroup loc_qmi_messages 9084 @{ 9085 */ 9086 /** Indication Message; Used by the control point to add a circular Geofence. */ 9087 typedef struct { 9088 9089 /* Mandatory */ 9090 /* Add Circular Geofence Status */ 9091 qmiLocStatusEnumT_v02 status; 9092 /**< Status of the Add Circular Geofence request. 9093 9094 Valid values: \n 9095 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 9096 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 9097 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 9098 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 9099 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 9100 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 9101 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 9102 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 9103 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 9104 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 9105 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 9106 */ 9107 9108 /* Optional */ 9109 /* Transaction ID */ 9110 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 9111 uint32_t transactionId; 9112 /**< Transaction ID that was specified in the Add Circular 9113 Geofence request. This parameter will always be present 9114 if the status field is set to SUCCESS. */ 9115 9116 /* Optional */ 9117 /* Geofence ID */ 9118 uint8_t geofenceId_valid; /**< Must be set to true if geofenceId is being passed */ 9119 uint32_t geofenceId; 9120 /**< Geofence identifier allocated by the engine. 9121 The client must include this identifier in all transactions 9122 pertaining to this Geofence. */ 9123 }qmiLocAddCircularGeofenceIndMsgT_v02; /* Message */ 9124 /** 9125 @} 9126 */ 9127 9128 /** @addtogroup loc_qmi_messages 9129 @{ 9130 */ 9131 /** Request Message; Used by the control point to delete a Geofence. */ 9132 typedef struct { 9133 9134 /* Mandatory */ 9135 /* Geofence ID */ 9136 uint32_t geofenceId; 9137 /**< Identifier for the Geofence that is to be deleted. */ 9138 9139 /* Mandatory */ 9140 /* Transaction ID */ 9141 uint32_t transactionId; 9142 /**< Identifies the transaction. The transaction ID 9143 is returned in the Delete Geofence 9144 indication. */ 9145 }qmiLocDeleteGeofenceReqMsgT_v02; /* Message */ 9146 /** 9147 @} 9148 */ 9149 9150 /** @addtogroup loc_qmi_messages 9151 @{ 9152 */ 9153 /** Indication Message; Used by the control point to delete a Geofence. */ 9154 typedef struct { 9155 9156 /* Mandatory */ 9157 /* Delete Geofence Status */ 9158 qmiLocStatusEnumT_v02 status; 9159 /**< Status of the Delete Geofence request. 9160 9161 Valid values: \n 9162 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 9163 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 9164 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 9165 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 9166 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 9167 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 9168 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 9169 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 9170 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 9171 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 9172 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 9173 */ 9174 9175 /* Optional */ 9176 /* Geofence ID */ 9177 uint8_t geofenceId_valid; /**< Must be set to true if geofenceId is being passed */ 9178 uint32_t geofenceId; 9179 /**< Identifier for the Geofence that was deleted. */ 9180 9181 /* Optional */ 9182 /* Transaction ID */ 9183 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 9184 uint32_t transactionId; 9185 /**< Transaction ID that was specified in the Delete 9186 Geofence request. This parameter will always be present 9187 if the status field is set to SUCCESS. */ 9188 }qmiLocDeleteGeofenceIndMsgT_v02; /* Message */ 9189 /** 9190 @} 9191 */ 9192 9193 /** @addtogroup loc_qmi_enums 9194 @{ 9195 */ 9196 typedef enum { 9197 QMILOCGEOFENCEORIGINENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 9198 eQMI_LOC_GEOFENCE_ORIGIN_NETWORK_V02 = 1, /**< Geofence was initiated by a network-initiated client */ 9199 eQMI_LOC_GEOFENCE_ORIGIN_DEVICE_V02 = 2, /**< Geofence was initiated by the device */ 9200 QMILOCGEOFENCEORIGINENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 9201 }qmiLocGeofenceOriginEnumT_v02; 9202 /** 9203 @} 9204 */ 9205 9206 /** @addtogroup loc_qmi_enums 9207 @{ 9208 */ 9209 typedef enum { 9210 QMILOCGEOFENCESTATEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 9211 eQMI_LOC_GEOFENCE_STATE_ACTIVE_V02 = 1, /**< Geofence is being actively monitored */ 9212 eQMI_LOC_GEOFENCE_STATE_SUSPEND_V02 = 2, /**< Geofence monitoring is suspended */ 9213 QMILOCGEOFENCESTATEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 9214 }qmiLocGeofenceStateEnumT_v02; 9215 /** 9216 @} 9217 */ 9218 9219 /** @addtogroup loc_qmi_messages 9220 @{ 9221 */ 9222 /** Request Message; Used by the control point to query a Geofence. */ 9223 typedef struct { 9224 9225 /* Mandatory */ 9226 /* Geofence ID */ 9227 uint32_t geofenceId; 9228 /**< Identifier for the Geofence that is to be queried. */ 9229 9230 /* Mandatory */ 9231 /* Transaction ID */ 9232 uint32_t transactionId; 9233 /**< Identifies the transaction. The transaction ID 9234 is returned with the Query Geofence 9235 indication. */ 9236 }qmiLocQueryGeofenceReqMsgT_v02; /* Message */ 9237 /** 9238 @} 9239 */ 9240 9241 /** @addtogroup loc_qmi_messages 9242 @{ 9243 */ 9244 /** Indication Message; Used by the control point to query a Geofence. */ 9245 typedef struct { 9246 9247 /* Mandatory */ 9248 /* Query Geofence Status */ 9249 qmiLocStatusEnumT_v02 status; 9250 /**< Status of the Query Geofence request. 9251 9252 Valid values: \n 9253 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 9254 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 9255 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 9256 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 9257 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 9258 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 9259 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 9260 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 9261 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 9262 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 9263 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 9264 */ 9265 9266 /* Optional */ 9267 /* Geofence ID */ 9268 uint8_t geofenceId_valid; /**< Must be set to true if geofenceId is being passed */ 9269 uint32_t geofenceId; 9270 /**< Identifier for the Geofence that was queried. */ 9271 9272 /* Optional */ 9273 /* Transaction ID */ 9274 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 9275 uint32_t transactionId; 9276 /**< Transaction ID that was specified in the Query 9277 Geofence request. This parameter will always be present 9278 if the status field is set to SUCCESS. */ 9279 9280 /* Optional */ 9281 /* Geofence Origin */ 9282 uint8_t geofenceOrigin_valid; /**< Must be set to true if geofenceOrigin is being passed */ 9283 qmiLocGeofenceOriginEnumT_v02 geofenceOrigin; 9284 /**< Originator of the Geofence. 9285 9286 Valid values: \n 9287 - eQMI_LOC_GEOFENCE_ORIGIN_NETWORK (1) -- Geofence was initiated by a network-initiated client 9288 - eQMI_LOC_GEOFENCE_ORIGIN_DEVICE (2) -- Geofence was initiated by the device 9289 */ 9290 9291 /* Optional */ 9292 /* Position with Respect to Geofence */ 9293 uint8_t posWrtGeofence_valid; /**< Must be set to true if posWrtGeofence is being passed */ 9294 qmiLocGeofencePositionEnumT_v02 posWrtGeofence; 9295 /**< Indicates if the client is currently inside or outside 9296 the Geofence. 9297 9298 Valid values: \n 9299 - eQMI_LOC_GEOFENCE_POSITION_INSIDE (0x01) -- Position is inside a Geofence 9300 - eQMI_LOC_GEOFENCE_POSITION_OUTSIDE (0x02) -- Position is outside a Geofence 9301 */ 9302 9303 /* Optional */ 9304 /* Circular Geofence Parameters */ 9305 uint8_t circularGeofenceArgs_valid; /**< Must be set to true if circularGeofenceArgs is being passed */ 9306 qmiLocCircularGeofenceArgsStructT_v02 circularGeofenceArgs; 9307 9308 /* Optional */ 9309 /* Geofence State */ 9310 uint8_t geofenceState_valid; /**< Must be set to true if geofenceState is being passed */ 9311 qmiLocGeofenceStateEnumT_v02 geofenceState; 9312 /**< Specifies whether the Geofence is to be actively monitored. 9313 9314 Valid values: \n 9315 - eQMI_LOC_GEOFENCE_STATE_ACTIVE (1) -- Geofence is being actively monitored 9316 - eQMI_LOC_GEOFENCE_STATE_SUSPEND (2) -- Geofence monitoring is suspended 9317 */ 9318 }qmiLocQueryGeofenceIndMsgT_v02; /* Message */ 9319 /** 9320 @} 9321 */ 9322 9323 typedef uint32_t qmiLocMotionDetectionSourceMaskT_v02; 9324 #define QMI_LOC_MOTION_DETECTION_SOURCE_SENSORS_V02 ((qmiLocMotionDetectionSourceMaskT_v02)0x00000001) /**< Sensors are used for motion detection */ 9325 #define QMI_LOC_MOTION_DETECTION_SOURCE_WIFI_V02 ((qmiLocMotionDetectionSourceMaskT_v02)0x00000002) /**< Wi-Fi is used for motion detection */ 9326 #define QMI_LOC_MOTION_DETECTION_SOURCE_WWAN_V02 ((qmiLocMotionDetectionSourceMaskT_v02)0x00000004) /**< Wireless WAN is used for motion detection */ 9327 /** @addtogroup loc_qmi_enums 9328 @{ 9329 */ 9330 typedef enum { 9331 QMILOCGEOFENCEMOTIONSTATESENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 9332 eQMI_LOC_GEOFENCE_MOTION_STATE_STATIONARY_V02 = 0, /**< Motion state Stationary -- Handset is completely stationary */ 9333 eQMI_LOC_GEOFENCE_MOTION_STATE_FIDDLE_V02 = 1, /**< Motion state Fiddle -- Handset is not in motion but is being "fiddled" with */ 9334 eQMI_LOC_GEOFENCE_MOTION_STATE_WALK_V02 = 2, /**< Motion state Walk -- User is walking with the handset */ 9335 eQMI_LOC_GEOFENCE_MOTION_STATE_RUN_V02 = 3, /**< Motion state Run -- User is running with the handset */ 9336 eQMI_LOC_GEOFENCE_MOTION_STATE_DRIVE_V02 = 4, /**< Motion state Drive -- User is driving with the handset */ 9337 QMILOCGEOFENCEMOTIONSTATESENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 9338 }qmiLocGeofenceMotionStatesEnumT_v02; 9339 /** 9340 @} 9341 */ 9342 9343 /** @addtogroup loc_qmi_aggregates 9344 @{ 9345 */ 9346 typedef struct { 9347 9348 qmiLocGeofenceMotionStatesEnumT_v02 motionState; 9349 /**< Motion state for which information is being configured. */ 9350 9351 float motionStateSpeed; 9352 /**< Motion state speed in milliseconds. 9353 9354 These are positive floating values. 9355 The state speed must be configured carefully. Very low speed 9356 configuration for a state may result in missing Geofence 9357 breaches in some scenarios. 9358 9359 Typical motion state speeds: \n 9360 - Stationary speed -- 0 meters/sec 9361 - Fiddle speed -- 0 meters/sec \n 9362 - Walk speed -- 3 meters/sec \n 9363 - Run speed -- 8 meters/sec \n 9364 - Drive speed -- 56 meters/sec 9365 */ 9366 }qmiLocGeofenceMotionStateConfigStructT_v02; /* Type */ 9367 /** 9368 @} 9369 */ 9370 9371 /** @addtogroup loc_qmi_messages 9372 @{ 9373 */ 9374 /** Request Message; Used by the control point to set the Geofence engine configuration. */ 9375 typedef struct { 9376 9377 /* Mandatory */ 9378 /* Transaction ID */ 9379 uint32_t transactionId; 9380 /**< Identifies the transaction. The transaction ID 9381 is returned with the Set Geofence Configuration 9382 indication. */ 9383 9384 /* Optional */ 9385 /* GNSS Unavailable Indication Timeout */ 9386 uint8_t gnssUnavailableIndicationTimeout_valid; /**< Must be set to true if gnssUnavailableIndicationTimeout is being passed */ 9387 uint32_t gnssUnavailableIndicationTimeout; 9388 /**< In a bad GNSS environment, this is the timeout after which the Geofence 9389 engine sends out a GNSS Unavailable indication. The GNSS Unavailable 9390 indication is sent under the following conditions: \begin{itemize1} 9391 \item If gnssUnavailableIndicationTimeout is less than 9392 gnssPositionSessionTimeout, the GNSS 9393 Unavailable timeout indication is sent after 9394 gnssPositionSessionTimeout expires 9395 \item If gnssPositionSessionTimeout is less than 9396 gnssUnavailableIndicationTimeout, the 9397 GNSS Unavailable timeout indication is sent after 9398 gnssUnavailableIndicationTimeout expires 9399 \vspace{-0.18in} \end{itemize1} */ 9400 9401 /* Optional */ 9402 /* Max Geofences */ 9403 uint8_t maxGeofences_valid; /**< Must be set to true if maxGeofences is being passed */ 9404 uint32_t maxGeofences; 9405 /**< Identifies the maximum number of Geofences that can be supported by 9406 the Geofence engine. If this number is less than the currently deployed 9407 Geofences, this command fails. 9408 9409 If the command succeeds, the engine supports the maximum number of 9410 Geofences requested, provided there is enough memory to support that 9411 many Geofences. Increasing this value to a very large number in a 9412 constrained memory environment might affect other modules negatively. 9413 This value is determined by phone manufacturers. The default value 9414 is 200. */ 9415 9416 /* Optional */ 9417 /* Enable Motion Detection Sources */ 9418 uint8_t enableMotionDetectionSources_valid; /**< Must be set to true if enableMotionDetectionSources is being passed */ 9419 qmiLocMotionDetectionSourceMaskT_v02 enableMotionDetectionSources; 9420 /**< Identifies the sources that can be enabled for motion detection by 9421 the Geofence engine. The sources of motion detection that are enabled 9422 by the Geofence engine are dependent on the platform. 9423 These sources can only be set once at boot time and they are not expected to be changed after that. 9424 Any attempt to set the value of the motion detection sources at runtime results in an undefined behavior. 9425 Valid values: \n 9426 - QMI_LOC_MOTION_DETECTION_SOURCE_SENSORS (0x00000001) -- Sensors are used for motion detection 9427 - QMI_LOC_MOTION_DETECTION_SOURCE_WIFI (0x00000002) -- Wi-Fi is used for motion detection 9428 - QMI_LOC_MOTION_DETECTION_SOURCE_WWAN (0x00000004) -- Wireless WAN is used for motion detection */ 9429 9430 /* Optional */ 9431 /* Enable Coarse Position Injection Usage */ 9432 uint8_t enableCpiUsage_valid; /**< Must be set to true if enableCpiUsage is being passed */ 9433 uint8_t enableCpiUsage; 9434 /**< Indicates whether external Coarse Position Injection (CPI) is used 9435 by the Geofence engine. 9436 \begin{itemize1} 9437 \item 0x01 (TRUE) -- CPI is enabled (default) 9438 \item 0x00 (FALSE) -- CPI is disabled 9439 \vspace{-0.18in} \end{itemize1}*/ 9440 9441 /* Optional */ 9442 /* GNSS Position QOS Session Timeout */ 9443 uint8_t gnssPositionSessionTimeout_valid; /**< Must be set to true if gnssPositionSessionTimeout is being passed */ 9444 uint32_t gnssPositionSessionTimeout; 9445 /**< Identifies the session timeout value (in seconds) for requesting a 9446 position in a bad GNSS environment. 9447 9448 Valid values: \begin{itemize1} 9449 \item If the gnssUnavailableIndicationTimeout value is less than 9450 gnssPositionSessionTimeout, in a bad GNSS environment, the GNSS 9451 Unavailable timeout indication is sent after 9452 gnssPositionSessionTimeout expires. 9453 \item If gnssPositionSessionTimeout is less than gnssUnavailableIndicationTimeout, 9454 in a bad GNSS environment, the GNSS Unavailable timeout indication 9455 is sent after gnssUnavailableIndicationTimeout expires. \vspace{-0.18in} \end{itemize1} 9456 */ 9457 9458 /* Optional */ 9459 /* GNSS Position Maximum Position Uncertainity Acceptable */ 9460 uint8_t gnssPositionMaxPuncAcceptable_valid; /**< Must be set to true if gnssPositionMaxPuncAcceptable is being passed */ 9461 uint32_t gnssPositionMaxPuncAcceptable; 9462 /**< GNSS maximum position uncertainity in meters acceptable by 9463 the Geofence engine. 9464 9465 Valid values: \n 9466 - All positive values 9467 */ 9468 9469 /* Optional */ 9470 /* Medium Responsiveness Value */ 9471 uint8_t mediumResponsivenessValue_valid; /**< Must be set to true if mediumResponsivenessValue is being passed */ 9472 uint32_t mediumResponsivenessValue; 9473 /**< Medium responsiveness value in seconds that the Geofence engine 9474 uses for all medium responsiveness Geofences in the Geofence engine. 9475 9476 Valid values: \begin{itemize1} 9477 \item Positive values (in seconds) 9478 \item If the value is configured for less than 30 sec, the value is 9479 set at 30 sec 9480 \item If the value is configured for more than 600 sec, the value is 9481 set at 600 sec 9482 \item Default -- The Geofence engine uses 120 sec as the medium 9483 responsiveness value 9484 \end{itemize1} 9485 9486 If the medium responsiveness value is changed, the responsiveness 9487 of the existing medium responsiveness Geofence does not change until the next 9488 position fix, which is based on the previous medium responsiveness 9489 setting. 9490 */ 9491 9492 /* Optional */ 9493 /* Challenging GNSS Environment Minimum CPI Wait Interval */ 9494 uint8_t chalGnssEnvMinCpiWaitInterval_valid; /**< Must be set to true if chalGnssEnvMinCpiWaitInterval is being passed */ 9495 uint32_t chalGnssEnvMinCpiWaitInterval; 9496 /**< Number of seconds that the Geofence engine is to wait between 9497 CPI requests in challenging a GNSS environment. 9498 9499 Valid values: \n 9500 - Positive values (in seconds) 9501 */ 9502 9503 /* Optional */ 9504 /* Geofence Motion State Information */ 9505 uint8_t motionStateInfo_valid; /**< Must be set to true if motionStateInfo is being passed */ 9506 uint32_t motionStateInfo_len; /**< Must be set to # of elements in motionStateInfo */ 9507 qmiLocGeofenceMotionStateConfigStructT_v02 motionStateInfo[QMI_LOC_GEOFENCE_MAX_MOTION_STATES_V02]; 9508 /**< \vspace{4pt} \n Motion state informatino (e.g., motion state speed) that the 9509 Geofence engine is to use. 9510 */ 9511 }qmiLocSetGeofenceEngineConfigReqMsgT_v02; /* Message */ 9512 /** 9513 @} 9514 */ 9515 9516 /** @addtogroup loc_qmi_messages 9517 @{ 9518 */ 9519 /** Indication Message; Used by the control point to set the Geofence engine configuration. */ 9520 typedef struct { 9521 9522 /* Mandatory */ 9523 /* Set Geofence Engine Configuration Status. */ 9524 qmiLocStatusEnumT_v02 status; 9525 /**< Status of the Set Geofence Engine Configuration request. 9526 9527 Valid values: \n 9528 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 9529 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 9530 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 9531 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 9532 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 9533 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 9534 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 9535 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 9536 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 9537 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 9538 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 9539 9540 /* Optional */ 9541 /* Transaction ID */ 9542 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 9543 uint32_t transactionId; 9544 /**< Transaction ID that was specified in the Set Geofence Configuration 9545 request. This parameter is always present if the status 9546 field is set to SUCCESS. */ 9547 }qmiLocSetGeofenceEngineConfigIndMsgT_v02; /* Message */ 9548 /** 9549 @} 9550 */ 9551 9552 /** @addtogroup loc_qmi_messages 9553 @{ 9554 */ 9555 /** Request Message; Used by the control point to get the Geofence engine configuration. */ 9556 typedef struct { 9557 9558 /* Mandatory */ 9559 /* Transaction ID */ 9560 uint32_t transactionId; 9561 /**< Identifies the transaction. The transaction ID 9562 is returned with the Get Geofence Engine Configuration 9563 indication. */ 9564 }qmiLocGetGeofenceEngineConfigReqMsgT_v02; /* Message */ 9565 /** 9566 @} 9567 */ 9568 9569 /** @addtogroup loc_qmi_messages 9570 @{ 9571 */ 9572 /** Indication Message; Used by the control point to get the Geofence engine configuration. */ 9573 typedef struct { 9574 9575 /* Mandatory */ 9576 /* Get Geofence Engine Configuration Status */ 9577 qmiLocStatusEnumT_v02 status; 9578 /**< Status of the Get Geofence Engine Configuration request. 9579 9580 Valid values: \n 9581 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 9582 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 9583 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 9584 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 9585 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 9586 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 9587 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 9588 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 9589 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 9590 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 9591 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 9592 9593 /* Optional */ 9594 /* Transaction ID */ 9595 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 9596 uint32_t transactionId; 9597 /**< Transaction ID that was specified in the Get Geofence Engine Configuration 9598 request. This parameter is always present 9599 if the status field is set to SUCCESS. */ 9600 9601 /* Optional */ 9602 /* GPS Unavailable Indication Timeout */ 9603 uint8_t gnssUnavailableIndicationTimeout_valid; /**< Must be set to true if gnssUnavailableIndicationTimeout is being passed */ 9604 uint32_t gnssUnavailableIndicationTimeout; 9605 /**< In a bad GNSS environment, the timeout after which the Geofence engine 9606 sends out a GNSS unavailable indication. */ 9607 9608 /* Optional */ 9609 /* Max Geofences */ 9610 uint8_t maxGeofences_valid; /**< Must be set to true if maxGeofences is being passed */ 9611 uint32_t maxGeofences; 9612 /**< Identifies the maximum number of Geofences that are currently supported 9613 in the Geofence engine. */ 9614 9615 /* Optional */ 9616 /* Enabled Motion Detection Sources */ 9617 uint8_t enabledMotionDetectionSources_valid; /**< Must be set to true if enabledMotionDetectionSources is being passed */ 9618 qmiLocMotionDetectionSourceMaskT_v02 enabledMotionDetectionSources; 9619 /**< Identifies the sources that are currently enabled for motion detection 9620 by the Geofence engine. 9621 9622 Valid values: \n 9623 - QMI_LOC_MOTION_DETECTION_SOURCE_SENSORS (0x00000001) -- Sensors are used for motion detection 9624 - QMI_LOC_MOTION_DETECTION_SOURCE_WIFI (0x00000002) -- Wi-Fi is used for motion detection 9625 - QMI_LOC_MOTION_DETECTION_SOURCE_WWAN (0x00000004) -- Wireless WAN is used for motion detection */ 9626 9627 /* Optional */ 9628 /* Enabled for CPI Position Injection Usage */ 9629 uint8_t enabledCpiUsage_valid; /**< Must be set to true if enabledCpiUsage is being passed */ 9630 uint8_t enabledCpiUsage; 9631 /**< Indicates whether CPI usage is enabled. 9632 \begin{itemize1} 9633 \item 0x01 (TRUE) -- CPI usage is enabled 9634 \item 0x00 (FALSE) -- CPI usage is disabled 9635 \vspace{-0.18in} \end{itemize1}*/ 9636 }qmiLocGetGeofenceEngineConfigIndMsgT_v02; /* Message */ 9637 /** 9638 @} 9639 */ 9640 9641 /** @addtogroup loc_qmi_messages 9642 @{ 9643 */ 9644 /** Request Message; Used by the control point to edit a Geofence. */ 9645 typedef struct { 9646 9647 /* Mandatory */ 9648 /* Geofence ID */ 9649 uint32_t geofenceId; 9650 /**< Identifier for the Geofence to be edited. */ 9651 9652 /* Mandatory */ 9653 /* Transaction ID */ 9654 uint32_t transactionId; 9655 /**< Transaction ID that was specified in the Edit Geofence 9656 request. This parameter will always be present if the 9657 status field is set to SUCCESS. 9658 */ 9659 9660 /* Optional */ 9661 /* Geofence State */ 9662 uint8_t geofenceState_valid; /**< Must be set to true if geofenceState is being passed */ 9663 qmiLocGeofenceStateEnumT_v02 geofenceState; 9664 /**< Specifies whether the Geofence is to be actively monitored. 9665 9666 Valid values: \n 9667 - eQMI_LOC_GEOFENCE_STATE_ACTIVE (1) -- Geofence is being actively monitored 9668 - eQMI_LOC_GEOFENCE_STATE_SUSPEND (2) -- Geofence monitoring is suspended 9669 */ 9670 9671 /* Optional */ 9672 /* Breach Event Mask */ 9673 uint8_t breachMask_valid; /**< Must be set to true if breachMask is being passed */ 9674 qmiLocGeofenceBreachMaskT_v02 breachMask; 9675 /**< Specifies the breach events in which the client is interested. 9676 9677 Valid values: \begin{itemize1} 9678 \item 0x01 -- GEOFENCE_BREACH_ ENTERING_MASK 9679 \item 0x02 -- GEOFENCE_BREACH_ LEAVING_MASK 9680 \vspace{-0.18in} \end{itemize1} */ 9681 9682 /* Optional */ 9683 /* Responsiveness */ 9684 uint8_t responsiveness_valid; /**< Must be set to true if responsiveness is being passed */ 9685 qmiLocGeofenceResponsivenessEnumT_v02 responsiveness; 9686 /**< Specifies the rate of detection for a Geofence breach. 9687 This may impact the time lag between the actual breach event and 9688 when it is reported. This parameter has power implications 9689 and is to be fine-tuned to optimize power savings. 9690 9691 Valid values: \n 9692 - eQMI_LOC_GEOFENCE_RESPONSIVENESS_LOW (0x01) -- The Geofence is monitored for a breach at a 9693 low rate of 15 minutes. The gap between the actual breach and 9694 the time it is reported is higher. This 9695 setting results in lower power usage. 9696 - eQMI_LOC_GEOFENCE_RESPONSIVENESS_MED (0x02) -- The Geofence is monitored for a breach at a 9697 medium rate of 2 minutes. This is the default setting. 9698 - eQMI_LOC_GEOFENCE_RESPONSIVENESS_HIGH (0x03) -- The Geofence is monitored for a breach at a 9699 high rate of 10 seconds. The gap between the actual breach and 9700 the time it is reported is low. This results 9701 in higher power usage. 9702 - eQMI_LOC_GEOFENCE_RESPONSIVENESS_ULTRA_HIGH (0x04) -- The Geofence is monitored for a breach at a 9703 very high rate of 1 second. The gap between the actual breach and 9704 the time it is reported is very low. This results 9705 in very high power usage. This setting must be avoided whenever 9706 possible because of the drastic power implications. 9707 - eQMI_LOC_GEOFENCE_RESPONSIVENESS_CUSTOM (0x05) -- The Geofence is monitored for a breach at a 9708 user defined rate. The gap between the actual breach and 9709 the time it is reported depends on the user setting. The power implication 9710 is inversely proportional to the responsiveness value set by the user. 9711 The higher the responsiveness value, the lower the power implications, and vice-versa. 9712 */ 9713 }qmiLocEditGeofenceReqMsgT_v02; /* Message */ 9714 /** 9715 @} 9716 */ 9717 9718 typedef uint32_t qmiLocGeofenceConfigParamMaskT_v02; 9719 #define QMI_LOC_GEOFENCE_PARAM_MASK_GEOFENCE_STATE_V02 ((qmiLocGeofenceConfigParamMaskT_v02)0x00000001) /**< Mask for the Geofence state parameter. */ 9720 #define QMI_LOC_GEOFENCE_PARAM_MASK_BREACH_MASK_V02 ((qmiLocGeofenceConfigParamMaskT_v02)0x00000002) /**< Mask for Geofence breach mask parameter. */ 9721 /** @addtogroup loc_qmi_messages 9722 @{ 9723 */ 9724 /** Indication Message; Used by the control point to edit a Geofence. */ 9725 typedef struct { 9726 9727 /* Mandatory */ 9728 /* Edit Geofence Status */ 9729 qmiLocStatusEnumT_v02 status; 9730 /**< Status of the Edit Geofence request. 9731 9732 Valid values: \n 9733 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 9734 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 9735 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 9736 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 9737 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 9738 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 9739 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 9740 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 9741 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 9742 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 9743 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 9744 9745 /* Optional */ 9746 /* Geofence ID */ 9747 uint8_t geofenceId_valid; /**< Must be set to true if geofenceId is being passed */ 9748 uint32_t geofenceId; 9749 /**< Identifier for the Geofence that was edited. */ 9750 9751 /* Optional */ 9752 /* Transaction ID */ 9753 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 9754 uint32_t transactionId; 9755 /**< Identifies the transaction. The transaction ID 9756 is specified in the Edit Geofence request. */ 9757 9758 /* Optional */ 9759 /* Failed Parameters */ 9760 uint8_t failedParams_valid; /**< Must be set to true if failedParams is being passed */ 9761 qmiLocGeofenceConfigParamMaskT_v02 failedParams; 9762 /**< Specified only when the status is not set to SUCCESS. If 9763 the mask corresponding to a field is set, it indicates that 9764 the Geofence parameter could not be edited. 9765 9766 Valid values: \begin{itemize1} 9767 \item 0x00000001 -- GEOFENCE_PARAM_ MASK_GEOFENCE_STATE 9768 \item 0x00000002 -- GEOFENCE_PARAM_ MASK_BREACH_MASK 9769 \vspace{-0.18in} \end{itemize1} */ 9770 }qmiLocEditGeofenceIndMsgT_v02; /* Message */ 9771 /** 9772 @} 9773 */ 9774 9775 /** @addtogroup loc_qmi_messages 9776 @{ 9777 */ 9778 /** Indication Message; Requests the control point to get time zone information. */ 9779 typedef struct { 9780 9781 /* Mandatory */ 9782 /* Get Time Zone Info Status */ 9783 qmiLocStatusEnumT_v02 status; 9784 /**< Status of the Get Time Zone Info request. 9785 9786 Valid values: \n 9787 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 9788 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 9789 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 9790 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 9791 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 9792 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 9793 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 9794 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 9795 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 9796 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 9797 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 9798 }qmiLocEventGetTimeZoneReqIndMsgT_v02; /* Message */ 9799 /** 9800 @} 9801 */ 9802 9803 /** @addtogroup loc_qmi_aggregates 9804 @{ 9805 */ 9806 typedef struct { 9807 9808 uint64_t dstOffset; 9809 /**< Offset for Daylight Savings Time in seconds. This is zero if the time zone is not in Daylight Savings 9810 Time during the specified UTC timestamp. */ 9811 9812 uint64_t rawOffset; 9813 /**< Offset from UTC (in seconds) for the current location. This does not take daylight savings into account. */ 9814 }qmiLocTimeZoneStructT_v02; /* Type */ 9815 /** 9816 @} 9817 */ 9818 9819 /** @addtogroup loc_qmi_messages 9820 @{ 9821 */ 9822 /** Request Message; Used by the control point to inject time zone information. */ 9823 typedef struct { 9824 9825 /* Mandatory */ 9826 /* UTC Time */ 9827 uint64_t timeUtc; 9828 /**< UTC time since Jan. 1, 1970.\n 9829 - Units: Milliseconds */ 9830 9831 /* Mandatory */ 9832 /* Time Zone Information */ 9833 qmiLocTimeZoneStructT_v02 timeZone; 9834 }qmiLocInjectTimeZoneInfoReqMsgT_v02; /* Message */ 9835 /** 9836 @} 9837 */ 9838 9839 /** @addtogroup loc_qmi_messages 9840 @{ 9841 */ 9842 /** Indication Message; Used by the control point to inject time zone information. */ 9843 typedef struct { 9844 9845 /* Mandatory */ 9846 /* Inject Time Zone Info Status */ 9847 qmiLocStatusEnumT_v02 status; 9848 /**< Status of the inject time zone information. 9849 9850 Valid values: \n 9851 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 9852 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 9853 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 9854 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 9855 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 9856 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 9857 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 9858 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 9859 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 9860 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 9861 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 9862 }qmiLocInjectTimeZoneInfoIndMsgT_v02; /* Message */ 9863 /** 9864 @} 9865 */ 9866 9867 /** @addtogroup loc_qmi_messages 9868 @{ 9869 */ 9870 /** Request Message; Used by the control point to get the best available 9871 position estimate from the location engine. */ 9872 typedef struct { 9873 9874 /* Mandatory */ 9875 /* Transaction ID */ 9876 uint32_t transactionId; 9877 /**< Identifies the transaction. The transaction ID 9878 is returned in the Get Best Available Position indication. */ 9879 }qmiLocGetBestAvailablePositionReqMsgT_v02; /* Message */ 9880 /** 9881 @} 9882 */ 9883 9884 /** @addtogroup loc_qmi_messages 9885 @{ 9886 */ 9887 /** Indication Message; Used by the control point to get the best available 9888 position estimate from the location engine. */ 9889 typedef struct { 9890 9891 /* Mandatory */ 9892 /* Get Best Available Position Status */ 9893 qmiLocStatusEnumT_v02 status; 9894 /**< Status of the Get Best Available Position request. 9895 9896 Valid values: \n 9897 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 9898 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 9899 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 9900 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 9901 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 9902 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 9903 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 9904 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 9905 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 9906 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 9907 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 9908 9909 /* Optional */ 9910 /* Transaction ID */ 9911 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 9912 uint32_t transactionId; 9913 /**< Transaction ID that was specified in the Get Best 9914 Available Position request. This parameter will 9915 always be present if the status field is set to 9916 SUCCESS. */ 9917 9918 /* Optional */ 9919 /* Latitude */ 9920 uint8_t latitude_valid; /**< Must be set to true if latitude is being passed */ 9921 double latitude; 9922 /**< Latitude (specified in WGS84 datum). 9923 \begin{itemize1} 9924 \item Type: Floating point 9925 \item Units: Degrees 9926 \item Range: -90.0 to 90.0 \begin{itemize1} 9927 \item Positive values indicate northern latitude 9928 \item Negative values indicate southern latitude 9929 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 9930 9931 /* Optional */ 9932 /* Longitude */ 9933 uint8_t longitude_valid; /**< Must be set to true if longitude is being passed */ 9934 double longitude; 9935 /**< Longitude (specified in WGS84 datum). 9936 \begin{itemize1} 9937 \item Type: Floating point 9938 \item Units: Degrees 9939 \item Range: -180.0 to 180.0 \begin{itemize1} 9940 \item Positive values indicate eastern longitude 9941 \item Negative values indicate western longitude 9942 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 9943 9944 /* Optional */ 9945 /* Circular Horizontal Position Uncertainty */ 9946 uint8_t horUncCircular_valid; /**< Must be set to true if horUncCircular is being passed */ 9947 float horUncCircular; 9948 /**< Horizontal position uncertainty (circular).\n 9949 - Units: Meters */ 9950 9951 /* Optional */ 9952 /* Altitude With Respect to Ellipsoid */ 9953 uint8_t altitudeWrtEllipsoid_valid; /**< Must be set to true if altitudeWrtEllipsoid is being passed */ 9954 float altitudeWrtEllipsoid; 9955 /**< Altitude with respect to the WGS84 ellipsoid.\n 9956 - Units: Meters \n 9957 - Range: -500 to 15883 */ 9958 9959 /* Optional */ 9960 /* Vertical Uncertainty */ 9961 uint8_t vertUnc_valid; /**< Must be set to true if vertUnc is being passed */ 9962 float vertUnc; 9963 /**< Vertical uncertainty.\n 9964 - Units: Meters */ 9965 9966 /* Optional */ 9967 /* UTC Timestamp */ 9968 uint8_t timestampUtc_valid; /**< Must be set to true if timestampUtc is being passed */ 9969 uint64_t timestampUtc; 9970 /**< UTC timestamp. 9971 \begin{itemize1} 9972 \item Units: Milliseconds since Jan. 1, 1970 9973 \vspace{-0.18in} \end{itemize1} */ 9974 9975 /* Optional */ 9976 /* Time Uncertainty */ 9977 uint8_t timeUnc_valid; /**< Must be set to true if timeUnc is being passed */ 9978 float timeUnc; 9979 /**< Time uncertainty. \n 9980 - Units: Milliseconds */ 9981 9982 /* Optional */ 9983 /* Horizontal Elliptical Uncertainty Semi-Minor Axis */ 9984 uint8_t horUncEllipseSemiMinor_valid; /**< Must be set to true if horUncEllipseSemiMinor is being passed */ 9985 float horUncEllipseSemiMinor; 9986 /**< Semi-minor axis of horizontal elliptical uncertainty. \n 9987 - Units: Meters */ 9988 9989 /* Optional */ 9990 /* Horizontal Elliptical Uncertainty Semi-Major Axis */ 9991 uint8_t horUncEllipseSemiMajor_valid; /**< Must be set to true if horUncEllipseSemiMajor is being passed */ 9992 float horUncEllipseSemiMajor; 9993 /**< Semi-major axis of horizontal elliptical uncertainty. \n 9994 - Units: Meters */ 9995 9996 /* Optional */ 9997 /* Horizontal Elliptical Uncertainty Azimuth */ 9998 uint8_t horUncEllipseOrientAzimuth_valid; /**< Must be set to true if horUncEllipseOrientAzimuth is being passed */ 9999 float horUncEllipseOrientAzimuth; 10000 /**< Elliptical horizontal uncertainty azimuth of orientation. \n 10001 - Units: Decimal degrees \n 10002 - Range: 0 to 180 */ 10003 10004 /* Optional */ 10005 /* Horizontal Circular Confidence */ 10006 uint8_t horCircularConfidence_valid; /**< Must be set to true if horCircularConfidence is being passed */ 10007 uint8_t horCircularConfidence; 10008 /**< Horizontal circular uncertainty confidence. \n 10009 - Units: Percent \n 10010 - Range: 0 to 99 */ 10011 10012 /* Optional */ 10013 /* Horizontal Elliptical Confidence */ 10014 uint8_t horEllipticalConfidence_valid; /**< Must be set to true if horEllipticalConfidence is being passed */ 10015 uint8_t horEllipticalConfidence; 10016 /**< Horizontal elliptical uncertainty confidence. \n 10017 - Units: Percent \n 10018 - Range: 0 to 99 */ 10019 10020 /* Optional */ 10021 /* Horizontal Reliability */ 10022 uint8_t horReliability_valid; /**< Must be set to true if horReliability is being passed */ 10023 qmiLocReliabilityEnumT_v02 horReliability; 10024 /**< Specifies the reliability of the horizontal position. 10025 10026 Valid values: \n 10027 - eQMI_LOC_RELIABILITY_NOT_SET (0) -- Location reliability is not set 10028 - eQMI_LOC_RELIABILITY_VERY_LOW (1) -- Location reliability is very low; use it at your own risk 10029 - eQMI_LOC_RELIABILITY_LOW (2) -- Location reliability is low; little or no cross-checking is possible 10030 - eQMI_LOC_RELIABILITY_MEDIUM (3) -- Location reliability is medium; limited cross-check passed 10031 - eQMI_LOC_RELIABILITY_HIGH (4) -- Location reliability is high; strong cross-check passed 10032 */ 10033 10034 /* Optional */ 10035 /* Horizontal Speed */ 10036 uint8_t horSpeed_valid; /**< Must be set to true if horSpeed is being passed */ 10037 float horSpeed; 10038 /**< Horizontal speed. \n 10039 - Units: Meters/second */ 10040 10041 /* Optional */ 10042 /* Horizontal Speed Uncertainty */ 10043 uint8_t horSpeedUnc_valid; /**< Must be set to true if horSpeedUnc is being passed */ 10044 float horSpeedUnc; 10045 /**< Horizontal speed uncertainty. \n 10046 - Units: Meters/second */ 10047 10048 /* Optional */ 10049 /* Altitude With Respect to Sea Level */ 10050 uint8_t altitudeWrtMeanSeaLevel_valid; /**< Must be set to true if altitudeWrtMeanSeaLevel is being passed */ 10051 float altitudeWrtMeanSeaLevel; 10052 /**< Altitude with respect to mean sea level. \n 10053 - Units: Meters */ 10054 10055 /* Optional */ 10056 /* Vertical Confidence */ 10057 uint8_t vertConfidence_valid; /**< Must be set to true if vertConfidence is being passed */ 10058 uint8_t vertConfidence; 10059 /**< Vertical uncertainty confidence. \n 10060 - Units: Percent \n 10061 - Range: 0 to 99 */ 10062 10063 /* Optional */ 10064 /* Vertical Reliability */ 10065 uint8_t vertReliability_valid; /**< Must be set to true if vertReliability is being passed */ 10066 qmiLocReliabilityEnumT_v02 vertReliability; 10067 /**< Specifies the reliability of the vertical position. 10068 10069 Valid values: \n 10070 - eQMI_LOC_RELIABILITY_NOT_SET (0) -- Location reliability is not set 10071 - eQMI_LOC_RELIABILITY_VERY_LOW (1) -- Location reliability is very low; use it at your own risk 10072 - eQMI_LOC_RELIABILITY_LOW (2) -- Location reliability is low; little or no cross-checking is possible 10073 - eQMI_LOC_RELIABILITY_MEDIUM (3) -- Location reliability is medium; limited cross-check passed 10074 - eQMI_LOC_RELIABILITY_HIGH (4) -- Location reliability is high; strong cross-check passed 10075 */ 10076 10077 /* Optional */ 10078 /* Vertical Speed */ 10079 uint8_t vertSpeed_valid; /**< Must be set to true if vertSpeed is being passed */ 10080 float vertSpeed; 10081 /**< Vertical speed. \n 10082 - Units: Meters/second */ 10083 10084 /* Optional */ 10085 /* Vertical Speed Uncertainty */ 10086 uint8_t vertSpeedUnc_valid; /**< Must be set to true if vertSpeedUnc is being passed */ 10087 float vertSpeedUnc; 10088 /**< Vertical speed uncertainty. \n 10089 - Units: Meters/second */ 10090 10091 /* Optional */ 10092 /* Heading */ 10093 uint8_t heading_valid; /**< Must be set to true if heading is being passed */ 10094 float heading; 10095 /**< Heading. \n 10096 - Units: Degrees \n 10097 - Range: 0 to 359.999 */ 10098 10099 /* Optional */ 10100 /* Heading Uncertainty */ 10101 uint8_t headingUnc_valid; /**< Must be set to true if headingUnc is being passed */ 10102 float headingUnc; 10103 /**< Heading uncertainty. \n 10104 - Type: Floating point \n 10105 - Range: 0 to 359.999 */ 10106 10107 /* Optional */ 10108 /* Magnetic Deviation */ 10109 uint8_t magneticDeviation_valid; /**< Must be set to true if magneticDeviation is being passed */ 10110 float magneticDeviation; 10111 /**< Difference between the bearing to true north and the bearing shown 10112 on a magnetic compass. The deviation is positive when the magnetic 10113 north is east of true north. */ 10114 10115 /* Optional */ 10116 /* Technology Used Mask */ 10117 uint8_t technologyMask_valid; /**< Must be set to true if technologyMask is being passed */ 10118 qmiLocPosTechMaskT_v02 technologyMask; 10119 /**< Technology used in computing this fix. 10120 Valid bitmasks: \n 10121 - QMI_LOC_POS_TECH_MASK_SATELLITE (0x00000001) -- Satellites were used to generate the fix 10122 - QMI_LOC_POS_TECH_MASK_CELLID (0x00000002) -- Cell towers were used to generate the fix 10123 - QMI_LOC_POS_TECH_MASK_WIFI (0x00000004) -- Wi-Fi access points were used to generate the fix 10124 - QMI_LOC_POS_TECH_MASK_SENSORS (0x00000008) -- Sensors were used to generate the fix 10125 - QMI_LOC_POS_TECH_MASK_REFERENCE_LOCATION (0x00000010) -- Reference Location was used to generate the fix 10126 - QMI_LOC_POS_TECH_MASK_INJECTED_COARSE_POSITION (0x00000020) -- Coarse position injected into the location engine was used to 10127 generate the fix 10128 - QMI_LOC_POS_TECH_MASK_AFLT (0x00000040) -- AFLT was used to generate the fix 10129 - QMI_LOC_POS_TECH_MASK_HYBRID (0x00000080) -- GNSS and network-provided measurements were used to 10130 generate the fix 10131 */ 10132 10133 /* Optional */ 10134 /* Dilution of Precision */ 10135 uint8_t DOP_valid; /**< Must be set to true if DOP is being passed */ 10136 qmiLocDOPStructT_v02 DOP; 10137 10138 /* Optional */ 10139 /* GPS Time */ 10140 uint8_t gpsTime_valid; /**< Must be set to true if gpsTime is being passed */ 10141 qmiLocGPSTimeStructT_v02 gpsTime; 10142 10143 /* Optional */ 10144 /* Time Source */ 10145 uint8_t timeSrc_valid; /**< Must be set to true if timeSrc is being passed */ 10146 qmiLocTimeSourceEnumT_v02 timeSrc; 10147 /**< Time source. 10148 Valid values: \n 10149 - eQMI_LOC_TIME_SRC_INVALID (0) -- Invalid time. 10150 - eQMI_LOC_TIME_SRC_NETWORK_TIME_TRANSFER (1) -- Time is set by the 1X system 10151 - eQMI_LOC_TIME_SRC_NETWORK_TIME_TAGGING (2) -- Time is set by WCDMA/GSM time tagging (that is, 10152 associating network time with GPS time) 10153 - eQMI_LOC_TIME_SRC_EXTERNAL_INPUT (3) -- Time is set by an external injection 10154 - eQMI_LOC_TIME_SRC_TOW_DECODE (4) -- Time is set after decoding over-the-air GPS navigation data 10155 from one GPS satellite 10156 - eQMI_LOC_TIME_SRC_TOW_CONFIRMED (5) -- Time is set after decoding over-the-air GPS navigation data 10157 from multiple satellites 10158 - eQMI_LOC_TIME_SRC_TOW_AND_WEEK_CONFIRMED (6) -- Both time of the week and the GPS week number are known 10159 - eQMI_LOC_TIME_SRC_NAV_SOLUTION (7) -- Time is set by the position engine after the fix is obtained 10160 - eQMI_LOC_TIME_SRC_SOLVE_FOR_TIME (8) -- Time is set by the position engine after performing SFT; 10161 this is done when the clock time uncertainty is large 10162 - eQMI_LOC_TIME_SRC_GLO_TOW_DECODE (9) -- Time is set after decoding GLO satellites 10163 - eQMI_LOC_TIME_SRC_TIME_TRANSFORM (10) -- Time is set after transforming the GPS to GLO time 10164 - eQMI_LOC_TIME_SRC_WCDMA_SLEEP_TIME_TAGGING (11) -- Time is set by the sleep time tag provided by the WCDMA network 10165 - eQMI_LOC_TIME_SRC_GSM_SLEEP_TIME_TAGGING (12) -- Time is set by the sleep time tag provided by the GSM network 10166 - eQMI_LOC_TIME_SRC_UNKNOWN (13) -- Source of the time is unknown 10167 - eQMI_LOC_TIME_SRC_SYSTEM_TIMETICK (14) -- Time is derived from the system clock (better known as the slow clock); 10168 GNSS time is maintained irrespective of the GNSS receiver state 10169 - eQMI_LOC_TIME_SRC_QZSS_TOW_DECODE (15) -- Time is set after decoding QZSS satellites 10170 - eQMI_LOC_TIME_SRC_BDS_TOW_DECODE (16) -- Time is set after decoding BDS satellites 10171 - eQMI_LOC_TIME_SRC_GAL_TOW_DECODE (17) -- Time is set after decoding GAL satellites 10172 */ 10173 10174 /* Optional */ 10175 /* Sensor Data Usage */ 10176 uint8_t sensorDataUsage_valid; /**< Must be set to true if sensorDataUsage is being passed */ 10177 qmiLocSensorUsageIndicatorStructT_v02 sensorDataUsage; 10178 10179 /* Optional */ 10180 /* SVs Used to Calculate the Fix */ 10181 uint8_t gnssSvUsedList_valid; /**< Must be set to true if gnssSvUsedList is being passed */ 10182 uint32_t gnssSvUsedList_len; /**< Must be set to # of elements in gnssSvUsedList */ 10183 uint16_t gnssSvUsedList[QMI_LOC_MAX_SV_USED_LIST_LENGTH_V02]; 10184 /**< Each entry in the list contains the SV ID of a satellite 10185 used for calculating this position report. The following 10186 information is associated with each SV ID: \n 10187 Range: \n 10188 - For GPS: 1 to 32 \n 10189 - For GLONASS: 65 to 96 \n 10190 - For SBAS: 120 to 158 and 183 to 187 \n 10191 - For QZSS: 193 to 197 \n 10192 - For BDS: 201 to 237 \n 10193 - For GAL: 301 to 336 10194 */ 10195 }qmiLocGetBestAvailablePositionIndMsgT_v02; /* Message */ 10196 /** 10197 @} 10198 */ 10199 10200 /** @addtogroup loc_qmi_enums 10201 @{ 10202 */ 10203 typedef enum { 10204 QMILOCMOTIONSTATEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 10205 eQMI_LOC_MOTION_STATE_UNKNOWN_V02 = 0, /**< Device state is not known */ 10206 eQMI_LOC_MOTION_STATE_STATIONARY_V02 = 1, /**< Device state is Stationary */ 10207 eQMI_LOC_MOTION_STATE_IN_MOTION_V02 = 2, /**< Device state is In Motion */ 10208 QMILOCMOTIONSTATEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 10209 }qmiLocMotionStateEnumT_v02; 10210 /** 10211 @} 10212 */ 10213 10214 /** @addtogroup loc_qmi_enums 10215 @{ 10216 */ 10217 typedef enum { 10218 QMILOCMOTIONMODEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 10219 eQMI_LOC_MOTION_MODE_UNKNOWN_V02 = 0, /**< Device movement is not known */ 10220 eQMI_LOC_MOTION_MODE_STATIONARY_V02 = 1, /**< Device is not moving */ 10221 eQMI_LOC_MOTION_MODE_PEDESTRIAN_UNKNOWN_V02 = 200, /**< Device movement is in Pedestrian mode; nothing else is known about the movement */ 10222 eQMI_LOC_MOTION_MODE_PEDESTRIAN_WALKING_V02 = 201, /**< Device movement is in pedestrian Walking mode */ 10223 eQMI_LOC_MOTION_MODE_PEDESTRIAN_RUNNING_V02 = 202, /**< Device movement is in pedestrian Running mode */ 10224 eQMI_LOC_MOTION_MODE_VEHICLE_UNKNOWN_V02 = 300, /**< Device movement is in Vehicular mode; nothing else is known about the movement */ 10225 QMILOCMOTIONMODEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 10226 }qmiLocMotionModeEnumT_v02; 10227 /** 10228 @} 10229 */ 10230 10231 /** @addtogroup loc_qmi_aggregates 10232 @{ 10233 */ 10234 typedef struct { 10235 10236 qmiLocMotionStateEnumT_v02 motion_state; 10237 /**< Current motion state of the user. 10238 10239 Valid values: \n 10240 - eQMI_LOC_MOTION_STATE_UNKNOWN (0) -- Device state is not known 10241 - eQMI_LOC_MOTION_STATE_STATIONARY (1) -- Device state is Stationary 10242 - eQMI_LOC_MOTION_STATE_IN_MOTION (2) -- Device state is In Motion 10243 */ 10244 10245 qmiLocMotionModeEnumT_v02 motion_mode; 10246 /**< Modes of user motion. 10247 10248 Valid values: \n 10249 - eQMI_LOC_MOTION_MODE_UNKNOWN (0) -- Device movement is not known 10250 - eQMI_LOC_MOTION_MODE_STATIONARY (1) -- Device is not moving 10251 - eQMI_LOC_MOTION_MODE_PEDESTRIAN_UNKNOWN (200) -- Device movement is in Pedestrian mode; nothing else is known about the movement 10252 - eQMI_LOC_MOTION_MODE_PEDESTRIAN_WALKING (201) -- Device movement is in pedestrian Walking mode 10253 - eQMI_LOC_MOTION_MODE_PEDESTRIAN_RUNNING (202) -- Device movement is in pedestrian Running mode 10254 - eQMI_LOC_MOTION_MODE_VEHICLE_UNKNOWN (300) -- Device movement is in Vehicular mode; nothing else is known about the movement 10255 */ 10256 10257 float probability_of_state; 10258 /**< Probability that the device is actually undergoing the motion state 10259 specified by the combination of the values of motion_state, motion_mode, 10260 and motion_sub_mode. \vspace{0.1in} 10261 10262 This value is a floating point number in the range of 0 to 100, in 10263 units of percent probability. Any value greater than 99.9999 is 10264 applied as 99.9999. \vspace{0.1in} 10265 10266 It is recommended that if a particular combination of motion_state and 10267 motion_mode cannot be determined with more than 50 percent confidence, 10268 that a more general statement of user motion be made. 10269 For example, if the mode of In-Motion + Pedestrian-Running can only be 10270 determined with 50 percent probability, and the simpler statement of In-Motion 10271 can be determined with 90 percent probability, it is recommended that this field 10272 be used to simply state In-Motion with 90 percent probability. \vspace{0.1in} 10273 10274 If the motion_state is not known, the value in this field is not used. 10275 */ 10276 10277 uint16_t age; 10278 /**< Age of the motion data in milliseconds at the time of injection. 10279 */ 10280 10281 uint16_t timeout; 10282 /**< If the age of the motion data input exceeds the timeout value, the data 10283 will no longer be used. The timeout value is in units of milliseconds. 10284 Values in the range of 0 to 10000 are accepted. If 65535 is provided, 10285 the motion data input is applied until the next input is 10286 received. \n 10287 10288 If the determination of motion data is an instantaneous observation 10289 and no notice is guaranteed to be given via the QMI on a change in the 10290 state of the motion data, it is recommended that this field be set to 0. \vspace{0.1in} 10291 10292 If the determination of motion data is continuously monitored 10293 external to the QMI and an update is always applied to the QMI upon any 10294 change in state, a value of 65535 is used for this field. 10295 Note that in this case, if a certain mode is set and is not later 10296 unset (e.g., by sending in the request message with a user motion 10297 state of Unknown), the value is applied indefinitely. 10298 */ 10299 }qmiLocMotionDataStructT_v02; /* Type */ 10300 /** 10301 @} 10302 */ 10303 10304 /** @addtogroup loc_qmi_messages 10305 @{ 10306 */ 10307 /** Request Message; Injects motion data for MSM GPS service use. */ 10308 typedef struct { 10309 10310 /* Mandatory */ 10311 /* Motion Data */ 10312 qmiLocMotionDataStructT_v02 motion_data; 10313 }qmiLocInjectMotionDataReqMsgT_v02; /* Message */ 10314 /** 10315 @} 10316 */ 10317 10318 /** @addtogroup loc_qmi_messages 10319 @{ 10320 */ 10321 /** Indication Message; Injects motion data for MSM GPS service use. */ 10322 typedef struct { 10323 10324 /* Mandatory */ 10325 /* Inject Motion Data Request Status */ 10326 qmiLocStatusEnumT_v02 status; 10327 /**< Status of the Inject Motion Data request. 10328 10329 Valid values: \n 10330 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 10331 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 10332 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 10333 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 10334 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 10335 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 10336 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 10337 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 10338 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 10339 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 10340 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 10341 */ 10342 }qmiLocInjectMotionDataIndMsgT_v02; /* Message */ 10343 /** 10344 @} 10345 */ 10346 10347 /** @addtogroup loc_qmi_messages 10348 @{ 10349 */ 10350 /** Request Message; Used by the control point to retrieve the list of network 10351 initiated Geofence IDs. */ 10352 typedef struct { 10353 10354 /* Mandatory */ 10355 /* Transaction ID */ 10356 uint32_t transactionId; 10357 /**< Identifies the transaction. The same transaction ID 10358 will be returned in the Get NI Geofence ID List indication. */ 10359 }qmiLocGetNiGeofenceIdListReqMsgT_v02; /* Message */ 10360 /** 10361 @} 10362 */ 10363 10364 /** @addtogroup loc_qmi_messages 10365 @{ 10366 */ 10367 /** Indication Message; Used by the control point to retrieve the list of network 10368 initiated Geofence IDs. */ 10369 typedef struct { 10370 10371 /* Mandatory */ 10372 /* Get NI Geofence ID List Status */ 10373 qmiLocStatusEnumT_v02 status; 10374 /**< Status of the Get NI Geofence ID List request. 10375 10376 Valid values: \n 10377 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 10378 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 10379 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 10380 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 10381 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 10382 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 10383 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 10384 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 10385 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 10386 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 10387 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 10388 10389 /* Optional */ 10390 /* Transaction ID */ 10391 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 10392 uint32_t transactionId; 10393 /**< Transaction ID that was specified in the Get NI 10394 Geofence ID List request. */ 10395 10396 /* Optional */ 10397 /* NI Geofence ID List */ 10398 uint8_t niGeofenceIdList_valid; /**< Must be set to true if niGeofenceIdList is being passed */ 10399 uint32_t niGeofenceIdList_len; /**< Must be set to # of elements in niGeofenceIdList */ 10400 uint32_t niGeofenceIdList[QMI_LOC_MAX_NI_GEOFENCE_ID_LIST_LENGTH_V02]; 10401 /**< List containing the NI Geofence IDs. 10402 - Type: Array of unsigned 32-bit integers \n 10403 - Maximum NI Geofence ID List length: 16 */ 10404 }qmiLocGetNiGeofenceIdListIndMsgT_v02; /* Message */ 10405 /** 10406 @} 10407 */ 10408 10409 /** @addtogroup loc_qmi_aggregates 10410 @{ 10411 */ 10412 typedef struct { 10413 10414 uint32_t MCC; 10415 /**< GSM mobile country code. Refer to ITU-T E.212 \hyperref[ITU-T E.212]{ITU-T E.212}. */ 10416 10417 uint32_t MNC; 10418 /**< GSM mobile network code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ 10419 10420 uint32_t LAC; 10421 /**< GSM location area code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ 10422 10423 uint32_t CID; 10424 /**< GSM cell identification. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ 10425 }qmiLocGSMCellIdStructT_v02; /* Type */ 10426 /** 10427 @} 10428 */ 10429 10430 /** @addtogroup loc_qmi_messages 10431 @{ 10432 */ 10433 /** Request Message; Injects GSM cell information into the location 10434 engine. */ 10435 typedef struct { 10436 10437 /* Mandatory */ 10438 /* GSM Cell ID */ 10439 qmiLocGSMCellIdStructT_v02 gsmCellId; 10440 /**< \vspace{0.06in} \n Identifies the GSM cell on which the device is currently camped. */ 10441 10442 /* Mandatory */ 10443 /* Roaming Status */ 10444 uint8_t roamingStatus; 10445 /**< Indicates whether the device is roaming. 10446 \begin{itemize1} 10447 \item 0x01 (TRUE) -- Device is roaming 10448 \item 0x00 (FALSE) -- Device is not roaming 10449 \vspace{-0.18in} \end{itemize1}*/ 10450 10451 /* Optional */ 10452 /* Timing Advance */ 10453 uint8_t timingAdvance_valid; /**< Must be set to true if timingAdvance is being passed */ 10454 uint32_t timingAdvance; 10455 /**< Round trip delay between the MS and the BS, in units of 3.69 microseconds. 10456 Refer to 3GPP \hyperref[TS 05.10]{TS 05.10} and \hyperref[TS 45.010]{TS 45.010}. */ 10457 }qmiLocInjectGSMCellInfoReqMsgT_v02; /* Message */ 10458 /** 10459 @} 10460 */ 10461 10462 /** @addtogroup loc_qmi_messages 10463 @{ 10464 */ 10465 /** Indication Message; Injects GSM cell information into the location 10466 engine. */ 10467 typedef struct { 10468 10469 /* Mandatory */ 10470 /* Inject GSM Cell Info Status */ 10471 qmiLocStatusEnumT_v02 status; 10472 /**< Status of the Inject GSM Cell Info request. 10473 10474 Valid values: \n 10475 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 10476 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 10477 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 10478 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 10479 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 10480 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 10481 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 10482 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 10483 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 10484 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 10485 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 10486 }qmiLocInjectGSMCellInfoIndMsgT_v02; /* Message */ 10487 /** 10488 @} 10489 */ 10490 10491 /** @addtogroup loc_qmi_enums 10492 @{ 10493 */ 10494 typedef enum { 10495 QMILOCROAMINGSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 10496 eQMI_LOC_PHONE_NOT_ROAMING_V02 = 1, /**< Modem is camped on a home network */ 10497 eQMI_LOC_PHONE_ROAMING_V02 = 2, /**< Modem is camped on a roaming network */ 10498 QMILOCROAMINGSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 10499 }qmiLocRoamingStatusEnumT_v02; 10500 /** 10501 @} 10502 */ 10503 10504 /** @addtogroup loc_qmi_aggregates 10505 @{ 10506 */ 10507 typedef struct { 10508 10509 uint32_t mcc; 10510 /**< WCDMA mobile country code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ 10511 10512 uint32_t mnc; 10513 /**< WCDMA mobile network code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ 10514 10515 uint32_t cid; 10516 /**< WCDMA cell identity. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ 10517 }qmiLocWCDMACellIdStructT_v02; /* Type */ 10518 /** 10519 @} 10520 */ 10521 10522 /** @addtogroup loc_qmi_messages 10523 @{ 10524 */ 10525 /** Request Message; Injects WCDMA cell information into the location 10526 engine. */ 10527 typedef struct { 10528 10529 /* Mandatory */ 10530 /* WCDMA Cell ID */ 10531 qmiLocWCDMACellIdStructT_v02 wcdmaCellId; 10532 /**< \n Identifies the WCDMA cell on which the device is currently camped. */ 10533 10534 /* Mandatory */ 10535 /* Roaming Status */ 10536 qmiLocRoamingStatusEnumT_v02 roamingStatus; 10537 /**< Indicates whether the device is roaming. 10538 10539 Valid values: \n 10540 - eQMI_LOC_PHONE_NOT_ROAMING (1) -- Modem is camped on a home network 10541 - eQMI_LOC_PHONE_ROAMING (2) -- Modem is camped on a roaming network 10542 */ 10543 10544 /* Optional */ 10545 /* Cell Frequency */ 10546 uint8_t freq_valid; /**< Must be set to true if freq is being passed */ 10547 uint32_t freq; 10548 /**< Frequency information of the serving cell. \n 10549 Valid range: 0 to 16383 \n 10550 Refer to 3GPP \hyperref[TS 25.331]{TS 25.331}. */ 10551 10552 /* Optional */ 10553 /* Primary Scrambling Code */ 10554 uint8_t psc_valid; /**< Must be set to true if psc is being passed */ 10555 uint32_t psc; 10556 /**< Primary scrambling code of the serving cell. \n 10557 Valid range: 0 to 511 \n 10558 Refer to 3GPP \hyperref[TS 25.331]{TS 25.331}. */ 10559 }qmiLocInjectWCDMACellInfoReqMsgT_v02; /* Message */ 10560 /** 10561 @} 10562 */ 10563 10564 /** @addtogroup loc_qmi_messages 10565 @{ 10566 */ 10567 /** Indication Message; Injects WCDMA cell information into the location 10568 engine. */ 10569 typedef struct { 10570 10571 /* Mandatory */ 10572 /* Inject WCDMA Cell Info Status */ 10573 qmiLocStatusEnumT_v02 status; 10574 /**< Status of the Inject WCDMA Cell Info request. 10575 10576 Valid values: \n 10577 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 10578 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 10579 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 10580 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 10581 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 10582 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 10583 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 10584 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 10585 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 10586 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 10587 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 10588 }qmiLocInjectWCDMACellInfoIndMsgT_v02; /* Message */ 10589 /** 10590 @} 10591 */ 10592 10593 /** @addtogroup loc_qmi_aggregates 10594 @{ 10595 */ 10596 typedef struct { 10597 10598 uint32_t mcc; 10599 /**< TDSCDMA mobile country code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ 10600 10601 uint32_t mnc; 10602 /**< TDSCDMA mobile network code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ 10603 10604 uint32_t cid; 10605 /**< TDSCDMA cell identity. Refer to 3GPP \hyperref[TS 25.331]{TS 25.331}. */ 10606 10607 uint32_t lac; 10608 /**< TDSCDMA location area code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ 10609 }qmiLocTDSCDMACellIdStructT_v02; /* Type */ 10610 /** 10611 @} 10612 */ 10613 10614 /** @addtogroup loc_qmi_messages 10615 @{ 10616 */ 10617 /** Request Message; Injects TDSCDMA cell information into the location 10618 engine. */ 10619 typedef struct { 10620 10621 /* Mandatory */ 10622 /* TDSCDMA Cell ID */ 10623 qmiLocTDSCDMACellIdStructT_v02 tdscdmaCellId; 10624 /**< \n Identifies the TDSCDMA cell on which the device is currently camped. */ 10625 10626 /* Mandatory */ 10627 /* Roaming Status */ 10628 qmiLocRoamingStatusEnumT_v02 roamingStatus; 10629 /**< Indicates whether the device is roaming. 10630 10631 Valid values: \n 10632 - eQMI_LOC_PHONE_NOT_ROAMING (1) -- Modem is camped on a home network 10633 - eQMI_LOC_PHONE_ROAMING (2) -- Modem is camped on a roaming network 10634 */ 10635 10636 /* Optional */ 10637 /* Cell Frequency */ 10638 uint8_t freq_valid; /**< Must be set to true if freq is being passed */ 10639 uint32_t freq; 10640 /**< Frequency information of the serving cell. \n 10641 Valid range: 0 to 16383 \n 10642 Refer to 3GPP \hyperref[TS 25.331]{TS 25.331}. */ 10643 }qmiLocInjectTDSCDMACellInfoReqMsgT_v02; /* Message */ 10644 /** 10645 @} 10646 */ 10647 10648 /** @addtogroup loc_qmi_messages 10649 @{ 10650 */ 10651 /** Indication Message; Injects TDSCDMA cell information into the location 10652 engine. */ 10653 typedef struct { 10654 10655 /* Mandatory */ 10656 /* Inject TDSCDMA Cell Info Status */ 10657 qmiLocStatusEnumT_v02 status; 10658 /**< Status of the Inject TDSCDMA Cell Info request. 10659 10660 Valid values: \n 10661 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 10662 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 10663 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 10664 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 10665 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 10666 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 10667 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 10668 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 10669 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 10670 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 10671 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 10672 }qmiLocInjectTDSCDMACellInfoIndMsgT_v02; /* Message */ 10673 /** 10674 @} 10675 */ 10676 10677 /** @addtogroup loc_qmi_messages 10678 @{ 10679 */ 10680 /** Request Message; Injects the phone's subscriber ID into the location engine. */ 10681 typedef struct { 10682 10683 /* Optional */ 10684 /* Preferred IMSI */ 10685 uint8_t preferredIMSI_valid; /**< Must be set to true if preferredIMSI is being passed */ 10686 uint64_t preferredIMSI; 10687 /**< IMSI number of the preferred RAT. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}.*/ 10688 10689 /* Optional */ 10690 /* Preferred MSISDN */ 10691 uint8_t preferredMSISDN_valid; /**< Must be set to true if preferredMSISDN is being passed */ 10692 uint64_t preferredMSISDN; 10693 /**< MSISDN number of the preferred RAT. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}.*/ 10694 }qmiLocInjectSubscriberIDReqMsgT_v02; /* Message */ 10695 /** 10696 @} 10697 */ 10698 10699 /** @addtogroup loc_qmi_messages 10700 @{ 10701 */ 10702 /** Indication Message; Injects the phone's subscriber ID into the location engine. */ 10703 typedef struct { 10704 10705 /* Mandatory */ 10706 /* Inject Subscriber ID Status */ 10707 qmiLocStatusEnumT_v02 status; 10708 /**< Status of the Inject Subscriber ID request. 10709 10710 Valid values: \n 10711 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 10712 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 10713 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 10714 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 10715 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 10716 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 10717 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 10718 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 10719 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 10720 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 10721 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 10722 }qmiLocInjectSubscriberIDIndMsgT_v02; /* Message */ 10723 /** 10724 @} 10725 */ 10726 10727 /** @addtogroup loc_qmi_enums 10728 @{ 10729 */ 10730 typedef enum { 10731 QMILOCINJECTEDNETWORKINITIATEDMESSAGETYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 10732 eQMI_LOC_INJECTED_NETWORK_INITIATED_MESSAGE_TYPE_SUPL_V02 = 0, /**< SUPL network-initiated message is being injected. */ 10733 QMILOCINJECTEDNETWORKINITIATEDMESSAGETYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 10734 }qmiLocInjectedNetworkInitiatedMessageTypeEnumT_v02; 10735 /** 10736 @} 10737 */ 10738 10739 /** @addtogroup loc_qmi_messages 10740 @{ 10741 */ 10742 /** Request Message; Injects a network-initiated message into the location 10743 engine. */ 10744 typedef struct { 10745 10746 /* Mandatory */ 10747 /* Injected Network Initiated Message Type */ 10748 qmiLocInjectedNetworkInitiatedMessageTypeEnumT_v02 injectedNIMessageType; 10749 /**< Type of the network-initiated message being injected. 10750 10751 Valid values: \n 10752 - eQMI_LOC_INJECTED_NETWORK_INITIATED_MESSAGE_TYPE_SUPL (0) -- SUPL network-initiated message is being injected. */ 10753 10754 /* Mandatory */ 10755 /* Injected Network Initiated Message */ 10756 uint32_t injectedNIMessage_len; /**< Must be set to # of elements in injectedNIMessage */ 10757 uint8_t injectedNIMessage[QMI_LOC_MAX_INJECTED_NETWORK_INITIATED_MESSAGE_LENGTH_V02]; 10758 /**< Network-initiated message body. 10759 If the inject NI message type is TYPE_SUPL, the message contains 10760 a SUPL INIT message as defined in OMA-TS-ULP-V2_\hyperref[0-20110527-C]{0-20110527-C}. */ 10761 }qmiLocInjectNetworkInitiatedMessageReqMsgT_v02; /* Message */ 10762 /** 10763 @} 10764 */ 10765 10766 /** @addtogroup loc_qmi_messages 10767 @{ 10768 */ 10769 /** Indication Message; Injects a network-initiated message into the location 10770 engine. */ 10771 typedef struct { 10772 10773 /* Mandatory */ 10774 /* Inject Network Initiated Message Status */ 10775 qmiLocStatusEnumT_v02 status; 10776 /**< Status of the Inject Network Initiated Message request. 10777 10778 Valid values: \n 10779 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 10780 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 10781 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 10782 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 10783 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 10784 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 10785 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 10786 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 10787 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 10788 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 10789 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 10790 }qmiLocInjectNetworkInitiatedMessageIndMsgT_v02; /* Message */ 10791 /** 10792 @} 10793 */ 10794 10795 /** @addtogroup loc_qmi_messages 10796 @{ 10797 */ 10798 /** Request Message; Notifies the location engine that the device is out of 10799 service. */ 10800 typedef struct { 10801 /* This element is a placeholder to prevent the declaration of 10802 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 10803 char __placeholder; 10804 }qmiLocWWANOutOfServiceNotificationReqMsgT_v02; 10805 10806 /* Message */ 10807 /** 10808 @} 10809 */ 10810 10811 /** @addtogroup loc_qmi_messages 10812 @{ 10813 */ 10814 /** Indication Message; Notifies the location engine that the device is out of 10815 service. */ 10816 typedef struct { 10817 10818 /* Mandatory */ 10819 /* Notify WWAN Out of Service Status */ 10820 qmiLocStatusEnumT_v02 status; 10821 /**< Status of the Notify WWAN Out of Service request. 10822 10823 Valid values: \n 10824 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 10825 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 10826 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 10827 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 10828 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 10829 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 10830 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 10831 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 10832 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 10833 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 10834 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 10835 */ 10836 }qmiLocWWANOutOfServiceNotificationIndMsgT_v02; /* Message */ 10837 /** 10838 @} 10839 */ 10840 10841 /** @addtogroup loc_qmi_messages 10842 @{ 10843 */ 10844 /** Request Message; Used by the control point to inject pedometer data 10845 into the location engine. */ 10846 typedef struct { 10847 10848 /* Mandatory */ 10849 /* Time Source */ 10850 qmiLocSensorDataTimeSourceEnumT_v02 timeSource; 10851 /**< Time source for the pedometer. The location service uses 10852 this field to identify the time reference used in the 10853 pedometer data time stamp. 10854 10855 Valid values: \n 10856 - eQMI_LOC_SENSOR_TIME_SOURCE_UNSPECIFIED (0) -- Sensor time source is unspecified 10857 - eQMI_LOC_SENSOR_TIME_SOURCE_COMMON (1) -- Time source is common between the sensors and 10858 the location engine 10859 */ 10860 10861 /* Mandatory */ 10862 /* Pedometer Report Timestamp */ 10863 uint32_t timestamp; 10864 /**< Time stamp of the last step event in this report, that is, the time stamp 10865 of the step event that caused this report to be generated. 10866 The time stamp is in the time reference scale that is 10867 used by the pedometer time source. \n 10868 - Units: Milliseconds */ 10869 10870 /* Mandatory */ 10871 /* Time Interval */ 10872 uint32_t timeInterval; 10873 /**< Time interval during which the step count was calculated. Subtracting 10874 timeInterval from the timestamp field yields the time when 10875 the step detection for the first step in this report started. \n 10876 - Units: Milliseconds */ 10877 10878 /* Mandatory */ 10879 /* Step Count */ 10880 uint32_t stepCount; 10881 /**< Number of steps counted during the time interval. */ 10882 10883 /* Optional */ 10884 /* Step Confidence */ 10885 uint8_t stepConfidence_valid; /**< Must be set to true if stepConfidence is being passed */ 10886 uint8_t stepConfidence; 10887 /**< Confidence associated with the step. This field is only applicable 10888 for a single step report, that is, if the step count is one. \n 10889 - Range: 0 to 100 \n 10890 \textbf{Note:} The report is ignored if confidence is 0. */ 10891 10892 /* Optional */ 10893 /* Step Count Uncertainty */ 10894 uint8_t stepCountUncertainty_valid; /**< Must be set to true if stepCountUncertainty is being passed */ 10895 float stepCountUncertainty; 10896 /**< Uncertainty (in steps) associated with the step count. */ 10897 10898 /* Optional */ 10899 /* Step Rate */ 10900 uint8_t stepRate_valid; /**< Must be set to true if stepRate is being passed */ 10901 float stepRate; 10902 /**< Current estimate for the rate of steps per second. \n 10903 - Units: steps/second \n 10904 - Range: >= 0.0 */ 10905 }qmiLocPedometerReportReqMsgT_v02; /* Message */ 10906 /** 10907 @} 10908 */ 10909 10910 /** @addtogroup loc_qmi_messages 10911 @{ 10912 */ 10913 /** Indication Message; Used by the control point to inject pedometer data 10914 into the location engine. */ 10915 typedef struct { 10916 10917 /* Mandatory */ 10918 /* Status of Pedometer Report Request */ 10919 qmiLocStatusEnumT_v02 status; 10920 /**< Status of the Pedometer Report request. 10921 10922 Valid values: \n 10923 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 10924 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 10925 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 10926 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 10927 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 10928 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 10929 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 10930 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 10931 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 10932 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 10933 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 10934 */ 10935 }qmiLocPedometerReportIndMsgT_v02; /* Message */ 10936 /** 10937 @} 10938 */ 10939 10940 /** @addtogroup loc_qmi_messages 10941 @{ 10942 */ 10943 /** Request Message; Used by the control point to get the batching size. */ 10944 typedef struct { 10945 10946 /* Mandatory */ 10947 /* Transaction ID */ 10948 uint32_t transactionId; 10949 /**< Identifies the transaction. The transaction ID is returned in the Get 10950 Batch Size indication. */ 10951 10952 /* Mandatory */ 10953 /* Requested Batch Size */ 10954 uint32_t batchSize; 10955 /**< Request the service with the number of location fixes to be batched. */ 10956 }qmiLocGetBatchSizeReqMsgT_v02; /* Message */ 10957 /** 10958 @} 10959 */ 10960 10961 /** @addtogroup loc_qmi_messages 10962 @{ 10963 */ 10964 /** Indication Message; Used by the control point to get the batching size. */ 10965 typedef struct { 10966 10967 /* Mandatory */ 10968 /* Get Batch Size Status */ 10969 qmiLocStatusEnumT_v02 status; 10970 /**< Status of the Get Batch Size request. 10971 10972 Valid values: \n 10973 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 10974 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 10975 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 10976 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 10977 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 10978 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 10979 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 10980 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 10981 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 10982 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 10983 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 10984 */ 10985 10986 /* Mandatory */ 10987 /* Transaction ID */ 10988 uint32_t transactionId; 10989 /**< Transaction ID that was specified in the Get Batch 10990 Size request. 10991 */ 10992 10993 /* Mandatory */ 10994 /* Batch Size Supported */ 10995 uint32_t batchSize; 10996 /**< Number of location fixes that the service is able to batch. 10997 The batch size value is returned as 0 in the case of a failure status. 10998 */ 10999 }qmiLocGetBatchSizeIndMsgT_v02; /* Message */ 11000 /** 11001 @} 11002 */ 11003 11004 /** @addtogroup loc_qmi_messages 11005 @{ 11006 */ 11007 /** Request Message; Used by the control point to initiate a batching session. */ 11008 typedef struct { 11009 11010 /* Optional */ 11011 /* Minimum Interval Between Position Reports */ 11012 uint8_t minInterval_valid; /**< Must be set to true if minInterval is being passed */ 11013 uint32_t minInterval; 11014 /**< Minimum time interval, specified by the control point, that must elapse between 11015 position reports. \n 11016 - Units: milliseconds \n 11017 - Default: 60000 ms 11018 */ 11019 11020 /* Optional */ 11021 /* Horizontal Accuracy Level */ 11022 uint8_t horizontalAccuracyLevel_valid; /**< Must be set to true if horizontalAccuracyLevel is being passed */ 11023 qmiLocAccuracyLevelEnumT_v02 horizontalAccuracyLevel; 11024 /**< Specifies the horizontal accuracy level required by the control point. 11025 If not specified, accuracy defaults to LOW. 11026 11027 Valid values: \n 11028 - eQMI_LOC_ACCURACY_LOW (1) -- Low accuracy 11029 - eQMI_LOC_ACCURACY_MED (2) -- Medium accuracy 11030 - eQMI_LOC_ACCURACY_HIGH (3) -- High accuracy 11031 */ 11032 11033 /* Optional */ 11034 /* Fix Session Timeout Period */ 11035 uint8_t fixSessionTimeout_valid; /**< Must be set to true if fixSessionTimeout is being passed */ 11036 uint32_t fixSessionTimeout; 11037 /**< Configures the fix session timeout duration. \n 11038 - Units: Milliseconds \n 11039 - Default: 20,000 ms 11040 */ 11041 11042 /* Optional */ 11043 /* Minimum Distance */ 11044 uint8_t minDistance_valid; /**< Must be set to true if minDistance is being passed */ 11045 uint32_t minDistance; 11046 /**< Specifies the minimum distance that should be traversed before a 11047 position should be batched. 11048 If no distance is specified, the positions are batched after 11049 the minInterval period expires. If both minInterval and minDistance are 11050 specified, the position are batched only after minInterval has 11051 expired AND minDistance has been traversed. \n 11052 - Units: Meters 11053 */ 11054 11055 /* Optional */ 11056 /* Batch All Positions */ 11057 uint8_t batchAllPos_valid; /**< Must be set to true if batchAllPos is being passed */ 11058 uint8_t batchAllPos; 11059 /**< Values: \n 11060 - TRUE -- All positions that are available must be batched. For example, 11061 if any other type of positioning is active (such as 1 Hz tracking), all 11062 positions computed for that use case are also batched. This may 11063 result in the BATCH_FULL indication getting generated earlier. \n 11064 - FALSE -- Only positions that meet the time and/or distance criteria are batched 11065 (default). 11066 */ 11067 11068 /* Optional */ 11069 /* Request ID */ 11070 uint8_t requestId_valid; /**< Must be set to true if requestId is being passed */ 11071 uint32_t requestId; 11072 /**< Identifies the request. A batching client can start multiple batching 11073 requests with different batching parameters, 11074 however, positions corresponding to all requests from the same client are 11075 batched in the same buffer. A request ID value of 0 is considered invalid. \n 11076 Valid Values 0x01 - 0xFFFFFFFF 11077 */ 11078 }qmiLocStartBatchingReqMsgT_v02; /* Message */ 11079 /** 11080 @} 11081 */ 11082 11083 /** @addtogroup loc_qmi_messages 11084 @{ 11085 */ 11086 /** Indication Message; Used by the control point to initiate a batching session. */ 11087 typedef struct { 11088 11089 /* Mandatory */ 11090 /* Start Batching Status */ 11091 qmiLocStatusEnumT_v02 status; 11092 /**< Status of the Start Batching request. 11093 11094 Valid values: \n 11095 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 11096 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 11097 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 11098 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 11099 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 11100 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 11101 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 11102 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 11103 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 11104 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 11105 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 11106 */ 11107 11108 /* Optional */ 11109 /* Request ID */ 11110 uint8_t requestId_valid; /**< Must be set to true if requestId is being passed */ 11111 uint32_t requestId; 11112 /**< Identifies the request. A batching client can start multiple batching 11113 requests with different batching parameters, however, positions 11114 corresponding to all requests from the same client are 11115 batched in the same buffer. \n 11116 Valid Values 0x01 - 0xFFFFFFFF 11117 */ 11118 }qmiLocStartBatchingIndMsgT_v02; /* Message */ 11119 /** 11120 @} 11121 */ 11122 11123 /** @addtogroup loc_qmi_messages 11124 @{ 11125 */ 11126 /** Indication Message; Used to notify the control point that the batched buffer is full. */ 11127 typedef struct { 11128 11129 /* Mandatory */ 11130 /* Number of Entries in the Batch During Full Event */ 11131 uint32_t batchCount; 11132 /**< Number of entries in the batch during a full event. 11133 */ 11134 }qmiLocEventBatchFullIndMsgT_v02; /* Message */ 11135 /** 11136 @} 11137 */ 11138 11139 typedef uint64_t qmiLocBatchedReportValidFieldsMaskT_v02; 11140 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_LATITUDE_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00000001ull) /**< Latitude field is valid for this fix */ 11141 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_LONGITUDE_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00000002ull) /**< Longitude field is valid for this fix */ 11142 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_HOR_CIR_UNC_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00000004ull) /**< Horizontal circular uncertainty field is valid for this fix */ 11143 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_SPEED_HOR_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00000008ull) /**< Horizontal speed field is valid for this fix */ 11144 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_SPEED_UNC_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00000010ull) /**< Speed uncertainty field is valid for this fix */ 11145 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_ALT_WRT_ELP_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00000020ull) /**< Altitude with respect to ellipsoid field is valid for this fix */ 11146 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_SPEED_VER_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00000040ull) /**< Vertical speed field is valid for this fix */ 11147 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_HEADING_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00000080ull) /**< Heading field is valid for this fix */ 11148 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_HEADING_UNC_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00000100ull) /**< Heading uncertainty field is valid for this fix */ 11149 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_TECH_MASK_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00000200ull) /**< Technology source mask field is valid for this fix */ 11150 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_TIMESTAMP_UTC_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00000400ull) /**< UTC timestamp field is valid for this fix */ 11151 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_TIME_UNC_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00000800ull) /**< Time uncertainty field is valid for this fix */ 11152 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_MAGNETIC_DEV_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00001000ull) /**< Magnetic deviation field is valid for this fix */ 11153 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_VERT_UNC_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00002000ull) /**< Vertical uncertainty field is valid for this fix */ 11154 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_HOR_CONF_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00004000ull) /**< Horizontal confidence field is valid for this fix */ 11155 #define QMI_LOC_BATCHED_REPORT_MASK_VALID_TIMESTAMP_GPS_V02 ((qmiLocBatchedReportValidFieldsMaskT_v02)0x00008000ull) /**< GPS timestamp field is valid for this fix */ 11156 /** @addtogroup loc_qmi_aggregates 11157 @{ 11158 */ 11159 typedef struct { 11160 11161 uint32_t fixId; 11162 /**< Fix count for the session. The count starts at 0 and increments by one for 11163 each successive batched position report for a particular session. */ 11164 11165 qmiLocBatchedReportValidFieldsMaskT_v02 validFields; 11166 /**< Mask of all valid fields for this fix. 11167 Valid bitmasks: \n 11168 - QMI_LOC_BATCHED_REPORT_MASK_VALID_LATITUDE (0x00000001) -- Latitude field is valid for this fix 11169 - QMI_LOC_BATCHED_REPORT_MASK_VALID_LONGITUDE (0x00000002) -- Longitude field is valid for this fix 11170 - QMI_LOC_BATCHED_REPORT_MASK_VALID_HOR_CIR_UNC (0x00000004) -- Horizontal circular uncertainty field is valid for this fix 11171 - QMI_LOC_BATCHED_REPORT_MASK_VALID_SPEED_HOR (0x00000008) -- Horizontal speed field is valid for this fix 11172 - QMI_LOC_BATCHED_REPORT_MASK_VALID_SPEED_UNC (0x00000010) -- Speed uncertainty field is valid for this fix 11173 - QMI_LOC_BATCHED_REPORT_MASK_VALID_ALT_WRT_ELP (0x00000020) -- Altitude with respect to ellipsoid field is valid for this fix 11174 - QMI_LOC_BATCHED_REPORT_MASK_VALID_SPEED_VER (0x00000040) -- Vertical speed field is valid for this fix 11175 - QMI_LOC_BATCHED_REPORT_MASK_VALID_HEADING (0x00000080) -- Heading field is valid for this fix 11176 - QMI_LOC_BATCHED_REPORT_MASK_VALID_HEADING_UNC (0x00000100) -- Heading uncertainty field is valid for this fix 11177 - QMI_LOC_BATCHED_REPORT_MASK_VALID_TECH_MASK (0x00000200) -- Technology source mask field is valid for this fix 11178 - QMI_LOC_BATCHED_REPORT_MASK_VALID_TIMESTAMP_UTC (0x00000400) -- UTC timestamp field is valid for this fix 11179 - QMI_LOC_BATCHED_REPORT_MASK_VALID_TIME_UNC (0x00000800) -- Time uncertainty field is valid for this fix 11180 - QMI_LOC_BATCHED_REPORT_MASK_VALID_MAGNETIC_DEV (0x00001000) -- Magnetic deviation field is valid for this fix 11181 - QMI_LOC_BATCHED_REPORT_MASK_VALID_VERT_UNC (0x00002000) -- Vertical uncertainty field is valid for this fix 11182 - QMI_LOC_BATCHED_REPORT_MASK_VALID_HOR_CONF (0x00004000) -- Horizontal confidence field is valid for this fix 11183 - QMI_LOC_BATCHED_REPORT_MASK_VALID_TIMESTAMP_GPS (0x00008000) -- GPS timestamp field is valid for this fix 11184 */ 11185 11186 double latitude; 11187 /**< Latitude (specified in WGS84 datum). 11188 \begin{itemize1} 11189 \item Type: Floating point 11190 \item Units: Degrees 11191 \item Range: -90.0 to 90.0 \begin{itemize1} 11192 \item Positive values indicate northern latitude 11193 \item Negative values indicate southern latitude 11194 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 11195 11196 double longitude; 11197 /**< Longitude (specified in WGS84 datum). 11198 \begin{itemize1} 11199 \item Type: Floating point 11200 \item Units: Degrees 11201 \item Range: -180.0 to 180.0 \begin{itemize1} 11202 \item Positive values indicate eastern longitude 11203 \item Negative values indicate western longitude 11204 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 11205 11206 float horUncCircular; 11207 /**< Horizontal position uncertainty (circular).\n 11208 - Units: Meters */ 11209 11210 float speedHorizontal; 11211 /**< Horizontal speed.\n 11212 - Units: Meters/second */ 11213 11214 float speedUnc; 11215 /**< 3-D Speed uncertainty.\n 11216 - Units: Meters/second */ 11217 11218 float altitudeWrtEllipsoid; 11219 /**< Altitude with respect to the WGS84 ellipsoid.\n 11220 - Units: Meters \n 11221 - Range: -500 to 15883 */ 11222 11223 float speedVertical; 11224 /**< Vertical speed.\n 11225 - Units: Meters/second */ 11226 11227 float heading; 11228 /**< Heading.\n 11229 - Units: Degrees \n 11230 - Range: 0 to 359.999 */ 11231 11232 float headingUnc; 11233 /**< Heading uncertainty.\n 11234 - Units: Degrees \n 11235 - Range: 0 to 359.999 */ 11236 11237 qmiLocPosTechMaskT_v02 technologyMask; 11238 /**< Technology used in computing this fix. 11239 Valid bitmasks: \n 11240 - QMI_LOC_POS_TECH_MASK_SATELLITE (0x00000001) -- Satellites were used to generate the fix 11241 - QMI_LOC_POS_TECH_MASK_CELLID (0x00000002) -- Cell towers were used to generate the fix 11242 - QMI_LOC_POS_TECH_MASK_WIFI (0x00000004) -- Wi-Fi access points were used to generate the fix 11243 - QMI_LOC_POS_TECH_MASK_SENSORS (0x00000008) -- Sensors were used to generate the fix 11244 - QMI_LOC_POS_TECH_MASK_REFERENCE_LOCATION (0x00000010) -- Reference Location was used to generate the fix 11245 - QMI_LOC_POS_TECH_MASK_INJECTED_COARSE_POSITION (0x00000020) -- Coarse position injected into the location engine was used to 11246 generate the fix 11247 - QMI_LOC_POS_TECH_MASK_AFLT (0x00000040) -- AFLT was used to generate the fix 11248 - QMI_LOC_POS_TECH_MASK_HYBRID (0x00000080) -- GNSS and network-provided measurements were used to 11249 generate the fix 11250 */ 11251 11252 uint64_t timestampUtc; 11253 /**< UTC timestamp. \n 11254 - Units: Milliseconds since Jan. 1, 1970 */ 11255 11256 float timeUnc; 11257 /**< Time uncertainty. \n 11258 - Units: Milliseconds */ 11259 11260 float magneticDeviation; 11261 /**< Difference between the bearing to true north and the bearing shown 11262 on a magnetic compass. The deviation is positive when the magnetic 11263 north is east of true north. */ 11264 11265 float vertUnc; 11266 /**< Vertical uncertainty.\n 11267 - Units: Meters */ 11268 11269 uint8_t horConfidence; 11270 /**< Horizontal confidence. 11271 - Units: Percent 11272 - Range: 0 to 99 */ 11273 11274 qmiLocGPSTimeStructT_v02 gpsTime; 11275 /**< Number of weeks since Jan. 5, 1980, and milliseconds into the current week. */ 11276 }qmiLocBatchedReportStructT_v02; /* Type */ 11277 /** 11278 @} 11279 */ 11280 11281 /** @addtogroup loc_qmi_messages 11282 @{ 11283 */ 11284 /** Indication Message; Used to notify the control point with the live batched 11285 position report. */ 11286 typedef struct { 11287 11288 /* Mandatory */ 11289 /* Batched Position Report */ 11290 qmiLocBatchedReportStructT_v02 liveBatchedReport; 11291 /**< \n Live position report that is also batched. */ 11292 }qmiLocEventLiveBatchedPositionReportIndMsgT_v02; /* Message */ 11293 /** 11294 @} 11295 */ 11296 11297 /** @addtogroup loc_qmi_messages 11298 @{ 11299 */ 11300 /** Request Message; Used by the control point to retrieve fixes from the batch. */ 11301 typedef struct { 11302 11303 /* Mandatory */ 11304 /* Number of Fix Entries to be Retrieved from the Batch */ 11305 uint32_t numberOfEntries; 11306 /**< Number of fix entries to be retrieved from the batch. \n 11307 Maximum limit -- QMI_LOC_READ_FROM_BATCH_MAX_SIZE. 11308 */ 11309 11310 /* Mandatory */ 11311 /* Transaction ID */ 11312 uint32_t transactionId; 11313 /**< Identifies the transaction. The transaction ID is returned in the Read 11314 from Batch indication. */ 11315 }qmiLocReadFromBatchReqMsgT_v02; /* Message */ 11316 /** 11317 @} 11318 */ 11319 11320 /** @addtogroup loc_qmi_messages 11321 @{ 11322 */ 11323 /** Indication Message; Used by the control point to retrieve fixes from the batch. */ 11324 typedef struct { 11325 11326 /* Mandatory */ 11327 /* Read from Batch Status */ 11328 qmiLocStatusEnumT_v02 status; 11329 /**< Status of the Read from Batch request. 11330 11331 Valid values: \n 11332 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 11333 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 11334 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 11335 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 11336 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 11337 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 11338 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 11339 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 11340 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 11341 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 11342 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 11343 */ 11344 11345 /* Mandatory */ 11346 /* Transaction ID */ 11347 uint32_t transactionId; 11348 /**< Transaction ID that was specified in the Read from Batch 11349 request. 11350 */ 11351 11352 /* Optional */ 11353 /* Number of Fix Entries Returned from the Batch */ 11354 uint8_t numberOfEntries_valid; /**< Must be set to true if numberOfEntries is being passed */ 11355 uint32_t numberOfEntries; 11356 /**< Number of fix entries returned from the batch. */ 11357 11358 /* Optional */ 11359 /* List of Batched Position Reports Returned */ 11360 uint8_t batchedReportList_valid; /**< Must be set to true if batchedReportList is being passed */ 11361 uint32_t batchedReportList_len; /**< Must be set to # of elements in batchedReportList */ 11362 qmiLocBatchedReportStructT_v02 batchedReportList[QMI_LOC_READ_FROM_BATCH_MAX_SIZE_V02]; 11363 /**< \n List of fix reports returned from the batch. */ 11364 }qmiLocReadFromBatchIndMsgT_v02; /* Message */ 11365 /** 11366 @} 11367 */ 11368 11369 /** @addtogroup loc_qmi_messages 11370 @{ 11371 */ 11372 /** Request Message; Used by the control point to stop an ongoing batching session. */ 11373 typedef struct { 11374 11375 /* Mandatory */ 11376 /* Transaction ID */ 11377 uint32_t transactionId; 11378 /**< Transaction ID of the request. */ 11379 11380 /* Optional */ 11381 /* Request ID */ 11382 uint8_t requestId_valid; /**< Must be set to true if requestId is being passed */ 11383 uint32_t requestId; 11384 /**< Identifies the batching request that must be stopped. 11385 A batching client can start multiple batching requests. \n 11386 Valid Values 0x01 - 0xFFFFFFFF 11387 */ 11388 }qmiLocStopBatchingReqMsgT_v02; /* Message */ 11389 /** 11390 @} 11391 */ 11392 11393 /** @addtogroup loc_qmi_messages 11394 @{ 11395 */ 11396 /** Indication Message; Used by the control point to stop an ongoing batching session. */ 11397 typedef struct { 11398 11399 /* Mandatory */ 11400 /* Stop Batching Status */ 11401 qmiLocStatusEnumT_v02 status; 11402 /**< Status of the Stop Batching request. 11403 11404 Valid values: \n 11405 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 11406 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 11407 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 11408 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 11409 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 11410 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 11411 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 11412 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 11413 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 11414 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 11415 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 11416 */ 11417 11418 /* Mandatory */ 11419 /* Transaction ID */ 11420 uint32_t transactionId; 11421 /**< Transaction ID that was specified in the Stop Batching request. 11422 */ 11423 11424 /* Optional */ 11425 /* Request ID */ 11426 uint8_t requestId_valid; /**< Must be set to true if requestId is being passed */ 11427 uint32_t requestId; 11428 /**< Identifies the batching request that was stopped. 11429 A batching client can start multiple batching requests. \n 11430 Valid Values 0x01 - 0xFFFFFFFF 11431 */ 11432 }qmiLocStopBatchingIndMsgT_v02; /* Message */ 11433 /** 11434 @} 11435 */ 11436 11437 /** @addtogroup loc_qmi_messages 11438 @{ 11439 */ 11440 /** Request Message; Used by the control point to release the batching buffer. */ 11441 typedef struct { 11442 11443 /* Mandatory */ 11444 /* Transaction ID */ 11445 uint32_t transactionId; 11446 /**< Identifies the transaction. */ 11447 }qmiLocReleaseBatchReqMsgT_v02; /* Message */ 11448 /** 11449 @} 11450 */ 11451 11452 /** @addtogroup loc_qmi_messages 11453 @{ 11454 */ 11455 /** Indication Message; Used by the control point to release the batching buffer. */ 11456 typedef struct { 11457 11458 /* Mandatory */ 11459 /* Release Batch Status */ 11460 qmiLocStatusEnumT_v02 status; 11461 /**< Status of the Release Batch request. 11462 11463 Valid values: \n 11464 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 11465 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 11466 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 11467 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 11468 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 11469 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 11470 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 11471 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 11472 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 11473 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 11474 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 11475 */ 11476 11477 /* Mandatory */ 11478 /* Transaction ID */ 11479 uint32_t transactionId; 11480 /**< Transaction ID that was specified in the Release Batch request. 11481 */ 11482 }qmiLocReleaseBatchIndMsgT_v02; /* Message */ 11483 /** 11484 @} 11485 */ 11486 11487 /** @addtogroup loc_qmi_messages 11488 @{ 11489 */ 11490 /** Indication Message; Requests the control point to inject Wi-Fi AP data. */ 11491 typedef struct { 11492 /* This element is a placeholder to prevent the declaration of 11493 an empty struct. DO NOT USE THIS FIELD UNDER ANY CIRCUMSTANCE */ 11494 char __placeholder; 11495 }qmiLocEventInjectWifiApDataReqIndMsgT_v02; 11496 11497 /* Message */ 11498 /** 11499 @} 11500 */ 11501 11502 /** @addtogroup loc_qmi_enums 11503 @{ 11504 */ 11505 typedef enum { 11506 QMILOCWIFIAPDATADEVICETYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 11507 eQMI_LOC_WIFI_AP_DATA_DEVICE_TYPE_WLAN_802_11_A_V02 = 0, /**< Wi-Fi AP device is 802.11a. */ 11508 eQMI_LOC_WIFI_AP_DATA_DEVICE_TYPE_WLAN_802_11_B_V02 = 1, /**< Wi-Fi AP device is 802.11b. */ 11509 eQMI_LOC_WIFI_AP_DATA_DEVICE_TYPE_WLAN_802_11_G_V02 = 2, /**< Wi-Fi AP device is 802.11g. */ 11510 QMILOCWIFIAPDATADEVICETYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 11511 }qmiLocWifiApDataDeviceTypeEnumT_v02; 11512 /** 11513 @} 11514 */ 11515 11516 /** @addtogroup loc_qmi_enums 11517 @{ 11518 */ 11519 typedef enum { 11520 QMILOCWIFIAPDATARTDUNITTYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 11521 eQMI_LOC_WIFI_AP_DATA_RTD_UNIT_MICROSEC_V02 = 0, /**< Wi-Fi AP data Round-trip Delay (RTD) is in microseconds. */ 11522 eQMI_LOC_WIFI_AP_DATA_RTD_UNIT_HUNDREDS_OF_NANOSEC_V02 = 1, /**< Wi-Fi AP data RTD is in hundreds of nanoseconds. */ 11523 eQMI_LOC_WIFI_AP_DATA_RTD_UNIT_TENS_OF_NANOSEC_V02 = 2, /**< Wi-Fi AP data RTD is in tens of nanoseconds. */ 11524 eQMI_LOC_WIFI_AP_DATA_RTD_UNIT_NANOSEC_V02 = 3, /**< Wi-Fi AP data RTD is in nanoseconds. */ 11525 eQMI_LOC_WIFI_AP_DATA_RTD_UNIT_TENTH_OF_NANOSEC_V02 = 4, /**< Wi-Fi AP data RTD is in tenths of nanoseconds. */ 11526 QMILOCWIFIAPDATARTDUNITTYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 11527 }qmiLocWifiApDataRtdUnitTypeEnumT_v02; 11528 /** 11529 @} 11530 */ 11531 11532 typedef uint32_t qmiLocWifiApDataMaskT_v02; 11533 #define QMI_LOC_WIFI_APDATA_MASK_AP_TRANSMIT_POWER_V02 ((qmiLocWifiApDataMaskT_v02)0x00000001) /**< AP transmit power is valid */ 11534 #define QMI_LOC_WIFI_APDATA_MASK_AP_ANTENNA_GAIN_V02 ((qmiLocWifiApDataMaskT_v02)0x00000002) /**< AP antenna gain is valid */ 11535 #define QMI_LOC_WIFI_APDATA_MASK_AP_SNR_V02 ((qmiLocWifiApDataMaskT_v02)0x00000004) /**< AP signal-to-noise ratio is valid */ 11536 #define QMI_LOC_WIFI_APDATA_MASK_AP_DEVICE_TYPE_V02 ((qmiLocWifiApDataMaskT_v02)0x00000008) /**< AP device type is valid */ 11537 #define QMI_LOC_WIFI_APDATA_MASK_AP_RSSI_V02 ((qmiLocWifiApDataMaskT_v02)0x00000010) /**< AP RSSI is valid */ 11538 #define QMI_LOC_WIFI_APDATA_MASK_AP_CHANNEL_V02 ((qmiLocWifiApDataMaskT_v02)0x00000020) /**< AP channel is valid */ 11539 #define QMI_LOC_WIFI_APDATA_MASK_AP_ROUNDTRIP_DELAY_V02 ((qmiLocWifiApDataMaskT_v02)0x00000040) /**< AP roundtrip delay is valid */ 11540 #define QMI_LOC_WIFI_APDATA_MASK_AP_ROUNDTRIP_DELAY_ACCURACY_V02 ((qmiLocWifiApDataMaskT_v02)0x00000080) /**< AP roundtrip delay accuracy is valid */ 11541 #define QMI_LOC_WIFI_APDATA_MASK_MOBILE_SNR_V02 ((qmiLocWifiApDataMaskT_v02)0x00000100) /**< Mobile signal-to-noise ratio is valid */ 11542 #define QMI_LOC_WIFI_APDATA_MASK_MOBILE_RSSI_V02 ((qmiLocWifiApDataMaskT_v02)0x00000200) /**< Mobile RSSI is valid */ 11543 /** @addtogroup loc_qmi_aggregates 11544 @{ 11545 */ 11546 typedef struct { 11547 11548 qmiLocWifiApDataMaskT_v02 wifiApDataMask; 11549 /**< Specifies which Wi-Fi AP scan information types are being used. 11550 11551 Valid values: \n 11552 - QMI_LOC_WIFI_APDATA_MASK_AP_TRANSMIT_POWER (0x00000001) -- AP transmit power is valid 11553 - QMI_LOC_WIFI_APDATA_MASK_AP_ANTENNA_GAIN (0x00000002) -- AP antenna gain is valid 11554 - QMI_LOC_WIFI_APDATA_MASK_AP_SNR (0x00000004) -- AP signal-to-noise ratio is valid 11555 - QMI_LOC_WIFI_APDATA_MASK_AP_DEVICE_TYPE (0x00000008) -- AP device type is valid 11556 - QMI_LOC_WIFI_APDATA_MASK_AP_RSSI (0x00000010) -- AP RSSI is valid 11557 - QMI_LOC_WIFI_APDATA_MASK_AP_CHANNEL (0x00000020) -- AP channel is valid 11558 - QMI_LOC_WIFI_APDATA_MASK_AP_ROUNDTRIP_DELAY (0x00000040) -- AP roundtrip delay is valid 11559 - QMI_LOC_WIFI_APDATA_MASK_AP_ROUNDTRIP_DELAY_ACCURACY (0x00000080) -- AP roundtrip delay accuracy is valid 11560 - QMI_LOC_WIFI_APDATA_MASK_MOBILE_SNR (0x00000100) -- Mobile signal-to-noise ratio is valid 11561 - QMI_LOC_WIFI_APDATA_MASK_MOBILE_RSSI (0x00000200) -- Mobile RSSI is valid */ 11562 11563 uint8_t macAddress[QMI_LOC_WIFI_MAC_ADDR_LENGTH_V02]; 11564 /**< MAC address. \n 11565 Each address is of length QMI_LOC_WIFI_MAC_ADDR_LENGTH. 11566 */ 11567 11568 int32_t apTransmitPower; 11569 /**< AP transmit power in dBm. */ 11570 11571 int32_t apAntennaGain; 11572 /**< AP antenna gain in dBI. */ 11573 11574 int32_t apSignalToNoise; 11575 /**< AP SNR received at the mobile device. */ 11576 11577 qmiLocWifiApDataDeviceTypeEnumT_v02 apDeviceType; 11578 /**< List of AP device types. */ 11579 11580 int32_t apRssi; 11581 /**< AP signal strength indicator in dBm. */ 11582 11583 uint16_t apChannel; 11584 /**< AP Wi-Fi channel on which a beacon was received. */ 11585 11586 uint32_t apRoundTripDelay; 11587 /**< Round trip delay between the mobile device and the AP, in units of 11588 apRoundTripDelayUnit. */ 11589 11590 qmiLocWifiApDataRtdUnitTypeEnumT_v02 apRoundTripDelayUnit; 11591 /**< Units of apRoundTripDelay and its accuracy; mandatory if apRoundTripDelay 11592 is present. */ 11593 11594 uint8_t apRoundTripDelayAccuracy; 11595 /**< AP's accuracy of round trip delay apRoundTripDelay, in units of 11596 apRoundTripDelayUnit. */ 11597 11598 int32_t mobileSignalToNoise; 11599 /**< Mobile SNR received at the AP. */ 11600 11601 int32_t mobileRssi; 11602 /**< Mobile signal strength at the AP. */ 11603 }qmiLocWifiApDataStructT_v02; /* Type */ 11604 /** 11605 @} 11606 */ 11607 11608 /** @addtogroup loc_qmi_messages 11609 @{ 11610 */ 11611 /** Request Message; Injects Wi-Fi AP data. */ 11612 typedef struct { 11613 11614 /* Mandatory */ 11615 /* Wi-Fi AP Scan Data */ 11616 uint32_t wifiApInfo_len; /**< Must be set to # of elements in wifiApInfo */ 11617 qmiLocWifiApDataStructT_v02 wifiApInfo[QMI_LOC_WIFI_MAX_REPORTED_APS_PER_MSG_V02]; 11618 /**< \n List of Wi-Fi AP scan information entered by the control point. */ 11619 }qmiLocInjectWifiApDataReqMsgT_v02; /* Message */ 11620 /** 11621 @} 11622 */ 11623 11624 /** @addtogroup loc_qmi_messages 11625 @{ 11626 */ 11627 /** Indication Message; Injects Wi-Fi AP data. */ 11628 typedef struct { 11629 11630 /* Mandatory */ 11631 /* Wi-Fi AP Scan Information Injection Status */ 11632 qmiLocStatusEnumT_v02 status; 11633 /**< Status of the Inject Wi-Fi AP Scan Information request. 11634 11635 Valid values: \n 11636 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 11637 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 11638 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 11639 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 11640 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 11641 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 11642 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 11643 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 11644 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 11645 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 11646 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 11647 }qmiLocInjectWifiApDataIndMsgT_v02; /* Message */ 11648 /** 11649 @} 11650 */ 11651 11652 /** @addtogroup loc_qmi_enums 11653 @{ 11654 */ 11655 typedef enum { 11656 QMILOCWIFIACCESSPOINTATTACHSTATESENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 11657 eQMI_LOC_WIFI_ACCESS_POINT_ATTACHED_V02 = 0, /**< Attached to an access point */ 11658 eQMI_LOC_WIFI_ACCESS_POINT_DETACHED_V02 = 1, /**< Detached from an access point */ 11659 eQMI_LOC_WIFI_ACCESS_POINT_HANDOVER_V02 = 2, /**< Handed over to another access point */ 11660 QMILOCWIFIACCESSPOINTATTACHSTATESENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 11661 }qmiLocWifiAccessPointAttachStatesEnumT_v02; 11662 /** 11663 @} 11664 */ 11665 11666 /** @addtogroup loc_qmi_messages 11667 @{ 11668 */ 11669 /** Request Message; Used by the control point to inject the Wi-Fi attachment status. */ 11670 typedef struct { 11671 11672 /* Mandatory */ 11673 /* Attach State */ 11674 qmiLocWifiAccessPointAttachStatesEnumT_v02 attachState; 11675 /**< Wi.Fi access point attach state. 11676 11677 Valid values: \n 11678 - eQMI_LOC_WIFI_ACCESS_POINT_ATTACHED (0) -- Attached to an access point 11679 - eQMI_LOC_WIFI_ACCESS_POINT_DETACHED (1) -- Detached from an access point 11680 - eQMI_LOC_WIFI_ACCESS_POINT_HANDOVER (2) -- Handed over to another access point */ 11681 11682 /* Optional */ 11683 /* Access Point MAC Address */ 11684 uint8_t accessPointMacAddress_valid; /**< Must be set to true if accessPointMacAddress is being passed */ 11685 uint8_t accessPointMacAddress[QMI_LOC_WIFI_MAC_ADDR_LENGTH_V02]; 11686 /**< MAC address of the access point to which the Wi-Fi is attached. 11687 This must always be specified if the attach state is Handover. 11688 */ 11689 11690 /* Optional */ 11691 /* Wi-Fi AP SSID String */ 11692 uint8_t wifiApSsid_valid; /**< Must be set to true if wifiApSsid is being passed */ 11693 char wifiApSsid[QMI_LOC_MAX_WIFI_AP_SSID_STR_LENGTH_V02 + 1]; 11694 /**< The NULL-terminated SSID of the Wi-Fi AP. Its maximum length according to the ASCII standard is 32 octets. */ 11695 }qmiLocNotifyWifiAttachmentStatusReqMsgT_v02; /* Message */ 11696 /** 11697 @} 11698 */ 11699 11700 /** @addtogroup loc_qmi_messages 11701 @{ 11702 */ 11703 /** Request Message; Used by the control point to inject the Wi-Fi attachment status. */ 11704 typedef struct { 11705 11706 /* Mandatory */ 11707 /* Status of Wi-Fi Attachment Status Request */ 11708 qmiLocStatusEnumT_v02 status; 11709 /**< Status of Wi-Fi Attachment Status request. 11710 11711 Valid values: \n 11712 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 11713 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 11714 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 11715 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 11716 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 11717 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 11718 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 11719 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 11720 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 11721 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 11722 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 11723 }qmiLocNotifyWifiAttachmentStatusIndMsgT_v02; /* Message */ 11724 /** 11725 @} 11726 */ 11727 11728 /** @addtogroup loc_qmi_enums 11729 @{ 11730 */ 11731 typedef enum { 11732 QMILOCWIFIENABLEDSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 11733 eQMI_LOC_WIFI_ENABLED_FALSE_V02 = 0, /**< Wi-Fi is disabled on the device */ 11734 eQMI_LOC_WIFI_ENABLED_TRUE_V02 = 1, /**< Wi-Fi is enabled on the device */ 11735 QMILOCWIFIENABLEDSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 11736 }qmiLocWifiEnabledStatusEnumT_v02; 11737 /** 11738 @} 11739 */ 11740 11741 /** @addtogroup loc_qmi_messages 11742 @{ 11743 */ 11744 /** Request Message; Used by the control point to inject the Wi-Fi enabled status. */ 11745 typedef struct { 11746 11747 /* Mandatory */ 11748 /* Enabled Status */ 11749 qmiLocWifiEnabledStatusEnumT_v02 enabledStatus; 11750 /**< Wi-Fi enabled status on the device. 11751 11752 Valid values: \n 11753 - eQMI_LOC_WIFI_ENABLED_FALSE (0) -- Wi-Fi is disabled on the device 11754 - eQMI_LOC_WIFI_ENABLED_TRUE (1) -- Wi-Fi is enabled on the device */ 11755 }qmiLocNotifyWifiEnabledStatusReqMsgT_v02; /* Message */ 11756 /** 11757 @} 11758 */ 11759 11760 /** @addtogroup loc_qmi_messages 11761 @{ 11762 */ 11763 /** Indication Message; Used by the control point to inject the Wi-Fi enabled status. */ 11764 typedef struct { 11765 11766 /* Mandatory */ 11767 /* Status of Wi-Fi Enabled Status Request */ 11768 qmiLocStatusEnumT_v02 status; 11769 /**< Status of the Wi-Fi Enabled Status request. 11770 11771 Valid values: \n 11772 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 11773 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 11774 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 11775 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 11776 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 11777 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 11778 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 11779 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 11780 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 11781 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 11782 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 11783 }qmiLocNotifyWifiEnabledStatusIndMsgT_v02; /* Message */ 11784 /** 11785 @} 11786 */ 11787 11788 /** @addtogroup loc_qmi_messages 11789 @{ 11790 */ 11791 /** Indication Message; Notifies the control point whether the GNSS location engine is 11792 ready to accept vehicle data. */ 11793 typedef struct { 11794 11795 /* Optional */ 11796 /* Vehicle Accelerometer Ready Status */ 11797 uint8_t vehicleAccelReadyStatus_valid; /**< Must be set to true if vehicleAccelReadyStatus is being passed */ 11798 uint8_t vehicleAccelReadyStatus; 11799 /**< The location service uses this TLV to let a control point know when it is 11800 ready or not ready to receive vehicle accelerometer data input. 11801 Values: \n 11802 - 0x00 -- Not ready \n 11803 - 0x01 -- Ready */ 11804 11805 /* Optional */ 11806 /* Vehicle Angular Rate Ready Status */ 11807 uint8_t vehicleAngularRateReadyStatus_valid; /**< Must be set to true if vehicleAngularRateReadyStatus is being passed */ 11808 uint8_t vehicleAngularRateReadyStatus; 11809 /**< The location service uses this TLV to let a control point know when it is 11810 ready or not ready to receive vehicle angular rate data input. 11811 Values: \n 11812 - 0x00 -- Not ready \n 11813 - 0x01 -- Ready */ 11814 11815 /* Optional */ 11816 /* Vehicle Odometry Ready Status */ 11817 uint8_t vehicleOdometryReadyStatus_valid; /**< Must be set to true if vehicleOdometryReadyStatus is being passed */ 11818 uint8_t vehicleOdometryReadyStatus; 11819 /**< The location service uses this TLV to let a control point know when it is 11820 ready or not ready to receive vehicle odometry data input. 11821 Values: \n 11822 - 0x00 -- Not ready \n 11823 - 0x01 -- Ready*/ 11824 }qmiLocEventVehicleDataReadyIndMsgT_v02; /* Message */ 11825 /** 11826 @} 11827 */ 11828 11829 /** @addtogroup loc_qmi_aggregates 11830 @{ 11831 */ 11832 typedef struct { 11833 11834 uint32_t timeOffset; 11835 /**< Sample time offset. This time offset must be 11836 relative to the vehicle sensor time of the first sample. \n 11837 - Units: Microseconds \n 11838 - Range: Up to over 4000 seconds */ 11839 11840 uint32_t axisSample_len; /**< Must be set to # of elements in axisSample */ 11841 float axisSample[QMI_LOC_VEHICLE_SENSOR_DATA_MAX_AXES_V02]; 11842 /**< Sensor axis sample. \n 11843 - Type: Floating point \n 11844 - Units accelerometer: Meters/seconds^2 \n 11845 - Units gyroscope: Radians/seconds \vspace{4pt} 11846 11847 Note: The axes samples must be in the following order: \n 11848 1. X-Axis \n 11849 2. Y-Axis \n 11850 3. Z-Axis */ 11851 }qmiLocVehicleSensorSampleStructT_v02; /* Type */ 11852 /** 11853 @} 11854 */ 11855 11856 typedef uint8_t qmiLocAxesMaskT_v02; 11857 #define QMI_LOC_MASK_X_AXIS_V02 ((qmiLocAxesMaskT_v02)0x01) /**< X-axis is valid */ 11858 #define QMI_LOC_MASK_Y_AXIS_V02 ((qmiLocAxesMaskT_v02)0x02) /**< Y-axis is valid */ 11859 #define QMI_LOC_MASK_Z_AXIS_V02 ((qmiLocAxesMaskT_v02)0x04) /**< Z-axis is valid */ 11860 /** @addtogroup loc_qmi_aggregates 11861 @{ 11862 */ 11863 typedef struct { 11864 11865 uint32_t sampleTimeBase; 11866 /**< Denotes a 32-bit time tag of the reference time from which 11867 all samples in this message are offset. This time must 11868 be the same as or (slightly) earlier than the first (oldest) 11869 sample in this message. \n 11870 - Units: Milliseconds \n 11871 - Range: Approx. 4 million seconds, or almost 50 days between rollovers */ 11872 11873 qmiLocAxesMaskT_v02 axesValidity; 11874 /**< Identifies the axes that are valid for all sensor samples. 11875 11876 Valid values: \n 11877 - QMI_LOC_MASK_X_AXIS (0x01) -- X-axis is valid 11878 - QMI_LOC_MASK_Y_AXIS (0x02) -- Y-axis is valid 11879 - QMI_LOC_MASK_Z_AXIS (0x04) -- Z-axis is valid */ 11880 11881 uint32_t sensorData_len; /**< Must be set to # of elements in sensorData */ 11882 qmiLocVehicleSensorSampleStructT_v02 sensorData[QMI_LOC_VEHICLE_SENSOR_DATA_MAX_SAMPLES_V02]; 11883 }qmiLocVehicleSensorSampleListStructType_v02; /* Type */ 11884 /** 11885 @} 11886 */ 11887 11888 typedef uint32_t qmiLocVehicleOdometryMeasDeviationMaskType_v02; 11889 #define QMI_LOC_MASK_VEHICLE_ODOMETRY_REVERSE_MOVEMENT_V02 ((qmiLocVehicleOdometryMeasDeviationMaskType_v02)0x00000001) /**< Odometry data in this message includes at least some data where 11890 the vehicle may have been moving in the reverse direction; this 11891 bit must be set if odometry data may be in reverse, and should 11892 not be set if odometry data is all in the forward direction */ 11893 #define QMI_LOC_MASK_VEHICLE_ODOMETRY_AFFECTED_BY_ERRORS_V02 ((qmiLocVehicleOdometryMeasDeviationMaskType_v02)0x00000002) /**< Odometry data in this message includes at least some data affected 11894 by a major error source affecting distance-travelled accuracy, 11895 such as wheel slippage due to skidding, gravel, snow, or ice, as 11896 detected by the vehicle, e.g., via an ABS or other system */ 11897 #define QMI_LOC_MASK_VEHICLE_ODOMETRY_ABSOLUTE_MEASUREMENT_V02 ((qmiLocVehicleOdometryMeasDeviationMaskType_v02)0x00000004) /**< Odometry data in this message is an absolute amount since the vehicle 11898 began service, and is the same vehicle that is regularly used with 11899 this device (so that the offset of this value, since the last time 11900 this measurement was used by the location engine, can safely be used 11901 as a likely correct estimate of distance travelled since last 11902 use) */ 11903 typedef uint32_t qmiLocVehicleOdometryWheelFlagsMaskT_v02; 11904 #define QMI_LOC_MASK_VEHICLE_ODOMETRY_LEFT_AND_RIGHT_AVERAGE_V02 ((qmiLocVehicleOdometryWheelFlagsMaskT_v02)0x00000001) /**< Average of left and right non-turning wheels */ 11905 #define QMI_LOC_MASK_VEHICLE_ODOMETRY_LEFT_V02 ((qmiLocVehicleOdometryWheelFlagsMaskT_v02)0x00000002) /**< Left side, non-turning wheel */ 11906 #define QMI_LOC_MASK_VEHICLE_ODOMETRY_RIGHT_V02 ((qmiLocVehicleOdometryWheelFlagsMaskT_v02)0x00000004) /**< Right side, non-turning wheel */ 11907 /** @addtogroup loc_qmi_aggregates 11908 @{ 11909 */ 11910 typedef struct { 11911 11912 uint32_t timeOffset; 11913 /**< Sample time offset. This time offset must be 11914 relative to the sensor time of the first sample. \n 11915 - Units: Microseconds \n 11916 - Range: Up to over 4000 seconds */ 11917 11918 uint32_t distanceTravelled_len; /**< Must be set to # of elements in distanceTravelled */ 11919 uint32_t distanceTravelled[QMI_LOC_VEHICLE_ODOMETRY_MAX_MEASUREMENTS_V02]; 11920 /**< Distance travelled (odometry) sample offset. \n 11921 - Units of accumulated distance: Millimeters \n 11922 - Range: Over 4000 kilometers 11923 11924 This measurement (with units in millimeters) is added to 11925 the distance_travelled_base measurement (in meters) to 11926 get the total distance travelled sample value. 11927 11928 Note: The order of measurements must be as follows: \n 11929 1. Left and right average \n 11930 2. Left \n 11931 3. Right 11932 */ 11933 }qmiLocVehicleOdometrySampleStructT_v02; /* Type */ 11934 /** 11935 @} 11936 */ 11937 11938 /** @addtogroup loc_qmi_aggregates 11939 @{ 11940 */ 11941 typedef struct { 11942 11943 uint32_t sampleTimeBase; 11944 /**< Denotes a 32-bit time tag of a reference time, from which 11945 all samples in this message are offset. Note this time must 11946 be the same or (slightly) earlier than the first (oldest) 11947 sample in this message. \n 11948 - Units: 1 millisecond \n 11949 - Range: ~4 million seconds, or almost 50 days between rollovers */ 11950 11951 qmiLocVehicleOdometryMeasDeviationMaskType_v02 flags; 11952 /**< Flags to indicate any deviation from the default measurement 11953 assumptions. Valid bitmasks: \n 11954 - QMI_LOC_MASK_VEHICLE_ODOMETRY_REVERSE_MOVEMENT (0x00000001) -- Odometry data in this message includes at least some data where 11955 the vehicle may have been moving in the reverse direction; this 11956 bit must be set if odometry data may be in reverse, and should 11957 not be set if odometry data is all in the forward direction 11958 - QMI_LOC_MASK_VEHICLE_ODOMETRY_AFFECTED_BY_ERRORS (0x00000002) -- Odometry data in this message includes at least some data affected 11959 by a major error source affecting distance-travelled accuracy, 11960 such as wheel slippage due to skidding, gravel, snow, or ice, as 11961 detected by the vehicle, e.g., via an ABS or other system 11962 - QMI_LOC_MASK_VEHICLE_ODOMETRY_ABSOLUTE_MEASUREMENT (0x00000004) -- Odometry data in this message is an absolute amount since the vehicle 11963 began service, and is the same vehicle that is regularly used with 11964 this device (so that the offset of this value, since the last time 11965 this measurement was used by the location engine, can safely be used 11966 as a likely correct estimate of distance travelled since last 11967 use) */ 11968 11969 qmiLocVehicleOdometryWheelFlagsMaskT_v02 wheelFlags; 11970 /**< Delineates for which wheels measurements are being provided 11971 in the following samples, where one or more of the following 11972 bits must be set, and data samples aligned with these axes must 11973 appear in groups, in this order. 11974 11975 Valid bitmasks: \n 11976 - QMI_LOC_MASK_VEHICLE_ODOMETRY_LEFT_AND_RIGHT_AVERAGE (0x00000001) -- Average of left and right non-turning wheels 11977 - QMI_LOC_MASK_VEHICLE_ODOMETRY_LEFT (0x00000002) -- Left side, non-turning wheel 11978 - QMI_LOC_MASK_VEHICLE_ODOMETRY_RIGHT (0x00000004) -- Right side, non-turning wheel */ 11979 11980 uint32_t distanceTravelledBase; 11981 /**< Distance traveled base. \n 11982 - Units of accumulated distance: Meters \n 11983 - Range: Over 4,000,0000 kilometers \vspace{0.06in} \n 11984 11985 Distance travelled (odometry) is to be reported in a continuously 11986 accumulating way from device power up. It may be incremental distance 11987 starting at 0, or another arbitrary point, from device power up, or the 11988 absolute distance traveled by the vehicle 11989 (and if so, set QMI_LOC_MASK_VEHICLE_ODOMETRY_ABSOLUTE_MEASUREMENT), 11990 as long as it grows incrementally from device power up. 11991 11992 This distance_travelled_base is added to the distrance_travelled_offset 11993 of each sample (below) to get the absolute distance of each sample 11994 point. 11995 11996 Distance travelled errors are expected to be primarily due to the 11997 scale factor, with some allowance for noise due to minor slippage 11998 events (e.g., gravel.) 11999 Major wheel slippage events that affect odometry 12000 must be flagged -- see the flags field. 12001 12002 Note that other events, such as a vehicle travelling in reverse, may 12003 also affect the available accuracy of this information, and notification 12004 of those events must be provided -- see the flags field. */ 12005 12006 uint32_t odometryData_len; /**< Must be set to # of elements in odometryData */ 12007 qmiLocVehicleOdometrySampleStructT_v02 odometryData[QMI_LOC_VEHICLE_SENSOR_DATA_MAX_SAMPLES_V02]; 12008 /**< Variable length array to specify the odometry samples. 12009 Maximum length of the array is 50. */ 12010 }qmiLocVehicleOdometrySampleListStructT_v02; /* Type */ 12011 /** 12012 @} 12013 */ 12014 12015 /** @addtogroup loc_qmi_messages 12016 @{ 12017 */ 12018 /** Request Message; Injects on-vehicle sensor data into the location engine. */ 12019 typedef struct { 12020 12021 /* Optional */ 12022 /* On-Vehicle Accelerometer Data */ 12023 uint8_t accelData_valid; /**< Must be set to true if accelData is being passed */ 12024 qmiLocVehicleSensorSampleListStructType_v02 accelData; 12025 /**< \vspace{0.06in} \n Vehicle accelerometer sensor samples. */ 12026 12027 /* Optional */ 12028 /* On-Vehicle Angular Rotation Data */ 12029 uint8_t angRotationData_valid; /**< Must be set to true if angRotationData is being passed */ 12030 qmiLocVehicleSensorSampleListStructType_v02 angRotationData; 12031 /**< \vspace{0.06in} \n Vehicle angular rotation data sensor samples. */ 12032 12033 /* Optional */ 12034 /* Odometry Data */ 12035 uint8_t odometryData_valid; /**< Must be set to true if odometryData is being passed */ 12036 qmiLocVehicleOdometrySampleListStructT_v02 odometryData; 12037 /**< \vspace{0.06in} \n Odometer sensor samples. */ 12038 12039 /* Optional */ 12040 /* External Time Sync Information */ 12041 uint8_t changeInTimeScales_valid; /**< Must be set to true if changeInTimeScales is being passed */ 12042 int32_t changeInTimeScales; 12043 /**< This field is to be used in conjunction with an external 12044 time-sync mechanism that is aligning the vehicle sensor time scale 12045 with the on-device sensor time scale to ensure that updates in 12046 that time offset do not appear as jumps in the relative sensor time 12047 of the samples provided in this message. If there is no such sync 12048 mechanism, e.g., if only the vehicle time is provided, this field 12049 may be left at 0. 12050 12051 This field is defined as the change from the previously-sent QMI 12052 message with similar TLVs 0x10, 0x11, or 0x12 in it, to this QMI 12053 message in the amount that the sensor_time is ahead of an 12054 external vehicle time. \n 12055 12056 - Units: Microseconds \n 12057 - Range: Approximately -2100 seconds to + 2100 seconds, where 12058 full-scale (minimum and maximum value) is interpreted 12059 as equal to or greater than this value of an offset change 12060 (unlikely to be reached in practice, unless there is a 12061 startup, major resync, or some other rollover event). */ 12062 }qmiLocInjectVehicleSensorDataReqMsgT_v02; /* Message */ 12063 /** 12064 @} 12065 */ 12066 12067 /** @addtogroup loc_qmi_messages 12068 @{ 12069 */ 12070 /** Indication Message; Injects on-vehicle sensor data into the location engine. */ 12071 typedef struct { 12072 12073 /* Mandatory */ 12074 /* Inject Vehicle Sensor Data Status */ 12075 qmiLocStatusEnumT_v02 status; 12076 /**< Status of the Inject Vehicle Sensor Data request. 12077 12078 Valid values: \n 12079 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 12080 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 12081 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 12082 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 12083 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 12084 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 12085 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 12086 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 12087 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 12088 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 12089 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 12090 }qmiLocInjectVehicleSensorDataIndMsgT_v02; /* Message */ 12091 /** 12092 @} 12093 */ 12094 12095 /** @addtogroup loc_qmi_messages 12096 @{ 12097 */ 12098 /** Request Message; Used by the control point to get the first available WWAN 12099 position from the location engine. */ 12100 typedef struct { 12101 12102 /* Mandatory */ 12103 /* Transaction ID */ 12104 uint32_t transactionId; 12105 /**< Identifies the transaction. The transaction ID 12106 is returned in the Get Available WWAN Position indication. */ 12107 }qmiLocGetAvailWwanPositionReqMsgT_v02; /* Message */ 12108 /** 12109 @} 12110 */ 12111 12112 /** @addtogroup loc_qmi_messages 12113 @{ 12114 */ 12115 /** Indication Message; Used by the control point to get the first available WWAN 12116 position from the location engine. */ 12117 typedef struct { 12118 12119 /* Mandatory */ 12120 /* Get Available WWAN Position Status */ 12121 qmiLocStatusEnumT_v02 status; 12122 /**< Status of the Get Available WWAN Position request. 12123 12124 Valid values: \n 12125 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 12126 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 12127 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 12128 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 12129 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 12130 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 12131 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 12132 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 12133 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 12134 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 12135 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 12136 12137 /* Optional */ 12138 /* Transaction ID */ 12139 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 12140 uint32_t transactionId; 12141 /**< Transaction ID that was specified in the Get Available 12142 WWAN Position request. This parameter will 12143 always be present if the status field is set to 12144 SUCCESS. */ 12145 12146 /* Optional */ 12147 /* Latitude */ 12148 uint8_t latitude_valid; /**< Must be set to true if latitude is being passed */ 12149 double latitude; 12150 /**< Latitude (specified in WGS84 datum). 12151 \begin{itemize1} 12152 \item Type: Floating point 12153 \item Units: Degrees 12154 \item Range: -90.0 to 90.0 \begin{itemize1} 12155 \item Positive values indicate northern latitude 12156 \item Negative values indicate southern latitude 12157 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 12158 12159 /* Optional */ 12160 /* Longitude */ 12161 uint8_t longitude_valid; /**< Must be set to true if longitude is being passed */ 12162 double longitude; 12163 /**< Longitude (specified in WGS84 datum). 12164 \begin{itemize1} 12165 \item Type: Floating point 12166 \item Units: Degrees 12167 \item Range: -180.0 to 180.0 \begin{itemize1} 12168 \item Positive values indicate eastern longitude 12169 \item Negative values indicate western longitude 12170 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 12171 12172 /* Optional */ 12173 /* Circular Horizontal Position Uncertainty */ 12174 uint8_t horUncCircular_valid; /**< Must be set to true if horUncCircular is being passed */ 12175 float horUncCircular; 12176 /**< Horizontal position uncertainty (circular).\n 12177 - Units: Meters */ 12178 12179 /* Optional */ 12180 /* Altitude With Respect to Ellipsoid */ 12181 uint8_t altitudeWrtEllipsoid_valid; /**< Must be set to true if altitudeWrtEllipsoid is being passed */ 12182 float altitudeWrtEllipsoid; 12183 /**< Altitude with respect to the WGS84 ellipsoid.\n 12184 - Units: Meters \n 12185 - Range: -500 to 15883 */ 12186 12187 /* Optional */ 12188 /* Vertical Uncertainty */ 12189 uint8_t vertUnc_valid; /**< Must be set to true if vertUnc is being passed */ 12190 float vertUnc; 12191 /**< Vertical uncertainty.\n 12192 - Units: Meters */ 12193 12194 /* Optional */ 12195 /* UTC Timestamp */ 12196 uint8_t timestampUtc_valid; /**< Must be set to true if timestampUtc is being passed */ 12197 uint64_t timestampUtc; 12198 /**< UTC timestamp. \n 12199 - Units: Milliseconds since Jan. 1, 1970 */ 12200 12201 /* Optional */ 12202 /* Time Uncertainty */ 12203 uint8_t timeUnc_valid; /**< Must be set to true if timeUnc is being passed */ 12204 float timeUnc; 12205 /**< Time uncertainty. \n 12206 - Units: Milliseconds */ 12207 12208 /* Optional */ 12209 /* Horizontal Elliptical Uncertainty Semi-Minor Axis */ 12210 uint8_t horUncEllipseSemiMinor_valid; /**< Must be set to true if horUncEllipseSemiMinor is being passed */ 12211 float horUncEllipseSemiMinor; 12212 /**< Semi-minor axis of horizontal elliptical uncertainty. \n 12213 - Units: Meters */ 12214 12215 /* Optional */ 12216 /* Horizontal Elliptical Uncertainty Semi-Major Axis */ 12217 uint8_t horUncEllipseSemiMajor_valid; /**< Must be set to true if horUncEllipseSemiMajor is being passed */ 12218 float horUncEllipseSemiMajor; 12219 /**< Semi-major axis of horizontal elliptical uncertainty. \n 12220 - Units: Meters */ 12221 12222 /* Optional */ 12223 /* Horizontal Elliptical Uncertainty Azimuth */ 12224 uint8_t horUncEllipseOrientAzimuth_valid; /**< Must be set to true if horUncEllipseOrientAzimuth is being passed */ 12225 float horUncEllipseOrientAzimuth; 12226 /**< Elliptical horizontal uncertainty azimuth of orientation. \n 12227 - Units: Decimal degrees \n 12228 - Range: 0 to 180 */ 12229 12230 /* Optional */ 12231 /* Horizontal Circular Confidence */ 12232 uint8_t horCircularConfidence_valid; /**< Must be set to true if horCircularConfidence is being passed */ 12233 uint8_t horCircularConfidence; 12234 /**< Horizontal circular uncertainty confidence. \n 12235 - Units: Percent \n 12236 - Range: 0 to 99 */ 12237 12238 /* Optional */ 12239 /* Horizontal Elliptical Confidence */ 12240 uint8_t horEllipticalConfidence_valid; /**< Must be set to true if horEllipticalConfidence is being passed */ 12241 uint8_t horEllipticalConfidence; 12242 /**< Horizontal elliptical uncertainty confidence. \n 12243 - Units: Percent \n 12244 - Range: 0 to 99 */ 12245 12246 /* Optional */ 12247 /* Horizontal Reliability */ 12248 uint8_t horReliability_valid; /**< Must be set to true if horReliability is being passed */ 12249 qmiLocReliabilityEnumT_v02 horReliability; 12250 /**< Specifies the reliability of the horizontal position. 12251 Valid values: \n 12252 - eQMI_LOC_RELIABILITY_NOT_SET (0) -- Location reliability is not set 12253 - eQMI_LOC_RELIABILITY_VERY_LOW (1) -- Location reliability is very low; use it at your own risk 12254 - eQMI_LOC_RELIABILITY_LOW (2) -- Location reliability is low; little or no cross-checking is possible 12255 - eQMI_LOC_RELIABILITY_MEDIUM (3) -- Location reliability is medium; limited cross-check passed 12256 - eQMI_LOC_RELIABILITY_HIGH (4) -- Location reliability is high; strong cross-check passed 12257 */ 12258 12259 /* Optional */ 12260 /* Altitude With Respect to Sea Level */ 12261 uint8_t altitudeWrtMeanSeaLevel_valid; /**< Must be set to true if altitudeWrtMeanSeaLevel is being passed */ 12262 float altitudeWrtMeanSeaLevel; 12263 /**< Altitude with respect to mean sea level. \n 12264 - Units: Meters */ 12265 12266 /* Optional */ 12267 /* Vertical Confidence */ 12268 uint8_t vertConfidence_valid; /**< Must be set to true if vertConfidence is being passed */ 12269 uint8_t vertConfidence; 12270 /**< Vertical uncertainty confidence. \n 12271 - Units: Percent \n 12272 - Range: 0 to 99 */ 12273 12274 /* Optional */ 12275 /* Vertical Reliability */ 12276 uint8_t vertReliability_valid; /**< Must be set to true if vertReliability is being passed */ 12277 qmiLocReliabilityEnumT_v02 vertReliability; 12278 /**< Specifies the reliability of the vertical position. 12279 12280 Valid values: \n 12281 - eQMI_LOC_RELIABILITY_NOT_SET (0) -- Location reliability is not set 12282 - eQMI_LOC_RELIABILITY_VERY_LOW (1) -- Location reliability is very low; use it at your own risk 12283 - eQMI_LOC_RELIABILITY_LOW (2) -- Location reliability is low; little or no cross-checking is possible 12284 - eQMI_LOC_RELIABILITY_MEDIUM (3) -- Location reliability is medium; limited cross-check passed 12285 - eQMI_LOC_RELIABILITY_HIGH (4) -- Location reliability is high; strong cross-check passed 12286 */ 12287 12288 /* Optional */ 12289 /* GPS Time */ 12290 uint8_t gpsTime_valid; /**< Must be set to true if gpsTime is being passed */ 12291 qmiLocGPSTimeStructT_v02 gpsTime; 12292 12293 /* Optional */ 12294 /* Time Source */ 12295 uint8_t timeSrc_valid; /**< Must be set to true if timeSrc is being passed */ 12296 qmiLocTimeSourceEnumT_v02 timeSrc; 12297 /**< Time source. 12298 12299 Valid values: \n 12300 - eQMI_LOC_TIME_SRC_INVALID (0) -- Invalid time. 12301 - eQMI_LOC_TIME_SRC_NETWORK_TIME_TRANSFER (1) -- Time is set by the 1X system 12302 - eQMI_LOC_TIME_SRC_NETWORK_TIME_TAGGING (2) -- Time is set by WCDMA/GSM time tagging (that is, 12303 associating network time with GPS time) 12304 - eQMI_LOC_TIME_SRC_EXTERNAL_INPUT (3) -- Time is set by an external injection 12305 - eQMI_LOC_TIME_SRC_TOW_DECODE (4) -- Time is set after decoding over-the-air GPS navigation data 12306 from one GPS satellite 12307 - eQMI_LOC_TIME_SRC_TOW_CONFIRMED (5) -- Time is set after decoding over-the-air GPS navigation data 12308 from multiple satellites 12309 - eQMI_LOC_TIME_SRC_TOW_AND_WEEK_CONFIRMED (6) -- Both time of the week and the GPS week number are known 12310 - eQMI_LOC_TIME_SRC_NAV_SOLUTION (7) -- Time is set by the position engine after the fix is obtained 12311 - eQMI_LOC_TIME_SRC_SOLVE_FOR_TIME (8) -- Time is set by the position engine after performing SFT; 12312 this is done when the clock time uncertainty is large 12313 - eQMI_LOC_TIME_SRC_GLO_TOW_DECODE (9) -- Time is set after decoding GLO satellites 12314 - eQMI_LOC_TIME_SRC_TIME_TRANSFORM (10) -- Time is set after transforming the GPS to GLO time 12315 - eQMI_LOC_TIME_SRC_WCDMA_SLEEP_TIME_TAGGING (11) -- Time is set by the sleep time tag provided by the WCDMA network 12316 - eQMI_LOC_TIME_SRC_GSM_SLEEP_TIME_TAGGING (12) -- Time is set by the sleep time tag provided by the GSM network 12317 - eQMI_LOC_TIME_SRC_UNKNOWN (13) -- Source of the time is unknown 12318 - eQMI_LOC_TIME_SRC_SYSTEM_TIMETICK (14) -- Time is derived from the system clock (better known as the slow clock); 12319 GNSS time is maintained irrespective of the GNSS receiver state 12320 - eQMI_LOC_TIME_SRC_QZSS_TOW_DECODE (15) -- Time is set after decoding QZSS satellites 12321 - eQMI_LOC_TIME_SRC_BDS_TOW_DECODE (16) -- Time is set after decoding BDS satellites 12322 - eQMI_LOC_TIME_SRC_GAL_TOW_DECODE (17) -- Time is set after decoding GAL satellites 12323 */ 12324 }qmiLocGetAvailWwanPositionIndMsgT_v02; /* Message */ 12325 /** 12326 @} 12327 */ 12328 12329 /** @addtogroup loc_qmi_enums 12330 @{ 12331 */ 12332 typedef enum { 12333 QMILOCPREMIUMSERVICEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 12334 eQMI_LOC_PREMIUM_SERVICE_GTP_CELL_V02 = 0, /**< Premium service -- Global terrestrial positioning for the cell */ 12335 eQMI_LOC_PREMIUM_SERVICE_SAP_V02 = 1, /**< Premium service -- Sensor-assisted positioning */ 12336 eQMI_LOC_PREMIUM_SERVICE_GTP_ENH_CELL_V02 = 2, /**< Premium service -- Global terrestrial positioning enhanced cell */ 12337 QMILOCPREMIUMSERVICEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 12338 }qmiLocPremiumServiceEnumT_v02; 12339 /** 12340 @} 12341 */ 12342 12343 /** @addtogroup loc_qmi_enums 12344 @{ 12345 */ 12346 typedef enum { 12347 QMILOCPREMIUMSERVICECFGENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 12348 eQMI_LOC_PREMIUM_SERVICE_DISABLED_V02 = 0, /**< Premium service disabled */ 12349 eQMI_LOC_PREMIUM_SERVICE_ENABLED_BASIC_V02 = 1, /**< Premium service enabled for basic */ 12350 eQMI_LOC_PREMIUM_SERVICE_ENABLED_PREMIUM_V02 = 2, /**< Premium service enabled for premium */ 12351 QMILOCPREMIUMSERVICECFGENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 12352 }qmiLocPremiumServiceCfgEnumT_v02; 12353 /** 12354 @} 12355 */ 12356 12357 /** @addtogroup loc_qmi_messages 12358 @{ 12359 */ 12360 /** Request Message; Used by the control point to set the configuration */ 12361 typedef struct { 12362 12363 /* Mandatory */ 12364 /* Set Premium Service Type */ 12365 qmiLocPremiumServiceEnumT_v02 premiumServiceType; 12366 /**< Specifies the premium service to configure. 12367 12368 Valid values: \n 12369 - eQMI_LOC_PREMIUM_SERVICE_GTP_CELL (0) -- Premium service -- Global terrestrial positioning for the cell 12370 - eQMI_LOC_PREMIUM_SERVICE_SAP (1) -- Premium service -- Sensor-assisted positioning 12371 - eQMI_LOC_PREMIUM_SERVICE_GTP_ENH_CELL (2) -- Premium service -- Global terrestrial positioning enhanced cell 12372 */ 12373 12374 /* Mandatory */ 12375 /* Set Premium Service Configuration */ 12376 qmiLocPremiumServiceCfgEnumT_v02 premiumServiceCfg; 12377 /**< Specifies the premium service configuration mode. 12378 12379 Valid values: \n 12380 - eQMI_LOC_PREMIUM_SERVICE_DISABLED (0) -- Premium service disabled 12381 - eQMI_LOC_PREMIUM_SERVICE_ENABLED_BASIC (1) -- Premium service enabled for basic 12382 - eQMI_LOC_PREMIUM_SERVICE_ENABLED_PREMIUM (2) -- Premium service enabled for premium 12383 */ 12384 }qmiLocSetPremiumServicesCfgReqMsgT_v02; /* Message */ 12385 /** 12386 @} 12387 */ 12388 12389 /** @addtogroup loc_qmi_messages 12390 @{ 12391 */ 12392 /** Indication Message; Used by the control point to set the configuration */ 12393 typedef struct { 12394 12395 /* Mandatory */ 12396 /* Set Premium Service Configuration Status */ 12397 qmiLocStatusEnumT_v02 status; 12398 /**< Status of the Set Premium Services Configuration request. 12399 12400 Valid values: \n 12401 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 12402 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 12403 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 12404 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 12405 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 12406 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 12407 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 12408 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 12409 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 12410 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 12411 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 12412 }qmiLocSetPremiumServicesCfgIndMsgT_v02; /* Message */ 12413 /** 12414 @} 12415 */ 12416 12417 /** @addtogroup loc_qmi_enums 12418 @{ 12419 */ 12420 typedef enum { 12421 QMILOCXTRAVERSIONCHECKENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 12422 eQMI_LOC_XTRA_VERSION_CHECK_DISABLE_V02 = 0, /**< XTRA file version check is not required */ 12423 eQMI_LOC_XTRA_VERSION_CHECK_AUTO_V02 = 1, /**< XTRA file version check is required; the Location service decides the 'expected version' based on the preprovisioned XTRA version configuration */ 12424 eQMI_LOC_XTRA_VERSION_CHECK_XTRA2_V02 = 2, /**< Check the XTRA file against XTRA2 format */ 12425 eQMI_LOC_XTRA_VERSION_CHECK_XTRA3_V02 = 3, /**< Check the XTRA file against XTRA3 format */ 12426 eQMI_LOC_XTRA_VERSION_CHECK_XTRA3_1_V02 = 4, /**< Check the XTRA file against XTRA3.1 format */ 12427 QMILOCXTRAVERSIONCHECKENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 12428 }qmiLocXtraVersionCheckEnumT_v02; 12429 /** 12430 @} 12431 */ 12432 12433 /** @addtogroup loc_qmi_messages 12434 @{ 12435 */ 12436 /** Request Message; Used by the control point to enable or disable XTRA version 12437 verification. */ 12438 typedef struct { 12439 12440 /* Mandatory */ 12441 /* Set XTRA Version Check Mode */ 12442 qmiLocXtraVersionCheckEnumT_v02 xtraVersionCheckMode; 12443 /**< Specifies XTRA version check mode. 12444 12445 Valid values: \n 12446 - eQMI_LOC_XTRA_VERSION_CHECK_DISABLE (0) -- XTRA file version check is not required 12447 - eQMI_LOC_XTRA_VERSION_CHECK_AUTO (1) -- XTRA file version check is required; the Location service decides the 'expected version' based on the preprovisioned XTRA version configuration 12448 - eQMI_LOC_XTRA_VERSION_CHECK_XTRA2 (2) -- Check the XTRA file against XTRA2 format 12449 - eQMI_LOC_XTRA_VERSION_CHECK_XTRA3 (3) -- Check the XTRA file against XTRA3 format 12450 - eQMI_LOC_XTRA_VERSION_CHECK_XTRA3_1 (4) -- Check the XTRA file against XTRA3.1 format 12451 */ 12452 }qmiLocSetXtraVersionCheckReqMsgT_v02; /* Message */ 12453 /** 12454 @} 12455 */ 12456 12457 /** @addtogroup loc_qmi_messages 12458 @{ 12459 */ 12460 /** Indication Message; Used by the control point to enable or disable XTRA version 12461 verification. */ 12462 typedef struct { 12463 12464 /* Mandatory */ 12465 /* Set XTRA Version Check Mode Status */ 12466 qmiLocStatusEnumT_v02 status; 12467 /**< Status of the Set XTRA version check request. 12468 12469 Valid values: \n 12470 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 12471 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 12472 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 12473 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 12474 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 12475 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 12476 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 12477 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 12478 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 12479 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 12480 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 12481 }qmiLocSetXtraVersionCheckIndMsgT_v02; /* Message */ 12482 /** 12483 @} 12484 */ 12485 12486 typedef uint64_t qmiLocGNSSConstellEnumT_v02; 12487 #define eQMI_SYSTEM_GPS_V02 ((qmiLocGNSSConstellEnumT_v02)0x01ull) /**< Enable GPS \n */ 12488 #define eQMI_SYSTEM_GLO_V02 ((qmiLocGNSSConstellEnumT_v02)0x02ull) /**< Enable GLONASS \n */ 12489 #define eQMI_SYSTEM_BDS_V02 ((qmiLocGNSSConstellEnumT_v02)0x04ull) /**< Enable BDS \n */ 12490 #define eQMI_SYSTEM_GAL_V02 ((qmiLocGNSSConstellEnumT_v02)0x08ull) /**< Enable Galileo */ 12491 #define eQMI_SYSTEM_QZSS_V02 ((qmiLocGNSSConstellEnumT_v02)0x10ull) /**< Enable QZSS */ 12492 /** @addtogroup loc_qmi_messages 12493 @{ 12494 */ 12495 /** Request Message; Sets satellite constellations of interest for reporting. */ 12496 typedef struct { 12497 12498 /* Optional */ 12499 /* GNSS Measurement Report Constellation Control */ 12500 uint8_t measReportConfig_valid; /**< Must be set to true if measReportConfig is being passed */ 12501 qmiLocGNSSConstellEnumT_v02 measReportConfig; 12502 /**< GNSS measurement report constellation control. \n 12503 Valid values: \n 12504 - eQMI_SYSTEM_GPS (0x01) -- Enable GPS \n 12505 - eQMI_SYSTEM_GLO (0x02) -- Enable GLONASS \n 12506 - eQMI_SYSTEM_BDS (0x04) -- Enable BDS \n 12507 - eQMI_SYSTEM_GAL (0x08) -- Enable Galileo 12508 - eQMI_SYSTEM_QZSS (0x10) -- Enable QZSS 12509 */ 12510 12511 /* Optional */ 12512 /* SV Polynomial Report Constellation Control */ 12513 uint8_t svPolyReportConfig_valid; /**< Must be set to true if svPolyReportConfig is being passed */ 12514 qmiLocGNSSConstellEnumT_v02 svPolyReportConfig; 12515 /**< SV polynomial report constellation control. \n 12516 Valid values: \n 12517 - eQMI_SYSTEM_GPS (0x01) -- Enable GPS \n 12518 - eQMI_SYSTEM_GLO (0x02) -- Enable GLONASS \n 12519 - eQMI_SYSTEM_BDS (0x04) -- Enable BDS \n 12520 - eQMI_SYSTEM_GAL (0x08) -- Enable Galileo 12521 - eQMI_SYSTEM_QZSS (0x10) -- Enable QZSS 12522 */ 12523 }qmiLocSetGNSSConstRepConfigReqMsgT_v02; /* Message */ 12524 /** 12525 @} 12526 */ 12527 12528 /** @addtogroup loc_qmi_messages 12529 @{ 12530 */ 12531 /** Indication Message; Sets satellite constellations of interest for reporting. */ 12532 typedef struct { 12533 12534 /* Mandatory */ 12535 /* Set GNSS Constellation Status */ 12536 qmiLocStatusEnumT_v02 status; 12537 /**< Status of the GNSS constellation. 12538 12539 Valid values: \n 12540 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 12541 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 12542 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 12543 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 12544 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 12545 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 12546 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 12547 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 12548 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 12549 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 12550 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 12551 */ 12552 }qmiLocSetGNSSConstRepConfigIndMsgT_v02; /* Message */ 12553 /** 12554 @} 12555 */ 12556 12557 /** @addtogroup loc_qmi_enums 12558 @{ 12559 */ 12560 typedef enum { 12561 QMILOCSOURCEOFFREQENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 12562 eQMI_LOC_FREQ_SOURCE_INVALID_V02 = 0, /**< Source of the frequency is invalid */ 12563 eQMI_LOC_FREQ_SOURCE_EXTERNAL_V02 = 1, /**< Source of the frequency is from an external injection */ 12564 eQMI_LOC_FREQ_SOURCE_PE_CLK_REPORT_V02 = 2, /**< Source of the frequency is from the GNSS navigation engine */ 12565 eQMI_LOC_FREQ_SOURCE_UNKNOWN_V02 = 3, /**< Source of the frequency is unknown */ 12566 QMILOCSOURCEOFFREQENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 12567 }qmiLocSourceofFreqEnumT_v02; 12568 /** 12569 @} 12570 */ 12571 12572 /** @addtogroup loc_qmi_aggregates 12573 @{ 12574 */ 12575 typedef struct { 12576 12577 float clockDrift; 12578 /**< Receiver clock drift. \n 12579 - Units: Meters per second 12580 */ 12581 12582 float clockDriftUnc; 12583 /**< Receiver clock drift uncertainty. \n 12584 - Units: Meters per second 12585 */ 12586 12587 qmiLocSourceofFreqEnumT_v02 sourceOfFreq; 12588 /**< Source of the clock frequency information. 12589 12590 Valid values: \n 12591 - eQMI_LOC_FREQ_SOURCE_INVALID (0) -- Source of the frequency is invalid 12592 - eQMI_LOC_FREQ_SOURCE_EXTERNAL (1) -- Source of the frequency is from an external injection 12593 - eQMI_LOC_FREQ_SOURCE_PE_CLK_REPORT (2) -- Source of the frequency is from the GNSS navigation engine 12594 - eQMI_LOC_FREQ_SOURCE_UNKNOWN (3) -- Source of the frequency is unknown 12595 */ 12596 }qmiLocRcvrClockFrequencyInfoStructT_v02; /* Type */ 12597 /** 12598 @} 12599 */ 12600 12601 /** @addtogroup loc_qmi_aggregates 12602 @{ 12603 */ 12604 typedef struct { 12605 12606 uint8_t leapSec; 12607 /**< GPS time leap second delta to UTC time. \n 12608 For nonzero values of leapSecUnc, leapSec must be treated as unknown. \n 12609 - Units: Seconds 12610 */ 12611 12612 uint8_t leapSecUnc; 12613 /**< Uncertainty for the GPS leap second. \n 12614 - Units: Seconds 12615 */ 12616 }qmiLocLeapSecondInfoStructT_v02; /* Type */ 12617 /** 12618 @} 12619 */ 12620 12621 typedef uint8_t qmiLocInterSystemBiasValidMaskT_v02; 12622 #define QMI_LOC_SYS_TIME_BIAS_VALID_V02 ((qmiLocInterSystemBiasValidMaskT_v02)0x01) /**< System time bias is valid \n */ 12623 #define QMI_LOC_SYS_TIME_BIAS_UNC_VALID_V02 ((qmiLocInterSystemBiasValidMaskT_v02)0x02) /**< System time bias uncertainty is valid */ 12624 /** @addtogroup loc_qmi_aggregates 12625 @{ 12626 */ 12627 typedef struct { 12628 12629 qmiLocInterSystemBiasValidMaskT_v02 validMask; 12630 /**< Fields that are valid. \n 12631 Valid values: \n 12632 - QMI_LOC_SYS_TIME_BIAS_VALID (0x01) -- System time bias is valid \n 12633 - QMI_LOC_SYS_TIME_BIAS_UNC_VALID (0x02) -- System time bias uncertainty is valid \n 12634 */ 12635 12636 float timeBias; 12637 /**< System 1 to System 2 time bias. \n 12638 - Units: Milliseconds 12639 */ 12640 12641 float timeBiasUnc; 12642 /**< System 1 to System 2 time bias uncertainty. \n 12643 - Units: Milliseconds 12644 */ 12645 }qmiLocInterSystemBiasStructT_v02; /* Type */ 12646 /** 12647 @} 12648 */ 12649 12650 /** @addtogroup loc_qmi_aggregates 12651 @{ 12652 */ 12653 typedef struct { 12654 12655 qmiLocSvSystemEnumT_v02 system; 12656 /**< Specifies the satellite system constellation. 12657 12658 Valid values: \n 12659 - eQMI_LOC_SV_SYSTEM_GPS (1) -- GPS satellite 12660 - eQMI_LOC_SV_SYSTEM_GALILEO (2) -- GALILEO satellite 12661 - eQMI_LOC_SV_SYSTEM_SBAS (3) -- SBAS satellite 12662 - eQMI_LOC_SV_SYSTEM_COMPASS (4) -- COMPASS satellite (Deprecated) 12663 - eQMI_LOC_SV_SYSTEM_GLONASS (5) -- GLONASS satellite 12664 - eQMI_LOC_SV_SYSTEM_BDS (6) -- BDS satellite 12665 - eQMI_LOC_SV_SYSTEM_QZSS (7) -- QZSS satellite 12666 */ 12667 12668 uint16_t systemWeek; 12669 /**< Current system week. \n 12670 - For GPS: Calculated from midnight, Jan. 6, 1980 \n 12671 - For BDS: Calculated from 00:00:00 on January 1, 2006 of Coordinated Universal Time (UTC) \n 12672 - For GAL: Calculated from 00:00 UT on Sunday August 22, 1999 (midnight between August 21 and August 22) \n 12673 If the week is unknown, set this value to 65535. \n 12674 - Units: Weeks */ 12675 12676 uint32_t systemMsec; 12677 /**< Amount of time into the current week. \n 12678 - Units: Milliseconds */ 12679 12680 float systemClkTimeBias; 12681 /**< System clock time bias (submilliseconds). \n 12682 - Units: Milliseconds 12683 (system time = systemMsec - systemClkTimeBias) 12684 */ 12685 12686 float systemClkTimeUncMs; 12687 /**< Single-sided maximum time bias uncertainty. \n 12688 - Units: Milliseconds 12689 */ 12690 }qmiLocGnssTimeStructT_v02; /* Type */ 12691 /** 12692 @} 12693 */ 12694 12695 /** @addtogroup loc_qmi_aggregates 12696 @{ 12697 */ 12698 typedef struct { 12699 12700 uint8_t gloFourYear; 12701 /**< GLONASS four year number from 1996. Refer to GLONASS ICD. \n 12702 Applicable only for GLONASS and is to be ignored for other constellations. \n 12703 If unknown, set this value to 255. 12704 */ 12705 12706 uint16_t gloDays; 12707 /**< GLONASS day number in four years. Refer to GLONASS ICD. \n 12708 Applicable only for GLONASS and is to be ignored for other constellations. \n 12709 If unknown, set this value to 65535. 12710 */ 12711 12712 uint32_t gloMsec; 12713 /**< GLONASS time of day in msec. Refer to GLONASS ICD. \n 12714 - Units: Milliseconds 12715 */ 12716 12717 float gloClkTimeBias; 12718 /**< System clock time bias (submillisecond). \n 12719 - Units: Milliseconds 12720 (system time = systemMsec - systemClkTimeBias) 12721 */ 12722 12723 float gloClkTimeUncMs; 12724 /**< Single-sided maximum time bias uncertainty. \n 12725 - Units: Milliseconds 12726 */ 12727 }qmiLocGloTimeStructT_v02; /* Type */ 12728 /** 12729 @} 12730 */ 12731 12732 /** @addtogroup loc_qmi_aggregates 12733 @{ 12734 */ 12735 typedef struct { 12736 12737 uint32_t refFCount; 12738 /**< Receiver frame counter value at a reference tick. */ 12739 12740 uint8_t systemRtc_valid; 12741 /**< Validity indicator for the system RTC. */ 12742 12743 uint64_t systemRtcMs; 12744 /**< Platform system RTC value. \n 12745 - Units: Milliseconds 12746 */ 12747 12748 qmiLocTimeSourceEnumT_v02 sourceOfTime; 12749 /**< Source of the time information. 12750 12751 Valid values: \n 12752 - eQMI_LOC_TIME_SRC_INVALID (0) -- Invalid time. 12753 - eQMI_LOC_TIME_SRC_NETWORK_TIME_TRANSFER (1) -- Time is set by the 1X system 12754 - eQMI_LOC_TIME_SRC_NETWORK_TIME_TAGGING (2) -- Time is set by WCDMA/GSM time tagging (that is, 12755 associating network time with GPS time) 12756 - eQMI_LOC_TIME_SRC_EXTERNAL_INPUT (3) -- Time is set by an external injection 12757 - eQMI_LOC_TIME_SRC_TOW_DECODE (4) -- Time is set after decoding over-the-air GPS navigation data 12758 from one GPS satellite 12759 - eQMI_LOC_TIME_SRC_TOW_CONFIRMED (5) -- Time is set after decoding over-the-air GPS navigation data 12760 from multiple satellites 12761 - eQMI_LOC_TIME_SRC_TOW_AND_WEEK_CONFIRMED (6) -- Both time of the week and the GPS week number are known 12762 - eQMI_LOC_TIME_SRC_NAV_SOLUTION (7) -- Time is set by the position engine after the fix is obtained 12763 - eQMI_LOC_TIME_SRC_SOLVE_FOR_TIME (8) -- Time is set by the position engine after performing SFT; 12764 this is done when the clock time uncertainty is large 12765 - eQMI_LOC_TIME_SRC_GLO_TOW_DECODE (9) -- Time is set after decoding GLO satellites 12766 - eQMI_LOC_TIME_SRC_TIME_TRANSFORM (10) -- Time is set after transforming the GPS to GLO time 12767 - eQMI_LOC_TIME_SRC_WCDMA_SLEEP_TIME_TAGGING (11) -- Time is set by the sleep time tag provided by the WCDMA network 12768 - eQMI_LOC_TIME_SRC_GSM_SLEEP_TIME_TAGGING (12) -- Time is set by the sleep time tag provided by the GSM network 12769 - eQMI_LOC_TIME_SRC_UNKNOWN (13) -- Source of the time is unknown 12770 - eQMI_LOC_TIME_SRC_SYSTEM_TIMETICK (14) -- Time is derived from the system clock (better known as the slow clock); 12771 GNSS time is maintained irrespective of the GNSS receiver state 12772 - eQMI_LOC_TIME_SRC_QZSS_TOW_DECODE (15) -- Time is set after decoding QZSS satellites 12773 - eQMI_LOC_TIME_SRC_BDS_TOW_DECODE (16) -- Time is set after decoding BDS satellites 12774 - eQMI_LOC_TIME_SRC_GAL_TOW_DECODE (17) -- Time is set after decoding GAL satellites 12775 */ 12776 }qmiLocGnssTimeExtStructT_v02; /* Type */ 12777 /** 12778 @} 12779 */ 12780 12781 typedef uint64_t qmiLocSvMeasStatusValidMaskT_v02; 12782 #define QMI_LOC_MASK_MEAS_STATUS_SM_STAT_BIT_VALID_V02 ((qmiLocSvMeasStatusValidMaskT_v02)0x00000001ull) /**< Satellite time in submilliseconds (code-phase) */ 12783 #define QMI_LOC_MASK_MEAS_STATUS_SB_STAT_BIT_VALID_V02 ((qmiLocSvMeasStatusValidMaskT_v02)0x00000002ull) /**< Satellite sub-bit time */ 12784 #define QMI_LOC_MASK_MEAS_STATUS_MS_STAT_BIT_VALID_V02 ((qmiLocSvMeasStatusValidMaskT_v02)0x00000004ull) /**< Satellite time in milliseconds */ 12785 #define QMI_LOC_MASK_MEAS_STATUS_BE_CONFIRM_STAT_BIT_VALID_V02 ((qmiLocSvMeasStatusValidMaskT_v02)0x00000008ull) /**< Signal bit edge is confirmed */ 12786 #define QMI_LOC_MASK_MEAS_STATUS_VEL_STAT_BIT_VALID_V02 ((qmiLocSvMeasStatusValidMaskT_v02)0x00000010ull) /**< Satellite Doppler is measured */ 12787 #define QMI_LOC_MASK_MEAS_STATUS_VEL_FINE_STAT_BIT_VALID_V02 ((qmiLocSvMeasStatusValidMaskT_v02)0x00000020ull) /**< Fine/coarse Doppler measurement indicator */ 12788 #define QMI_LOC_MASK_MEAS_STATUS_FROM_RNG_DIFF_STAT_BIT_VALID_V02 ((qmiLocSvMeasStatusValidMaskT_v02)0x00000200ull) /**< Range update from satellite differences */ 12789 #define QMI_LOC_MASK_MEAS_STATUS_FROM_VE_DIFF_STAT_BIT_VALID_V02 ((qmiLocSvMeasStatusValidMaskT_v02)0x00000400ull) /**< Doppler update from satellite differences */ 12790 typedef uint64_t qmiLocSvMeasStatusMaskT_v02; 12791 #define QMI_LOC_MASK_MEAS_STATUS_SM_VALID_V02 ((qmiLocSvMeasStatusMaskT_v02)0x00000001ull) /**< Satellite time in submilliseconds (code phase) is known */ 12792 #define QMI_LOC_MASK_MEAS_STATUS_SB_VALID_V02 ((qmiLocSvMeasStatusMaskT_v02)0x00000002ull) /**< Satellite sub-bit time is known */ 12793 #define QMI_LOC_MASK_MEAS_STATUS_MS_VALID_V02 ((qmiLocSvMeasStatusMaskT_v02)0x00000004ull) /**< Satellite time in milliseconds is known */ 12794 #define QMI_LOC_MASK_MEAS_STATUS_BE_CONFIRM_V02 ((qmiLocSvMeasStatusMaskT_v02)0x00000008ull) /**< Signal bit edge is confirmed */ 12795 #define QMI_LOC_MASK_MEAS_STATUS_VELOCITY_VALID_V02 ((qmiLocSvMeasStatusMaskT_v02)0x00000010ull) /**< Satellite Doppler is measured */ 12796 #define QMI_LOC_MASK_MEAS_STATUS_VELOCITY_FINE_V02 ((qmiLocSvMeasStatusMaskT_v02)0x00000020ull) /**< TRUE: Fine Doppler is measured, FALSE: Coarse Doppler is measured */ 12797 #define QMI_LOC_MASK_MEAS_STATUS_FROM_RNG_DIFF_V02 ((qmiLocSvMeasStatusMaskT_v02)0x00000200ull) /**< Range update from satellite differences is measured */ 12798 #define QMI_LOC_MASK_MEAS_STATUS_FROM_VE_DIFF_V02 ((qmiLocSvMeasStatusMaskT_v02)0x00000400ull) /**< Doppler update from satellite differences is measured} */ 12799 /** @addtogroup loc_qmi_aggregates 12800 @{ 12801 */ 12802 typedef struct { 12803 12804 uint32_t svTimeMs; 12805 /**< Satellite time in milliseconds. \n 12806 - For GPS, BDS, GAL, and QZSS -- Range is 0 thru (604800000-1) \n 12807 - For GLONASS -- Range is 0 thru (86400000-1) \n 12808 - Units: Milliseconds \vspace{4pt} 12809 12810 This is valid when the QMI_LOC_MEAS_ STATUS_MS_VALID bit is set 12811 in the measurement status. \vspace{4pt} 12812 12813 @note All SV times in the current measurement block are 12814 already propagated to a common reference time epoch. 12815 */ 12816 12817 float svTimeSubMs; 12818 /**< Satellite time in submilliseconds. \n 12819 Total SV Time = svMs + svSubMs \n 12820 - Units: Milliseconds 12821 */ 12822 12823 float svTimeUncMs; 12824 /**< Satellite time uncertainty. \n 12825 - Units: Milliseconds 12826 */ 12827 12828 float dopplerShift; 12829 /**< Satellite Doppler. \n 12830 - Units: Meters per second 12831 */ 12832 12833 float dopplerShiftUnc; 12834 /**< Satellite Doppler uncertainty. \n 12835 - Units: Meters per second 12836 */ 12837 12838 uint8_t dopplerAccel_valid; 12839 /**< Validity for Doppler acceleration. */ 12840 12841 float dopplerAccel; 12842 /**< Satellite Doppler acceleration. \n 12843 - Units: Hz/second 12844 */ 12845 }qmiLocSVTimeSpeedStructT_v02; /* Type */ 12846 /** 12847 @} 12848 */ 12849 12850 typedef uint16_t qmiLocMeasFieldsValidMaskT_v02; 12851 #define QMI_LOC_SV_HEALTH_VALID_V02 ((qmiLocMeasFieldsValidMaskT_v02)0x01) /**< SV health information is valid */ 12852 #define QMI_LOC_SV_MULTIPATH_EST_VALID_V02 ((qmiLocMeasFieldsValidMaskT_v02)0x02) /**< Multipath estimate for SV is valid */ 12853 #define QMI_LOC_SV_FINE_SPEED_VALID_V02 ((qmiLocMeasFieldsValidMaskT_v02)0x04) /**< Fine speed for SV is valid */ 12854 #define QMI_LOC_SV_FINE_SPEED_UNC_VALID_V02 ((qmiLocMeasFieldsValidMaskT_v02)0x08) /**< Fine speed uncertainty for SV is valid */ 12855 #define QMI_LOC_SV_CARRIER_PHASE_VALID_V02 ((qmiLocMeasFieldsValidMaskT_v02)0x10) /**< Carrier phase for SV is valid */ 12856 #define QMI_LOC_SV_SV_DIRECTION_VALID_V02 ((qmiLocMeasFieldsValidMaskT_v02)0x20) /**< SV direction information for SV is valid */ 12857 #define QMI_LOC_SV_CYCLESLIP_COUNT_VALID_V02 ((qmiLocMeasFieldsValidMaskT_v02)0x40) /**< Cycle slip count information is valid */ 12858 #define QMI_LOC_SV_LOSSOFLOCK_VALID_V02 ((qmiLocMeasFieldsValidMaskT_v02)0x80) /**< Loss of lock information is valid */ 12859 /** @addtogroup loc_qmi_aggregates 12860 @{ 12861 */ 12862 typedef struct { 12863 12864 uint16_t gnssSvId; 12865 /**< GNSS SV ID. 12866 \begin{itemize1} 12867 \item Range: \begin{itemize1} 12868 \item For GPS: 1 to 32 12869 \item For GLONASS: 65 to 96. When slot-number to SV ID mapping is unknown, set as 255. 12870 \item For QZSS: 193 to 197 12871 \item For BDS: 201 to 237 12872 \item For GAL: 301 to 336 12873 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 12874 12875 uint8_t gloFrequency; 12876 /**< GLONASS frequency number + 7. \n 12877 Valid only for a GLONASS system and 12878 is to be ignored for all other systems. \n 12879 - Range: 1 to 14 12880 */ 12881 12882 qmiLocSvStatusEnumT_v02 svStatus; 12883 /**< Satellite search state. 12884 12885 Valid values: \n 12886 - eQMI_LOC_SV_STATUS_IDLE (1) -- SV is not being actively processed 12887 - eQMI_LOC_SV_STATUS_SEARCH (2) -- The system is searching for this SV 12888 - eQMI_LOC_SV_STATUS_TRACK (3) -- SV is being tracked 12889 */ 12890 12891 qmiLocMeasFieldsValidMaskT_v02 validMask; 12892 /**< Validity mask (0 = Not valid; 1 = Valid). \n 12893 12894 - QMI_LOC_SV_HEALTH_VALID (0x01) -- SV health information is valid 12895 - QMI_LOC_SV_MULTIPATH_EST_VALID (0x02) -- Multipath estimate for SV is valid 12896 - QMI_LOC_SV_FINE_SPEED_VALID (0x04) -- Fine speed for SV is valid 12897 - QMI_LOC_SV_FINE_SPEED_UNC_VALID (0x08) -- Fine speed uncertainty for SV is valid 12898 - QMI_LOC_SV_CARRIER_PHASE_VALID (0x10) -- Carrier phase for SV is valid 12899 - QMI_LOC_SV_SV_DIRECTION_VALID (0x20) -- SV direction information for SV is valid 12900 - QMI_LOC_SV_CYCLESLIP_COUNT_VALID (0x40) -- Cycle slip count information is valid 12901 - QMI_LOC_SV_LOSSOFLOCK_VALID (0x80) -- Loss of lock information is valid 12902 */ 12903 12904 uint8_t healthStatus; 12905 /**< Health status. \n 12906 \begin{itemize1} 12907 - Range: 0 to 1, where 0 = unhealthy, 1 = healthy 12908 */ 12909 12910 qmiLocSvInfoMaskT_v02 svInfoMask; 12911 /**< Indicates whether almanac and ephemeris information is available. 12912 12913 Valid values: \n 12914 - QMI_LOC_SVINFO_MASK_HAS_EPHEMERIS (0x01) -- Ephemeris is available for this SV 12915 - QMI_LOC_SVINFO_MASK_HAS_ALMANAC (0x02) -- Almanac is available for this SV 12916 */ 12917 12918 qmiLocSvMeasStatusValidMaskT_v02 validMeasStatusMask; 12919 /**< Validity mask for measurement status information. \n 12920 A set bit in validMeasStatusMask indicates that the corresponding bit 12921 in measurementStatus has valid status information: \n 12922 Valid masks: \n 12923 - QMI_LOC_MASK_MEAS_STATUS_SM_STAT_BIT_VALID (0x00000001) -- Satellite time in submilliseconds (code-phase) 12924 - QMI_LOC_MASK_MEAS_STATUS_SB_STAT_BIT_VALID (0x00000002) -- Satellite sub-bit time 12925 - QMI_LOC_MASK_MEAS_STATUS_MS_STAT_BIT_VALID (0x00000004) -- Satellite time in milliseconds 12926 - QMI_LOC_MASK_MEAS_STATUS_BE_CONFIRM_STAT_BIT_VALID (0x00000008) -- Signal bit edge is confirmed 12927 - QMI_LOC_MASK_MEAS_STATUS_VEL_STAT_BIT_VALID (0x00000010) -- Satellite Doppler is measured 12928 - QMI_LOC_MASK_MEAS_STATUS_VEL_FINE_STAT_BIT_VALID (0x00000020) -- Fine/coarse Doppler measurement indicator 12929 - QMI_LOC_MASK_MEAS_STATUS_FROM_RNG_DIFF_STAT_BIT_VALID (0x00000200) -- Range update from satellite differences 12930 - QMI_LOC_MASK_MEAS_STATUS_FROM_VE_DIFF_STAT_BIT_VALID (0x00000400) -- Doppler update from satellite differences 12931 \vspace{4pt} 12932 Additionally, MSB 0xFFC0000000000000 bits indicate the validity of DONT_USE bits. \n 12933 12934 */ 12935 12936 qmiLocSvMeasStatusMaskT_v02 measurementStatus; 12937 /**< Bitmask indicating the SV measurement status. 12938 12939 Valid bitmasks: \n 12940 - QMI_LOC_MASK_MEAS_STATUS_SM_VALID (0x00000001) -- Satellite time in submilliseconds (code phase) is known 12941 - QMI_LOC_MASK_MEAS_STATUS_SB_VALID (0x00000002) -- Satellite sub-bit time is known 12942 - QMI_LOC_MASK_MEAS_STATUS_MS_VALID (0x00000004) -- Satellite time in milliseconds is known 12943 - QMI_LOC_MASK_MEAS_STATUS_BE_CONFIRM (0x00000008) -- Signal bit edge is confirmed 12944 - QMI_LOC_MASK_MEAS_STATUS_VELOCITY_VALID (0x00000010) -- Satellite Doppler is measured 12945 - QMI_LOC_MASK_MEAS_STATUS_VELOCITY_FINE (0x00000020) -- TRUE: Fine Doppler is measured, FALSE: Coarse Doppler is measured 12946 - QMI_LOC_MASK_MEAS_STATUS_FROM_RNG_DIFF (0x00000200) -- Range update from satellite differences is measured 12947 - QMI_LOC_MASK_MEAS_STATUS_FROM_VE_DIFF (0x00000400) -- Doppler update from satellite differences is measured} 12948 12949 If any MSB bit in 0xFFC0000000000000 DONT_USE is set, the measurement 12950 must not be used by the client. 12951 */ 12952 12953 uint16_t CNo; 12954 /**< Carrier to noise ratio. \n 12955 - Units: dBHz \n 12956 - Scale: 0.1 12957 */ 12958 12959 uint16_t gloRfLoss; 12960 /**< GLONASS RF loss reference to the antenna. \n 12961 - Units: dB \n 12962 - Scale: 0.1 12963 */ 12964 12965 int32_t measLatency; 12966 /**< Age of the measurement. A positive value means the measurement precedes the reference time. \n 12967 - Units: Milliseconds 12968 */ 12969 12970 qmiLocSVTimeSpeedStructT_v02 svTimeSpeed; 12971 /**< SV time and speed information. */ 12972 12973 uint8_t lossOfLock; 12974 /**< Loss of signal lock indicator. \n 12975 - 0: Signal is in continuous track \n 12976 - 1: Signal is not in track 12977 */ 12978 12979 float multipathEstimate; 12980 /**< Estimate of multipath in a measurement. \n 12981 - Units: Meters 12982 */ 12983 12984 float fineSpeed; 12985 /**< Carrier phase derived speed. \n 12986 - Units: Meters per second 12987 */ 12988 12989 float fineSpeedUnc; 12990 /**< Carrier phase derived speed uncertainty. \n 12991 - Units: Meters per second 12992 */ 12993 12994 double carrierPhase; 12995 /**< Carrier phase measurement (L1 cycles). 12996 */ 12997 12998 uint8_t cycleSlipCount; 12999 /**< Increments when a cycle slip is detected. */ 13000 13001 float svAzimuth; 13002 /**< Satellite azimuth. \n 13003 - Units: Radians \n 13004 - Range: 0 to 2*pi() 13005 */ 13006 13007 float svElevation; 13008 /**< Satellite elevation. \n 13009 - Units: Radians \n 13010 - Range: 0 to pi()/2 13011 */ 13012 }qmiLocSVMeasurementStructT_v02; /* Type */ 13013 /** 13014 @} 13015 */ 13016 13017 /** @addtogroup loc_qmi_messages 13018 @{ 13019 */ 13020 /** Indication Message; Sends a satellite measurement report to the control point. */ 13021 typedef struct { 13022 13023 /* Mandatory */ 13024 /* Current Message Sequence Number */ 13025 uint8_t seqNum; 13026 /**< Current message number. Used for segmentation/assembly of measurement reports. */ 13027 13028 /* Mandatory */ 13029 /* Maximum Number of Messages to be Sent for Present Time Epoch */ 13030 uint8_t maxMessageNum; 13031 /**< Maximum number of messages that are to be sent for the present time epoch. */ 13032 13033 /* Mandatory */ 13034 /* Specifies Satellite System Constellation of This Report */ 13035 qmiLocSvSystemEnumT_v02 system; 13036 /**< Specifies the satellite system constellation of this report. 13037 13038 Valid values: \n 13039 - eQMI_LOC_SV_SYSTEM_GPS (1) -- GPS satellite 13040 - eQMI_LOC_SV_SYSTEM_GALILEO (2) -- GALILEO satellite 13041 - eQMI_LOC_SV_SYSTEM_SBAS (3) -- SBAS satellite 13042 - eQMI_LOC_SV_SYSTEM_COMPASS (4) -- COMPASS satellite (Deprecated) 13043 - eQMI_LOC_SV_SYSTEM_GLONASS (5) -- GLONASS satellite 13044 - eQMI_LOC_SV_SYSTEM_BDS (6) -- BDS satellite 13045 - eQMI_LOC_SV_SYSTEM_QZSS (7) -- QZSS satellite 13046 */ 13047 13048 /* Optional */ 13049 /* GNSS Receiver Clock Frequency Information */ 13050 uint8_t rcvrClockFrequencyInfo_valid; /**< Must be set to true if rcvrClockFrequencyInfo is being passed */ 13051 qmiLocRcvrClockFrequencyInfoStructT_v02 rcvrClockFrequencyInfo; 13052 13053 /* Optional */ 13054 /* Leap Second Information */ 13055 uint8_t leapSecondInfo_valid; /**< Must be set to true if leapSecondInfo is being passed */ 13056 qmiLocLeapSecondInfoStructT_v02 leapSecondInfo; 13057 13058 /* Optional */ 13059 /* GPS to GLONASS Intersystem Time Bias */ 13060 uint8_t gpsGloInterSystemBias_valid; /**< Must be set to true if gpsGloInterSystemBias is being passed */ 13061 qmiLocInterSystemBiasStructT_v02 gpsGloInterSystemBias; 13062 /**< \vspace{4pt} \n 13063 This is reported if both GPS and GLONASS system 13064 information reporting are enabled. \n 13065 - System 1: GPS \n 13066 - System 2: GLONASS 13067 */ 13068 13069 /* Optional */ 13070 /* GPS to BDS Intersystem Time Bias */ 13071 uint8_t gpsBdsInterSystemBias_valid; /**< Must be set to true if gpsBdsInterSystemBias is being passed */ 13072 qmiLocInterSystemBiasStructT_v02 gpsBdsInterSystemBias; 13073 /**< \vspace{4pt} \n 13074 This is reported if both GPS and BDS system 13075 information reporting are enabled. \n 13076 - System 1: GPS \n 13077 - System 2: BDS 13078 */ 13079 13080 /* Optional */ 13081 /* GPS to GALILEO Intersystem Time Bias */ 13082 uint8_t gpsGalInterSystemBias_valid; /**< Must be set to true if gpsGalInterSystemBias is being passed */ 13083 qmiLocInterSystemBiasStructT_v02 gpsGalInterSystemBias; 13084 /**< \vspace{4pt} \n 13085 This is reported if both GPS and GALILEO system 13086 information reporting are enabled. \n 13087 - System 1: GPS \n 13088 - System 2: GALILEO 13089 */ 13090 13091 /* Optional */ 13092 /* BDS to GLONASS Intersystem Time Bias */ 13093 uint8_t bdsGloInterSystemBias_valid; /**< Must be set to true if bdsGloInterSystemBias is being passed */ 13094 qmiLocInterSystemBiasStructT_v02 bdsGloInterSystemBias; 13095 /**< \vspace{4pt} \n 13096 This is reported if both BDS and GLONASS system 13097 information reporting are enabled. \n 13098 - System 1: BDS \n 13099 - System 2: GLONASS 13100 */ 13101 13102 /* Optional */ 13103 /* GAL to GLONASS Intersystem Time Bias */ 13104 uint8_t galGloInterSystemBias_valid; /**< Must be set to true if galGloInterSystemBias is being passed */ 13105 qmiLocInterSystemBiasStructT_v02 galGloInterSystemBias; 13106 /**< \vspace{4pt} \n 13107 This is reported if both GAL and GLONASS system 13108 information reporting are enabled. \n 13109 - System 1: GAL \n 13110 - System 2: GLONASS 13111 */ 13112 13113 /* Optional */ 13114 /* GAL to BDS Intersystem Time Bias */ 13115 uint8_t galBdsInterSystemBias_valid; /**< Must be set to true if galBdsInterSystemBias is being passed */ 13116 qmiLocInterSystemBiasStructT_v02 galBdsInterSystemBias; 13117 /**< \vspace{4pt} \n 13118 This is reported if both GAL and BDS system 13119 information reporting are enabled. \n 13120 - System 1: GAL \n 13121 - System 2: BDS 13122 */ 13123 13124 /* Optional */ 13125 /* Satellite System Time Information for GPS, BDS, GAL Constellation */ 13126 uint8_t systemTime_valid; /**< Must be set to true if systemTime is being passed */ 13127 qmiLocGnssTimeStructT_v02 systemTime; 13128 13129 /* Optional */ 13130 /* GLONASS System Time Information */ 13131 uint8_t gloTime_valid; /**< Must be set to true if gloTime is being passed */ 13132 qmiLocGloTimeStructT_v02 gloTime; 13133 13134 /* Optional */ 13135 /* Extended Time Information */ 13136 uint8_t systemTimeExt_valid; /**< Must be set to true if systemTimeExt is being passed */ 13137 qmiLocGnssTimeExtStructT_v02 systemTimeExt; 13138 13139 /* Optional */ 13140 /* Satellite System Measurement Report for Enabled Constellation */ 13141 uint8_t svMeasurement_valid; /**< Must be set to true if svMeasurement is being passed */ 13142 uint32_t svMeasurement_len; /**< Must be set to # of elements in svMeasurement */ 13143 qmiLocSVMeasurementStructT_v02 svMeasurement[QMI_LOC_SV_MEAS_LIST_MAX_SIZE_V02]; 13144 13145 /* Optional */ 13146 /* Extended Time Information - Cumulative number of clock resets */ 13147 uint8_t numClockResets_valid; /**< Must be set to true if numClockResets is being passed */ 13148 uint32_t numClockResets; 13149 /**< Number of clock reset/discontinuities detected, affecting local HW counter value */ 13150 }qmiLocEventGnssSvMeasInfoIndMsgT_v02; /* Message */ 13151 /** 13152 @} 13153 */ 13154 13155 typedef uint16_t qmiLocSvPolyStatusMaskT_v02; 13156 #define QMI_LOC_SV_POLY_SRC_ALM_CORR_V02 ((qmiLocSvPolyStatusMaskT_v02)0x01) /**< Polynomials based on XTRA */ 13157 #define QMI_LOC_SV_POLY_GLO_STR4_V02 ((qmiLocSvPolyStatusMaskT_v02)0x02) /**< GLONASS string 4 has been received */ 13158 typedef uint16_t qmiLocSvPolyStatusMaskValidityT_v02; 13159 #define QMI_LOC_SV_POLY_SRC_ALM_CORR_VALID_V02 ((qmiLocSvPolyStatusMaskValidityT_v02)0x01) /**< Validity status for QMI_LOC_SV_POLY_SRC_ALM_CORR */ 13160 #define QMI_LOC_SV_POLY_GLO_STR4_VALID_V02 ((qmiLocSvPolyStatusMaskValidityT_v02)0x02) /**< Validity status for QMI_LOC_SV_POLY_GLO_STR4 */ 13161 /** @addtogroup loc_qmi_messages 13162 @{ 13163 */ 13164 /** Indication Message; Sends a satellite polynomial report to the control point. */ 13165 typedef struct { 13166 13167 /* Mandatory */ 13168 /* GNSS SV Polynomial Report */ 13169 uint16_t gnssSvId; 13170 /**< GNSS SV ID. \begin{itemize1} 13171 \item Range: \begin{itemize1} 13172 \item For GPS: 1 to 32 13173 \item For GLONASS: 65 to 96 (when the slot number to SV ID mapping is unknown, set to 255) 13174 \item For SBAS: 120 to 158 and 183 to 187 13175 \item For QZSS: 193 to 197 13176 \item For BDS: 201 to 237 13177 \item For GAL: 301 to 336 13178 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 13179 13180 /* Mandatory */ 13181 /* Reference Time for Polynomial Calculations */ 13182 double T0; 13183 /**< Reference time for polynomial calculations. \n 13184 - GPS, QZSS: Seconds in the week \n 13185 - GLO: Full seconds since Jan. 1, 1996 \n 13186 - BDS: Full seconds since Jan. 1, 2006 \n 13187 - GAL: Calculated from 00:00 UT on Sunday, August 22, 1999 (midnight between August 21 and August 22) 13188 */ 13189 13190 /* Mandatory */ 13191 /* SV Polynomial Validity Status */ 13192 qmiLocSvPolyStatusMaskValidityT_v02 svPolyFlagValid; 13193 /**< Validity mask for bits in svPolyFlags. A set bit in svPolyFlagValid indicates that a 13194 corresponding bit in svPolyFlags has valid status information. 13195 13196 Valid bitmasks: \n 13197 - QMI_LOC_SV_POLY_SRC_ALM_CORR_VALID (0x01) -- Validity status for QMI_LOC_SV_POLY_SRC_ALM_CORR 13198 - QMI_LOC_SV_POLY_GLO_STR4_VALID (0x02) -- Validity status for QMI_LOC_SV_POLY_GLO_STR4 */ 13199 13200 /* Mandatory */ 13201 /* SV Polynomial Report Status */ 13202 qmiLocSvPolyStatusMaskT_v02 svPolyFlags; 13203 /**< Flags indicating the status of a polynomial report. 13204 13205 Valid bitmasks: \n 13206 - QMI_LOC_SV_POLY_SRC_ALM_CORR (0x01) -- Polynomials based on XTRA 13207 - QMI_LOC_SV_POLY_GLO_STR4 (0x02) -- GLONASS string 4 has been received */ 13208 13209 /* Optional */ 13210 /* Polynomial Coefficient's 0th Term for X, Y, and Z Coordinates */ 13211 uint8_t polyCoeffXYZ0_valid; /**< Must be set to true if polyCoeffXYZ0 is being passed */ 13212 double polyCoeffXYZ0[QMI_LOC_SV_POLY_XYZ_0_TH_ORDER_COEFF_SIZE_V02]; 13213 /**< Polynomial coefficient's 0th term for X, Y, and Z coordinates (C0X, C0Y, C0Z). \n 13214 - Units: Meters 13215 */ 13216 13217 /* Optional */ 13218 /* Polynomial Coefficient's 1st, 2nd, and 3rd Terms for X, Y, and Z Coordinates */ 13219 uint8_t polyCoefXYZN_valid; /**< Must be set to true if polyCoefXYZN is being passed */ 13220 double polyCoefXYZN[QMI_LOC_SV_POLY_XYZ_N_TH_ORDER_COEFF_SIZE_V02]; 13221 /**< Polynomial coefficient's 1st, 2nd, and 3rd terms for X, Y, and Z coordinates (C1X, C2X,... C2Z, C3Z). \begin{itemize1} 13222 \item Units: \begin{itemize1} 13223 \item 1st term -- Meters/second 13224 \item 2nd term -- Meters/second^2 13225 \item 3rd term -- Meters/seconds^3 \vspace{-0.18in} \end{itemize1} end{itemize1} 13226 */ 13227 13228 /* Optional */ 13229 /* Polynomial Coefficients for Satellite Clock Bias Correction */ 13230 uint8_t polyCoefClockBias_valid; /**< Must be set to true if polyCoefClockBias is being passed */ 13231 float polyCoefClockBias[QMI_LOC_SV_POLY_SV_CLKBIAS_COEFF_SIZE_V02]; 13232 /**< Polynomial coefficients for satellite clock bias correction (C0T, C1T, C2T, C3T). \begin{itemize1} 13233 \item Units: \begin{itemize1} 13234 \item 0th term -- Milliseconds/second 13235 \item 1st term -- Milliseconds/second^2 13236 \item 2nd term -- Milliseconds/second^3 13237 \item 3rd term -- Milliseconds/second^4 \vspace{-0.18in} \end{itemize1} end{itemize1} 13238 */ 13239 13240 /* Optional */ 13241 /* GLONASS Frequency Number */ 13242 uint8_t gloFrequency_valid; /**< Must be set to true if gloFrequency is being passed */ 13243 uint8_t gloFrequency; 13244 /**< GLONASS frequency number + 7. \n 13245 Valid only for GLONASS systems and 13246 must be ignored for all other systems. \n 13247 - Range: 1 to 14 13248 */ 13249 13250 /* Optional */ 13251 /* Ephemeris Reference Time */ 13252 uint8_t IODE_valid; /**< Must be set to true if IODE is being passed */ 13253 uint16_t IODE; 13254 /**< Ephemeris reference time. \n 13255 - GPS -- Issue of data ephemeris used (unitless) \n 13256 - GLONASS -- Tb 7-bit \n 13257 - Galileo -- 10-bit 13258 */ 13259 13260 /* Optional */ 13261 /* Enhanced Reference Time */ 13262 uint8_t enhancedIOD_valid; /**< Must be set to true if enhancedIOD is being passed */ 13263 uint32_t enhancedIOD; 13264 /**< For BDS ephemeris, this is TOE. 13265 */ 13266 13267 /* Optional */ 13268 /* SV Position Uncertainty */ 13269 uint8_t svPosUnc_valid; /**< Must be set to true if svPosUnc is being passed */ 13270 float svPosUnc; 13271 /**< SV position uncertainty. \n 13272 - Units: Meters 13273 */ 13274 13275 /* Optional */ 13276 /* Iono Delay */ 13277 uint8_t ionoDelay_valid; /**< Must be set to true if ionoDelay is being passed */ 13278 float ionoDelay; 13279 /**< Ionospheric delay at T0. \n 13280 - Units: Meters 13281 */ 13282 13283 /* Optional */ 13284 /* Iono Delay Rate */ 13285 uint8_t ionoDot_valid; /**< Must be set to true if ionoDot is being passed */ 13286 float ionoDot; 13287 /**< Ionospheric delay rate. \n 13288 - Units: Meters/second 13289 */ 13290 13291 /* Optional */ 13292 /* SBAS Iono Delay */ 13293 uint8_t sbasIonoDelay_valid; /**< Must be set to true if sbasIonoDelay is being passed */ 13294 float sbasIonoDelay; 13295 /**< SBAS ionospheric delay at T0. \n 13296 - Units: Meters 13297 */ 13298 13299 /* Optional */ 13300 /* SBAS Iono Delay Rate */ 13301 uint8_t sbasIonoDot_valid; /**< Must be set to true if sbasIonoDot is being passed */ 13302 float sbasIonoDot; 13303 /**< SBAS ionospheric delay rate. \n 13304 - Units: Meters/second 13305 */ 13306 13307 /* Optional */ 13308 /* Tropospheric Delay */ 13309 uint8_t tropoDelay_valid; /**< Must be set to true if tropoDelay is being passed */ 13310 float tropoDelay; 13311 /**< Tropospheric delay. \n 13312 - Units: Meters 13313 */ 13314 13315 /* Optional */ 13316 /* Satellite Elevation */ 13317 uint8_t elevation_valid; /**< Must be set to true if elevation is being passed */ 13318 float elevation; 13319 /**< Satellite elevation at T0. \n 13320 - Units: Radians 13321 */ 13322 13323 /* Optional */ 13324 /* Satellite Elevation Rate */ 13325 uint8_t elevationDot_valid; /**< Must be set to true if elevationDot is being passed */ 13326 float elevationDot; 13327 /**< Satellite elevation rate. \n 13328 - Units: Radians/second 13329 */ 13330 13331 /* Optional */ 13332 /* Satellite Elevation Uncertainty */ 13333 uint8_t elenationUnc_valid; /**< Must be set to true if elenationUnc is being passed */ 13334 float elenationUnc; 13335 /**< SV elevation uncertainty. \n 13336 - Units: Radians 13337 */ 13338 13339 /* Optional */ 13340 /* Polynomial Coefficients for SV Velocity */ 13341 uint8_t velCoef_valid; /**< Must be set to true if velCoef is being passed */ 13342 double velCoef[QMI_LOC_SV_POLY_VELOCITY_COEF_SIZE_V02]; 13343 /**< Polynomial coefficients for SV velocity (C0X, C1X, C2X, C3X,... C2Z, C3Z). \begin{itemize1} 13344 \item Units: \begin{itemize1} 13345 \item 0th term -- Meters/second 13346 \item 1st term -- Meters/second^2 13347 \item 2nd term -- Meters/second^3 13348 \item 3rd term -- Meters/second^4 \vspace{-0.18in} \end{itemize1} end{itemize1} 13349 */ 13350 }qmiLocEventGnssSvPolyIndMsgT_v02; /* Message */ 13351 /** 13352 @} 13353 */ 13354 13355 /** @addtogroup loc_qmi_aggregates 13356 @{ 13357 */ 13358 typedef struct { 13359 13360 uint8_t wifiApMacAddress[QMI_LOC_WIFI_MAC_ADDR_LENGTH_V02]; 13361 /**< MAC address of the Wi-Fi AP. */ 13362 }qmiLocWifiApMacAddressStructT_v02; /* Type */ 13363 /** 13364 @} 13365 */ 13366 13367 /** @addtogroup loc_qmi_aggregates 13368 @{ 13369 */ 13370 typedef struct { 13371 13372 char uuid[QMI_LOC_MAX_IBEACON_UUID_STR_LENGTH_V02 + 1]; 13373 /**< NULL-terminated IBeacon identifier string; a 128-bit value. */ 13374 13375 uint32_t majorNumber; 13376 /**< IBeacon major number.*/ 13377 13378 uint32_t minorNumber; 13379 /**< IBeacon minor number.*/ 13380 }qmiLocIBeaconIdStructT_v02; /* Type */ 13381 /** 13382 @} 13383 */ 13384 13385 /** @addtogroup loc_qmi_messages 13386 @{ 13387 */ 13388 /** Request Message; Used by the control point to inject the Geofence context. */ 13389 typedef struct { 13390 13391 /* Mandatory */ 13392 /* Transaction ID */ 13393 uint32_t transactionId; 13394 /**< Identifies the transaction. The transaction ID 13395 is returned in the Add Geofence Context indication. */ 13396 13397 /* Optional */ 13398 /* Geofence ID */ 13399 uint8_t geofenceId_valid; /**< Must be set to true if geofenceId is being passed */ 13400 uint32_t geofenceId; 13401 /**< Geofence identifier allocated by the engine. \n 13402 If the Geofence ID is not provided, a Geofence is created with an Area ID 13403 list only (e.g., Wi-Fi only list Geofence). \n 13404 If the Geofence ID is provided, the added list is used as assistance data 13405 to the existing Geofence. */ 13406 13407 /* Optional */ 13408 /* Wi-Fi AP SSID String */ 13409 uint8_t wifiApSsidInfo_valid; /**< Must be set to true if wifiApSsidInfo is being passed */ 13410 uint32_t wifiApSsidInfo_len; /**< Must be set to # of elements in wifiApSsidInfo */ 13411 qmiLocWifiApSsidStructT_v02 wifiApSsidInfo[QMI_LOC_WIFI_AREA_ID_LIST_LENGTH_V02]; 13412 /**< \vspace{4pt} \n The ordering of the Wi-Fi AP SSID list should match the Wi-Fi AP MAC address 13413 list when both are provided, 13414 that is, the first element of the Wi-Fi AP SSID list must be the SSID of the AP whose MAC 13415 address is in the first element in the Wi-Fi AP MAC address, etc. */ 13416 13417 /* Optional */ 13418 /* Wi-Fi AP MAC Address List for the Geofence */ 13419 uint8_t wifiApMacAddressList_valid; /**< Must be set to true if wifiApMacAddressList is being passed */ 13420 uint32_t wifiApMacAddressList_len; /**< Must be set to # of elements in wifiApMacAddressList */ 13421 qmiLocWifiApMacAddressStructT_v02 wifiApMacAddressList[QMI_LOC_WIFI_AREA_ID_LIST_LENGTH_V02]; 13422 /**< The ordering of the Wi-Fi AP SSID list should match the Wi-Fi AP MAC address 13423 list when both are provided, 13424 that is, the first element of the Wi-Fi AP SSID list must be the SSID of the AP whose MAC 13425 address is in the first element in the Wi-Fi AP MAC address, etc. */ 13426 13427 /* Optional */ 13428 /* TDSCDMA Cell ID List for the Geofence */ 13429 uint8_t tdsCdmaCellIDList_valid; /**< Must be set to true if tdsCdmaCellIDList is being passed */ 13430 qmiLocTDSCDMACellIdStructT_v02 tdsCdmaCellIDList[QMI_LOC_CELL_ID_LIST_LENGTH_V02]; 13431 /**< \n Identifies the TDSCDMA cell on which the device is currently camped. */ 13432 13433 /* Optional */ 13434 /* WCDMA Cell ID List for the Geofence */ 13435 uint8_t wcdmaCellIDList_valid; /**< Must be set to true if wcdmaCellIDList is being passed */ 13436 uint32_t wcdmaCellIDList_len; /**< Must be set to # of elements in wcdmaCellIDList */ 13437 qmiLocWCDMACellIdStructT_v02 wcdmaCellIDList[QMI_LOC_CELL_ID_LIST_LENGTH_V02]; 13438 /**< \vspace{4pt} \n Identifies the WCDMA cell on which the device is currently camped. */ 13439 13440 /* Optional */ 13441 /* GSM Cell ID List for the Geofence */ 13442 uint8_t gsmCellIDList_valid; /**< Must be set to true if gsmCellIDList is being passed */ 13443 uint32_t gsmCellIDList_len; /**< Must be set to # of elements in gsmCellIDList */ 13444 qmiLocGSMCellIdStructT_v02 gsmCellIDList[QMI_LOC_CELL_ID_LIST_LENGTH_V02]; 13445 /**< \n Identifies the GSM cell on which the device is currently camped. */ 13446 13447 /* Optional */ 13448 /* IBeacon List of the Geofence */ 13449 uint8_t iBeaconList_valid; /**< Must be set to true if iBeaconList is being passed */ 13450 uint32_t iBeaconList_len; /**< Must be set to # of elements in iBeaconList */ 13451 qmiLocIBeaconIdStructT_v02 iBeaconList[QMI_LOC_IBEACON_LIST_LENGTH_V02]; 13452 }qmiLocAddGeofenceContextReqMsgT_v02; /* Message */ 13453 /** 13454 @} 13455 */ 13456 13457 /** @addtogroup loc_qmi_messages 13458 @{ 13459 */ 13460 /** Indication Message; Used by the control point to inject the Geofence context. */ 13461 typedef struct { 13462 13463 /* Mandatory */ 13464 /* Status of the Add Geofence Context Request */ 13465 qmiLocStatusEnumT_v02 status; 13466 /**< Status of the Add Geofence Context request. 13467 13468 Valid values: \n 13469 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 13470 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 13471 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 13472 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 13473 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 13474 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 13475 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 13476 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 13477 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 13478 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 13479 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 13480 */ 13481 13482 /* Optional */ 13483 /* Transaction ID */ 13484 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 13485 uint32_t transactionId; 13486 /**< Transaction ID that was specified in the Add Geofence Context 13487 request. This parameter is always present 13488 if the status field is set to SUCCESS. */ 13489 13490 /* Optional */ 13491 /* Geofence ID */ 13492 uint8_t geofenceId_valid; /**< Must be set to true if geofenceId is being passed */ 13493 uint32_t geofenceId; 13494 /**< Geofence identifier allocated by the engine. \n 13495 If the client specifies the Geofence ID during the Add Geofence Context request, 13496 the same ID is returned. \n 13497 If the client does not specify the Geofence ID during the Add Geofence Context request, 13498 a new Geofence ID is created by the Geofence engine and returned. */ 13499 13500 /* Optional */ 13501 /* Context ID */ 13502 uint8_t contextId_valid; /**< Must be set to true if contextId is being passed */ 13503 uint32_t contextId; 13504 /**< Geofence context ID allocated by the engine. 13505 The context ID is generated by the Geofence engine to identify the context 13506 for a particular Geofence ID. 13507 The same Geofence ID may be associated with multiple contexts. */ 13508 }qmiLocAddGeofenceContextIndMsgT_v02; /* Message */ 13509 /** 13510 @} 13511 */ 13512 13513 /** @addtogroup loc_qmi_messages 13514 @{ 13515 */ 13516 /** Request Message; Used by the control point to inject the Geofence engine context. */ 13517 typedef struct { 13518 13519 /* Mandatory */ 13520 /* Transaction ID */ 13521 uint32_t transactionId; 13522 /**< Identifies the transaction. The transaction ID 13523 is returned in the Set Geofence Engine Context indication. */ 13524 13525 /* Optional */ 13526 /* UTC Timestamp of the Day */ 13527 uint8_t utcTimeOfDay_valid; /**< Must be set to true if utcTimeOfDay is being passed */ 13528 uint64_t utcTimeOfDay; 13529 /**< The UTC time of the day. */ 13530 13531 /* Optional */ 13532 /* Temperature of the Day in Fahrenheit */ 13533 uint8_t temperature_valid; /**< Must be set to true if temperature is being passed */ 13534 int32_t temperature; 13535 /**< The temperature of the day in degrees Fahrenheit. */ 13536 }qmiLocSetGeofenceEngineContextReqMsgT_v02; /* Message */ 13537 /** 13538 @} 13539 */ 13540 13541 /** @addtogroup loc_qmi_messages 13542 @{ 13543 */ 13544 /** Indication Message; Used by the control point to inject the Geofence engine context. */ 13545 typedef struct { 13546 13547 /* Mandatory */ 13548 /* Status of the Set Geofence Engine Context Request */ 13549 qmiLocStatusEnumT_v02 status; 13550 /**< Status of the Set Geofence Engine Context request. 13551 13552 Valid values: \n 13553 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 13554 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 13555 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 13556 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 13557 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 13558 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 13559 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 13560 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 13561 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 13562 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 13563 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 13564 */ 13565 13566 /* Optional */ 13567 /* Transaction ID */ 13568 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 13569 uint32_t transactionId; 13570 /**< Transaction ID that was specified in the Set Geofence Engine Context 13571 request. This parameter will always be present 13572 if the status field is set to SUCCESS. */ 13573 }qmiLocSetGeofenceEngineContextIndMsgT_v02; /* Message */ 13574 /** 13575 @} 13576 */ 13577 13578 /** @addtogroup loc_qmi_messages 13579 @{ 13580 */ 13581 /** Request Message; Used by the control point to delete the Geofence context. */ 13582 typedef struct { 13583 13584 /* Mandatory */ 13585 /* Transaction ID */ 13586 uint32_t transactionId; 13587 /**< Identifies the transaction. The transaction ID 13588 is returned in the Delete Geofence Context indication. */ 13589 13590 /* Mandatory */ 13591 /* Geofence ID */ 13592 uint32_t geofenceId; 13593 /**< Identifies the Geofence whose context is to be deleted. */ 13594 13595 /* Optional */ 13596 /* Context ID */ 13597 uint8_t contextId_valid; /**< Must be set to true if contextId is being passed */ 13598 uint32_t contextId; 13599 /**< Identifies the context associated with the Geofence to be deleted. 13600 If not specified, all contexts associated with this Geofence are deleted. */ 13601 }qmiLocDeleteGeofenceContextReqMsgT_v02; /* Message */ 13602 /** 13603 @} 13604 */ 13605 13606 /** @addtogroup loc_qmi_messages 13607 @{ 13608 */ 13609 /** Indication Message; Used by the control point to delete the Geofence context. */ 13610 typedef struct { 13611 13612 /* Mandatory */ 13613 /* Status of the Delete Geofence Context Request */ 13614 qmiLocStatusEnumT_v02 status; 13615 /**< Status of the Delete Geofence Context request. 13616 13617 Valid values: \n 13618 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 13619 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 13620 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 13621 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 13622 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 13623 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 13624 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 13625 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 13626 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 13627 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 13628 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 13629 */ 13630 13631 /* Optional */ 13632 /* Transaction ID */ 13633 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 13634 uint32_t transactionId; 13635 /**< Transaction ID that was specified in the Delete Geofence Context request. 13636 This parameter will always be present 13637 if the status field is set to SUCCESS. */ 13638 13639 /* Optional */ 13640 /* Geofence ID */ 13641 uint8_t geofenceId_valid; /**< Must be set to true if geofenceId is being passed */ 13642 uint32_t geofenceId; 13643 /**< Identifier for the Geofence whose context was deleted. */ 13644 13645 /* Optional */ 13646 /* Context ID */ 13647 uint8_t contextId_valid; /**< Must be set to true if contextId is being passed */ 13648 uint32_t contextId; 13649 /**< Identifier for the context of the Geofence that was deleted. */ 13650 }qmiLocDeleteGeofenceContextIndMsgT_v02; /* Message */ 13651 /** 13652 @} 13653 */ 13654 13655 /** @addtogroup loc_qmi_messages 13656 @{ 13657 */ 13658 /** Request Message; Injects Global Terrestrial Positioning (GTP) WWAN client downloaded data. */ 13659 typedef struct { 13660 13661 /* Mandatory */ 13662 /* Data */ 13663 uint32_t ClientDownloadedData_len; /**< Must be set to # of elements in ClientDownloadedData */ 13664 char ClientDownloadedData[QMI_LOC_MAX_GTP_WWAN_CLIENT_DOWNLOADED_DATA_LEN_V02]; 13665 /**< All GTP response client downloaded data, including WWAN, WLAN, common, etc. \n 13666 - Type: Array of bytes \n 13667 - Maximum length of the array: 512 13668 */ 13669 }qmiLocInjectGtpClientDownloadedDataReqMsgT_v02; /* Message */ 13670 /** 13671 @} 13672 */ 13673 13674 /** @addtogroup loc_qmi_messages 13675 @{ 13676 */ 13677 /** Indication Message; Injects Global Terrestrial Positioning (GTP) WWAN client downloaded data. */ 13678 typedef struct { 13679 13680 /* Mandatory */ 13681 /* GTP Client Downloaded Data Injection Status */ 13682 qmiLocStatusEnumT_v02 status; 13683 /**< Status of the GTP client downloaded data injection. 13684 Valid values: \n 13685 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 13686 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 13687 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 13688 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 13689 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 13690 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 13691 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 13692 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 13693 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 13694 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 13695 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 13696 */ 13697 }qmiLocInjectGtpClientDownloadedDataIndMsgT_v02; /* Message */ 13698 /** 13699 @} 13700 */ 13701 13702 /** @addtogroup loc_qmi_messages 13703 @{ 13704 */ 13705 /** Request Message; Sends a GDT upload begin response to GDT MP. */ 13706 typedef struct { 13707 13708 /* Mandatory */ 13709 /* GDT Service ID */ 13710 qmiLocGdtServiceIdEnumT_v02 serviceId; 13711 /**< Values: \n 13712 - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL 13713 - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT service for WWAN DL */ 13714 13715 /* Mandatory */ 13716 /* Session ID */ 13717 uint32_t sessionId; 13718 /**< Session ID. */ 13719 13720 /* Mandatory */ 13721 /* Access Status to GDT */ 13722 qmiLocGdtAccessStatusEnumT_v02 gdtAccessStatus; 13723 /**< GDT status information for this service ID. 13724 13725 Values: \n 13726 - eQMI_LOC_GDT_ACCESS_ALLOWED (1) -- GDT access to the service is allowed 13727 - eQMI_LOC_GDT_ACCESS_FAILED (2) -- Any type of GDT access error 13728 - eQMI_LOC_GDT_ACCESS_NOT_ALLOWED (3) -- GDT access to the service is not allowed 13729 */ 13730 }qmiLocGdtUploadBeginStatusReqMsgT_v02; /* Message */ 13731 /** 13732 @} 13733 */ 13734 13735 /** @addtogroup loc_qmi_messages 13736 @{ 13737 */ 13738 /** Indication Message; Sends a GDT upload begin response to GDT MP. */ 13739 typedef struct { 13740 13741 /* Mandatory */ 13742 /* GDT Upload Begin Status */ 13743 qmiLocStatusEnumT_v02 status; 13744 /**< Status of the GDT begin request. 13745 Valid values: \n 13746 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 13747 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 13748 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 13749 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 13750 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 13751 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 13752 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 13753 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 13754 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 13755 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 13756 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 13757 */ 13758 }qmiLocGdtUploadBeginStatusIndMsgT_v02; /* Message */ 13759 /** 13760 @} 13761 */ 13762 13763 /** @addtogroup loc_qmi_enums 13764 @{ 13765 */ 13766 typedef enum { 13767 QMILOCGDTENDACKENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 13768 eQMI_LOC_GDT_ACK_SUCCESS_V02 = 1, /**< The sent data is accepeted */ 13769 eQMI_LOC_GDT_ACK_FAILED_V02 = 2, /**< The sent data was not accepted */ 13770 eQMI_LOC_GDT_ACK_INVALID_V02 = 3, /**< General error in the received data */ 13771 QMILOCGDTENDACKENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 13772 }qmiLocGdtEndAckEnumT_v02; 13773 /** 13774 @} 13775 */ 13776 13777 /** @addtogroup loc_qmi_messages 13778 @{ 13779 */ 13780 /** Request Message; Sends a GDT upload end response to GDT MP. */ 13781 typedef struct { 13782 13783 /* Mandatory */ 13784 /* GDT Service ID */ 13785 qmiLocGdtServiceIdEnumT_v02 serviceId; 13786 /**< Values: \n 13787 13788 - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL 13789 - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT service for WWAN DL */ 13790 13791 /* Mandatory */ 13792 /* Session ID */ 13793 uint32_t sessionId; 13794 /**< Session ID. */ 13795 13796 /* Mandatory */ 13797 /* Access Status to GDT */ 13798 qmiLocGdtEndAckEnumT_v02 gdtEndStatus; 13799 /**< GDT end status information for this service ID. 13800 13801 Valid values: \n 13802 - eQMI_LOC_GDT_ACK_SUCCESS (1) -- The sent data is accepeted 13803 - eQMI_LOC_GDT_ACK_FAILED (2) -- The sent data was not accepted 13804 - eQMI_LOC_GDT_ACK_INVALID (3) -- General error in the received data 13805 */ 13806 }qmiLocGdtUploadEndReqMsgT_v02; /* Message */ 13807 /** 13808 @} 13809 */ 13810 13811 /** @addtogroup loc_qmi_messages 13812 @{ 13813 */ 13814 /** Indication Message; Sends a GDT upload end response to GDT MP. */ 13815 typedef struct { 13816 13817 /* Mandatory */ 13818 /* UTC GDT Upload End Status */ 13819 qmiLocStatusEnumT_v02 status; 13820 /**< Status of the GDT upload end request. 13821 13822 Valid values: \n 13823 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 13824 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 13825 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 13826 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 13827 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 13828 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 13829 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 13830 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 13831 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 13832 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 13833 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 13834 */ 13835 }qmiLocGdtUploadEndIndMsgT_v02; /* Message */ 13836 /** 13837 @} 13838 */ 13839 13840 /** @addtogroup loc_qmi_enums 13841 @{ 13842 */ 13843 typedef enum { 13844 QMILOCGTPAPSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 13845 eQMI_LOC_GTP_AP_STATUS_DB_READY_V02 = 1, /**< Indicates that the AP is initialized and ready to process MP download requests */ 13846 eQMI_LOC_GTP_AP_STATUS_DB_REFRESHED_V02 = 2, /**< Indicates that the AP has successfully refreshed partitions */ 13847 eQMI_LOC_GTP_AP_STATUS_DB_DELETED_V02 = 3, /**< Indicates that the AP has removed local partitions */ 13848 QMILOCGTPAPSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 13849 }qmiLocGtpApStatusEnumT_v02; 13850 /** 13851 @} 13852 */ 13853 13854 /** @addtogroup loc_qmi_messages 13855 @{ 13856 */ 13857 /** Request Message; Sends a Global Terrestrial Position (GTP) message to the MP 13858 notifying the GTP MP of AP DB readiness. */ 13859 typedef struct { 13860 13861 /* Mandatory */ 13862 /* AP DB Status */ 13863 qmiLocGtpApStatusEnumT_v02 gtpApDbStatus; 13864 /**< GTP AP DB status information. 13865 13866 Valid values: \n 13867 - eQMI_LOC_GTP_AP_STATUS_DB_READY (1) -- Indicates that the AP is initialized and ready to process MP download requests 13868 - eQMI_LOC_GTP_AP_STATUS_DB_REFRESHED (2) -- Indicates that the AP has successfully refreshed partitions 13869 - eQMI_LOC_GTP_AP_STATUS_DB_DELETED (3) -- Indicates that the AP has removed local partitions 13870 */ 13871 13872 /* Optional */ 13873 /* AP PCID (8 byte) */ 13874 uint8_t gtpApPcid64_valid; /**< Must be set to true if gtpApPcid64 is being passed */ 13875 uint64_t gtpApPcid64; 13876 /**< AP pseudoclient ID. */ 13877 13878 /* Optional */ 13879 /* OEM ID (non-NULL Terminated) */ 13880 uint8_t oemId_valid; /**< Must be set to true if oemId is being passed */ 13881 uint32_t oemId_len; /**< Must be set to # of elements in oemId */ 13882 char oemId[QMI_LOC_MAX_OEM_ID_LEN_V02]; 13883 /**< OEM ID. \n 13884 - Type: character string \n 13885 - Maximum length of the array: 256 13886 */ 13887 13888 /* Optional */ 13889 /* Model ID (non-NULL Terminated) */ 13890 uint8_t modelId_valid; /**< Must be set to true if modelId is being passed */ 13891 uint32_t modelId_len; /**< Must be set to # of elements in modelId */ 13892 char modelId[QMI_LOC_MAX_MODEL_ID_LEN_V02]; 13893 /**< Model ID. \n 13894 - Type: character string \n 13895 - Maximum length of the array: 256 13896 */ 13897 }qmiLocGtpApStatusReqMsgT_v02; /* Message */ 13898 /** 13899 @} 13900 */ 13901 13902 /** @addtogroup loc_qmi_aggregates 13903 @{ 13904 */ 13905 typedef struct { 13906 13907 uint8_t asnMajorVersion; 13908 /**< ASN major version. */ 13909 13910 uint8_t asnMinorVersion; 13911 /**< ASN minor version. */ 13912 13913 uint8_t asnPointVersion; 13914 /**< ASN point version. */ 13915 }qmiLocGtpAsnVerStructT_v02; /* Type */ 13916 /** 13917 @} 13918 */ 13919 13920 /** @addtogroup loc_qmi_messages 13921 @{ 13922 */ 13923 /** Indication Message; Sends a Global Terrestrial Position (GTP) message to the MP 13924 notifying the GTP MP of AP DB readiness. */ 13925 typedef struct { 13926 13927 /* Mandatory */ 13928 /* GTP MP Status */ 13929 qmiLocStatusEnumT_v02 status; 13930 /**< Status of the GTP handshake. 13931 Valid values: \n 13932 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 13933 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 13934 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 13935 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 13936 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 13937 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 13938 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 13939 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 13940 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 13941 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 13942 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 13943 */ 13944 13945 /* Mandatory */ 13946 /* MP Client Software Version */ 13947 uint16_t clientSoftwareVersion; 13948 /**< MP client software version. */ 13949 13950 /* Mandatory */ 13951 /* MP ASN Version */ 13952 qmiLocGtpAsnVerStructT_v02 asnVersion; 13953 }qmiLocGtpApStatusIndMsgT_v02; /* Message */ 13954 /** 13955 @} 13956 */ 13957 13958 /** @addtogroup loc_qmi_enums 13959 @{ 13960 */ 13961 typedef enum { 13962 QMILOCGTPPROCESSSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 13963 eQMI_LOC_GTP_PROCESS_SUCCESS_FROM_LOCAL_V02 = 1, /**< DL processing is allowed using a local AP cache */ 13964 eQMI_LOC_GTP_PROCESS_SUCCESS_FROM_SERVER_V02 = 2, /**< DL processing is allowed using server access */ 13965 eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_AP_NOT_READY_V02 = 3, /**< DL processing is not allowed because the AP is not ready */ 13966 eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_AP_TIMEOUT_V02 = 4, /**< DL processing is not allowed because the AP cannot process within the given interval */ 13967 eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_NO_CONNECTIVITY_V02 = 5, /**< DL processing is not allowed because the AP has no connectivity */ 13968 eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_THROTTLED_V02 = 6, /**< DL processing is not allowed due to throttling */ 13969 eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_OTHER_V02 = 7, /**< DL processing is not allowed for any other reason */ 13970 eQMI_LOC_GTP_PROCESS_FAILED_UNSPECIFIED_V02 = 8, /**< DL processing failed for any other reason */ 13971 QMILOCGTPPROCESSSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 13972 }qmiLocGtpProcessStatusEnumT_v02; 13973 /** 13974 @} 13975 */ 13976 13977 /** @addtogroup loc_qmi_messages 13978 @{ 13979 */ 13980 /** Request Message; Sends a GTP message to the MP notifying it of AP DB readiness. */ 13981 typedef struct { 13982 13983 /* Mandatory */ 13984 /* GDT Service ID */ 13985 qmiLocGdtServiceIdEnumT_v02 serviceId; 13986 /**< Values: \n 13987 13988 - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL 13989 - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT service for WWAN DL */ 13990 13991 /* Mandatory */ 13992 /* Session ID */ 13993 uint32_t sessionId; 13994 /**< Session ID. */ 13995 13996 /* Mandatory */ 13997 /* AP Process Status */ 13998 qmiLocGtpProcessStatusEnumT_v02 processingStatus; 13999 /**< AP processing status information for this service ID. 14000 14001 Valid values: \n 14002 - eQMI_LOC_GTP_PROCESS_SUCCESS_FROM_LOCAL (1) -- DL processing is allowed using a local AP cache 14003 - eQMI_LOC_GTP_PROCESS_SUCCESS_FROM_SERVER (2) -- DL processing is allowed using server access 14004 - eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_AP_NOT_READY (3) -- DL processing is not allowed because the AP is not ready 14005 - eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_AP_TIMEOUT (4) -- DL processing is not allowed because the AP cannot process within the given interval 14006 - eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_NO_CONNECTIVITY (5) -- DL processing is not allowed because the AP has no connectivity 14007 - eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_THROTTLED (6) -- DL processing is not allowed due to throttling 14008 - eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_OTHER (7) -- DL processing is not allowed for any other reason 14009 - eQMI_LOC_GTP_PROCESS_FAILED_UNSPECIFIED (8) -- DL processing failed for any other reason 14010 */ 14011 14012 /* Optional */ 14013 /* WWAN Download Flag */ 14014 uint8_t wwanDownloadFlag_valid; /**< Must be set to true if wwanDownloadFlag is being passed */ 14015 uint16_t wwanDownloadFlag; 14016 /**< WWAN download flag. */ 14017 14018 /* Optional */ 14019 /* Encoded Response Location Information */ 14020 uint8_t respLocInfo_valid; /**< Must be set to true if respLocInfo is being passed */ 14021 uint32_t respLocInfo_len; /**< Must be set to # of elements in respLocInfo */ 14022 uint8_t respLocInfo[QMI_LOC_MAX_GTP_RLI_LEN_V02]; 14023 /**< Response location information encoded in asn.1 format. \n 14024 - Type: Array of bytes \n 14025 - Maximum length of the array: 256 14026 */ 14027 }qmiLocGdtDownloadBeginStatusReqMsgT_v02; /* Message */ 14028 /** 14029 @} 14030 */ 14031 14032 /** @addtogroup loc_qmi_messages 14033 @{ 14034 */ 14035 /** Indication Message; Sends a GTP message to the MP notifying it of AP DB readiness. */ 14036 typedef struct { 14037 14038 /* Mandatory */ 14039 /* GDT Download Begin Status */ 14040 qmiLocStatusEnumT_v02 status; 14041 /**< Status of the GDT begin request. 14042 Valid values: \n 14043 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 14044 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 14045 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 14046 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 14047 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 14048 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 14049 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 14050 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 14051 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 14052 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 14053 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 14054 */ 14055 }qmiLocGdtDownloadBeginStatusIndMsgT_v02; /* Message */ 14056 /** 14057 @} 14058 */ 14059 14060 /** @addtogroup loc_qmi_messages 14061 @{ 14062 */ 14063 /** Request Message; Sends a GTP message to the MP notifying it of data readiness. */ 14064 typedef struct { 14065 14066 /* Mandatory */ 14067 /* GDT Service ID */ 14068 qmiLocGdtServiceIdEnumT_v02 serviceId; 14069 /**< Values: \n 14070 14071 - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL 14072 - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT service for WWAN DL */ 14073 14074 /* Mandatory */ 14075 /* Session ID */ 14076 uint32_t sessionId; 14077 /**< Session ID. */ 14078 14079 /* Mandatory */ 14080 /* Processing Status */ 14081 qmiLocStatusEnumT_v02 status; 14082 /**< Status of the AP processing request. 14083 Valid values: \n 14084 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 14085 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 14086 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 14087 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 14088 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 14089 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 14090 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 14091 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 14092 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 14093 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 14094 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 14095 */ 14096 14097 /* Mandatory */ 14098 /* Data File Path (non-NULL Terminated) */ 14099 uint32_t filePath_len; /**< Must be set to # of elements in filePath */ 14100 char filePath[QMI_LOC_MAX_GDT_PATH_LEN_V02]; 14101 /**< File path to the data. \n 14102 - Type: Array of bytes \n 14103 - Maximum length of the array: 255 14104 */ 14105 }qmiLocGdtDownloadReadyStatusReqMsgT_v02; /* Message */ 14106 /** 14107 @} 14108 */ 14109 14110 /** @addtogroup loc_qmi_messages 14111 @{ 14112 */ 14113 /** Indication Message; Sends a GTP message to the MP notifying it of data readiness. */ 14114 typedef struct { 14115 14116 /* Mandatory */ 14117 /* GDT Ready Begin Status */ 14118 qmiLocStatusEnumT_v02 status; 14119 /**< Status of the GDT ready request. 14120 Valid values: \n 14121 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 14122 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 14123 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 14124 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 14125 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 14126 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 14127 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 14128 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 14129 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 14130 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 14131 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 14132 */ 14133 }qmiLocGdtDownloadReadyStatusIndMsgT_v02; /* Message */ 14134 /** 14135 @} 14136 */ 14137 14138 /** @addtogroup loc_qmi_messages 14139 @{ 14140 */ 14141 /** Request Message; Acknowledges receipt of Receive Done to the GDT MP. */ 14142 typedef struct { 14143 14144 /* Mandatory */ 14145 /* GDT Service ID */ 14146 qmiLocGdtServiceIdEnumT_v02 serviceId; 14147 /**< Values: \n 14148 14149 - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL 14150 - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT service for WWAN DL */ 14151 14152 /* Mandatory */ 14153 /* Session ID */ 14154 uint32_t sessionId; 14155 /**< Session ID. */ 14156 14157 /* Mandatory */ 14158 /* QMI LOC Status */ 14159 qmiLocStatusEnumT_v02 status; 14160 /**< Values: \n 14161 14162 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 14163 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 14164 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 14165 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 14166 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 14167 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 14168 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 14169 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 14170 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 14171 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 14172 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 14173 }qmiLocGdtReceiveDoneStatusReqMsgT_v02; /* Message */ 14174 /** 14175 @} 14176 */ 14177 14178 /** @addtogroup loc_qmi_messages 14179 @{ 14180 */ 14181 /** Indication Message; Acknowledges receipt of Receive Done to the GDT MP. */ 14182 typedef struct { 14183 14184 /* Mandatory */ 14185 /* GDT Receive Done Status */ 14186 qmiLocStatusEnumT_v02 status; 14187 /**< Status of the Receive Done request. 14188 Valid values: \n 14189 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 14190 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 14191 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 14192 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 14193 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 14194 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 14195 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 14196 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 14197 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 14198 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 14199 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 14200 */ 14201 }qmiLocGdtReceiveDoneStatusIndMsgT_v02; /* Message */ 14202 /** 14203 @} 14204 */ 14205 14206 /** @addtogroup loc_qmi_messages 14207 @{ 14208 */ 14209 /** Request Message; Acknowledges the receipt of download completion to the GDT MP. */ 14210 typedef struct { 14211 14212 /* Mandatory */ 14213 /* GDT Service ID */ 14214 qmiLocGdtServiceIdEnumT_v02 serviceId; 14215 /**< Values: \n 14216 14217 - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL 14218 - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT service for WWAN DL */ 14219 14220 /* Mandatory */ 14221 /* Session ID */ 14222 uint32_t sessionId; 14223 /**< Session ID. */ 14224 14225 /* Mandatory */ 14226 /* QMI LOC Status */ 14227 qmiLocStatusEnumT_v02 status; 14228 /**< Values: \n 14229 14230 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 14231 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 14232 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 14233 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 14234 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 14235 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 14236 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 14237 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 14238 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 14239 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 14240 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 14241 }qmiLocGdtDownloadEndStatusReqMsgT_v02; /* Message */ 14242 /** 14243 @} 14244 */ 14245 14246 /** @addtogroup loc_qmi_messages 14247 @{ 14248 */ 14249 /** Indication Message; Acknowledges the receipt of download completion to the GDT MP. */ 14250 typedef struct { 14251 14252 /* Mandatory */ 14253 /* GDT Download End Status */ 14254 qmiLocStatusEnumT_v02 status; 14255 /**< Status of the GDT download end request. 14256 Valid values: \n 14257 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 14258 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 14259 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 14260 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 14261 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 14262 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 14263 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 14264 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 14265 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 14266 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 14267 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 14268 */ 14269 }qmiLocGdtDownloadEndStatusIndMsgT_v02; /* Message */ 14270 /** 14271 @} 14272 */ 14273 14274 /** @addtogroup loc_qmi_enums 14275 @{ 14276 */ 14277 typedef enum { 14278 QMILOCDBTUSAGEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 14279 eQMI_LOC_DBT_USAGE_NAVIGATION_V02 = 1, /**< Navigation usage type */ 14280 QMILOCDBTUSAGEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 14281 }qmiLocDbtUsageEnumT_v02; 14282 /** 14283 @} 14284 */ 14285 14286 /** @addtogroup loc_qmi_enums 14287 @{ 14288 */ 14289 typedef enum { 14290 QMILOCDBDISTANCETYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 14291 eQMI_LOC_DBT_DISTANCE_TYPE_STRAIGHT_LINE_V02 = 1, /**< Straight line distance between 14292 location updates */ 14293 QMILOCDBDISTANCETYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 14294 }qmiLocDbDistanceTypeEnumT_v02; 14295 /** 14296 @} 14297 */ 14298 14299 /** @addtogroup loc_qmi_messages 14300 @{ 14301 */ 14302 /** Request Message; Used by the control point to initiate a Distance Based Tracking (DBT) session. */ 14303 typedef struct { 14304 14305 /* Mandatory */ 14306 /* Request ID */ 14307 uint8_t reqId; 14308 /**< ID of the request as identified by the control point. The request ID 14309 is reported back in the position reports. The control point must 14310 specify the same request ID in the QMI_LOC_STOP_DBT_REQ message. \n 14311 - Range: 0 to 255 14312 */ 14313 14314 /* Mandatory */ 14315 /* Minimum Distance Between Position Reports */ 14316 uint32_t minDistance; 14317 /**< Minimum distance, specified by the control point, 14318 that must be traversed between position reports. \n 14319 - Units: Meters 14320 */ 14321 14322 /* Mandatory */ 14323 /* Type of Distance to be Tracked */ 14324 qmiLocDbDistanceTypeEnumT_v02 distanceType; 14325 /**< Straight line distance or accumulated distance. \n 14326 14327 Valid values: \n 14328 - eQMI_LOC_DBT_DISTANCE_TYPE_STRAIGHT_LINE (1) -- Straight line distance between 14329 location updates 14330 */ 14331 14332 /* Mandatory */ 14333 /* Need Origin Location */ 14334 uint8_t needOriginLocation; 14335 /**< Indicates whether the control point wants the position 14336 corresponding to the origin. \begin{itemize1} 14337 \item 0x01 (TRUE) -- Control point is requesting origin 14338 location 14339 \item 0x00 (FALSE) -- Control point is not requesting origin 14340 location 14341 \vspace{-0.18in} \end{itemize1} 14342 */ 14343 14344 /* Optional */ 14345 /* Maximum Latency Threshold for Position Reports */ 14346 uint8_t maxLatency_valid; /**< Must be set to true if maxLatency is being passed */ 14347 uint32_t maxLatency; 14348 /**< Maximum time period, specified by the control point, after the minimum 14349 distance criteria has been met within which a location update must 14350 be provided. If not specified, an ideal value will be assumed by the 14351 engine \n 14352 - Units: seconds 14353 */ 14354 14355 /* Optional */ 14356 /* Usage Type */ 14357 uint8_t usageType_valid; /**< Must be set to true if usageType is being passed */ 14358 qmiLocDbtUsageEnumT_v02 usageType; 14359 /**< Specifies the type of usage by the control point. It refers specifically 14360 to the use case category of the client. For example, a navigation client should 14361 set this to QMI_LOC_USAGE_NAVIGATION for better performance in difficult 14362 signal conditions, such as tunnels. 14363 14364 If not specified, the service uses default algorithms to provide an ideal 14365 performance. 14366 14367 Valid values: \n 14368 - eQMI_LOC_DBT_USAGE_NAVIGATION (1) -- Navigation usage type 14369 */ 14370 }qmiLocStartDbtReqMsgT_v02; /* Message */ 14371 /** 14372 @} 14373 */ 14374 14375 /** @addtogroup loc_qmi_messages 14376 @{ 14377 */ 14378 /** Indication Message; Used by the control point to initiate a Distance Based Tracking (DBT) session. */ 14379 typedef struct { 14380 14381 /* Mandatory */ 14382 /* Start DBT Status */ 14383 qmiLocStatusEnumT_v02 status; 14384 /**< Status of the Start DBT request. 14385 14386 Valid values: \n 14387 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 14388 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 14389 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 14390 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 14391 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 14392 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 14393 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 14394 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 14395 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 14396 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 14397 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 14398 */ 14399 14400 /* Optional */ 14401 /* Request ID */ 14402 uint8_t reqId_valid; /**< Must be set to true if reqId is being passed */ 14403 uint8_t reqId; 14404 /**< ID of the DBT start request for which this 14405 indication was generated. */ 14406 }qmiLocStartDbtIndMsgT_v02; /* Message */ 14407 /** 14408 @} 14409 */ 14410 14411 /** @addtogroup loc_qmi_messages 14412 @{ 14413 */ 14414 /** Request Message; Used by the control point to stop a DBT session. */ 14415 typedef struct { 14416 14417 /* Mandatory */ 14418 /* Request ID */ 14419 uint8_t reqId; 14420 /**< ID of the request that was specified in the Start DBT 14421 request (QMI_LOC_START_DBT_REQ).\n 14422 - Range: 0 to 255 */ 14423 }qmiLocStopDbtReqMsgT_v02; /* Message */ 14424 /** 14425 @} 14426 */ 14427 14428 /** @addtogroup loc_qmi_messages 14429 @{ 14430 */ 14431 /** Indication Message; Used by the control point to stop a DBT session. */ 14432 typedef struct { 14433 14434 /* Mandatory */ 14435 /* Stop DBT Status */ 14436 qmiLocStatusEnumT_v02 status; 14437 /**< Status of the Stop DBT request. 14438 14439 Valid values: \n 14440 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 14441 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 14442 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 14443 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 14444 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 14445 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 14446 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 14447 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 14448 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 14449 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 14450 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 14451 */ 14452 14453 /* Optional */ 14454 /* Request ID */ 14455 uint8_t reqId_valid; /**< Must be set to true if reqId is being passed */ 14456 uint8_t reqId; 14457 /**< ID of the DBT stop request for which this 14458 indication was generated. */ 14459 }qmiLocStopDbtIndMsgT_v02; /* Message */ 14460 /** 14461 @} 14462 */ 14463 14464 /** @addtogroup loc_qmi_enums 14465 @{ 14466 */ 14467 typedef enum { 14468 QMILOCDBTPOSITIONTYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 14469 eQMI_LOC_DBT_POSITION_TYPE_ORIGIN_V02 = 1, /**< Position reported is at the origin */ 14470 eQMI_LOC_DBT_POSITION_TYPE_TRACKING_V02 = 2, /**< Position reported is a tracking type 14471 where the origin location has already 14472 been reported */ 14473 QMILOCDBTPOSITIONTYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 14474 }qmiLocDbtPositionTypeEnumT_v02; 14475 /** 14476 @} 14477 */ 14478 14479 /** @addtogroup loc_qmi_aggregates 14480 @{ 14481 */ 14482 typedef struct { 14483 14484 /* UTC Timestamp */ 14485 uint64_t timestampUtc; 14486 /**< UTC timestamp. \n 14487 - Units: Milliseconds since Jan. 1, 1970 14488 */ 14489 14490 /* Latitude */ 14491 double latitude; 14492 /**< Latitude (specified in WGS84 datum). 14493 \begin{itemize1} 14494 \item Type: Floating point 14495 \item Units: Degrees 14496 \item Range: -90.0 to 90.0 \begin{itemize1} 14497 \item Positive values indicate northern latitude 14498 \item Negative values indicate southern latitude 14499 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 14500 14501 /* Longitude */ 14502 double longitude; 14503 /**< Longitude (specified in WGS84 datum). 14504 \begin{itemize1} 14505 \item Type: Floating point 14506 \item Units: Degrees 14507 \item Range: -180.0 to 180.0 \begin{itemize1} 14508 \item Positive values indicate eastern longitude 14509 \item Negative values indicate western longitude 14510 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 14511 14512 /* Horizontal Elliptical Uncertainty (Semi-Minor Axis) */ 14513 float horUncEllipseSemiMinor; 14514 /**< Semi-minor axis of horizontal elliptical uncertainty.\n 14515 - Units: Meters */ 14516 14517 /* Horizontal Elliptical Uncertainty (Semi-Major Axis) */ 14518 float horUncEllipseSemiMajor; 14519 /**< Semi-major axis of horizontal elliptical uncertainty.\n 14520 - Units: Meters */ 14521 14522 /* Elliptical Horizontal Uncertainty Azimuth */ 14523 float horUncEllipseOrientAzimuth; 14524 /**< Elliptical horizontal uncertainty azimuth of orientation.\n 14525 - Units: Decimal degrees \n 14526 - Range: 0 to 180 */ 14527 14528 /* Horizontal Speed Validity Bit */ 14529 uint8_t speedHorizontal_valid; 14530 /**< Indicates whether the horizontal speed field contains valid 14531 information. \n 14532 - 0x01 (TRUE) -- Horizontal speed is valid \n 14533 - 0x00 (FALSE) -- Horizontal speed is invalid 14534 and is to be ignored \vspace{-0.18in} 14535 */ 14536 14537 /* Horizontal Speed */ 14538 float speedHorizontal; 14539 /**< Horizontal speed.\n 14540 - Units: Meters/second */ 14541 14542 /* Altitude Validity Bit */ 14543 uint8_t altitudeWrtEllipsoid_valid; 14544 /**< Indicates whether the altitude field contains valid 14545 information. \n 14546 - 0x01 (TRUE) -- Altitude field is valid \n 14547 - 0x00 (FALSE) -- Altitude field is invalid 14548 and is to be ignored \vspace{-0.18in} 14549 */ 14550 14551 /* Altitude With Respect to Ellipsoid */ 14552 float altitudeWrtEllipsoid; 14553 /**< Altitude with respect to the WGS84 ellipsoid.\n 14554 - Units: Meters \n 14555 - Range: -500 to 15883 */ 14556 14557 /* Vertical Uncertainty Validity Bit */ 14558 uint8_t vertUnc_valid; 14559 /**< Indicates whether the vertical uncertainty field contains valid 14560 information. \n 14561 - 0x01 (TRUE) -- Vertical Uncertainty field is valid \n 14562 - 0x00 (FALSE) -- Vertical Uncertainty field is invalid 14563 and is to be ignored \vspace{-0.18in} 14564 */ 14565 14566 /* Vertical Uncertainty */ 14567 float vertUnc; 14568 /**< Vertical uncertainty.\n 14569 - Units: Meters */ 14570 14571 /* Vertical Speed Validity Bit */ 14572 uint8_t speedVertical_valid; 14573 /**< Indicates whether the vertical speed field contains valid 14574 information. \n 14575 - 0x01 (TRUE) -- Vertical Speed field is valid \n 14576 - 0x00 (FALSE) -- Vertical Speed field is invalid 14577 and is to be ignored \vspace{-0.18in} 14578 */ 14579 14580 /* Vertical Speed */ 14581 float speedVertical; 14582 /**< Vertical speed.\n 14583 - Units: Meters/second */ 14584 14585 /* Heading Validity Bit */ 14586 uint8_t heading_valid; 14587 /**< Indicates whether the heading field contains valid 14588 information. \n 14589 - 0x01 (TRUE) -- Heading field is valid \n 14590 - 0x00 (FALSE) -- Heading field is invalid 14591 and is to be ignored \vspace{-0.18in} 14592 */ 14593 14594 /* Heading */ 14595 float heading; 14596 /**< Heading.\n 14597 - Units: Degrees \n 14598 - Range: 0 to 359.999 */ 14599 }qmiLocDbtPositionStructT_v02; /* Type */ 14600 /** 14601 @} 14602 */ 14603 14604 /** @addtogroup loc_qmi_messages 14605 @{ 14606 */ 14607 /** Indication Message; Notifies the control point of 14608 a DBT position report. */ 14609 typedef struct { 14610 14611 /* Mandatory */ 14612 /* Request ID */ 14613 uint8_t reqId; 14614 /**< ID of the DBT request for which this 14615 report was generated. */ 14616 14617 /* Mandatory */ 14618 /* DBT Position */ 14619 qmiLocDbtPositionStructT_v02 dbtPosition; 14620 /**< Position of the client when it has traversed the 14621 specified distance. 14622 */ 14623 14624 /* Mandatory */ 14625 /* DBT Position Type */ 14626 qmiLocDbtPositionTypeEnumT_v02 positionType; 14627 /**< Specifies whether the position reported is at the 14628 origin of the DBT session or during the tracking 14629 duration of the session. Values: \n 14630 14631 - eQMI_LOC_DBT_POSITION_TYPE_ORIGIN (1) -- Position reported is at the origin 14632 - eQMI_LOC_DBT_POSITION_TYPE_TRACKING (2) -- Position reported is a tracking type 14633 where the origin location has already 14634 been reported */ 14635 14636 /* Optional */ 14637 /* Heading Uncertainty */ 14638 uint8_t headingUnc_valid; /**< Must be set to true if headingUnc is being passed */ 14639 float headingUnc; 14640 /**< Heading uncertainty.\n 14641 - Units: Degrees \n 14642 - Range: 0 to 359.999 */ 14643 14644 /* Optional */ 14645 /* Speed Uncertainty */ 14646 uint8_t speedUnc_valid; /**< Must be set to true if speedUnc is being passed */ 14647 float speedUnc; 14648 /**< 3-D speed uncertainty.\n 14649 - Units: Meters/second */ 14650 14651 /* Optional */ 14652 /* Horizontal Confidence */ 14653 uint8_t horConfidence_valid; /**< Must be set to true if horConfidence is being passed */ 14654 uint8_t horConfidence; 14655 /**< Horizontal uncertainty confidence.\n 14656 - Units: Percent \n 14657 - Range: 0 to 99 */ 14658 14659 /* Optional */ 14660 /* Vertical Confidence */ 14661 uint8_t vertConfidence_valid; /**< Must be set to true if vertConfidence is being passed */ 14662 uint8_t vertConfidence; 14663 /**< Vertical uncertainty confidence.\n 14664 - Units: Percent \n 14665 - Range: 0 to 99 */ 14666 14667 /* Optional */ 14668 /* Dilution of Precision */ 14669 uint8_t DOP_valid; /**< Must be set to true if DOP is being passed */ 14670 qmiLocDOPStructT_v02 DOP; 14671 /**< \vspace{0.06in} \n Dilution of precision associated with this position. */ 14672 14673 /* Optional */ 14674 /* SVs Used to Calculate the Fix */ 14675 uint8_t gnssSvUsedList_valid; /**< Must be set to true if gnssSvUsedList is being passed */ 14676 uint32_t gnssSvUsedList_len; /**< Must be set to # of elements in gnssSvUsedList */ 14677 uint16_t gnssSvUsedList[QMI_LOC_MAX_SV_USED_LIST_LENGTH_V02]; 14678 /**< Each entry in the list contains the SV ID of a satellite 14679 used for calculating this position report. The following 14680 information is associated with each SV ID: \n 14681 Range: \n 14682 - For GPS: 1 to 32 \n 14683 - For GLONASS: 65 to 96 \n 14684 - For SBAS: 120 to 158 and 183 to 187 \n 14685 - For QZSS: 193 to 197 \n 14686 - For BDS: 201 to 237 \n 14687 - For GAL: 301 to 336 14688 */ 14689 14690 /* Optional */ 14691 /* Position Source */ 14692 uint8_t positionSrc_valid; /**< Must be set to true if positionSrc is being passed */ 14693 qmiLocPositionSrcEnumT_v02 positionSrc; 14694 /**< Source from which this position was obtained. 14695 Valid values: \n 14696 - eQMI_LOC_POSITION_SRC_GNSS (0) -- Position source is GNSS 14697 - eQMI_LOC_POSITION_SRC_CELLID (1) -- Position source is Cell ID 14698 - eQMI_LOC_POSITION_SRC_ENH_CELLID (2) -- Position source is Enhanced Cell ID 14699 - eQMI_LOC_POSITION_SRC_WIFI (3) -- Position source is Wi-Fi 14700 - eQMI_LOC_POSITION_SRC_TERRESTRIAL (4) -- Position source is Terrestrial 14701 - eQMI_LOC_POSITION_SRC_GNSS_TERRESTRIAL_HYBRID (5) -- Position source is GNSS Terrestrial Hybrid 14702 - eQMI_LOC_POSITION_SRC_OTHER (6) -- Other sources 14703 */ 14704 }qmiLocEventDbtPositionReportIndMsgT_v02; /* Message */ 14705 /** 14706 @} 14707 */ 14708 14709 /** @addtogroup loc_qmi_enums 14710 @{ 14711 */ 14712 typedef enum { 14713 QMILOCDBTSESSIONSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 14714 eQMI_LOC_DBT_UNABLE_TO_TRACK_V02 = 1, /**< Distance based tracking is unavailable and DBT fixes 14715 cannot currently be obtained */ 14716 eQMI_LOC_DBT_ABLE_TO_TRACK_V02 = 2, /**< Distance based tracking is available and DBT fixes 14717 can currently be obtained */ 14718 QMILOCDBTSESSIONSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 14719 }qmiLocDbtSessionStatusEnumT_v02; 14720 /** 14721 @} 14722 */ 14723 14724 /** @addtogroup loc_qmi_messages 14725 @{ 14726 */ 14727 /** Indication Message; Notifies the control point of the 14728 DBT session status. */ 14729 typedef struct { 14730 14731 /* Mandatory */ 14732 /* DBT Session Status */ 14733 qmiLocDbtSessionStatusEnumT_v02 dbtSessionStatus; 14734 /**< Specifies the DBT session status type. 14735 14736 Valid values: \n 14737 - eQMI_LOC_DBT_UNABLE_TO_TRACK (1) -- Distance based tracking is unavailable and DBT fixes 14738 cannot currently be obtained 14739 - eQMI_LOC_DBT_ABLE_TO_TRACK (2) -- Distance based tracking is available and DBT fixes 14740 can currently be obtained 14741 */ 14742 14743 /* Optional */ 14744 /* Request ID */ 14745 uint8_t reqId_valid; /**< Must be set to true if reqId is being passed */ 14746 uint8_t reqId; 14747 /**< ID of the DBT request for which this 14748 status was generated. */ 14749 }qmiLocEventDbtSessionStatusIndMsgT_v02; /* Message */ 14750 /** 14751 @} 14752 */ 14753 14754 /** @addtogroup loc_qmi_enums 14755 @{ 14756 */ 14757 typedef enum { 14758 QMILOCPOSITIONSOURCEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 14759 eQMI_LOC_POS_SRC_GNSS_V02 = 1, /**< Source of the position is GNSS */ 14760 QMILOCPOSITIONSOURCEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 14761 }qmiLocPositionSourceEnumT_v02; 14762 /** 14763 @} 14764 */ 14765 14766 /** @addtogroup loc_qmi_enums 14767 @{ 14768 */ 14769 typedef enum { 14770 QMILOCPOSITIONRPTPROPAGATIONENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 14771 eQMI_LOC_POS_REPORT_PROPAGATED_TO_CURRENT_UTC_V02 = 1, /**< Reported position is propagated to the current UTC */ 14772 QMILOCPOSITIONRPTPROPAGATIONENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 14773 }qmiLocPositionRptPropagationEnumT_v02; 14774 /** 14775 @} 14776 */ 14777 14778 /** @addtogroup loc_qmi_enums 14779 @{ 14780 */ 14781 typedef enum { 14782 QMILOCSECURELOCDATAMODEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 14783 eQMI_LOC_SECURE_LOC_DATA_ENCRYPTED_V02 = 1, /**< Data in the indication is to be encrypted */ 14784 eQMI_LOC_SECURE_LOC_DATA_UNENCRYPTED_V02 = 2, /**< Data in the indication is to be unencrypted */ 14785 QMILOCSECURELOCDATAMODEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 14786 }qmiLocSecureLocDataModeEnumT_v02; 14787 /** 14788 @} 14789 */ 14790 14791 /** @addtogroup loc_qmi_enums 14792 @{ 14793 */ 14794 typedef enum { 14795 QMILOCSECUREGETAVAILABLEPOSPARAMETERIDENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 14796 eQMI_LOC_SECURE_GET_AVAILABLE_POS_PARAM_TRANSACTION_ID_V02 = 1, /**< Parameter ID for the Transaction ID field. Mandatory field. 14797 Identifies the transaction. The transaction ID is returned in the 14798 Secured Get Available Position indication. \n 14799 - Parameter type: uint32 14800 */ 14801 eQMI_LOC_SECURE_GET_AVAILABLE_POS_PARAM_NONCE_V02 = 2, /**< Parameter ID for the Nonce field. Optional field. 14802 - Parameter type: uint64 14803 */ 14804 eQMI_LOC_SECURE_GET_AVAILABLE_POS_PARAM_SOURCE_V02 = 3, /**< Parameter ID for the Position Source field. Optional field. 14805 Specifies the source of the position in which the control point is interest. 14806 If not included, the value defaults to GNSS. \n 14807 - Parameter type: int32 \n 14808 Parameter valid values: \n 14809 - eQMI_LOC_POS_SRC_GNSS (1) -- Source of the position is GNSS 14810 */ 14811 eQMI_LOC_SECURE_GET_AVAILABLE_POS_PARAM_REPORT_DATA_SECURITY_MODE_V02 = 4, /**< Secured position report data security mode. Optional field. 14812 If this TLV is not sent, the position report is encrypted by default. \n 14813 - Parameter type: int32 \n 14814 Parameter valid values: \n 14815 - eQMI_LOC_SECURE_LOC_DATA_ENCRYPTED (1) -- Position reports are encrypted 14816 - eQMI_LOC_SECURE_LOC_DATA_UNENCRYPTED (2) -- Position reports are not encrypted 14817 */ 14818 eQMI_LOC_SECURE_GET_AVAILABLE_POS_PARAM_REPORT_DATA_TIME_PROPAGATION_V02 = 5, /**< Secured position report data propagation. Optional field. 14819 If this TLV is not sent, the position report is propagated to the current UTC time by default. \n 14820 - Parameter type: int32 \n 14821 Parameter valid values: \n 14822 - eQMI_LOC_POS_REPORT_PROPAGATED_TO_CURRENT_UTC (1) -- Position reports are propagated to the current UTC. \n 14823 */ 14824 QMILOCSECUREGETAVAILABLEPOSPARAMETERIDENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 14825 }qmiLocSecureGetAvailablePosParameterIDEnumT_v02; 14826 /** 14827 @} 14828 */ 14829 14830 /** @addtogroup loc_qmi_enums 14831 @{ 14832 */ 14833 typedef enum { 14834 QMILOCSECUREMESSAGEDATATYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 14835 eQMI_LOC_SECURE_DATA_TYPE_BYTE_8_V02 = 1, /**< Data type: Byte (8 bits) */ 14836 eQMI_LOC_SECURE_DATA_TYPE_CHAR_8_V02 = 2, /**< Data type: Char (8 bits) */ 14837 eQMI_LOC_SECURE_DATA_TYPE_UNSIGNED_CHAR_8_V02 = 3, /**< Data type: Unsigned char (8 bits) */ 14838 eQMI_LOC_SECURE_DATA_TYPE_INT_8_V02 = 4, /**< Data type: Int (8 bits) */ 14839 eQMI_LOC_SECURE_DATA_TYPE_UNSIGNED_INT_8_V02 = 5, /**< Data type: Unsigned int (8 bits) */ 14840 eQMI_LOC_SECURE_DATA_TYPE_INT_16_V02 = 6, /**< Data type: Int (16 bits) */ 14841 eQMI_LOC_SECURE_DATA_TYPE_UNSIGNED_INT_16_V02 = 7, /**< Data type: Unsigned int (16 bits) */ 14842 eQMI_LOC_SECURE_DATA_TYPE_INT_32_V02 = 8, /**< Data type: Int (32 bits) */ 14843 eQMI_LOC_SECURE_DATA_TYPE_UNSIGNED_INT_32_V02 = 9, /**< Data type: Unsigned int (32 bits) */ 14844 eQMI_LOC_SECURE_DATA_TYPE_INT_64_V02 = 10, /**< Data type: Int (64 bits) */ 14845 eQMI_LOC_SECURE_DATA_TYPE_UNSIGNED_INT_64_V02 = 11, /**< Data type: Unsigned int (64 bits) */ 14846 eQMI_LOC_SECURE_DATA_TYPE_BOOL_8_V02 = 12, /**< Data type: Boolean (8 bits) */ 14847 eQMI_LOC_SECURE_DATA_TYPE_DOUBLE_64_V02 = 13, /**< Data type: Double (64 bits) */ 14848 eQMI_LOC_SECURE_DATA_TYPE_FLOAT_32_V02 = 14, /**< Data type: Float (32 bits) */ 14849 QMILOCSECUREMESSAGEDATATYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 14850 }qmiLocSecureMessageDataTypeEnumT_v02; 14851 /** 14852 @} 14853 */ 14854 14855 /** @addtogroup loc_qmi_messages 14856 @{ 14857 */ 14858 /** Request Message; Used by the control point to get the available 14859 position estimate from the location engine. */ 14860 typedef struct { 14861 14862 /* Mandatory */ 14863 /* Data Security Mode for Encoded Data Buffer */ 14864 qmiLocSecureLocDataModeEnumT_v02 secureLocDataMode; 14865 /**< Data security mode for the encoded data buffer. 14866 14867 Valid values: \n 14868 - eQMI_LOC_SECURE_LOC_DATA_ENCRYPTED (1) -- Data in the indication is to be encrypted 14869 - eQMI_LOC_SECURE_LOC_DATA_UNENCRYPTED (2) -- Data in the indication is to be unencrypted 14870 */ 14871 14872 /* Mandatory */ 14873 /* Encoded Data Buffer Containing Secure Get Available Position Request Parameters */ 14874 uint32_t qmilocSecureGetAvailablePositionRequestData_len; /**< Must be set to # of elements in qmilocSecureGetAvailablePositionRequestData */ 14875 uint8_t qmilocSecureGetAvailablePositionRequestData[QMI_LOC_SECURE_GET_AVAILABLE_POS_REQUEST_ENCRYPTED_MAX_V02]; 14876 /**< Encoded data buffer containing the secure Get Available Position Request parameters. */ 14877 }qmiLocSecureGetAvailablePositionReqMsgT_v02; /* Message */ 14878 /** 14879 @} 14880 */ 14881 14882 /** @addtogroup loc_qmi_enums 14883 @{ 14884 */ 14885 typedef enum { 14886 QMILOCSECUREGETAVAILABLEPOSITIONINDPARAMIDENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 14887 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_TRANSACTION_ID_V02 = 1, /**< Parameter ID for the Transaction ID field. Mandatory field. 14888 Transaction ID that was specified in the Secured Get Available Position request. 14889 This parameter is always present if the status field is set to SUCCESS. \n 14890 - Parameter type: uint32 14891 */ 14892 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_NONCE_V02 = 2, /**< Parameter ID for the Secure Session Nonce. 14893 This echos back the Nonce received from the Secured Get Available Position Request. 14894 Optional field. \n 14895 - Parameter type: uint64 14896 */ 14897 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_LATITUDE_V02 = 3, /**< Parameter ID for Latitude (specified in WGS84 datum). Optional field. 14898 \begin{itemize1} 14899 \item Parameter type: Floating point 14900 \item Parameter units: Degrees 14901 \item Parameter range: -90.0 to 90.0 \begin{itemize1} 14902 \item Positive values indicate northern latitude 14903 \item Negative values indicate southern latitude 14904 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 14905 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_LONGITUDE_V02 = 4, /**< Parameter ID for Longitude (specified in WGS84 datum). Optional field. 14906 \begin{itemize1} 14907 \item Parameter type: Floating point 14908 \item Parameter units: Degrees 14909 \item Parameter range: -180.0 to 180.0 \begin{itemize1} 14910 \item Positive values indicate eastern longitude 14911 \item Negative values indicate western longitude 14912 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ 14913 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_HORIZ_UNC_CIRCULAR_V02 = 5, /**< Parameter ID for Circular Horizontal Uncertainty. Optional field. \n 14914 - Parameter tnits: Meters \n 14915 - Parameter type: Float */ 14916 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_ALTITUDE_WRT_ELP_V02 = 6, /**< Parameter ID for altitude with respect to the WGS84 ellipsoid. Optional field. \n 14917 - Parameter units: Meters \n 14918 - Parameter range: -500 to 15883 \n 14919 - Parameter type: Float */ 14920 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_VERTICAL_UNC_V02 = 7, /**< Parameter ID for Vertical Uncertainty. Optional field.\n 14921 - Parameter units: Meters \n 14922 - Parameter type: Float */ 14923 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_TIME_STAMP_UTC_V02 = 8, /**< Parameter ID for the UTC timestamp. Optional field.\n 14924 - Parameter type: uint64 \n 14925 - Parameter units: Milliseconds since Jan. 1, 1970 14926 */ 14927 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_TIME_UNC_V02 = 9, /**< Parameter ID for time uncertainty. Optional field.\n 14928 - Parameter type: Float \n 14929 - Parameter units: Milliseconds */ 14930 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_HORIZ_UNC_ELP_SEMIMINOR_V02 = 10, /**< Parameter ID for the Semi-Minor Axis of Horizontal Elliptical Uncertainty. Optional field.\n 14931 - Parameter mnits: Meters \n 14932 - Parameter type: Float */ 14933 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_HORIZ_UNC_ELP_SEMIMAJOR_V02 = 11, /**< Parameter ID for the Semi-Major Axis of Horizontal Elliptical Uncertainty. Optional field.\n 14934 - Parameter units: Meters \n 14935 - Parameter type: Float */ 14936 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_HORIZ_UNC_ELP_ORIENT_AZIMUTH_V02 = 12, /**< Parameter ID for the Elliptical Horizontal Uncertainty Azimuth of orientation. Optional field.\n 14937 - Parameter units: Decimal degrees \n 14938 - Parameter range: 0 to 180 \n 14939 - Parameter type: Float */ 14940 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_HORIZ_CONFIDENCE_V02 = 13, /**< Parameter ID for Horizontal uncertainty confidence. Optional field.\n 14941 If both elliptical and horizontal uncertainties are specified in this message, 14942 the confidence corresponds to the elliptical uncertainty. Optional field.\n 14943 - Parameter units: Percent \n 14944 - Parameter range: 0 to 99 \n 14945 - Parameter type: uint8 */ 14946 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_HORIZ_ELLIP_CONFIDENCE_V02 = 14, /**< Parameter ID for Horizontal Elliptical Uncertainty Confidence. Optional field.\n 14947 If both elliptical and horizontal uncertainties are specified in this message, 14948 the confidence corresponds to the elliptical uncertainty. Optional field.\n 14949 - Parameter units: Percent \n 14950 - Parameter range: 0 to 99 \n 14951 - Parameter type: uint8 */ 14952 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_HORIZ_RELIABILITY_V02 = 15, /**< Parameter ID for Specifies the reliability of the horizontal position. Optional field. 14953 - Parameter Type: int32 \n 14954 Parameter valid values: \n 14955 - RELIABILITY_NOT_SET = 0 \n 14956 - RELIABILITY_VERY_LOW = 1 \n 14957 - RELIABILITY_LOW = 2 \n 14958 - RELIABILITY_MEDIUM = 3 \n 14959 - RELIABILITY_HIGH = 4 14960 */ 14961 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_SPEED_HORIZ_V02 = 16, /**< Parameter ID for Horizontal Speed. Optional field.\n 14962 - Parameter units: Meters/second \n 14963 - Parameter type: Float */ 14964 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_SPEED_HORIZ_UNC_V02 = 17, /**< Parameter ID for Horizontal Speed Uncertainty. Optional field.\n 14965 - Parameter units: Meters/second \n 14966 - Parameter type: Float */ 14967 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_ALTITUDE_WRT_MSA_V02 = 18, /**< Parameter ID for Altitude with respect to mean sea level. Optional field.\n 14968 - Parameter units: Meters \n 14969 - Parameter type: Float */ 14970 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_VERTICAL_CONF_V02 = 19, /**< Parameter ID for Vertical uncertainty confidence. Optional field.\n 14971 - Parameter units: Percent \n 14972 - Parameter range: 0 to 99 \n 14973 - Parameter type: uint8 */ 14974 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_VERT_RELIABILITY_V02 = 20, /**< Parameter ID for specifies the reliability of the vertical position. Optional field. \n 14975 - Parameter type: int32 \n 14976 Parameter valid values: \n 14977 - RELIABILITY_NOT_SET = 0 \n 14978 - RELIABILITY_VERY_LOW = 1 \n 14979 - RELIABILITY_LOW = 2 \n 14980 - RELIABILITY_MEDIUM = 3 \n 14981 - RELIABILITY_HIGH = 4 14982 */ 14983 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_SPEED_VERTICAL_V02 = 21, /**< Parameter ID for Vertical Speed. Optional field.\n 14984 - Parameter units: Meters/second \n 14985 - Parameter type: Float */ 14986 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_SPEED_VERTICAL_UNC_V02 = 22, /**< Parameter ID for Vertical Speed Uncertainty. Optional field.\n 14987 - Parameter units: Meters/second \n 14988 - Parameter type: Float */ 14989 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_HEADING_V02 = 23, /**< Parameter ID for Heading. Optional field.\n 14990 - Parameter units: Degrees \n 14991 - Parameter range: 0 to 359.999 \n 14992 - Parameter type: Float */ 14993 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_HEADING_UNC_V02 = 24, /**< Parameter ID for Heading Uncertainty. Optional field.\n 14994 - Parameter units: Degrees \n 14995 - Parameter range: 0 to 359.999 \n 14996 - Parameter type: Float */ 14997 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_MAGNETIC_DEVIATION_V02 = 25, /**< Parameter ID for Magnetic Deviation. Optional field.\n 14998 Difference between the bearing to true north and the bearing shown 14999 on a magnetic compass. The deviation is positive when the magnetic 15000 north is east of true north. 15001 - Parameter type: Float */ 15002 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_TECH_MASK_V02 = 26, /**< Parameter ID for Technology Used in computing this fix. Optional field.\n 15003 - Parameter type: uint32 \n 15004 Parameter valid bitmasks: \n 15005 - QMI_LOC_POS_TECH_MASK_SATELLITE = 0x00000001, 15006 - QMI_LOC_POS_TECH_MASK_CELLID = 0x00000002, 15007 - QMI_LOC_POS_TECH_MASK_WIFI = 0x00000004, 15008 - QMI_LOC_POS_TECH_MASK_SENSORS = 0x00000008, 15009 - QMI_LOC_POS_TECH_MASK_REFERENCE_LOCATION = 0x00000010, 15010 - QMI_LOC_POS_TECH_MASK_INJECTED_COARSE_POSITION = 0x00000020, 15011 - QMI_LOC_POS_TECH_MASK_AFLT = 0x00000040, 15012 - QMI_LOC_POS_TECH_MASK_HYBRID = 0x00000080 15013 */ 15014 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_PDOP_V02 = 27, /**< Parameter ID for Position Dilution of Precision associated with this position. Optional field.\n 15015 - Parameter type: Float 15016 - Parameter range: 1 (highest accuracy) to 50 (lowest accuracy) 15017 - PDOP = square root of (HDOP^2 + VDOP^2) 15018 */ 15019 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_HDOP_V02 = 28, /**< Parameter ID for Horizontal Dilution of Precision associated with this position. Optional field.\n 15020 - Parameter type: Float 15021 - Parameter range: 1 (highest accuracy) to 50 (lowest accuracy) 15022 */ 15023 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_VDOP_V02 = 29, /**< Parameter ID for Vertical Dilution of Precision associated with this position. Optional field.\n 15024 - Parameter type: Float 15025 - Parameter range: 1 (highest accuracy) to 50 (lowest accuracy) 15026 */ 15027 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_GPS_WEEK_V02 = 30, /**< Parameter ID for the current GPS Week, as calculated from midnight, Jan. 6, 1980. Optional field.\n 15028 - Parameter type: uint16 15029 - Parameter units: Weeks 15030 */ 15031 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_GPS_TIMEOFWEEKMS_V02 = 31, /**< Parameter ID for amount of time into the current GPS Week. Optional field.\n 15032 - Parameter type: uint32 15033 - Parameter units: Milliseconds 15034 */ 15035 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_TIME_SRC_V02 = 32, /**< Parameter ID for Time Source. Optional field.\n 15036 - Parameter type: uint32 (enum qmiLocTimeSourceEnumT) 15037 */ 15038 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_SENSOR_USAGE_MASK_V02 = 33, /**< Parameter ID that specifies which sensors were used in calculating the position in the 15039 position report. Optional field.\n 15040 - Parameter type: uint32 \n 15041 Parameter valid bitmasks: \n 15042 - 0x00000001 -- SENSOR_USED_ACCEL \n 15043 - 0x00000002 -- SENSOR_USED_GYRO 15044 */ 15045 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_AIDING_IND_MASK_V02 = 34, /**< Parameter ID that specifies which which results were aided by sensors. Optional field.\n 15046 - Parameter type: uint32 \n 15047 Parameter valid bitmasks: \n 15048 - 0x00000001 -- AIDED_HEADING \n 15049 - 0x00000002 -- AIDED_SPEED \n 15050 - 0x00000004 -- AIDED_POSITION \n 15051 - 0x00000008 -- AIDED_VELOCITY 15052 */ 15053 eQMI_LOC_SECURE_GET_AVAILABLE_POS_REP_PARAM_SV_USED_V02 = 35, /**< Each entry in the list contains the SV ID of a satellite 15054 used for calculating this position report. The following 15055 information is associated with each SV ID. Optional field. \n 15056 - Parameter type: uint16 \n 15057 Parameter range: \n 15058 - For GPS: 1 to 32 \n 15059 - For SBAS: 33 to 64 \n 15060 - For GLONASS: 65 to 96 \n 15061 - For QZSS: 193 to 197 \n 15062 - For BDS: 201 to 237 15063 */ 15064 QMILOCSECUREGETAVAILABLEPOSITIONINDPARAMIDENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 15065 }qmiLocSecureGetAvailablePositionIndParamIDEnumT_v02; 15066 /** 15067 @} 15068 */ 15069 15070 /** @addtogroup loc_qmi_messages 15071 @{ 15072 */ 15073 /** Indication Message; Used by the control point to get the available 15074 position estimate from the location engine. */ 15075 typedef struct { 15076 15077 /* Mandatory */ 15078 /* Session Status */ 15079 qmiLocSessionStatusEnumT_v02 sessionStatus; 15080 /**< Session status. 15081 15082 Valid values: \n 15083 - eQMI_LOC_SESS_STATUS_SUCCESS (0) -- Session was successful 15084 - eQMI_LOC_SESS_STATUS_IN_PROGRESS (1) -- Session is still in progress; further position reports will be generated 15085 until either the fix criteria specified by the client are met or the 15086 client response timeout occurs 15087 - eQMI_LOC_SESS_STATUS_GENERAL_FAILURE (2) -- Session failed 15088 - eQMI_LOC_SESS_STATUS_TIMEOUT (3) -- Fix request failed because the session timed out 15089 - eQMI_LOC_SESS_STATUS_USER_END (4) -- Fix request failed because the session was ended by the user 15090 - eQMI_LOC_SESS_STATUS_BAD_PARAMETER (5) -- Fix request failed due to bad parameters in the request 15091 - eQMI_LOC_SESS_STATUS_PHONE_OFFLINE (6) -- Fix request failed because the phone is offline 15092 - eQMI_LOC_SESS_STATUS_ENGINE_LOCKED (7) -- Fix request failed because the engine is locked 15093 */ 15094 15095 /* Mandatory */ 15096 /* Data Security Mode for Encoded Data Buffer. */ 15097 qmiLocSecureLocDataModeEnumT_v02 secureLocDataMode; 15098 /**< Data security mode for encoded data buffer. 15099 15100 Valid values: \n 15101 - eQMI_LOC_SECURE_LOC_DATA_ENCRYPTED (1) -- Data in the indication is to be encrypted 15102 - eQMI_LOC_SECURE_LOC_DATA_UNENCRYPTED (2) -- Data in the indication is to be unencrypted 15103 */ 15104 15105 /* Optional */ 15106 /* Encoded Data Buffer Containing Secured Get Available Position Report Indication */ 15107 uint8_t qmilocSecureGetAvailablePositionInd_valid; /**< Must be set to true if qmilocSecureGetAvailablePositionInd is being passed */ 15108 uint32_t qmilocSecureGetAvailablePositionInd_len; /**< Must be set to # of elements in qmilocSecureGetAvailablePositionInd */ 15109 uint8_t qmilocSecureGetAvailablePositionInd[QMI_LOC_SECURE_GET_AVAILABLE_POSITION_IND_ENCRYPTED_MAX_V02]; 15110 /**< Encoded data buffer containing the secured Get Available Position Report indication.*/ 15111 }qmiLocSecureGetAvailablePositionIndMsgT_v02; /* Message */ 15112 /** 15113 @} 15114 */ 15115 15116 /** @addtogroup loc_qmi_aggregates 15117 @{ 15118 */ 15119 typedef struct { 15120 15121 uint64_t macAddress; 15122 /**< AP MAC address. */ 15123 15124 float xLat; 15125 /**< AP latitude. \n 15126 - Units: degrees */ 15127 15128 float yLon; 15129 /**< AP longitude sensor y-axis sample. \n 15130 - Units: degrees */ 15131 15132 float mar; 15133 /**< Maximum antenna range. \n 15134 - Units: Meters */ 15135 }qmiLocApCacheStructT_v02; /* Type */ 15136 /** 15137 @} 15138 */ 15139 15140 /** @addtogroup loc_qmi_messages 15141 @{ 15142 */ 15143 /** Request Message; Used by the control point to inject APs into the cache of 15144 the low power Wi-Fi engine for fix computation. */ 15145 typedef struct { 15146 15147 /* Mandatory */ 15148 /* Version Number */ 15149 uint8_t versionNumber; 15150 /**< AP cache protocol version number. */ 15151 15152 /* Mandatory */ 15153 /* Part Number */ 15154 uint8_t partNumber; 15155 /**< Multiple message part number; used for ordering AP information. */ 15156 15157 /* Mandatory */ 15158 /* Total Parts */ 15159 uint8_t totalParts; 15160 /**< Total number of parts or messages for a complete cache update. */ 15161 15162 /* Mandatory */ 15163 /* AP Cache Data */ 15164 uint32_t apCacheData_len; /**< Must be set to # of elements in apCacheData */ 15165 qmiLocApCacheStructT_v02 apCacheData[QMI_LOC_APCACHE_DATA_MAX_SAMPLES_V02]; 15166 /**< \vspace{4pt} \n AP cache information. */ 15167 }qmiLocInjectApCacheDataReqMsgT_v02; /* Message */ 15168 /** 15169 @} 15170 */ 15171 15172 /** @addtogroup loc_qmi_messages 15173 @{ 15174 */ 15175 /** Indication Message; Used by the control point to inject APs into the cache of 15176 the low power Wi-Fi engine for fix computation. */ 15177 typedef struct { 15178 15179 /* Mandatory */ 15180 /* Set Inject APCACHE Data Status */ 15181 qmiLocStatusEnumT_v02 status; 15182 /**< Status of the Inject AP Cache Data request. 15183 15184 Valid values: \n 15185 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 15186 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 15187 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 15188 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 15189 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 15190 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 15191 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 15192 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 15193 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 15194 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 15195 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 15196 */ 15197 15198 /* Optional */ 15199 /* AP Cache Size */ 15200 uint8_t apCacheSize_valid; /**< Must be set to true if apCacheSize is being passed */ 15201 uint32_t apCacheSize; 15202 /**< Key performance indicator (KPI) for apCacheSize that measures the size 15203 of the last AP cache used. This parameter is always present. */ 15204 15205 /* Optional */ 15206 /* AP Do Not Cache Size */ 15207 uint8_t apDoNotCacheSize_valid; /**< Must be set to true if apDoNotCacheSize is being passed */ 15208 uint32_t apDoNotCacheSize; 15209 /**< KPI for apDoNotCacheSize that measures the size of the last AP cache used. 15210 This parameter is always present. */ 15211 15212 /* Optional */ 15213 /* AP Cache Hits */ 15214 uint8_t apCacheHits_valid; /**< Must be set to true if apCacheHits is being passed */ 15215 uint32_t apCacheHits; 15216 /**< KPI for apCacheHits that measures the number of hits to the 15217 AP cache of the last cache content. */ 15218 15219 /* Optional */ 15220 /* AP Do Not Cache Hits */ 15221 uint8_t apDoNotCacheHits_valid; /**< Must be set to true if apDoNotCacheHits is being passed */ 15222 uint32_t apDoNotCacheHits; 15223 /**< KPI for apDoNotCacheHits that measures the number of hits to 15224 apDoNotCache of the last cache content. */ 15225 15226 /* Optional */ 15227 /* Unknown APs */ 15228 uint8_t unknownAps_valid; /**< Must be set to true if unknownAps is being passed */ 15229 uint32_t unknownAps; 15230 /**< KPI for unknownAps that measures the number of unknown APs, those that are 15231 not found in any cache content. */ 15232 15233 /* Optional */ 15234 /* Async Scans */ 15235 uint8_t asyncScans_valid; /**< Must be set to true if asyncScans is being passed */ 15236 uint32_t asyncScans; 15237 /**< KPI for asyncScans that measures the number of async scans 15238 perceived since the last modem boot. */ 15239 15240 /* Optional */ 15241 /* Async Fixes */ 15242 uint8_t asyncFixes_valid; /**< Must be set to true if asyncFixes is being passed */ 15243 uint32_t asyncFixes; 15244 /**< KPI for asyncFixes that measures the number of async fixes 15245 generated since the last modem boot. */ 15246 15247 /* Optional */ 15248 /* Sync Scans */ 15249 uint8_t syncScans_valid; /**< Must be set to true if syncScans is being passed */ 15250 uint32_t syncScans; 15251 /**< KPI for syncScans that measures the number of sync scans 15252 perceived since the last modem boot. */ 15253 15254 /* Optional */ 15255 /* Sync Fixes */ 15256 uint8_t syncFixes_valid; /**< Must be set to true if syncFixes is being passed */ 15257 uint32_t syncFixes; 15258 /**< KPI for asyncFixes that measures the number of sync fixes 15259 generated since the last modem boot. */ 15260 }qmiLocInjectApCacheDataIndMsgT_v02; /* Message */ 15261 /** 15262 @} 15263 */ 15264 15265 /** @addtogroup loc_qmi_aggregates 15266 @{ 15267 */ 15268 typedef struct { 15269 15270 uint64_t macAddress; 15271 /**< AP's MAC address. */ 15272 }qmiLocApDoNotCacheStructT_v02; /* Type */ 15273 /** 15274 @} 15275 */ 15276 15277 /** @addtogroup loc_qmi_messages 15278 @{ 15279 */ 15280 /** Request Message; Used by the control point to inject blacked out APs into 15281 the low power location engine. */ 15282 typedef struct { 15283 15284 /* Mandatory */ 15285 /* Version Number */ 15286 uint8_t versionNumber; 15287 /**< AP cache protocol version number. */ 15288 15289 /* Mandatory */ 15290 /* Part Number */ 15291 uint8_t partNumber; 15292 /**< Multiple message part number, used to order AP information. */ 15293 15294 /* Mandatory */ 15295 /* Total Parts */ 15296 uint8_t totalParts; 15297 /**< Total number of parts or messages for a complete cache update. */ 15298 15299 /* Mandatory */ 15300 /* No AP Cache Data */ 15301 uint32_t apDoNotCacheData_len; /**< Must be set to # of elements in apDoNotCacheData */ 15302 qmiLocApDoNotCacheStructT_v02 apDoNotCacheData[QMI_LOC_APCACHE_DATA_MAX_SAMPLES_V02]; 15303 /**< \n APDoNotCache information. */ 15304 }qmiLocInjectApDoNotCacheDataReqMsgT_v02; /* Message */ 15305 /** 15306 @} 15307 */ 15308 15309 /** @addtogroup loc_qmi_messages 15310 @{ 15311 */ 15312 /** Indication Message; Used by the control point to inject blacked out APs into 15313 the low power location engine. */ 15314 typedef struct { 15315 15316 /* Mandatory */ 15317 /* Set Inject APDONOTCACHE Data Status */ 15318 qmiLocStatusEnumT_v02 status; 15319 /**< Status of the Inject APDONOTCACHE Data request. 15320 15321 Valid values: \n 15322 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 15323 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 15324 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 15325 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 15326 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 15327 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 15328 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 15329 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 15330 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 15331 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 15332 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 15333 */ 15334 }qmiLocInjectApDoNotCacheDataIndMsgT_v02; /* Message */ 15335 /** 15336 @} 15337 */ 15338 15339 /** @addtogroup loc_qmi_enums 15340 @{ 15341 */ 15342 typedef enum { 15343 QMILOCBATCHINGSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 15344 eQMI_LOC_BATCH_POS_UNAVAILABLE_V02 = 1, /**< Service is unable to compute the positions for batching */ 15345 eQMI_LOC_BATCH_POS_AVAILABLE_V02 = 2, /**< Service is able to compute the positions for batching */ 15346 QMILOCBATCHINGSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 15347 }qmiLocBatchingStatusEnumT_v02; 15348 /** 15349 @} 15350 */ 15351 15352 /** @addtogroup loc_qmi_messages 15353 @{ 15354 */ 15355 /** Indication Message; Notifies the control point of the 15356 batching status. */ 15357 typedef struct { 15358 15359 /* Mandatory */ 15360 /* Batching Status */ 15361 qmiLocBatchingStatusEnumT_v02 batchingStatus; 15362 /**< Specifies the batching status. 15363 Valid values: \n 15364 - eQMI_LOC_BATCH_POS_UNAVAILABLE (1) -- Service is unable to compute the positions for batching 15365 - eQMI_LOC_BATCH_POS_AVAILABLE (2) -- Service is able to compute the positions for batching 15366 */ 15367 }qmiLocEventBatchingStatusIndMsgT_v02; /* Message */ 15368 /** 15369 @} 15370 */ 15371 15372 /** Identifies the always-on service capabilities. */ 15373 typedef uint32_t qmiLocAonCapabilityMaskT_v02; 15374 #define QMI_LOC_MASK_AON_AUTO_BATCHING_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000001) /**< The service supports auto batching; the client can enable auto 15375 batching by setting the distance parameter to 0 in the START_BATCHING request */ 15376 #define QMI_LOC_MASK_AON_DISTANCE_BASED_BATCHING_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000002) /**< The service supports distance-based batching */ 15377 #define QMI_LOC_MASK_AON_TIME_BASED_BATCHING_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000004) /**< The service supports time-based batching */ 15378 #define QMI_LOC_MASK_AON_DISTANCE_BASED_TRACKING_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000008) /**< The service supports distance-based tracking */ 15379 #define QMI_LOC_MASK_AON_UPDATE_TBF_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000010) /**< The service supports changing TBF dynamically */ 15380 /** @addtogroup loc_qmi_messages 15381 @{ 15382 */ 15383 /** Request Message; Used by the clients to get always-on (AON) service settings. 15384 */ 15385 typedef struct { 15386 15387 /* Mandatory */ 15388 /* Transaction ID */ 15389 uint32_t transactionId; 15390 /**< Identifies the transaction. The same transaction ID 15391 is returned in the QUERY_AON_CONFIG indication. */ 15392 }qmiLocQueryAonConfigReqMsgT_v02; /* Message */ 15393 /** 15394 @} 15395 */ 15396 15397 /** @addtogroup loc_qmi_messages 15398 @{ 15399 */ 15400 /** Indication Message; Used by the clients to get always-on (AON) service settings. 15401 */ 15402 typedef struct { 15403 15404 /* Mandatory */ 15405 /* Always-On Config Status */ 15406 qmiLocStatusEnumT_v02 status; 15407 /**< Status of the Query AON Config request. 15408 Valid values: \n 15409 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 15410 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 15411 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 15412 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 15413 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 15414 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 15415 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 15416 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 15417 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 15418 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 15419 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 15420 */ 15421 15422 /* Optional */ 15423 /* Transaction ID */ 15424 uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ 15425 uint32_t transactionId; 15426 /**< Identifies the transaction. It is the same transaction 15427 ID that was passed in the QUERY_AON_CONFIG request. */ 15428 15429 /* Optional */ 15430 /* Always-On Capability */ 15431 uint8_t aonCapability_valid; /**< Must be set to true if aonCapability is being passed */ 15432 qmiLocAonCapabilityMaskT_v02 aonCapability; 15433 /**< Always-on capabilities supported by the service. \n 15434 Valid values: \n 15435 - QMI_LOC_MASK_AON_AUTO_BATCHING_SUPPORTED (0x00000001) -- The service supports auto batching; the client can enable auto 15436 batching by setting the distance parameter to 0 in the START_BATCHING request 15437 - QMI_LOC_MASK_AON_DISTANCE_BASED_BATCHING_SUPPORTED (0x00000002) -- The service supports distance-based batching 15438 - QMI_LOC_MASK_AON_TIME_BASED_BATCHING_SUPPORTED (0x00000004) -- The service supports time-based batching 15439 - QMI_LOC_MASK_AON_DISTANCE_BASED_TRACKING_SUPPORTED (0x00000008) -- The service supports distance-based tracking 15440 - QMI_LOC_MASK_AON_UPDATE_TBF_SUPPORTED (0x00000010) -- The service supports changing TBF dynamically */ 15441 }qmiLocQueryAonConfigIndMsgT_v02; /* Message */ 15442 /** 15443 @} 15444 */ 15445 15446 typedef uint32_t qmiLocDeleteCommonDataMaskT_v02; 15447 #define QMI_LOC_DELETE_COMMON_MASK_POS_V02 ((qmiLocDeleteCommonDataMaskT_v02)0x00000001) /**< Position estimate; common for all GNSS types */ 15448 #define QMI_LOC_DELETE_COMMON_MASK_TIME_V02 ((qmiLocDeleteCommonDataMaskT_v02)0x00000002) /**< Reset all CLOCK_INFO mask */ 15449 #define QMI_LOC_DELETE_COMMON_MASK_UTC_V02 ((qmiLocDeleteCommonDataMaskT_v02)0x00000004) /**< UTC estimate */ 15450 #define QMI_LOC_DELETE_COMMON_MASK_RTI_V02 ((qmiLocDeleteCommonDataMaskT_v02)0x00000008) /**< RTI */ 15451 #define QMI_LOC_DELETE_COMMON_MASK_FREQ_BIAS_EST_V02 ((qmiLocDeleteCommonDataMaskT_v02)0x00000010) /**< Frequency bias estimate; common for all GNSS types */ 15452 typedef uint32_t qmiLocDeleteSatelliteDataMaskT_v02; 15453 #define QMI_LOC_DELETE_DATA_MASK_EPHEMERIS_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000001) /**< Ephemeris */ 15454 #define QMI_LOC_DELETE_DATA_MASK_ALMANAC_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000002) /**< Almanac */ 15455 #define QMI_LOC_DELETE_DATA_MASK_SVHEALTH_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000004) /**< SV health */ 15456 #define QMI_LOC_DELETE_DATA_MASK_SVDIR_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000008) /**< SV direction */ 15457 #define QMI_LOC_DELETE_DATA_MASK_SVSTEER_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000010) /**< SV steer */ 15458 #define QMI_LOC_DELETE_DATA_MASK_ALM_CORR_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000020) /**< Almanac correction */ 15459 #define QMI_LOC_DELETE_DATA_MASK_BLACKLIST_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000040) /**< Blacklist SVs */ 15460 #define QMI_LOC_DELETE_DATA_MASK_SA_DATA_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000080) /**< Sensitivity assistance data */ 15461 #define QMI_LOC_DELETE_DATA_MASK_SV_NO_EXIST_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000100) /**< SV does not exist */ 15462 #define QMI_LOC_DELETE_DATA_MASK_IONO_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000200) /**< Ionosphere correction */ 15463 #define QMI_LOC_DELETE_DATA_MASK_TIME_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000400) /**< Reset satellite time */ 15464 typedef uint32_t qmiLocGNSSConstellMaskT_v02; 15465 #define QMI_LOC_SYSTEM_GPS_V02 ((qmiLocGNSSConstellMaskT_v02)0x00000001) 15466 #define QMI_LOC_SYSTEM_GLO_V02 ((qmiLocGNSSConstellMaskT_v02)0x00000002) 15467 #define QMI_LOC_SYSTEM_BDS_V02 ((qmiLocGNSSConstellMaskT_v02)0x00000004) 15468 #define QMI_LOC_SYSTEM_GAL_V02 ((qmiLocGNSSConstellMaskT_v02)0x00000008) 15469 #define QMI_LOC_SYSTEM_QZSS_V02 ((qmiLocGNSSConstellMaskT_v02)0x00000010) 15470 /** @addtogroup loc_qmi_aggregates 15471 @{ 15472 */ 15473 typedef struct { 15474 15475 qmiLocGNSSConstellMaskT_v02 system; 15476 /**< Indicates which satellite system's data is to be deleted. 15477 The control point can delete multiple systems at a time. 15478 Valid values: \n 15479 - QMI_LOC_SYSTEM_GPS (0x00000001) -- 15480 - QMI_LOC_SYSTEM_GLO (0x00000002) -- 15481 - QMI_LOC_SYSTEM_BDS (0x00000004) -- 15482 - QMI_LOC_SYSTEM_GAL (0x00000008) -- 15483 - QMI_LOC_SYSTEM_QZSS (0x00000010) -- 15484 */ 15485 15486 qmiLocDeleteSatelliteDataMaskT_v02 deleteSatelliteDataMask; 15487 /**< Requested bitmask of data to be deleted for the specified satellite system. \n 15488 Valid values: \n 15489 - QMI_LOC_DELETE_DATA_MASK_EPHEMERIS (0x00000001) -- Ephemeris 15490 - QMI_LOC_DELETE_DATA_MASK_ALMANAC (0x00000002) -- Almanac 15491 - QMI_LOC_DELETE_DATA_MASK_SVHEALTH (0x00000004) -- SV health 15492 - QMI_LOC_DELETE_DATA_MASK_SVDIR (0x00000008) -- SV direction 15493 - QMI_LOC_DELETE_DATA_MASK_SVSTEER (0x00000010) -- SV steer 15494 - QMI_LOC_DELETE_DATA_MASK_ALM_CORR (0x00000020) -- Almanac correction 15495 - QMI_LOC_DELETE_DATA_MASK_BLACKLIST (0x00000040) -- Blacklist SVs 15496 - QMI_LOC_DELETE_DATA_MASK_SA_DATA (0x00000080) -- Sensitivity assistance data 15497 - QMI_LOC_DELETE_DATA_MASK_SV_NO_EXIST (0x00000100) -- SV does not exist 15498 - QMI_LOC_DELETE_DATA_MASK_IONO (0x00000200) -- Ionosphere correction 15499 - QMI_LOC_DELETE_DATA_MASK_TIME (0x00000400) -- Reset satellite time 15500 */ 15501 }qmiLocDeleteSatelliteDataStructT_v02; /* Type */ 15502 /** 15503 @} 15504 */ 15505 15506 /** @addtogroup loc_qmi_messages 15507 @{ 15508 */ 15509 /** Request Message; Deletes the location engine 15510 service data from memory. */ 15511 typedef struct { 15512 15513 /* Mandatory */ 15514 /* Reset All */ 15515 uint8_t deleteAllFlag; 15516 /**< Indicates whether all GNSS service data is to be deleted. 15517 Values: 15518 0x01 (TRUE) -- All constellations' service data is to be reset; 15519 if this flag is set, all the other information 15520 contained in the optional fields for this 15521 message are ignored 15522 0x00 (FALSE) -- The optional fields in the message are to be 15523 used to determine which data is to be deleted 15524 */ 15525 15526 /* Optional */ 15527 /* Requested Bitmask of Clock Info Data to be Deleted */ 15528 uint8_t deleteClockInfoMask_valid; /**< Must be set to true if deleteClockInfoMask is being passed */ 15529 qmiLocDeleteClockInfoMaskT_v02 deleteClockInfoMask; 15530 /**< Mask for the clock information service data that is to be deleted. 15531 If QMI_LOC_DELETE_DATA_MASK_TIME is set in deleteServiceDataMask, 15532 deleteClockInfoMask will be ignored. 15533 Valid values: \n 15534 - QMI_LOC_MASK_DELETE_CLOCK_INFO_TIME_EST (0x00000001) -- Mask to delete time estimate from clock information 15535 - QMI_LOC_MASK_DELETE_CLOCK_INFO_FREQ_EST (0x00000002) -- Mask to delete frequency estimate from clock information 15536 - QMI_LOC_MASK_DELETE_CLOCK_INFO_WEEK_NUMBER (0x00000004) -- Mask to delete week number from clock information 15537 - QMI_LOC_MASK_DELETE_CLOCK_INFO_RTC_TIME (0x00000008) -- Mask to delete RTC time from clock information 15538 - QMI_LOC_MASK_DELETE_CLOCK_INFO_TIME_TRANSFER (0x00000010) -- Mask to delete time transfer from clock information 15539 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GPSTIME_EST (0x00000020) -- Mask to delete GPS time estimate from clock information 15540 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GLOTIME_EST (0x00000040) -- Mask to delete GLONASS time estimate from clock information 15541 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GLODAY_NUMBER (0x00000080) -- Mask to delete GLONASS day number from clock information 15542 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GLO4YEAR_NUMBER (0x00000100) -- Mask to delete GLONASS four year number from clock information 15543 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GLO_RF_GRP_DELAY (0x00000200) -- Mask to delete GLONASS RF GRP delay from clock information 15544 - QMI_LOC_MASK_DELETE_CLOCK_INFO_DISABLE_TT (0x00000400) -- Mask to delete disable TT from clock information 15545 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GG_LEAPSEC (0x00000800) -- Mask to delete a BDS time estimate from the clock information 15546 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GG_GGTB (0x00001000) -- Mask to delete a BDS time estimate from the clock information 15547 - QMI_LOC_MASK_DELETE_CLOCK_INFO_BDSTIME_EST (0x00002000) -- Mask to delete a BDS time estimate from the clock information 15548 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GB_GBTB (0x00004000) -- Mask to delete Glonass-to-BDS time bias-related information from the 15549 clock information 15550 - QMI_LOC_MASK_DELETE_CLOCK_INFO_BG_BGTB (0x00008000) -- Mask to delete BDS-to-GLONASS time bias-related information from the 15551 clock information 15552 - QMI_LOC_MASK_DELETE_CLOCK_INFO_BDSWEEK_NUMBER (0x00010000) -- Mask to delete the BDS week number from the clock information 15553 - QMI_LOC_MASK_DELETE_CLOCK_INFO_BDS_RF_GRP_DELAY (0x00020000) -- Mask to delete the BDS RF GRP delay from the clock information 15554 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTIME_EST (0x00040000) -- Mask to delete a GAL time estimate from the clock information 15555 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTOGPS_TB (0x00080000) -- Mask to delete GAL-to-GPS time bias-related information from the 15556 clock information 15557 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTOGLO_TB (0x00100000) -- Mask to delete GAL-to-GLO time bias-related information from the 15558 clock information 15559 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTOBDS_TB (0x00200000) -- Mask to delete GAL-to-BDS time bias-related information from the 15560 clock information 15561 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALWEEK_NUMBER (0x00800000) -- Mask to delete the GAL week number from the clock information 15562 - QMI_LOC_MASK_DELETE_CLOCK_INFO_GAL_RF_GRP_DELAY (0x01000000) -- Mask to delete the GAL RF GRP delay from the clock information 15563 */ 15564 15565 /* Optional */ 15566 /* Requested Bitmask of Cell DB Data to be Deleted */ 15567 uint8_t deleteCellDbDataMask_valid; /**< Must be set to true if deleteCellDbDataMask is being passed */ 15568 qmiLocDeleteCelldbDataMaskT_v02 deleteCellDbDataMask; 15569 /**< Mask for the cell database service data that is to be deleted; 15570 common for all GNSS types. 15571 Valid values: \n 15572 - QMI_LOC_MASK_DELETE_CELLDB_POS (0x00000001) -- Mask to delete cell database position 15573 - QMI_LOC_MASK_DELETE_CELLDB_LATEST_GPS_POS (0x00000002) -- Mask to delete cell database latest GPS position 15574 - QMI_LOC_MASK_DELETE_CELLDB_OTA_POS (0x00000004) -- Mask to delete cell database OTA position 15575 - QMI_LOC_MASK_DELETE_CELLDB_EXT_REF_POS (0x00000008) -- Mask to delete cell database external reference position 15576 - QMI_LOC_MASK_DELETE_CELLDB_TIMETAG (0x00000010) -- Mask to delete cell database time tag 15577 - QMI_LOC_MASK_DELETE_CELLDB_CELLID (0x00000020) -- Mask to delete cell database cell ID 15578 - QMI_LOC_MASK_DELETE_CELLDB_CACHED_CELLID (0x00000040) -- Mask to delete cell database cached cell ID 15579 - QMI_LOC_MASK_DELETE_CELLDB_LAST_SRV_CELL (0x00000080) -- Mask to delete cell database last service cell 15580 - QMI_LOC_MASK_DELETE_CELLDB_CUR_SRV_CELL (0x00000100) -- Mask to delete cell database current service cell 15581 - QMI_LOC_MASK_DELETE_CELLDB_NEIGHBOR_INFO (0x00000200) -- Mask to delete cell database neighbor information 15582 */ 15583 15584 /* Optional */ 15585 /* Requested Bitmask of Common Data to be Deleted */ 15586 uint8_t deleteCommonDataMask_valid; /**< Must be set to true if deleteCommonDataMask is being passed */ 15587 qmiLocDeleteCommonDataMaskT_v02 deleteCommonDataMask; 15588 /**< Mask for the common service data that is to be deleted. 15589 Valid values: \n 15590 - QMI_LOC_DELETE_COMMON_MASK_POS (0x00000001) -- Position estimate; common for all GNSS types 15591 - QMI_LOC_DELETE_COMMON_MASK_TIME (0x00000002) -- Reset all CLOCK_INFO mask 15592 - QMI_LOC_DELETE_COMMON_MASK_UTC (0x00000004) -- UTC estimate 15593 - QMI_LOC_DELETE_COMMON_MASK_RTI (0x00000008) -- RTI 15594 - QMI_LOC_DELETE_COMMON_MASK_FREQ_BIAS_EST (0x00000010) -- Frequency bias estimate; common for all GNSS types 15595 */ 15596 15597 /* Optional */ 15598 /* GNSS Service Data to be Deleted */ 15599 uint8_t deleteSatelliteData_valid; /**< Must be set to true if deleteSatelliteData is being passed */ 15600 qmiLocDeleteSatelliteDataStructT_v02 deleteSatelliteData; 15601 /**< Request to delete the GNSS service data.*/ 15602 }qmiLocDeleteGNSSServiceDataReqMsgT_v02; /* Message */ 15603 /** 15604 @} 15605 */ 15606 15607 /** @addtogroup loc_qmi_messages 15608 @{ 15609 */ 15610 /** Indication Message; Deletes the location engine 15611 service data from memory. */ 15612 typedef struct { 15613 15614 /* Mandatory */ 15615 /* Delete GNSS Service Data Status */ 15616 qmiLocStatusEnumT_v02 status; 15617 /**< Status of the Delete Assist Data request. 15618 15619 Valid values: \n 15620 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 15621 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 15622 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 15623 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 15624 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 15625 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 15626 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 15627 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 15628 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 15629 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 15630 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 15631 */ 15632 }qmiLocDeleteGNSSServiceDataIndMsgT_v02; /* Message */ 15633 /** 15634 @} 15635 */ 15636 15637 /** @addtogroup loc_qmi_enums 15638 @{ 15639 */ 15640 typedef enum { 15641 QMILOCXTRADATAFORMATENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ 15642 eQMI_LOC_XTRA_DATA_V02 = 0, /**< Default is QCOM-XTRA format. */ 15643 QMILOCXTRADATAFORMATENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ 15644 }qmiLocXtraDataFormatEnumT_v02; 15645 /** 15646 @} 15647 */ 15648 15649 /** @addtogroup loc_qmi_messages 15650 @{ 15651 */ 15652 /** Request Message; Injects XTRA data. */ 15653 typedef struct { 15654 15655 /* Mandatory */ 15656 /* Total Size */ 15657 uint32_t totalSize; 15658 /**< Total size of the XTRA data to be injected. \n 15659 - Units: Bytes */ 15660 15661 /* Mandatory */ 15662 /* Total Parts */ 15663 uint16_t totalParts; 15664 /**< Total number of parts into which the XTRA data is divided. */ 15665 15666 /* Mandatory */ 15667 /* Part Number */ 15668 uint16_t partNum; 15669 /**< Number of the current XTRA data part; starts at 1. */ 15670 15671 /* Mandatory */ 15672 /* Data */ 15673 uint32_t partData_len; /**< Must be set to # of elements in partData */ 15674 uint8_t partData[QMI_LOC_MAX_XTRA_PART_LEN_V02]; 15675 /**< XTRA data. \n 15676 - Type: Array of bytes \n 15677 - Maximum length of the array: 1024 15678 */ 15679 15680 /* Optional */ 15681 /* Format Type */ 15682 uint8_t formatType_valid; /**< Must be set to true if formatType is being passed */ 15683 qmiLocXtraDataFormatEnumT_v02 formatType; 15684 /**< XTRA data format. \n 15685 Valid values: \n 15686 - eQMI_LOC_XTRA_DATA (0) -- Default is QCOM-XTRA format. 15687 */ 15688 }qmiLocInjectXtraDataReqMsgT_v02; /* Message */ 15689 /** 15690 @} 15691 */ 15692 15693 /** @addtogroup loc_qmi_messages 15694 @{ 15695 */ 15696 /** Indication Message; Injects XTRA data. */ 15697 typedef struct { 15698 15699 /* Mandatory */ 15700 /* Data Injection Status */ 15701 qmiLocStatusEnumT_v02 status; 15702 /**< Status of the Data Injection request. 15703 15704 Valid values: \n 15705 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 15706 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 15707 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 15708 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 15709 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 15710 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 15711 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 15712 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 15713 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 15714 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 15715 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure 15716 */ 15717 15718 /* Optional */ 15719 /* Part Number */ 15720 uint8_t partNum_valid; /**< Must be set to true if partNum is being passed */ 15721 uint16_t partNum; 15722 /**< Number of the XTRA data part for which this indication 15723 is sent; starts at 1. */ 15724 }qmiLocInjectXtraDataIndMsgT_v02; /* Message */ 15725 /** 15726 @} 15727 */ 15728 15729 /** @addtogroup loc_qmi_messages 15730 @{ 15731 */ 15732 /** Request Message; Used by the control point to inject PCID which is used by XTRA service. */ 15733 typedef struct { 15734 15735 /* Mandatory */ 15736 /* XTRA PCID */ 15737 uint64_t xtraPcid; 15738 /**< - Type: uint64 \n */ 15739 }qmiLocInjectXtraPcidReqMsgT_v02; /* Message */ 15740 /** 15741 @} 15742 */ 15743 15744 /** @addtogroup loc_qmi_messages 15745 @{ 15746 */ 15747 /** Indication Message; Used by the control point to inject PCID which is used by XTRA service. */ 15748 typedef struct { 15749 15750 /* Mandatory */ 15751 /* Inject XTRA PCID Status */ 15752 qmiLocStatusEnumT_v02 status; 15753 /**< Status of the inject XTRA PCID. 15754 15755 Valid values: \n 15756 - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n 15757 - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n 15758 - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n 15759 - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n 15760 - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n 15761 - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n 15762 - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n 15763 - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n 15764 - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n 15765 - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n 15766 - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ 15767 }qmiLocInjectXtraPcidIndMsgT_v02; /* Message */ 15768 /** 15769 @} 15770 */ 15771 15772 /* Conditional compilation tags for message removal */ 15773 //#define REMOVE_QMI_LOC_ADD_CIRCULAR_GEOFENCE_V02 15774 //#define REMOVE_QMI_LOC_ADD_GEOFENCE_CONTEXT_V02 15775 //#define REMOVE_QMI_LOC_DELETE_ASSIST_DATA_V02 15776 //#define REMOVE_QMI_LOC_DELETE_GEOFENCE_V02 15777 //#define REMOVE_QMI_LOC_DELETE_GEOFENCE_CONTEXT_V02 15778 //#define REMOVE_QMI_LOC_DELETE_GNSS_SERVICE_DATA_V02 15779 //#define REMOVE_QMI_LOC_DELETE_SUPL_CERTIFICATE_V02 15780 //#define REMOVE_QMI_LOC_EDIT_GEOFENCE_V02 15781 //#define REMOVE_QMI_LOC_EVENT_BATCHING_STATUS_V02 15782 //#define REMOVE_QMI_LOC_EVENT_BATCH_FULL_NOTIFICATION_V02 15783 //#define REMOVE_QMI_LOC_EVENT_DBT_POSITION_REPORT_V02 15784 //#define REMOVE_QMI_LOC_EVENT_DBT_SESSION_STATUS_V02 15785 //#define REMOVE_QMI_LOC_EVENT_ENGINE_STATE_V02 15786 //#define REMOVE_QMI_LOC_EVENT_FIX_SESSION_STATE_V02 15787 //#define REMOVE_QMI_LOC_EVENT_GDT_DOWNLOAD_BEGIN_REQ_V02 15788 //#define REMOVE_QMI_LOC_EVENT_GDT_DOWNLOAD_END_REQ_V02 15789 //#define REMOVE_QMI_LOC_EVENT_GDT_RECEIVE_DONE_V02 15790 //#define REMOVE_QMI_LOC_EVENT_GDT_UPLOAD_BEGIN_STATUS_REQ_V02 15791 //#define REMOVE_QMI_LOC_EVENT_GDT_UPLOAD_END_REQ_V02 15792 //#define REMOVE_QMI_LOC_EVENT_GEOFENCE_BATCHED_BREACH_NOTIFICATION_V02 15793 //#define REMOVE_QMI_LOC_EVENT_GEOFENCE_BATCHED_DWELL_NOTIFICATION_V02 15794 //#define REMOVE_QMI_LOC_EVENT_GEOFENCE_BREACH_NOTIFICATION_V02 15795 //#define REMOVE_QMI_LOC_EVENT_GEOFENCE_GEN_ALERT_V02 15796 //#define REMOVE_QMI_LOC_EVENT_GEOFENCE_PROXIMITY_NOTIFICATION_V02 15797 //#define REMOVE_QMI_LOC_EVENT_GET_TIME_ZONE_INFO_V02 15798 //#define REMOVE_QMI_LOC_EVENT_GNSS_MEASUREMENT_REPORT_IND_V02 15799 //#define REMOVE_QMI_LOC_EVENT_GNSS_SV_INFO_V02 15800 //#define REMOVE_QMI_LOC_EVENT_INJECT_POSITION_REQ_V02 15801 //#define REMOVE_QMI_LOC_EVENT_INJECT_PREDICTED_ORBITS_REQ_V02 15802 //#define REMOVE_QMI_LOC_EVENT_INJECT_TIME_REQ_V02 15803 //#define REMOVE_QMI_LOC_EVENT_INJECT_WIFI_AP_DATA_REQ_V02 15804 //#define REMOVE_QMI_LOC_EVENT_LIVE_BATCHED_POSITION_REPORT_V02 15805 //#define REMOVE_QMI_LOC_EVENT_LOCATION_SERVER_CONNECTION_REQ_V02 15806 //#define REMOVE_QMI_LOC_EVENT_MOTION_DATA_CONTROL_V02 15807 //#define REMOVE_QMI_LOC_EVENT_NI_GEOFENCE_NOTIFICATION_V02 15808 //#define REMOVE_QMI_LOC_EVENT_NI_NOTIFY_VERIFY_REQ_V02 15809 //#define REMOVE_QMI_LOC_EVENT_NMEA_V02 15810 //#define REMOVE_QMI_LOC_EVENT_PEDOMETER_CONTROL_V02 15811 //#define REMOVE_QMI_LOC_EVENT_POSITION_REPORT_V02 15812 //#define REMOVE_QMI_LOC_EVENT_SENSOR_STREAMING_READY_STATUS_V02 15813 //#define REMOVE_QMI_LOC_EVENT_SET_SPI_STREAMING_REPORT_V02 15814 //#define REMOVE_QMI_LOC_EVENT_SV_POLYNOMIAL_REPORT_IND_V02 15815 //#define REMOVE_QMI_LOC_EVENT_TIME_SYNC_REQ_V02 15816 //#define REMOVE_QMI_LOC_EVENT_VEHICLE_DATA_READY_STATUS_V02 15817 //#define REMOVE_QMI_LOC_EVENT_WIFI_REQ_V02 15818 //#define REMOVE_QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_V02 15819 //#define REMOVE_QMI_LOC_GDT_DOWNLOAD_END_STATUS_V02 15820 //#define REMOVE_QMI_LOC_GDT_DOWNLOAD_READY_STATUS_V02 15821 //#define REMOVE_QMI_LOC_GDT_RECEIVE_DONE_STATUS_V02 15822 //#define REMOVE_QMI_LOC_GDT_UPLOAD_BEGIN_STATUS_V02 15823 //#define REMOVE_QMI_LOC_GDT_UPLOAD_END_V02 15824 //#define REMOVE_QMI_LOC_GET_AVAILABLE_WWAN_POSITION_V02 15825 //#define REMOVE_QMI_LOC_GET_BATCH_SIZE_V02 15826 //#define REMOVE_QMI_LOC_GET_BEST_AVAILABLE_POSITION_V02 15827 //#define REMOVE_QMI_LOC_GET_CRADLE_MOUNT_CONFIG_V02 15828 //#define REMOVE_QMI_LOC_GET_ENGINE_LOCK_V02 15829 //#define REMOVE_QMI_LOC_GET_EXTERNAL_POWER_CONFIG_V02 15830 //#define REMOVE_QMI_LOC_GET_FIX_CRITERIA_V02 15831 //#define REMOVE_QMI_LOC_GET_GEOFENCE_ENGINE_CONFIG_V02 15832 //#define REMOVE_QMI_LOC_GET_LOW_POWER_MODE_V02 15833 //#define REMOVE_QMI_LOC_GET_NI_GEOFENCE_ID_LIST_V02 15834 //#define REMOVE_QMI_LOC_GET_NMEA_TYPES_V02 15835 //#define REMOVE_QMI_LOC_GET_OPERATION_MODE_V02 15836 //#define REMOVE_QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_V02 15837 //#define REMOVE_QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_V02 15838 //#define REMOVE_QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_V02 15839 //#define REMOVE_QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_V02 15840 //#define REMOVE_QMI_LOC_GET_REGISTERED_EVENTS_V02 15841 //#define REMOVE_QMI_LOC_GET_SBAS_CONFIG_V02 15842 //#define REMOVE_QMI_LOC_GET_SENSOR_CONTROL_CONFIG_V02 15843 //#define REMOVE_QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_V02 15844 //#define REMOVE_QMI_LOC_GET_SENSOR_PROPERTIES_V02 15845 //#define REMOVE_QMI_LOC_GET_SERVER_V02 15846 //#define REMOVE_QMI_LOC_GET_SERVICE_REVISION_V02 15847 //#define REMOVE_QMI_LOC_GET_SUPPORTED_FIELDS_V02 15848 //#define REMOVE_QMI_LOC_GET_SUPPORTED_MSGS_V02 15849 //#define REMOVE_QMI_LOC_GET_XTRA_T_SESSION_CONTROL_V02 15850 //#define REMOVE_QMI_LOC_GTP_AP_STATUS_V02 15851 //#define REMOVE_QMI_LOC_INFORM_CLIENT_REVISION_V02 15852 //#define REMOVE_QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_V02 15853 //#define REMOVE_QMI_LOC_INFORM_NI_USER_RESPONSE_V02 15854 //#define REMOVE_QMI_LOC_INJECT_APCACHE_DATA_V02 15855 //#define REMOVE_QMI_LOC_INJECT_APDONOTCACHE_DATA_V02 15856 //#define REMOVE_QMI_LOC_INJECT_GSM_CELL_INFO_V02 15857 //#define REMOVE_QMI_LOC_INJECT_GTP_CLIENT_DOWNLOADED_DATA_V02 15858 //#define REMOVE_QMI_LOC_INJECT_MOTION_DATA_V02 15859 //#define REMOVE_QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_V02 15860 //#define REMOVE_QMI_LOC_INJECT_POSITION_V02 15861 //#define REMOVE_QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_V02 15862 //#define REMOVE_QMI_LOC_INJECT_SENSOR_DATA_V02 15863 //#define REMOVE_QMI_LOC_INJECT_SUBSCRIBER_ID_V02 15864 //#define REMOVE_QMI_LOC_INJECT_SUPL_CERTIFICATE_V02 15865 //#define REMOVE_QMI_LOC_INJECT_TDSCDMA_CELL_INFO_V02 15866 //#define REMOVE_QMI_LOC_INJECT_TIME_SYNC_DATA_V02 15867 //#define REMOVE_QMI_LOC_INJECT_TIME_ZONE_INFO_V02 15868 //#define REMOVE_QMI_LOC_INJECT_UTC_TIME_V02 15869 //#define REMOVE_QMI_LOC_INJECT_VEHICLE_SENSOR_DATA_V02 15870 //#define REMOVE_QMI_LOC_INJECT_WCDMA_CELL_INFO_V02 15871 //#define REMOVE_QMI_LOC_INJECT_WIFI_AP_DATA_V02 15872 //#define REMOVE_QMI_LOC_INJECT_WIFI_POSITION_V02 15873 //#define REMOVE_QMI_LOC_INJECT_XTRA_DATA_V02 15874 //#define REMOVE_QMI_LOC_INJECT_XTRA_PCID_V02 15875 //#define REMOVE_QMI_LOC_NOTIFY_WIFI_ATTACHMENT_STATUS_V02 15876 //#define REMOVE_QMI_LOC_NOTIFY_WIFI_ENABLED_STATUS_V02 15877 //#define REMOVE_QMI_LOC_NOTIFY_WIFI_STATUS_V02 15878 //#define REMOVE_QMI_LOC_PEDOMETER_REPORT_V02 15879 //#define REMOVE_QMI_LOC_QUERY_AON_CONFIG_V02 15880 //#define REMOVE_QMI_LOC_QUERY_GEOFENCE_V02 15881 //#define REMOVE_QMI_LOC_READ_FROM_BATCH_V02 15882 //#define REMOVE_QMI_LOC_REG_EVENTS_V02 15883 //#define REMOVE_QMI_LOC_RELEASE_BATCH_V02 15884 //#define REMOVE_QMI_LOC_SECURE_GET_AVAILABLE_POSITION_V02 15885 //#define REMOVE_QMI_LOC_SET_CRADLE_MOUNT_CONFIG_V02 15886 //#define REMOVE_QMI_LOC_SET_ENGINE_LOCK_V02 15887 //#define REMOVE_QMI_LOC_SET_EXTERNAL_POWER_CONFIG_V02 15888 //#define REMOVE_QMI_LOC_SET_GEOFENCE_ENGINE_CONFIG_V02 15889 //#define REMOVE_QMI_LOC_SET_GEOFENCE_ENGINE_CONTEXT_V02 15890 //#define REMOVE_QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG_V02 15891 //#define REMOVE_QMI_LOC_SET_LOW_POWER_MODE_V02 15892 //#define REMOVE_QMI_LOC_SET_NMEA_TYPES_V02 15893 //#define REMOVE_QMI_LOC_SET_OPERATION_MODE_V02 15894 //#define REMOVE_QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_V02 15895 //#define REMOVE_QMI_LOC_SET_PREMIUM_SERVICES_CONFIG_V02 15896 //#define REMOVE_QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_V02 15897 //#define REMOVE_QMI_LOC_SET_SBAS_CONFIG_V02 15898 //#define REMOVE_QMI_LOC_SET_SENSOR_CONTROL_CONFIG_V02 15899 //#define REMOVE_QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_V02 15900 //#define REMOVE_QMI_LOC_SET_SENSOR_PROPERTIES_V02 15901 //#define REMOVE_QMI_LOC_SET_SERVER_V02 15902 //#define REMOVE_QMI_LOC_SET_SPI_STATUS_V02 15903 //#define REMOVE_QMI_LOC_SET_XTRA_T_SESSION_CONTROL_V02 15904 //#define REMOVE_QMI_LOC_SET_XTRA_VERSION_CHECK_V02 15905 //#define REMOVE_QMI_LOC_START_V02 15906 //#define REMOVE_QMI_LOC_START_BATCHING_V02 15907 //#define REMOVE_QMI_LOC_START_DBT_V02 15908 //#define REMOVE_QMI_LOC_STOP_V02 15909 //#define REMOVE_QMI_LOC_STOP_BATCHING_V02 15910 //#define REMOVE_QMI_LOC_STOP_DBT_V02 15911 //#define REMOVE_QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_V02 15912 15913 /*Service Message Definition*/ 15914 /** @addtogroup loc_qmi_msg_ids 15915 @{ 15916 */ 15917 #define QMI_LOC_GET_SUPPORTED_MSGS_REQ_V02 0x001E 15918 #define QMI_LOC_GET_SUPPORTED_MSGS_RESP_V02 0x001E 15919 #define QMI_LOC_GET_SUPPORTED_FIELDS_REQ_V02 0x001F 15920 #define QMI_LOC_GET_SUPPORTED_FIELDS_RESP_V02 0x001F 15921 #define QMI_LOC_INFORM_CLIENT_REVISION_REQ_V02 0x0020 15922 #define QMI_LOC_INFORM_CLIENT_REVISION_RESP_V02 0x0020 15923 #define QMI_LOC_REG_EVENTS_REQ_V02 0x0021 15924 #define QMI_LOC_REG_EVENTS_RESP_V02 0x0021 15925 #define QMI_LOC_START_REQ_V02 0x0022 15926 #define QMI_LOC_START_RESP_V02 0x0022 15927 #define QMI_LOC_STOP_REQ_V02 0x0023 15928 #define QMI_LOC_STOP_RESP_V02 0x0023 15929 #define QMI_LOC_EVENT_POSITION_REPORT_IND_V02 0x0024 15930 #define QMI_LOC_EVENT_GNSS_SV_INFO_IND_V02 0x0025 15931 #define QMI_LOC_EVENT_NMEA_IND_V02 0x0026 15932 #define QMI_LOC_EVENT_NI_NOTIFY_VERIFY_REQ_IND_V02 0x0027 15933 #define QMI_LOC_EVENT_INJECT_TIME_REQ_IND_V02 0x0028 15934 #define QMI_LOC_EVENT_INJECT_PREDICTED_ORBITS_REQ_IND_V02 0x0029 15935 #define QMI_LOC_EVENT_INJECT_POSITION_REQ_IND_V02 0x002A 15936 #define QMI_LOC_EVENT_ENGINE_STATE_IND_V02 0x002B 15937 #define QMI_LOC_EVENT_FIX_SESSION_STATE_IND_V02 0x002C 15938 #define QMI_LOC_EVENT_WIFI_REQ_IND_V02 0x002D 15939 #define QMI_LOC_EVENT_SENSOR_STREAMING_READY_STATUS_IND_V02 0x002E 15940 #define QMI_LOC_EVENT_TIME_SYNC_REQ_IND_V02 0x002F 15941 #define QMI_LOC_EVENT_SET_SPI_STREAMING_REPORT_IND_V02 0x0030 15942 #define QMI_LOC_EVENT_LOCATION_SERVER_CONNECTION_REQ_IND_V02 0x0031 15943 #define QMI_LOC_GET_SERVICE_REVISION_REQ_V02 0x0032 15944 #define QMI_LOC_GET_SERVICE_REVISION_RESP_V02 0x0032 15945 #define QMI_LOC_GET_SERVICE_REVISION_IND_V02 0x0032 15946 #define QMI_LOC_GET_FIX_CRITERIA_REQ_V02 0x0033 15947 #define QMI_LOC_GET_FIX_CRITERIA_RESP_V02 0x0033 15948 #define QMI_LOC_GET_FIX_CRITERIA_IND_V02 0x0033 15949 #define QMI_LOC_NI_USER_RESPONSE_REQ_V02 0x0034 15950 #define QMI_LOC_NI_USER_RESPONSE_RESP_V02 0x0034 15951 #define QMI_LOC_NI_USER_RESPONSE_IND_V02 0x0034 15952 #define QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_REQ_V02 0x0035 15953 #define QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_RESP_V02 0x0035 15954 #define QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_IND_V02 0x0035 15955 #define QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_REQ_V02 0x0036 15956 #define QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_RESP_V02 0x0036 15957 #define QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_IND_V02 0x0036 15958 #define QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_REQ_V02 0x0037 15959 #define QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_RESP_V02 0x0037 15960 #define QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_IND_V02 0x0037 15961 #define QMI_LOC_INJECT_UTC_TIME_REQ_V02 0x0038 15962 #define QMI_LOC_INJECT_UTC_TIME_RESP_V02 0x0038 15963 #define QMI_LOC_INJECT_UTC_TIME_IND_V02 0x0038 15964 #define QMI_LOC_INJECT_POSITION_REQ_V02 0x0039 15965 #define QMI_LOC_INJECT_POSITION_RESP_V02 0x0039 15966 #define QMI_LOC_INJECT_POSITION_IND_V02 0x0039 15967 #define QMI_LOC_SET_ENGINE_LOCK_REQ_V02 0x003A 15968 #define QMI_LOC_SET_ENGINE_LOCK_RESP_V02 0x003A 15969 #define QMI_LOC_SET_ENGINE_LOCK_IND_V02 0x003A 15970 #define QMI_LOC_GET_ENGINE_LOCK_REQ_V02 0x003B 15971 #define QMI_LOC_GET_ENGINE_LOCK_RESP_V02 0x003B 15972 #define QMI_LOC_GET_ENGINE_LOCK_IND_V02 0x003B 15973 #define QMI_LOC_SET_SBAS_CONFIG_REQ_V02 0x003C 15974 #define QMI_LOC_SET_SBAS_CONFIG_RESP_V02 0x003C 15975 #define QMI_LOC_SET_SBAS_CONFIG_IND_V02 0x003C 15976 #define QMI_LOC_GET_SBAS_CONFIG_REQ_V02 0x003D 15977 #define QMI_LOC_GET_SBAS_CONFIG_RESP_V02 0x003D 15978 #define QMI_LOC_GET_SBAS_CONFIG_IND_V02 0x003D 15979 #define QMI_LOC_SET_NMEA_TYPES_REQ_V02 0x003E 15980 #define QMI_LOC_SET_NMEA_TYPES_RESP_V02 0x003E 15981 #define QMI_LOC_SET_NMEA_TYPES_IND_V02 0x003E 15982 #define QMI_LOC_GET_NMEA_TYPES_REQ_V02 0x003F 15983 #define QMI_LOC_GET_NMEA_TYPES_RESP_V02 0x003F 15984 #define QMI_LOC_GET_NMEA_TYPES_IND_V02 0x003F 15985 #define QMI_LOC_SET_LOW_POWER_MODE_REQ_V02 0x0040 15986 #define QMI_LOC_SET_LOW_POWER_MODE_RESP_V02 0x0040 15987 #define QMI_LOC_SET_LOW_POWER_MODE_IND_V02 0x0040 15988 #define QMI_LOC_GET_LOW_POWER_MODE_REQ_V02 0x0041 15989 #define QMI_LOC_GET_LOW_POWER_MODE_RESP_V02 0x0041 15990 #define QMI_LOC_GET_LOW_POWER_MODE_IND_V02 0x0041 15991 #define QMI_LOC_SET_SERVER_REQ_V02 0x0042 15992 #define QMI_LOC_SET_SERVER_RESP_V02 0x0042 15993 #define QMI_LOC_SET_SERVER_IND_V02 0x0042 15994 #define QMI_LOC_GET_SERVER_REQ_V02 0x0043 15995 #define QMI_LOC_GET_SERVER_RESP_V02 0x0043 15996 #define QMI_LOC_GET_SERVER_IND_V02 0x0043 15997 #define QMI_LOC_DELETE_ASSIST_DATA_REQ_V02 0x0044 15998 #define QMI_LOC_DELETE_ASSIST_DATA_RESP_V02 0x0044 15999 #define QMI_LOC_DELETE_ASSIST_DATA_IND_V02 0x0044 16000 #define QMI_LOC_SET_XTRA_T_SESSION_CONTROL_REQ_V02 0x0045 16001 #define QMI_LOC_SET_XTRA_T_SESSION_CONTROL_RESP_V02 0x0045 16002 #define QMI_LOC_SET_XTRA_T_SESSION_CONTROL_IND_V02 0x0045 16003 #define QMI_LOC_GET_XTRA_T_SESSION_CONTROL_REQ_V02 0x0046 16004 #define QMI_LOC_GET_XTRA_T_SESSION_CONTROL_RESP_V02 0x0046 16005 #define QMI_LOC_GET_XTRA_T_SESSION_CONTROL_IND_V02 0x0046 16006 #define QMI_LOC_INJECT_WIFI_POSITION_REQ_V02 0x0047 16007 #define QMI_LOC_INJECT_WIFI_POSITION_RESP_V02 0x0047 16008 #define QMI_LOC_INJECT_WIFI_POSITION_IND_V02 0x0047 16009 #define QMI_LOC_NOTIFY_WIFI_STATUS_REQ_V02 0x0048 16010 #define QMI_LOC_NOTIFY_WIFI_STATUS_RESP_V02 0x0048 16011 #define QMI_LOC_NOTIFY_WIFI_STATUS_IND_V02 0x0048 16012 #define QMI_LOC_GET_REGISTERED_EVENTS_REQ_V02 0x0049 16013 #define QMI_LOC_GET_REGISTERED_EVENTS_RESP_V02 0x0049 16014 #define QMI_LOC_GET_REGISTERED_EVENTS_IND_V02 0x0049 16015 #define QMI_LOC_SET_OPERATION_MODE_REQ_V02 0x004A 16016 #define QMI_LOC_SET_OPERATION_MODE_RESP_V02 0x004A 16017 #define QMI_LOC_SET_OPERATION_MODE_IND_V02 0x004A 16018 #define QMI_LOC_GET_OPERATION_MODE_REQ_V02 0x004B 16019 #define QMI_LOC_GET_OPERATION_MODE_RESP_V02 0x004B 16020 #define QMI_LOC_GET_OPERATION_MODE_IND_V02 0x004B 16021 #define QMI_LOC_SET_SPI_STATUS_REQ_V02 0x004C 16022 #define QMI_LOC_SET_SPI_STATUS_RESP_V02 0x004C 16023 #define QMI_LOC_SET_SPI_STATUS_IND_V02 0x004C 16024 #define QMI_LOC_INJECT_SENSOR_DATA_REQ_V02 0x004D 16025 #define QMI_LOC_INJECT_SENSOR_DATA_RESP_V02 0x004D 16026 #define QMI_LOC_INJECT_SENSOR_DATA_IND_V02 0x004D 16027 #define QMI_LOC_INJECT_TIME_SYNC_DATA_REQ_V02 0x004E 16028 #define QMI_LOC_INJECT_TIME_SYNC_DATA_RESP_V02 0x004E 16029 #define QMI_LOC_INJECT_TIME_SYNC_DATA_IND_V02 0x004E 16030 #define QMI_LOC_SET_CRADLE_MOUNT_CONFIG_REQ_V02 0x004F 16031 #define QMI_LOC_SET_CRADLE_MOUNT_CONFIG_RESP_V02 0x004F 16032 #define QMI_LOC_SET_CRADLE_MOUNT_CONFIG_IND_V02 0x004F 16033 #define QMI_LOC_GET_CRADLE_MOUNT_CONFIG_REQ_V02 0x0050 16034 #define QMI_LOC_GET_CRADLE_MOUNT_CONFIG_RESP_V02 0x0050 16035 #define QMI_LOC_GET_CRADLE_MOUNT_CONFIG_IND_V02 0x0050 16036 #define QMI_LOC_SET_EXTERNAL_POWER_CONFIG_REQ_V02 0x0051 16037 #define QMI_LOC_SET_EXTERNAL_POWER_CONFIG_RESP_V02 0x0051 16038 #define QMI_LOC_SET_EXTERNAL_POWER_CONFIG_IND_V02 0x0051 16039 #define QMI_LOC_GET_EXTERNAL_POWER_CONFIG_REQ_V02 0x0052 16040 #define QMI_LOC_GET_EXTERNAL_POWER_CONFIG_RESP_V02 0x0052 16041 #define QMI_LOC_GET_EXTERNAL_POWER_CONFIG_IND_V02 0x0052 16042 #define QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_REQ_V02 0x0053 16043 #define QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_RESP_V02 0x0053 16044 #define QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_IND_V02 0x0053 16045 #define QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02 0x0054 16046 #define QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_RESP_V02 0x0054 16047 #define QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_IND_V02 0x0054 16048 #define QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02 0x0055 16049 #define QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_RESP_V02 0x0055 16050 #define QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_IND_V02 0x0055 16051 #define QMI_LOC_SET_SENSOR_CONTROL_CONFIG_REQ_V02 0x0056 16052 #define QMI_LOC_SET_SENSOR_CONTROL_CONFIG_RESP_V02 0x0056 16053 #define QMI_LOC_SET_SENSOR_CONTROL_CONFIG_IND_V02 0x0056 16054 #define QMI_LOC_GET_SENSOR_CONTROL_CONFIG_REQ_V02 0x0057 16055 #define QMI_LOC_GET_SENSOR_CONTROL_CONFIG_RESP_V02 0x0057 16056 #define QMI_LOC_GET_SENSOR_CONTROL_CONFIG_IND_V02 0x0057 16057 #define QMI_LOC_SET_SENSOR_PROPERTIES_REQ_V02 0x0058 16058 #define QMI_LOC_SET_SENSOR_PROPERTIES_RESP_V02 0x0058 16059 #define QMI_LOC_SET_SENSOR_PROPERTIES_IND_V02 0x0058 16060 #define QMI_LOC_GET_SENSOR_PROPERTIES_REQ_V02 0x0059 16061 #define QMI_LOC_GET_SENSOR_PROPERTIES_RESP_V02 0x0059 16062 #define QMI_LOC_GET_SENSOR_PROPERTIES_IND_V02 0x0059 16063 #define QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_REQ_V02 0x005A 16064 #define QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_RESP_V02 0x005A 16065 #define QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_IND_V02 0x005A 16066 #define QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_REQ_V02 0x005B 16067 #define QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_RESP_V02 0x005B 16068 #define QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_IND_V02 0x005B 16069 #define QMI_LOC_INJECT_SUPL_CERTIFICATE_REQ_V02 0x005C 16070 #define QMI_LOC_INJECT_SUPL_CERTIFICATE_RESP_V02 0x005C 16071 #define QMI_LOC_INJECT_SUPL_CERTIFICATE_IND_V02 0x005C 16072 #define QMI_LOC_DELETE_SUPL_CERTIFICATE_REQ_V02 0x005D 16073 #define QMI_LOC_DELETE_SUPL_CERTIFICATE_RESP_V02 0x005D 16074 #define QMI_LOC_DELETE_SUPL_CERTIFICATE_IND_V02 0x005D 16075 #define QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_REQ_V02 0x005E 16076 #define QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_RESP_V02 0x005E 16077 #define QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_IND_V02 0x005E 16078 #define QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_REQ_V02 0x005F 16079 #define QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_RESP_V02 0x005F 16080 #define QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_IND_V02 0x005F 16081 #define QMI_LOC_EVENT_NI_GEOFENCE_NOTIFICATION_IND_V02 0x0060 16082 #define QMI_LOC_EVENT_GEOFENCE_GEN_ALERT_IND_V02 0x0061 16083 #define QMI_LOC_EVENT_GEOFENCE_BREACH_NOTIFICATION_IND_V02 0x0062 16084 #define QMI_LOC_ADD_CIRCULAR_GEOFENCE_REQ_V02 0x0063 16085 #define QMI_LOC_ADD_CIRCULAR_GEOFENCE_RESP_V02 0x0063 16086 #define QMI_LOC_ADD_CIRCULAR_GEOFENCE_IND_V02 0x0063 16087 #define QMI_LOC_DELETE_GEOFENCE_REQ_V02 0x0064 16088 #define QMI_LOC_DELETE_GEOFENCE_RESP_V02 0x0064 16089 #define QMI_LOC_DELETE_GEOFENCE_IND_V02 0x0064 16090 #define QMI_LOC_QUERY_GEOFENCE_REQ_V02 0x0065 16091 #define QMI_LOC_QUERY_GEOFENCE_RESP_V02 0x0065 16092 #define QMI_LOC_QUERY_GEOFENCE_IND_V02 0x0065 16093 #define QMI_LOC_EDIT_GEOFENCE_REQ_V02 0x0066 16094 #define QMI_LOC_EDIT_GEOFENCE_RESP_V02 0x0066 16095 #define QMI_LOC_EDIT_GEOFENCE_IND_V02 0x0066 16096 #define QMI_LOC_GET_BEST_AVAILABLE_POSITION_REQ_V02 0x0067 16097 #define QMI_LOC_GET_BEST_AVAILABLE_POSITION_RESP_V02 0x0067 16098 #define QMI_LOC_GET_BEST_AVAILABLE_POSITION_IND_V02 0x0067 16099 #define QMI_LOC_INJECT_MOTION_DATA_REQ_V02 0x0068 16100 #define QMI_LOC_INJECT_MOTION_DATA_RESP_V02 0x0068 16101 #define QMI_LOC_INJECT_MOTION_DATA_IND_V02 0x0068 16102 #define QMI_LOC_GET_NI_GEOFENCE_ID_LIST_REQ_V02 0x0069 16103 #define QMI_LOC_GET_NI_GEOFENCE_ID_LIST_RESP_V02 0x0069 16104 #define QMI_LOC_GET_NI_GEOFENCE_ID_LIST_IND_V02 0x0069 16105 #define QMI_LOC_INJECT_GSM_CELL_INFO_REQ_V02 0x006A 16106 #define QMI_LOC_INJECT_GSM_CELL_INFO_RESP_V02 0x006A 16107 #define QMI_LOC_INJECT_GSM_CELL_INFO_IND_V02 0x006A 16108 #define QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_REQ_V02 0x006B 16109 #define QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_RESP_V02 0x006B 16110 #define QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_IND_V02 0x006B 16111 #define QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_REQ_V02 0x006C 16112 #define QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_RESP_V02 0x006C 16113 #define QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_IND_V02 0x006C 16114 #define QMI_LOC_EVENT_PEDOMETER_CONTROL_IND_V02 0x006D 16115 #define QMI_LOC_EVENT_MOTION_DATA_CONTROL_IND_V02 0x006E 16116 #define QMI_LOC_PEDOMETER_REPORT_REQ_V02 0x006F 16117 #define QMI_LOC_PEDOMETER_REPORT_RESP_V02 0x006F 16118 #define QMI_LOC_PEDOMETER_REPORT_IND_V02 0x006F 16119 #define QMI_LOC_INJECT_WCDMA_CELL_INFO_REQ_V02 0x0070 16120 #define QMI_LOC_INJECT_WCDMA_CELL_INFO_RESP_V02 0x0070 16121 #define QMI_LOC_INJECT_WCDMA_CELL_INFO_IND_V02 0x0070 16122 #define QMI_LOC_INJECT_TDSCDMA_CELL_INFO_REQ_V02 0x0071 16123 #define QMI_LOC_INJECT_TDSCDMA_CELL_INFO_RESP_V02 0x0071 16124 #define QMI_LOC_INJECT_TDSCDMA_CELL_INFO_IND_V02 0x0071 16125 #define QMI_LOC_INJECT_SUBSCRIBER_ID_REQ_V02 0x0072 16126 #define QMI_LOC_INJECT_SUBSCRIBER_ID_RESP_V02 0x0072 16127 #define QMI_LOC_INJECT_SUBSCRIBER_ID_IND_V02 0x0072 16128 #define QMI_LOC_SET_GEOFENCE_ENGINE_CONFIG_REQ_V02 0x0073 16129 #define QMI_LOC_SET_GEOFENCE_ENGINE_CONFIG_RESP_V02 0x0073 16130 #define QMI_LOC_SET_GEOFENCE_ENGINE_CONFIG_IND_V02 0x0073 16131 #define QMI_LOC_GET_GEOFENCE_ENGINE_CONFIG_REQ_V02 0x0074 16132 #define QMI_LOC_GET_GEOFENCE_ENGINE_CONFIG_RESP_V02 0x0074 16133 #define QMI_LOC_GET_GEOFENCE_ENGINE_CONFIG_IND_V02 0x0074 16134 #define QMI_LOC_GET_BATCH_SIZE_REQ_V02 0x0075 16135 #define QMI_LOC_GET_BATCH_SIZE_RESP_V02 0x0075 16136 #define QMI_LOC_GET_BATCH_SIZE_IND_V02 0x0075 16137 #define QMI_LOC_START_BATCHING_REQ_V02 0x0076 16138 #define QMI_LOC_START_BATCHING_RESP_V02 0x0076 16139 #define QMI_LOC_START_BATCHING_IND_V02 0x0076 16140 #define QMI_LOC_EVENT_BATCH_FULL_NOTIFICATION_IND_V02 0x0077 16141 #define QMI_LOC_EVENT_LIVE_BATCHED_POSITION_REPORT_IND_V02 0x0078 16142 #define QMI_LOC_READ_FROM_BATCH_REQ_V02 0x0079 16143 #define QMI_LOC_READ_FROM_BATCH_RESP_V02 0x0079 16144 #define QMI_LOC_READ_FROM_BATCH_IND_V02 0x0079 16145 #define QMI_LOC_STOP_BATCHING_REQ_V02 0x007A 16146 #define QMI_LOC_STOP_BATCHING_RESP_V02 0x007A 16147 #define QMI_LOC_STOP_BATCHING_IND_V02 0x007A 16148 #define QMI_LOC_RELEASE_BATCH_REQ_V02 0x007B 16149 #define QMI_LOC_RELEASE_BATCH_RESP_V02 0x007B 16150 #define QMI_LOC_RELEASE_BATCH_IND_V02 0x007B 16151 #define QMI_LOC_EVENT_INJECT_WIFI_AP_DATA_REQ_IND_V02 0x007C 16152 #define QMI_LOC_INJECT_WIFI_AP_DATA_REQ_V02 0x007D 16153 #define QMI_LOC_INJECT_WIFI_AP_DATA_RESP_V02 0x007D 16154 #define QMI_LOC_INJECT_WIFI_AP_DATA_IND_V02 0x007D 16155 #define QMI_LOC_NOTIFY_WIFI_ATTACHMENT_STATUS_REQ_V02 0x007E 16156 #define QMI_LOC_NOTIFY_WIFI_ATTACHMENT_STATUS_RESP_V02 0x007E 16157 #define QMI_LOC_NOTIFY_WIFI_ATTACHMENT_STATUS_IND_V02 0x007E 16158 #define QMI_LOC_NOTIFY_WIFI_ENABLED_STATUS_REQ_V02 0x007F 16159 #define QMI_LOC_NOTIFY_WIFI_ENABLED_STATUS_RESP_V02 0x007F 16160 #define QMI_LOC_NOTIFY_WIFI_ENABLED_STATUS_IND_V02 0x007F 16161 #define QMI_LOC_EVENT_GEOFENCE_BATCHED_BREACH_NOTIFICATION_IND_V02 0x0080 16162 #define QMI_LOC_EVENT_VEHICLE_DATA_READY_STATUS_IND_V02 0x0081 16163 #define QMI_LOC_INJECT_VEHICLE_SENSOR_DATA_REQ_V02 0x0082 16164 #define QMI_LOC_INJECT_VEHICLE_SENSOR_DATA_RESP_V02 0x0082 16165 #define QMI_LOC_INJECT_VEHICLE_SENSOR_DATA_IND_V02 0x0082 16166 #define QMI_LOC_GET_AVAILABLE_WWAN_POSITION_REQ_V02 0x0083 16167 #define QMI_LOC_GET_AVAILABLE_WWAN_POSITION_RESP_V02 0x0083 16168 #define QMI_LOC_GET_AVAILABLE_WWAN_POSITION_IND_V02 0x0083 16169 #define QMI_LOC_SET_PREMIUM_SERVICES_CONFIG_REQ_V02 0x0084 16170 #define QMI_LOC_SET_PREMIUM_SERVICES_CONFIG_RESP_V02 0x0084 16171 #define QMI_LOC_SET_PREMIUM_SERVICES_CONFIG_IND_V02 0x0084 16172 #define QMI_LOC_SET_XTRA_VERSION_CHECK_REQ_V02 0x0085 16173 #define QMI_LOC_SET_XTRA_VERSION_CHECK_RESP_V02 0x0085 16174 #define QMI_LOC_SET_XTRA_VERSION_CHECK_IND_V02 0x0085 16175 #define QMI_LOC_EVENT_GNSS_MEASUREMENT_REPORT_IND_V02 0x0086 16176 #define QMI_LOC_EVENT_SV_POLYNOMIAL_REPORT_IND_V02 0x0087 16177 #define QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG_V02 0x0088 16178 #define QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG_RESP_V02 0x0088 16179 #define QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG_IND_V02 0x0088 16180 #define QMI_LOC_ADD_GEOFENCE_CONTEXT_REQ_V02 0x0089 16181 #define QMI_LOC_ADD_GEOFENCE_CONTEXT_RESP_V02 0x0089 16182 #define QMI_LOC_ADD_GEOFENCE_CONTEXT_IND_V02 0x0089 16183 #define QMI_LOC_SET_GEOFENCE_ENGINE_CONTEXT_REQ_V02 0x008A 16184 #define QMI_LOC_SET_GEOFENCE_ENGINE_CONTEXT_RESP_V02 0x008A 16185 #define QMI_LOC_SET_GEOFENCE_ENGINE_CONTEXT_IND_V02 0x008A 16186 #define QMI_LOC_DELETE_GEOFENCE_CONTEXT_REQ_V02 0x008B 16187 #define QMI_LOC_DELETE_GEOFENCE_CONTEXT_RESP_V02 0x008B 16188 #define QMI_LOC_DELETE_GEOFENCE_CONTEXT_IND_V02 0x008B 16189 #define QMI_LOC_EVENT_GEOFENCE_PROXIMITY_NOTIFICATION_IND_V02 0x008C 16190 #define QMI_LOC_INJECT_GTP_CLIENT_DOWNLOADED_DATA_REQ_V02 0x008D 16191 #define QMI_LOC_INJECT_GTP_CLIENT_DOWNLOADED_DATA_RESP_V02 0x008D 16192 #define QMI_LOC_INJECT_GTP_CLIENT_DOWNLOADED_DATA_IND_V02 0x008D 16193 #define QMI_LOC_GDT_UPLOAD_BEGIN_STATUS_REQ_V02 0x008E 16194 #define QMI_LOC_GDT_UPLOAD_BEGIN_STATUS_RESP_V02 0x008E 16195 #define QMI_LOC_GDT_UPLOAD_BEGIN_STATUS_IND_V02 0x008E 16196 #define QMI_LOC_GDT_UPLOAD_END_REQ_V02 0x008F 16197 #define QMI_LOC_GDT_UPLOAD_END_RESP_V02 0x008F 16198 #define QMI_LOC_GDT_UPLOAD_END_IND_V02 0x008F 16199 #define QMI_LOC_EVENT_GDT_UPLOAD_BEGIN_STATUS_REQ_IND_V02 0x0090 16200 #define QMI_LOC_EVENT_GDT_UPLOAD_END_REQ_IND_V02 0x0091 16201 #define QMI_LOC_START_DBT_REQ_V02 0x0092 16202 #define QMI_LOC_START_DBT_RESP_V02 0x0092 16203 #define QMI_LOC_START_DBT_IND_V02 0x0092 16204 #define QMI_LOC_EVENT_DBT_POSITION_REPORT_IND_V02 0x0093 16205 #define QMI_LOC_EVENT_DBT_SESSION_STATUS_IND_V02 0x0094 16206 #define QMI_LOC_STOP_DBT_REQ_V02 0x0095 16207 #define QMI_LOC_STOP_DBT_RESP_V02 0x0095 16208 #define QMI_LOC_STOP_DBT_IND_V02 0x0095 16209 #define QMI_LOC_SECURE_GET_AVAILABLE_POSITION_REQ_V02 0x0096 16210 #define QMI_LOC_SECURE_GET_AVAILABLE_POSITION_RESP_V02 0x0096 16211 #define QMI_LOC_SECURE_GET_AVAILABLE_POSITION_IND_V02 0x0096 16212 #define QMI_LOC_EVENT_GEOFENCE_BATCHED_DWELL_NOTIFICATION_IND_V02 0x0097 16213 #define QMI_LOC_EVENT_GET_TIME_ZONE_INFO_IND_V02 0x0098 16214 #define QMI_LOC_INJECT_TIME_ZONE_INFO_REQ_V02 0x0099 16215 #define QMI_LOC_INJECT_TIME_ZONE_INFO_RESP_V02 0x0099 16216 #define QMI_LOC_INJECT_TIME_ZONE_INFO_IND_V02 0x0099 16217 #define QMI_LOC_INJECT_APCACHE_DATA_REQ_V02 0x009A 16218 #define QMI_LOC_INJECT_APCACHE_DATA_RESP_V02 0x009A 16219 #define QMI_LOC_INJECT_APCACHE_DATA_IND_V02 0x009A 16220 #define QMI_LOC_INJECT_APDONOTCACHE_DATA_REQ_V02 0x009B 16221 #define QMI_LOC_INJECT_APDONOTCACHE_DATA_RESP_V02 0x009B 16222 #define QMI_LOC_INJECT_APDONOTCACHE_DATA_IND_V02 0x009B 16223 #define QMI_LOC_EVENT_BATCHING_STATUS_IND_V02 0x009C 16224 #define QMI_LOC_QUERY_AON_CONFIG_REQ_V02 0x009D 16225 #define QMI_LOC_QUERY_AON_CONFIG_RESP_V02 0x009D 16226 #define QMI_LOC_QUERY_AON_CONFIG_IND_V02 0x009D 16227 #define QMI_LOC_GTP_AP_STATUS_REQ_V02 0x009E 16228 #define QMI_LOC_GTP_AP_STATUS_RESP_V02 0x009E 16229 #define QMI_LOC_GTP_AP_STATUS_IND_V02 0x009E 16230 #define QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_REQ_V02 0x009F 16231 #define QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_RESP_V02 0x009F 16232 #define QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_IND_V02 0x009F 16233 #define QMI_LOC_GDT_DOWNLOAD_READY_STATUS_REQ_V02 0x00A0 16234 #define QMI_LOC_GDT_DOWNLOAD_READY_STATUS_RESP_V02 0x00A0 16235 #define QMI_LOC_GDT_DOWNLOAD_READY_STATUS_IND_V02 0x00A0 16236 #define QMI_LOC_GDT_RECEIVE_DONE_STATUS_REQ_V02 0x00A1 16237 #define QMI_LOC_GDT_RECEIVE_DONE_STATUS_RESP_V02 0x00A1 16238 #define QMI_LOC_GDT_RECEIVE_DONE_STATUS_IND_V02 0x00A1 16239 #define QMI_LOC_GDT_DOWNLOAD_END_STATUS_REQ_V02 0x00A2 16240 #define QMI_LOC_GDT_DOWNLOAD_END_STATUS_RESP_V02 0x00A2 16241 #define QMI_LOC_GDT_DOWNLOAD_END_STATUS_IND_V02 0x00A2 16242 #define QMI_LOC_EVENT_GDT_DOWNLOAD_BEGIN_REQ_IND_V02 0x00A3 16243 #define QMI_LOC_EVENT_GDT_RECEIVE_DONE_IND_V02 0x00A4 16244 #define QMI_LOC_EVENT_GDT_DOWNLOAD_END_REQ_IND_V02 0x00A5 16245 #define QMI_LOC_DELETE_GNSS_SERVICE_DATA_REQ_V02 0x00A6 16246 #define QMI_LOC_DELETE_GNSS_SERVICE_DATA_RESP_V02 0x00A6 16247 #define QMI_LOC_DELETE_GNSS_SERVICE_DATA_IND_V02 0x00A6 16248 #define QMI_LOC_INJECT_XTRA_DATA_REQ_V02 0x00A7 16249 #define QMI_LOC_INJECT_XTRA_DATA_RESP_V02 0x00A7 16250 #define QMI_LOC_INJECT_XTRA_DATA_IND_V02 0x00A7 16251 #define QMI_LOC_INJECT_XTRA_PCID_REQ_V02 0x00A8 16252 #define QMI_LOC_INJECT_XTRA_PCID_RESP_V02 0x00A8 16253 #define QMI_LOC_INJECT_XTRA_PCID_IND_V02 0x00A8 16254 /** 16255 @} 16256 */ 16257 16258 /* Service Object Accessor */ 16259 /** @addtogroup wms_qmi_accessor 16260 @{ 16261 */ 16262 /** This function is used internally by the autogenerated code. Clients should use the 16263 macro loc_get_service_object_v02( ) that takes in no arguments. */ 16264 qmi_idl_service_object_type loc_get_service_object_internal_v02 16265 ( int32_t idl_maj_version, int32_t idl_min_version, int32_t library_version ); 16266 16267 /** This macro should be used to get the service object */ 16268 #define loc_get_service_object_v02( ) \ 16269 loc_get_service_object_internal_v02( \ 16270 LOC_V02_IDL_MAJOR_VERS, LOC_V02_IDL_MINOR_VERS, \ 16271 LOC_V02_IDL_TOOL_VERS ) 16272 /** 16273 @} 16274 */ 16275 16276 16277 #ifdef __cplusplus 16278 } 16279 #endif 16280 #endif 16281 16282