1 /* Copyright (c) 2011-2016, 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 29 /** @file loc_api_v02_client.h 30 */ 31 32 #ifndef LOC_API_V02_CLIENT_H 33 #define LOC_API_V02_CLIENT_H 34 35 36 #ifdef __cplusplus 37 extern "C" { 38 #endif 39 40 41 /*============================================================================= 42 * 43 * DATA DECLARATION 44 * 45 *============================================================================*/ 46 #include <stdbool.h> 47 #include <stdint.h> 48 49 #include "location_service_v02.h" //QMI LOC Service data types definitions 50 51 #include <stddef.h> 52 53 /****************************************************************************** 54 * Constants and configuration 55 *****************************************************************************/ 56 57 /** @ingroup constants_macros 58 Specific value of #locClientHandleType, indicating an invalid handle. */ 59 #define LOC_CLIENT_INVALID_HANDLE_VALUE (NULL) 60 61 62 /** @addtogroup data_types 63 @{ */ 64 65 /** Location client handle used to represent a specific client. Negative values 66 are invalid handles. 67 */ 68 typedef void* locClientHandleType; 69 70 /** Data type for events and event masks. */ 71 typedef uint64_t locClientEventMaskType; 72 73 /** Location client status values. 74 */ 75 typedef enum 76 { 77 eLOC_CLIENT_SUCCESS = 0, 78 /**< Request was successful. */ 79 80 eLOC_CLIENT_FAILURE_GENERAL = 1, 81 /**< Failed because of a general failure. */ 82 83 eLOC_CLIENT_FAILURE_UNSUPPORTED = 2, 84 /**< Failed because the service does not support the command. */ 85 86 eLOC_CLIENT_FAILURE_INVALID_PARAMETER = 3, 87 /**< Failed because the request contained invalid parameters. */ 88 89 eLOC_CLIENT_FAILURE_ENGINE_BUSY = 4, 90 /**< Failed because the engine is busy. */ 91 92 eLOC_CLIENT_FAILURE_PHONE_OFFLINE = 5, 93 /**< Failed because the phone is offline. */ 94 95 eLOC_CLIENT_FAILURE_TIMEOUT = 6, 96 /**< Failed because of a timeout. */ 97 98 eLOC_CLIENT_FAILURE_SERVICE_NOT_PRESENT = 7, 99 /**< Failed because the service is not present. */ 100 101 eLOC_CLIENT_FAILURE_SERVICE_VERSION_UNSUPPORTED = 8, 102 /**< Failed because the service version is unsupported. */ 103 104 eLOC_CLIENT_FAILURE_CLIENT_VERSION_UNSUPPORTED = 9, 105 /**< Failed because the service does not support client version. */ 106 107 eLOC_CLIENT_FAILURE_INVALID_HANDLE = 10, 108 /**< Failed because an invalid handle was specified. */ 109 110 eLOC_CLIENT_FAILURE_INTERNAL = 11, 111 /**< Failed because of an internal error in the service. */ 112 113 eLOC_CLIENT_FAILURE_NOT_INITIALIZED = 12, 114 /**< Failed because the service has not been initialized. */ 115 116 eLOC_CLIENT_FAILURE_NOT_ENOUGH_MEMORY = 13 117 /**< Failed because there is not enough memory to do the operation. */ 118 119 }locClientStatusEnumType; 120 121 /** Location client error values 122 */ 123 typedef enum 124 { 125 eLOC_CLIENT_ERROR_SERVICE_UNAVAILABLE = 1 126 /**< Service is no longer available. Upon getting this error, the client 127 must close the existing connection and reopen the connection. */ 128 129 }locClientErrorEnumType; 130 131 132 /** Request messages the client can send to the location engine. 133 134 The following requests do not have any data associated, so they do not have a 135 payload structure defined: 136 137 - GetServiceRevision 138 - GetFixCriteria 139 - GetPredictedOrbitsDataSource 140 - GetPredictedOrbitsDataValidity 141 - GetEngineLock 142 - GetSbasConfigReq 143 - GetRegisteredEvents 144 - GetNmeaTypes 145 - GetLowPowerMode 146 - GetXtraTSessionControl 147 - GetRegisteredEvents 148 - GetOperationMode 149 - GetCradleMountConfig 150 - GetExternalPowerConfig 151 - GetSensorControlConfig 152 - GetSensorPerformanceControlConfiguration 153 - WWANOutOfServiceNotification 154 */ 155 typedef union 156 { 157 const qmiLocInformClientRevisionReqMsgT_v02* pInformClientRevisionReq; 158 /**< Notifies the service about the revision the client is using. 159 160 The client does not receive any indications corresponding to this 161 request. 162 163 To send this request, set the reqId field in locClientSendReq() to 164 QMI_LOC_INFORM_CLIENT_REVISION_REQ_V02. */ 165 166 const qmiLocRegEventsReqMsgT_v02* pRegEventsReq; 167 /**< Changes the events the client is interested in receiving. 168 169 The client does not receive any indications corresponding to this 170 request. 171 172 To send this request, set the reqId field in locClientSendReq() to 173 QMI_LOC_REG_EVENTS_REQ_V02. */ 174 175 const qmiLocStartReqMsgT_v02* pStartReq; 176 /**< Starts a positioning session. 177 178 The client receives the following indications: position report, 179 satellite report, fix session report, and NMEA report (if applicable). 180 181 To send this request, set the reqId field in locClientSendReq() to 182 QMI_LOC_START_REQ_V02. */ 183 184 const qmiLocStopReqMsgT_v02* pStopReq; 185 /**< Stops a positioning session. The client receives a fix session report 186 denoting that the fix session ended after this message was sent. 187 188 To send this request, set the reqId field in locClientSendReq() to 189 QMI_LOC_STOP_REQ_V02. */ 190 191 const qmiLocNiUserRespReqMsgT_v02* pNiUserRespReq; 192 /**< Informs the service about the user response for a network-initiated call. 193 194 If the request is accepted by the service, the client receives the 195 following indication containing a response: 196 QMI_LOC_NI_USER_RESPONSE_IND_V02. 197 198 To send this request, set the reqId field in locClientSendReq() to 199 QMI_LOC_NI_USER_RESPONSE_REQ_V02. */ 200 201 const qmiLocInjectPredictedOrbitsDataReqMsgT_v02* pInjectPredictedOrbitsDataReq; 202 /**< Injects the predicted orbits data into the service. 203 204 When all predicted orbits data parts have been injected, the client 205 receives the following indication containing a response: 206 QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_IND_V02. 207 208 The client injects successive data parts without waiting for this 209 indication as long as locClientSendReq() returns successfully. 210 211 To send this request, set the reqId field in locClientSendReq() to 212 QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_REQ_V02. */ 213 214 const qmiLocInjectUtcTimeReqMsgT_v02* pInjectUtcTimeReq; 215 /**< Injects UTC time into the service. 216 217 If the request is accepted by the service, the client receives the 218 following indication containing a response: 219 QMI_LOC_INJECT_UTC_TIME_IND_V02. 220 221 To send this request, set the reqId field in locClientSendReq() to 222 QMI_LOC_INJECT_UTC_TIME_REQ_V02. */ 223 224 const qmiLocInjectPositionReqMsgT_v02* pInjectPositionReq; 225 /**< Injects a position into the service. 226 227 If the request is accepted by the service, the client receives the 228 following indication containing a response: 229 QMI_LOC_INJECT_POSITION_IND_V02. 230 231 To send this request, set the reqId field in locClientSendReq() to 232 QMI_LOC_INJECT_POSITION_REQ_V02. */ 233 234 const qmiLocSetEngineLockReqMsgT_v02* pSetEngineLockReq; 235 /**< Sets the location engine lock. 236 237 If the request is accepted by the service, the client receives the 238 following indication containing a response: 239 QMI_LOC_SET_ENGINE_LOCK_IND_V02. 240 241 To send this request, set the reqId field in locClientSendReq() to 242 QMI_LOC_SET_ENGINE_LOCK_REQ_V02. */ 243 244 const qmiLocSetSbasConfigReqMsgT_v02* pSetSbasConfigReq; 245 /**< Sets the SBAS configuration. 246 247 If the request is accepted by the service, the client receives the 248 following indication containing a response: 249 QMI_LOC_SET_SBAS_CONFIG_IND_V02. 250 251 To send this request, set the reqId field in locClientSendReq() to 252 QMI_LOC_SET_SBAS_CONFIG_REQ_V02 . */ 253 254 const qmiLocSetNmeaTypesReqMsgT_v02* pSetNmeaTypesReq; 255 /**< Sets the NMEA types configuration. 256 257 If the request is accepted by the service, the client receives the 258 following indication containing a response: 259 QMI_LOC_SET_NMEA_TYPES_IND_V02. 260 261 To send this request, set the reqId field in locClientSendReq() to 262 QMI_LOC_SET_NMEA_TYPES_REQ_V02. */ 263 264 const qmiLocSetLowPowerModeReqMsgT_v02* pSetLowPowerModeReq; 265 /**< Sets the Low Power mode configuration. 266 267 If the request is accepted by the service, the client receives the 268 following indication containing a response: 269 QMI_LOC_SET_LOW_POWER_MODE_IND_V02. 270 271 To send this request, set the reqId field in locClientSendReq() to 272 QMI_LOC_SET_LOW_POWER_MODE_REQ_V02. */ 273 274 const qmiLocSetServerReqMsgT_v02* pSetServerReq; 275 /**< Sets the A-GPS server type and address. 276 277 If the request is accepted by the service, the client receives the 278 following indication containing a response: 279 QMI_LOC_SET_SERVER_IND_V02. 280 281 To send this request, set the reqId field in locClientSendReq() to 282 QMI_LOC_SET_SERVER_REQ_V02. */ 283 284 const qmiLocGetServerReqMsgT_v02* pGetServerReq; 285 /**< Gets the A-GPS server type and address. 286 287 If the request is accepted by the service, the client receives the 288 following indication containing a response: 289 QMI_LOC_GET_SERVER_IND_V02. 290 291 To send this request, set the reqId field in locClientSendReq() to 292 QMI_LOC_GET_SERVER_REQ_V02. */ 293 294 const qmiLocDeleteAssistDataReqMsgT_v02* pDeleteAssistDataReq; 295 /**< Deletes the aiding data from the engine. 296 297 If the request is accepted by the service, the client receives the 298 following indication containing a response: 299 QMI_LOC_DELETE_ASSIST_DATA_IND_V02. 300 301 To send this request, set the reqId field in locClientSendReq() to 302 QMI_LOC_DELETE_ASSIST_DATA_REQ_V02. */ 303 304 const qmiLocInjectApCacheDataReqMsgT_v02 *pInjectApCacheDataReq; 305 /**< Inject APcache data into the engine 306 307 If the request is accepted by the service, the client receives the 308 following indication containing a response: 309 QMI_LOC_INJECT_APCACHE_DATA_IND_V02. 310 311 To send this request, set the reqId field in locClientSendReq() to 312 QMI_LOC_INJECT_APCACHE_DATA_REQ_V02. */ 313 314 const qmiLocInjectApDoNotCacheDataReqMsgT_v02 *pInjectApDoNotCacheDataReq; 315 /**< Inject blacklist-Apcache data into the engine 316 317 If the request is accepted by the service, the client receives the 318 following indication containing a response: 319 QMI_LOC_INJECT_DONOTAPCACHE_DATA_IND_V02. 320 321 To send this request, set the reqId field in locClientSendReq() to 322 QMI_LOC_INJECT_DONOTAPCACHE_DATA_REQ_V02. */ 323 324 325 const qmiLocSetXtraTSessionControlReqMsgT_v02* pSetXtraTSessionControlReq; 326 /**< Sets XTRA-T session control in the engine. 327 328 If the request is accepted by the service, the client receives the 329 following indication containing a response: 330 QMI_LOC_SET_XTRA_T_SESSION_CONTROL_IND_V02. 331 332 To send this request, set the reqId field in locClientSendReq() to 333 QMI_LOC_SET_XTRA_T_SESSION_CONTROL_REQ_V02. */ 334 335 const qmiLocInjectWifiPositionReqMsgT_v02* pInjectWifiPositionReq; 336 /**< Injects a WiFi position into the engine. 337 338 If the request is accepted by the service, the client receives the 339 following indication containing a response: 340 QMI_LOC_INJECT_WIFI_POSITION_IND_V02. 341 342 To send this request, set the reqId field in locClientSendReq() to 343 QMI_LOC_INJECT_WIFI_POSITION_REQ_V02. */ 344 345 const qmiLocNotifyWifiStatusReqMsgT_v02* pNotifyWifiStatusReq; 346 /**< Notifies the engine about the WiFi status. 347 348 If the request is accepted by the service, the client receives the 349 following indication containing a response: 350 QMI_LOC_NOTIFY_WIFI_STATUS_IND_V02. 351 352 To send this request, set the reqId field in locClientSendReq() to 353 QMI_LOC_NOTIFY_WIFI_STATUS_REQ_V02. */ 354 355 const qmiLocSetOperationModeReqMsgT_v02* pSetOperationModeReq; 356 /**< Sets the engine Operation mode. 357 358 If the request is accepted by the service, the client receives the 359 following indication containing a response: 360 QMI_LOC_SET_OPERATION_MODE_IND_V02. 361 362 To send this request, set the reqId field in locClientSendReq() to 363 QMI_LOC_SET_OPERATION_MODE_REQ_V02. */ 364 365 const qmiLocSetSpiStatusReqMsgT_v02* pSetSpiStatusReq; 366 /**< Sends the stationary position status to the engine. 367 368 If the request is accepted by the service, the client receives the 369 following indication containing a response: 370 QMI_LOC_SET_SPI_STATUS_IND_V02. 371 372 To send this request, set the reqId field in locClientSendReq() to 373 QMI_LOC_SET_SPI_STATUS_REQ_V02. */ 374 375 const qmiLocInjectSensorDataReqMsgT_v02* pInjectSensorDataReq; 376 /**< Injects sensor data into the engine. 377 378 If the request is accepted by the service, the client receives the 379 following indication containing a response: 380 QMI_LOC_INJECT_SENSOR_DATA_IND_V02. 381 382 To send this request, set the reqId field in locClientSendReq() to 383 QMI_LOC_INJECT_SENSOR_DATA_REQ_V02. */ 384 385 const qmiLocInjectTimeSyncDataReqMsgT_v02* pInjectTimeSyncReq; 386 /**< Injects time synchronization information into the engine. 387 388 If the request is accepted by the service, the client receives the 389 following indication containing a response: 390 QMI_LOC_INJECT_TIME_SYNC_DATA_IND_V02. 391 392 To send this request, set the reqId field in locClientSendReq() to 393 QMI_LOC_INJECT_TIME_SYNC_DATA_REQ_V02. */ 394 395 const qmiLocSetCradleMountConfigReqMsgT_v02* pSetCradleMountConfigReq; 396 /**< Sets the cradle mount state information in the engine. 397 398 If the request is accepted by the service, the client receives the 399 following indication containing a response: 400 SET_CRADLE_MOUNT_CONFIG_REQ_V02. 401 402 To send this request, set the reqId field in locClientSendReq() to 403 SET_CRADLE_MOUNT_CONFIG_IND_V02. */ 404 405 const qmiLocSetExternalPowerConfigReqMsgT_v02* pSetExternalPowerConfigReq; 406 /**< Sets external power configuration state in the engine. 407 408 If the request is accepted by the service, the client receives the 409 following indication containing a response: 410 QMI_LOC_SET_EXTERNAL_POWER_CONFIG_IND_V02. 411 412 To send this request, set the reqId field in locClientSendReq() to 413 QMI_LOC_SET_EXTERNAL_POWER_CONFIG_REQ_V02. */ 414 415 const qmiLocInformLocationServerConnStatusReqMsgT_v02* 416 pInformLocationServerConnStatusReq; 417 /**< Informs the engine about the connection status to the location server. 418 419 This can be sent in response to a 420 QMI_LOC_EVENT_LOCATION_SERVER_CONNECTION_REQ_IND_V02 request. The 421 service sends back a QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_IND_V02 422 response indication for this request. 423 424 To send this request, set the reqId field in locClientSendReq() to 425 QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_REQ_V02. */ 426 427 const qmiLocSetProtocolConfigParametersReqMsgT_v02* 428 pSetProtocolConfigParametersReq; 429 /**< Sets the protocol configuration parameters in the engine. 430 431 If the request is accepted by the service, the client receives the 432 following indication containing a response: 433 QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_IND_V02. 434 435 To send this request, set the reqId field in locClientSendReq() to 436 QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02. */ 437 438 const qmiLocGetProtocolConfigParametersReqMsgT_v02* 439 pGetProtocolConfigParametersReq; 440 /**< Retrieves protocol configuration parameters from the engine. 441 442 If the request is accepted by the service, the client receives the 443 following indication containing a response: 444 QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_IND_V02. 445 446 To send this request, set the reqId field in locClientSendReq() to 447 QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02. */ 448 449 const qmiLocSetSensorControlConfigReqMsgT_v02* 450 pSetSensorControlConfigReq; 451 /**< Sets the sensor control configuration parameters in the engine. 452 453 If the request is accepted by the service, the client receives the 454 following indication containing a response: 455 QMI_LOC_SET_SENSOR_CONTROL_CONFIG_IND_V02. 456 457 To send this request, set the reqId field in locClientSendReq() to 458 QMI_LOC_SET_SENSOR_CONTROL_CONFIG_REQ_V02. */ 459 460 const qmiLocSetSensorPerformanceControlConfigReqMsgT_v02* 461 pSetSensorPerformanceControlConfigReq; 462 /**< Sets the sensor performance configuration parameters in the engine. 463 464 If the request is accepted by the service, the client receives the 465 following indication containing a response: 466 QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_IND_V02. 467 468 To send this request, set the reqId field in locClientSendReq() to 469 QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_REQ_V02. */ 470 471 const qmiLocGetSensorPropertiesReqMsgT_v02* pGetSensorPropertiesReq; 472 /**< Retrieves the sensor properties from the engine. 473 474 If the request is accepted by the service, the client receives the 475 following indication containing a response: 476 QMI_LOC_GET_SENSOR_PROPERTIES_IND_V02. 477 478 To send this request, set the reqId field in locClientSendReq() to 479 QMI_LOC_GET_SENSOR_PROPERTIES_REQ_V02. */ 480 481 const qmiLocSetSensorPropertiesReqMsgT_v02* pSetSensorPropertiesReq; 482 /**< Sets the sensor properties in the engine. 483 484 If the request is accepted by the service, the client receives the 485 following indication containing a response: 486 QMI_LOC_SET_SENSOR_PROPERTIES_IND_V02. 487 488 To send this request, set the reqId field in locClientSendReq() to 489 QMI_LOC_SET_SENSOR_PROPERTIES_REQ_V02. */ 490 491 const qmiLocInjectSuplCertificateReqMsgT_v02* pInjectSuplCertificateReq; 492 /**< Injects a SUPL certificate into the engine. 493 494 If the request is accepted by the service, the client receives the 495 following indication containing a response: 496 QMI_LOC_INJECT_SUPL_CERTIFICATE_IND_V02. 497 498 To send this request, set the reqId field in locClientSendReq() to 499 QMI_LOC_INJECT_SUPL_CERTIFICATE_REQ_V02. */ 500 501 const qmiLocDeleteSuplCertificateReqMsgT_v02* pDeleteSuplCertificateReq; 502 /**< Deletes a SUPL certificate from the engine. 503 504 If the request is accepted by the service, the client receives the 505 following indication containing a response: 506 QMI_LOC_DELETE_SUPL_CERTIFICATE_IND_V02. 507 508 To send this request, set the reqId field in locClientSendReq() to 509 QMI_LOC_DELETE_SUPL_CERTIFICATE_REQ_V02. */ 510 511 const qmiLocSetPositionEngineConfigParametersReqMsgT_v02* 512 pSetPositionEngineConfigParametersReq; 513 /**< Sets position engine configuration. 514 515 If the request is accepted by the service, the client receives the 516 following indication containing a response: 517 QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_IND _V02. 518 519 To send this request, set the reqId field in locClientSendReq() to 520 QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_REQ_V02. */ 521 522 const qmiLocGetPositionEngineConfigParametersReqMsgT_v02* 523 pGetPositionEngineConfigParametersReq; 524 /**< Gets position engine configuration. 525 526 If the request is accepted by the service, the client receives the 527 following indication containing a response: 528 QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_IND_V02. 529 530 To send this request, set the reqId field in locClientSendReq() to 531 QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_REQ_V02. */ 532 533 const qmiLocAddCircularGeofenceReqMsgT_v02* pAddCircularGeofenceReq; 534 /**< Adds a circular geofence. 535 536 If the request is accepted by the service, the client receives the 537 following indication containing a response: 538 QMI_LOC_ADD_CIRCULAR_GEOFENCE_IND_V02. 539 540 To send this request, set the reqId field in locClientSendReq() to 541 QMI_LOC_ADD_CIRCULAR_GEOFENCE_REQ_V02 */ 542 543 const qmiLocDeleteGeofenceReqMsgT_v02* pDeleteGeofenceReq; 544 /**< Deletes a geofence. 545 546 If the request is accepted by the service, the client receives the 547 following indication containing a response: 548 QMI_LOC_DELETE_GEOFENCE_IND_V02. 549 550 To send this request, set the reqId field in locClientSendReq() to 551 QMI_LOC_DELETE_GEOFENCE_REQ_V02 */ 552 553 const qmiLocQueryGeofenceReqMsgT_v02* pQueryGeofenceReq; 554 /**< Queries a geofence. 555 556 If the request is accepted by the service, the client receives the 557 following indication containing a response: 558 QMI_LOC_QUERY_GEOFENCE_IND_V02 559 560 To send this request, set the reqId field in locClientSendReq() to 561 QMI_LOC_QUERY_GEOFENCE_REQ_V02. */ 562 563 const qmiLocEditGeofenceReqMsgT_v02* pEditGeofenceReq; 564 /**< Edits geofence parameters. 565 566 If the request is accepted by the service, the client receives the 567 following indication containing a response: 568 QMI_LOC_EDIT_GEOFENCE_IND_V02 569 570 To send this request, set the reqId field in locClientSendReq() to 571 QMI_LOC_EDIT_GEOFENCE_REQ_V02. */ 572 573 const qmiLocGetBestAvailablePositionReqMsgT_v02* 574 pGetBestAvailablePositionReq; 575 /**< Get the best available position from location engine 576 577 If the request is accepted by the service, the client receives the 578 following indication containing a response: 579 QMI_LOC_GET_BEST_AVAILABLE_POSITION_IND_V02 580 581 To send this request, set the reqId field in locClientSendReq() to 582 QMI_LOC_GET_BEST_AVAILABLE_POSITION_REQ_V02. @newpagetable */ 583 584 const qmiLocSecureGetAvailablePositionReqMsgT_v02* 585 pSecureGetBestAvailablePositionReq; 586 /**< Get the best available position from location engine 587 588 If the request is accepted by the service, the client receives the 589 following indication containing a response: 590 QMI_LOC_GET_BEST_AVAILABLE_POSITION_IND_V02 591 592 To send this request, set the reqId field in locClientSendReq() to 593 QMI_LOC_GET_BEST_AVAILABLE_POSITION_REQ_V02. @newpagetable */ 594 595 const qmiLocInjectMotionDataReqMsgT_v02* pInjectMotionDataReq; 596 /**< Inject motion data in the location engine 597 598 If the request is accepted by the service, the client receives the 599 following indication containing a response: 600 QMI_LOC_INJECT_MOTION_DATA_IND_V02 601 602 To send this request, set the reqId field in locClientSendReq() to 603 QMI_LOC_INJECT_MOTION_DATA_REQ_V02 */ 604 605 const qmiLocGetNiGeofenceIdListReqMsgT_v02* pGetNiGeofenceIdListReq; 606 /**< Get the list of Network Initiated Geofences from the location engine. 607 608 If the request is accepted by the service, the client receives the 609 following indication containing a response: 610 QMI_LOC_GET_NI_GEOFENCE_ID_LIST_IND_V02 611 612 To send this request, set the reqId field in locClientSendReq() to 613 QMI_LOC_GET_NI_GEOFENCE_ID_LIST_REQ_V02 */ 614 615 const qmiLocInjectGSMCellInfoReqMsgT_v02 *pInjectGSMCellInfoReq; 616 /**< Inject GSM Cell Information into the location engine. 617 If the request is accepted by the service, the client receives the 618 following indication containing a response: 619 QMI_LOC_INJECT_GSM_CELL_INFO_IND_V02 620 621 To send this request, set the reqId field in locClientSendReq() to 622 QMI_LOC_INJECT_GSM_CELL_INFO_REQ_V02 */ 623 624 const qmiLocInjectNetworkInitiatedMessageReqMsgT_v02 625 *pInjectNetworkInitiatedMessageReq; 626 /**< Inject Network Initiated Message into the location engine. 627 If the request is accepted by the service, the client receives the 628 following indication containing a response: 629 QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_IND_V02 630 631 To send this request, set the reqId field in locClientSendReq() to 632 QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_REQ_V02 */ 633 634 const void *pWWANOutOfServiceNotificationReq; 635 636 const qmiLocPedometerReportReqMsgT_v02 *pPedometerReportReq; 637 /**< Send pedometer data to the location engine. If the request is 638 accepted by the service, the client receives the following 639 indication containing a response: 640 QMI_LOC_PEDOMETER_REPORT_IND_V02 641 642 To send this request, set the reqId field in locClientSendReq() to 643 QMI_LOC_PEDOMETER_REPORT_REQ_V02 */ 644 645 const qmiLocInjectWCDMACellInfoReqMsgT_v02 *pInjectWCDMACellInfoReq; 646 const qmiLocInjectTDSCDMACellInfoReqMsgT_v02 *pInjectTDSCDMACellInfoReq; 647 const qmiLocInjectSubscriberIDReqMsgT_v02 *pInjectSubscriberIDReq; 648 const qmiLocInjectWifiApDataReqMsgT_v02 *pInjectWifiApDataReq; 649 const qmiLocNotifyWifiAttachmentStatusReqMsgT_v02 *pNotifyWifiAttachmentStatusReq; 650 const qmiLocNotifyWifiEnabledStatusReqMsgT_v02 *pNotifyWifiEnabledStatusReq; 651 652 const qmiLocReadFromBatchReqMsgT_v02 *pReadFromBatchReq; 653 const qmiLocGetBatchSizeReqMsgT_v02 *pGetBatchSizeReq; 654 const qmiLocStartBatchingReqMsgT_v02 *pStartBatchingReq; 655 const qmiLocStopBatchingReqMsgT_v02 *pStopBatchingReq; 656 const qmiLocReleaseBatchReqMsgT_v02 *pReleaseBatchReq; 657 658 const qmiLocInjectVehicleSensorDataReqMsgT_v02 *pInjectVehicleSensorDataReq; 659 660 /**< Send vehicle sensor data to the location engine. If the request is 661 accepted by the service, the client receives the following 662 indication containing a response: 663 QMI_LOC_INJECT_VEHICLE_SENSOR_DATA_IND_V02 664 665 To send this request, set the reqId field in locClientSendReq() to 666 QMI_LOC_INJECT_VEHICLE_SENSOR_DATA_REQ_V02 */ 667 668 const qmiLocSetPremiumServicesCfgReqMsgT_v02 *pSetPremiumServicesCfgReq; 669 /*QMI_LOC_SET_PREMIUM_SERVICES_CONFIG_REQ_V02*/ 670 671 const qmiLocGetAvailWwanPositionReqMsgT_v02 *pGetAvailWwanPositionReq; 672 /*QMI_LOC_GET_AVAILABLE_WWAN_POSITION_REQ_V02*/ 673 674 const qmiLocSetXtraVersionCheckReqMsgT_v02 *pSetXtraVersionCheckReq; 675 676 const qmiLocGdtUploadBeginStatusReqMsgT_v02* pGdtUploadBeginStatusReq; 677 /* QMI_LOC_GDT_UPLOAD_BEGIN_STATUS_REQ_V02 */ 678 679 const qmiLocGdtUploadEndReqMsgT_v02* pGdtUploadEndReq; 680 /* QMI_LOC_GDT_UPLOAD_END_REQ_V02*/ 681 682 const qmiLocInjectGtpClientDownloadedDataReqMsgT_v02 *pInjectGtpClientDownloadedDataReq; 683 /* QMI_LOC_INJECT_GTP_CLIENT_DOWNLOADED_DATA_REQ_V02 */ 684 685 const qmiLocSetGNSSConstRepConfigReqMsgT_v02 *pSetGNSSConstRepConfigReq; 686 /*QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG_V02*/ 687 688 const qmiLocStartDbtReqMsgT_v02 *pStartDbtReq; 689 /*QMI_LOC_START_DBT_REQ_V02*/ 690 691 const qmiLocStopDbtReqMsgT_v02 *pStopDbtReq; 692 /*QMI_LOC_STOP_DBT_REQ_V02*/ 693 694 const qmiLocInjectTimeZoneInfoReqMsgT_v02 *pInjectTimeZoneInfoReq; 695 /*QMI_LOC_INJECT_TIME_ZONE_INFO*/ 696 697 const qmiLocQueryAonConfigReqMsgT_v02 *pQueryAonConfigReq; 698 /*QMI_LOC_QUERY_AON_CONFIG_REQ_V02*/ 699 700 const qmiLocGtpApStatusReqMsgT_v02* pGtpApStatusReq; 701 /* QMI_LOC_GTP_AP_STATUS_REQ_V02 */ 702 703 const qmiLocGdtDownloadBeginStatusReqMsgT_v02* pGdtDownloadBeginStatusReq; 704 /* QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_REQ_V02 */ 705 706 const qmiLocGdtDownloadReadyStatusReqMsgT_v02* pGdtDownloadReadyStatusReq; 707 /* QMI_LOC_GDT_DOWNLOAD_READY_STATUS_REQ_V02 */ 708 709 const qmiLocGdtReceiveDoneStatusReqMsgT_v02* pGdtReceiveDoneStatusReq; 710 /* QMI_LOC_GDT_RECEIVE_DONE_STATUS_REQ_V02 */ 711 712 const qmiLocGdtDownloadEndStatusReqMsgT_v02* pGdtDownloadEndStatusReq; 713 /* QMI_LOC_GDT_DOWNLOAD_END_STATUS_REQ_V02*/ 714 715 // XTRA Client 2.0 716 const qmiLocInjectXtraDataReqMsgT_v02 *pInjectXtraDataReq; 717 /*QMI_LOC_INJECT_XTRA_DATA_REQ_V02*/ 718 719 const qmiLocInjectXtraPcidReqMsgT_v02 *pInjectXtraPcidReq; 720 /*QMI_LOC_INJECT_XTRA_PCID_REQ_V02*/ 721 }locClientReqUnionType; 722 723 724 /** Event indications that are sent by the service. 725 */ 726 typedef union 727 { 728 const qmiLocEventPositionReportIndMsgT_v02* pPositionReportEvent; 729 /**< Contains the position information. 730 731 This event is generated after QMI_LOC_START_REQ_V02 is sent. If 732 periodic fix criteria is specified, this event is generated multiple 733 times periodically at the specified rate until QMI_LOC_STOP_REQ_V02 is 734 sent. 735 736 The eventIndId field in the event indication callback is set to 737 QMI_LOC_EVENT_POSITION_REPORT_IND_V02. */ 738 739 const qmiLocEventGnssSvInfoIndMsgT_v02* pGnssSvInfoReportEvent; 740 /**< Contains the GNSS satellite information. 741 742 This event is generated after QMI_LOC_START_REQ_V02 is sent. This event 743 is generated at 1 Hz if the location engine is tracking satellites to 744 make a location fix. 745 746 The eventIndId field in the event indication callback is set to 747 QMI_LOC_EVENT_GNSS_INFO_IND_V02. */ 748 749 const qmiLocEventNmeaIndMsgT_v02* pNmeaReportEvent; 750 /**< Contains an NMEA report sentence. 751 752 The entire NMEA report consisting of multiple sentences is sent at a 753 1 Hz rate. This event is generated after QMI_LOC_START_REQ_V02 is sent. 754 755 The eventIndId field in the event indication callback is set to 756 QMI_LOC_EVENT_NMEA_IND_V02. */ 757 758 const qmiLocEventNiNotifyVerifyReqIndMsgT_v02* pNiNotifyVerifyReqEvent; 759 /**< Notifies a location client when the network triggers a positioning 760 request to the mobile. 761 762 Upon getting this event, the location client displays the 763 network-initiated fix request in a dialog and prompts the user to 764 accept or deny the request. The client responds to this request with 765 the message QMI_LOC_NI_USER_RESPONSE_REQ_V02. 766 767 The eventIndId field in the event indication callback is set to 768 QMI_LOC_EVENT_NI_NOTIFY_VERIFY_REQ_IND_V02. */ 769 770 const qmiLocEventInjectTimeReqIndMsgT_v02* pInjectTimeReqEvent; 771 /**< Asks the client for time assistance. 772 773 The client responds to this request with the message 774 QMI_LOC_INJECT_UTC_TIME_REQ_V02. 775 776 The eventIndId field in the event indication callback is 777 set to QMI_LOC_EVENT_INJECT_TIME_REQ_IND_V02. */ 778 779 const qmiLocEventInjectPredictedOrbitsReqIndMsgT_v02* 780 pInjectPredictedOrbitsReqEvent; 781 /**< Asks the client for predicted orbits data assistance. 782 783 The client responds to this request with the message 784 QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_REQ_V02. 785 786 The eventIndId field in the event indication callback is set to 787 QMI_LOC_EVENT_INJECT_PREDICTED_ORBITS_REQ_IND_V02. */ 788 789 const qmiLocEventInjectPositionReqIndMsgT_v02* pInjectPositionReqEvent; 790 /**< Asks the client for position assistance. 791 792 The client responds to this request with the message 793 QMI_LOC_INJECT_POSITION_REQ_V02. 794 795 The eventIndId field in the event indication callback is set to 796 QMI_LOC_EVENT_INJECT_POSITION_REQ_IND_V02. */ 797 798 const qmiLocEventEngineStateIndMsgT_v02* pEngineState; 799 /**< Sent by the engine whenever it turns on or off. 800 801 The eventIndId field in the event indication callback is set to 802 QMI_LOC_EVENT_ENGINE_STATE_IND_V02. */ 803 804 const qmiLocEventFixSessionStateIndMsgT_v02* pFixSessionState; 805 /**< Sent by the engine when a location session begins or ends. 806 807 The eventIndId field in the event indication callback is set to 808 QMI_LOC_EVENT_FIX_SESSION_STATE_IND_V02. */ 809 810 const qmiLocEventWifiReqIndMsgT_v02* pWifiReqEvent; 811 /**< Sent by the engine when it needs WiFi support. 812 813 The eventIndId field in the event indication callback is set to 814 QMI_LOC_EVENT_WIFI_REQ_IND_V02. */ 815 816 const qmiLocEventSensorStreamingReadyStatusIndMsgT_v02* 817 pSensorStreamingReadyStatusEvent; 818 /**< Notifies the client that the engine is ready to accept sensor data. 819 820 The eventIndId field in the event indication callback is set to 821 QMI_LOC_EVENT_SENSOR_STREAMING_READY_STATUS_IND_V02. */ 822 823 const qmiLocEventTimeSyncReqIndMsgT_v02* pTimeSyncReqEvent; 824 /**< Sent by the engine when it needs to synchronize its time with the sensor 825 processor time. 826 827 The eventIndId field in the event indication callback is set to 828 QMI_LOC_EVENT_TIME_SYNC_REQ_IND_V02. */ 829 830 const qmiLocEventSetSpiStreamingReportIndMsgT_v02* 831 pSetSpiStreamingReportEvent; 832 /**< Asks the client to start/stop sending a Stationary Position Indicator 833 (SPI) stream. 834 835 The eventIndId field in the event indication callback is set to 836 QMI_LOC_SET_SPI_STREAMING_REPORT_IND_V02. */ 837 838 const qmiLocEventLocationServerConnectionReqIndMsgT_v02* 839 pLocationServerConnReqEvent; 840 /**< Sent by the engine to ask the client to open or close a connection to 841 a location server. 842 843 The client responds to this request by sending the 844 QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_REQ_V02 message. 845 846 The eventIndId field in the event indication callback is set to 847 QMI_LOC_EVENT_LOCATION_SERVER_CONNECTION_REQ_IND_V02. */ 848 849 const qmiLocEventNiGeofenceNotificationIndMsgT_v02* 850 pNiGeofenceNotificationEvent; 851 /**< Sent by the engine to notify the client about changes to a 852 network-initiated geofence. 853 854 The eventIndId field in the event indication callback is set to 855 QMI_LOC_EVENT_NI_GEOFENCE_NOTIFICATION_IND_V02. */ 856 857 const qmiLocEventGeofenceGenAlertIndMsgT_v02* pGeofenceGenAlertEvent; 858 /**< Sent by the engine to notify the client about updates that may 859 affect a geofence operation. 860 861 The eventIndId field in the event indication callback is set to 862 QMI_LOC_EVENT_GEOFENCE_GEN_ALERT_IND_V02. */ 863 864 const qmiLocEventGeofenceBreachIndMsgT_v02* pGeofenceBreachEvent; 865 /**< Sent by the engine to notify the client about a geofence breach 866 event. 867 868 The eventIndId field in the event indication callback is set to 869 QMI_LOC_EVENT_GEOFENCE_BREACH_NOTIFICATION_IND_V02. @newpagetable */ 870 871 const qmiLocEventGeofenceBatchedBreachIndMsgT_v02* pGeofenceBatchedBreachEvent; 872 /**< Sent by the engine to notify the client about a geofence breach 873 event. 874 875 The eventIndId field in the event indication callback is set to 876 QMI_LOC_EVENT_GEOFENCE_BATCHED_BREACH_NOTIFICATION_IND_V02. @newpagetable */ 877 878 const qmiLocEventPedometerControlIndMsgT_v02* pPedometerControlEvent; 879 /**< Sent by the engine to recommend how pedometer data is sent to the 880 location engine. 881 The eventIndId field in the event indication callback is set to 882 QMI_LOC_EVENT_PEDOMETER_CONTROL_IND_V02. @newpagetable */ 883 884 const qmiLocEventMotionDataControlIndMsgT_v02* pMotionDataControlEvent; 885 /**< Sent by the engine to recommend how motion data is sent to the 886 location engine. 887 The eventIndId field in the event indication callback is set to 888 QMI_LOC_EVENT_MOTION_DATA_CONTROL_IND_V02. @newpagetable */ 889 890 const qmiLocEventInjectWifiApDataReqIndMsgT_v02* pWifiApDataReqEvent; 891 const qmiLocEventLiveBatchedPositionReportIndMsgT_v02* pBatchPositionReportEvent; 892 /**< Sent by the engine to notify the client that live batch location 893 is ready, and the location info. 894 895 The eventIndId field in the event indication callback is set to 896 QMI_LOC_EVENT_LIVE_BATCHED_POSITION_REPORT_IND_V02. */ 897 898 const qmiLocEventBatchFullIndMsgT_v02* pBatchCount; 899 /**< Sent by the engine to notify the client that batch location is 900 full, and how many location are available to read. 901 902 The eventIndId field in the event indication callback is set to 903 QMI_LOC_EVENT_BATCH_FULL_IND_V02. */ 904 905 const qmiLocEventVehicleDataReadyIndMsgT_v02* pVehicleDataReadyEvent; 906 /**< Sent by the engine to recommend how vehicle sensor data is 907 sent to the location engine. 908 The eventIndId field in the event indication callback is set to 909 QMI_LOC_EVENT_VEHICLE_DATA_READY_STATUS_IND_V02. @newpagetable */ 910 911 const qmiLocEventGeofenceProximityIndMsgT_v02* pGeofenceProximityEvent; 912 /**< Sent by the engine to notify the client about a geofence proximity 913 event. 914 915 The eventIndId field in the event indication callback is set to 916 QMI_LOC_EVENT_GEOFENCE_PROXIMITY_NOTIFICATION_IND_V02. @newpagetable */ 917 918 const qmiLocEventGdtUploadBeginStatusReqIndMsgT_v02* pGdtUploadBeginEvent; 919 /**< Sent by the engine to notify the client about a GDT upload 920 begine event. 921 922 The eventIndId field in the event indication callback is set to 923 QMI_LOC_EVENT_GDT_UPLOAD_BEGIN_STATUS_REQ_IND_V02. @newpagetable */ 924 925 const qmiLocEventGdtUploadEndReqIndMsgT_v02* pGdtUploadEndEvent; 926 /**< Sent by the engine to notify the client about a GDT upload 927 end event. 928 929 The eventIndId field in the event indication callback is set to 930 QMI_LOC_EVENT_GDT_UPLOAD_END_REQ_IND_V02. @newpagetable */ 931 932 const qmiLocEventGnssSvMeasInfoIndMsgT_v02* pGnssSvRawInfoEvent; 933 /**< Sent by the engine to report GNSS measurement. 934 The eventIndId field in the event indication callback is set to 935 QMI_LOC_EVENT_GNSS_MEASUREMENT_REPORT_IND_V02. @newpagetable */ 936 937 const qmiLocEventDbtPositionReportIndMsgT_v02 *pDbtPositionReportEvent; 938 /**< Sent by the engine to notify the client of a distance based 939 tracking position report. 940 QMI_LOC_EVENT_DBT_POSITION_REPORT_IND_V02*/ 941 942 const qmiLocEventDbtSessionStatusIndMsgT_v02 *pDbtSessionStatusEvent; 943 /**< Sent by the engine to notify the client of the status of the 944 DBT session. 945 QMI_LOC_EVENT_DBT_SESSION_STATUS_IND_V02*/ 946 947 const qmiLocEventGeofenceBatchedDwellIndMsgT_v02 *pGeofenceBatchedDwellEvent; 948 /**< Sent by the engine to notify the client of the dwell time inside 949 or outside of a Geofence for a specified time. 950 QMI_LOC_EVENT_GEOFENCE_BATCHED_DWELL_NOTIFICATION_IND_V02*/ 951 952 const qmiLocEventGetTimeZoneReqIndMsgT_v02 *pGetTimeZoneReqEvent; 953 /**< Sent by the engine to request injection of time zone info 954 QMI_LOC_EVENT_GET_TIME_ZONE_INFO_IND_V02>*/ 955 956 const qmiLocEventBatchingStatusIndMsgT_v02* pBatchingStatusEvent; 957 /**< Sent by the engine to notify the control point of the batching status. 958 The eventIndId field in the event indication callback is set to 959 QMI_LOC_EVENT_BATCHING_STATUS_IND_V02. */ 960 961 const qmiLocEventGdtDownloadBeginReqIndMsgT_v02 *pGdtDownloadBeginReqEvent; 962 /**< Sent by the engine to notify the client about a GDT download 963 begin event. 964 QMI_LOC_EVENT_GDT_DOWNLOAD_BEGIN_REQ_IND_V02. */ 965 966 const qmiLocEventGdtReceiveDoneIndMsgT_v02 *pGdtReceiveDoneEvent; 967 /**< Sent by the engine to notify the client about a GDT download 968 receive done event. 969 QMI_LOC_EVENT_GDT_RECEIVE_DONE_IND_V02. */ 970 971 const qmiLocEventGdtDownloadEndReqIndMsgT_v02 *pGdtDownloadEndReqEvent; 972 /**< Sent by the engine to notify the client about a GDT download 973 end event. 974 QMI_LOC_EVENT_GDT_DOWNLOAD_END_REQ_IND_V02. */ 975 976 }locClientEventIndUnionType; 977 978 979 /** Response indications that are sent by the service. 980 */ 981 typedef union 982 { 983 const qmiLocGetServiceRevisionIndMsgT_v02* pGetServiceRevisionInd; 984 /**< Response to the QMI_LOC_GET_SERVICE_REVISION_REQ_V02 request. 985 986 The respIndId field in the response indication callback is set to 987 QMI_LOC_GET_SERVICE_REVISION_IND_V02. */ 988 989 const qmiLocGetFixCriteriaIndMsgT_v02* pGetFixCriteriaInd; 990 /**< Response to the QMI_LOC_GET_FIX_CRITERIA_REQ_V02 request. 991 992 The respIndId field in the response indication callback is set to 993 QMI_LOC_GET_FIX_CRITERIA_IND_V02. */ 994 995 const qmiLocNiUserRespIndMsgT_v02* pNiUserRespInd; 996 /**< Response to the QMI_LOC_NI_USER_RESPONSE_REQ_V02 request. 997 998 The respIndId field in the response indication callback is set to 999 QMI_LOC_NI_USER_RESPONSE_IND_V02. */ 1000 1001 const qmiLocInjectPredictedOrbitsDataIndMsgT_v02* 1002 pInjectPredictedOrbitsDataInd; 1003 /**< Sent after a predicted orbits data part has been successfully injected. 1004 1005 The client waits for this indication before injecting the next part. 1006 This indication is sent in response to 1007 QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_REQ_V02. 1008 1009 The respIndId field in the response indication callback is set to 1010 QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_IND_V02. */ 1011 1012 const qmiLocGetPredictedOrbitsDataSourceIndMsgT_v02* 1013 pGetPredictedOrbitsDataSourceInd; 1014 /**< Response to the QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_REQ_V02 1015 request. 1016 1017 The respIndId field in the response indication callback is set to 1018 QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_IND_V02. */ 1019 1020 const qmiLocGetPredictedOrbitsDataValidityIndMsgT_v02* 1021 pGetPredictedOrbitsDataValidityInd; 1022 /**< Response to the QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_REQ_V02 1023 request. 1024 1025 The respIndId field in the response indication callback is set to 1026 QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_IND_V02. */ 1027 1028 const qmiLocInjectUtcTimeIndMsgT_v02* pInjectUtcTimeInd; 1029 /**< Response to the QMI_LOC_INJECT_UTC_TIME_REQ_V02 request. 1030 1031 The respIndId field in the response indication callback is set to 1032 QMI_LOC_INJECT_UTC_TIME_IND_V02. */ 1033 1034 const qmiLocInjectPositionIndMsgT_v02* pInjectPositionInd; 1035 /**< Response to the QMI_LOC_INJECT_POSITION_REQ_V02 request. 1036 1037 The respIndId field in the response indication callback is set to 1038 QMI_LOC_INJECT_POSITION_IND_V02. */ 1039 1040 const qmiLocSetEngineLockIndMsgT_v02* pSetEngineLockInd; 1041 /**< Response to the QMI_LOC_SET_ENGINE_LOCK_REQ_V02 request. 1042 1043 The respIndId field in the response indication callback is set to 1044 QMI_LOC_SET_ENGINE_LOCK_IND_V02. */ 1045 1046 const qmiLocGetEngineLockIndMsgT_v02* pGetEngineLockInd; 1047 /**< Response to the QMI_LOC_GET_ENGINE_LOCK_REQ_V02 request. 1048 1049 The respIndId field in the response indication callback is set to 1050 QMI_LOC_GET_ENGINE_LOCK_IND_V02. */ 1051 1052 const qmiLocSetSbasConfigIndMsgT_v02* pSetSbasConfigInd; 1053 /**< Response to the QMI_LOC_SET_SBAS_CONFIG_REQ_V02 request. 1054 1055 The respIndId field in the response indication callback is set to 1056 QMI_LOC_SET_SBAS_CONFIG_IND_V02. */ 1057 1058 const qmiLocGetSbasConfigIndMsgT_v02* pGetSbasConfigInd; 1059 /**< Response to the QMI_LOC_GET_SBAS_CONFIG_REQ_V02 request. 1060 1061 The respIndId field in the response indication callback is set to 1062 QMI_LOC_GET_SBAS_CONFIG_IND_V02. */ 1063 1064 const qmiLocSetNmeaTypesIndMsgT_v02* pSetNmeaTypesInd; 1065 /**< Response to the QMI_LOC_SET_NMEA_TYPES_REQ_V02 request. 1066 1067 The respIndId field in the response indication callback is set to 1068 QMI_LOC_SET_NMEA_TYPES_IND_V02. */ 1069 1070 const qmiLocGetNmeaTypesIndMsgT_v02* pGetNmeaTypesInd; 1071 /**< Response to the QMI_LOC_GET_NMEA_TYPES_REQ_V02 request. 1072 1073 The respIndId field in the response indication callback is set to 1074 QMI_LOC_GET_NMEA_TYPES_IND_V02. */ 1075 1076 const qmiLocSetLowPowerModeIndMsgT_v02* pSetLowPowerModeInd; 1077 /**< Response to the QMI_LOC_SET_LOW_POWER_MODE_REQ_V02 request. 1078 1079 The respIndId field in the response indication callback is set to 1080 QMI_LOC_SET_LOW_POWER_MODE_IND_V02. */ 1081 1082 const qmiLocGetLowPowerModeIndMsgT_v02* pGetLowPowerModeInd; 1083 /**< Response to the QMI_LOC_GET_LOW_POWER_MODE_REQ_V02 request. 1084 1085 The respIndId field in the response indication callback is set to 1086 QMI_LOC_GET_LOW_POWER_MODE_IND_V02. */ 1087 1088 const qmiLocSetServerIndMsgT_v02* pSetServerInd; 1089 /**< Response to the QMI_LOC_SET_SERVER_REQ_V02 request. 1090 1091 The respIndId field in the response indication callback is set to 1092 QMI_LOC_SET_SERVER_IND_V02. */ 1093 1094 const qmiLocGetServerIndMsgT_v02* pGetServerInd; 1095 /**< Response to the QMI_LOC_GET_SERVER_REQ_V02 request. 1096 1097 The respIndId field in the response indication callback is set to 1098 QMI_LOC_GET_SERVER_IND_V02. */ 1099 1100 const qmiLocDeleteAssistDataIndMsgT_v02* pDeleteAssistDataInd; 1101 /**< Response to the QMI_LOC_DELETE_ASSIST_DATA_REQ_V02 request. 1102 1103 The respIndId field in the response indication callback is set to 1104 QMI_LOC_DELETE_ASSIST_DATA_IND_V02. */ 1105 1106 const qmiLocInjectApCacheDataIndMsgT_v02 *pInjectApCacheDataInd; 1107 /**< Response to the QMI_LOC_INJECT_APCACHE_DATA_REQ_V02 request. 1108 1109 The respIndId field in the response indication callback is set to 1110 QMI_LOC_INJECT_APCACHE_DATA_IND_V02. */ 1111 1112 const qmiLocInjectApDoNotCacheDataIndMsgT_v02 *pInjectApDoNotCacheDataInd; 1113 /**< Response to the QMI_LOC_INJECT_DONOTAPCACHE_DATA_REQ_V02 request. 1114 1115 The respIndId field in the response indication callback is set to 1116 QMI_LOC_INJECT_DONOTAPCACHE_DATA_IND_V02. */ 1117 1118 const qmiLocSetXtraTSessionControlIndMsgT_v02* pSetXtraTSessionControlInd; 1119 /**< Response to the QMI_LOC_SET_XTRA_T_SESSION_CONTROL_REQ_V02 request. 1120 1121 The respIndId field in the response indication callback is set to 1122 QMI_LOC_SET_XTRA_T_SESSION_CONTROL_IND_V02. */ 1123 1124 const qmiLocGetXtraTSessionControlIndMsgT_v02* pGetXtraTSessionControlInd; 1125 /**< Response to the QMI_LOC_GET_XTRA_T_SESSION_CONTROL_REQ_V02 request. 1126 1127 The respIndId field in the response indication callback is set to 1128 QMI_LOC_GET_XTRA_T_SESSION_CONTROL_IND_V02. */ 1129 1130 const qmiLocInjectWifiPositionIndMsgT_v02* pInjectWifiPositionInd; 1131 /**< Response to the QMI_LOC_INJECT_WIFI_POSITION_REQ_V02 request. 1132 1133 The respIndId field in the response indication callback is set to 1134 QMI_LOC_INJECT_WIFI_POSITION_IND_V02. */ 1135 1136 const qmiLocNotifyWifiStatusIndMsgT_v02* pNotifyWifiStatusInd; 1137 /**< Response to the QMI_LOC_NOTIFY_WIFI_STATUS_REQ_V02 request. 1138 1139 The respIndId field in the response indication callback is set to 1140 QMI_LOC_NOTIFY_WIFI_STATUS_IND_V02. */ 1141 1142 const qmiLocGetRegisteredEventsIndMsgT_v02* pGetRegisteredEventsInd; 1143 /**< Response to the QMI_LOC_GET_REGISTERED_EVENTS_REQ_V02 request. 1144 1145 The respIndId field in the response indication callback is set to 1146 QMI_LOC_GET_REGISTERED_EVENTS_IND_V02. */ 1147 1148 const qmiLocSetOperationModeIndMsgT_v02* pSetOperationModeInd; 1149 /**< Response to the QMI_LOC_SET_OPERATION_MODE_REQ_V02 request. 1150 1151 The respIndId field in the response indication callback is set to 1152 QMI_LOC_SET_OPERATION_MODE_IND_V02. */ 1153 1154 const qmiLocGetOperationModeIndMsgT_v02* pGetOperationModeInd; 1155 /**< Response to the QMI_LOC_GET_OPERATION_MODE_REQ_V02 request. 1156 1157 The respIndId field in the response indication callback is set to 1158 QMI_LOC_GET_OPERATION_MODE_IND_V02. */ 1159 1160 const qmiLocSetSpiStatusIndMsgT_v02* pSetSpiStatusInd; 1161 /**< Response to the QMI_LOC_SET_SPI_STATUS_REQ_V02 request. 1162 1163 The respIndId field in the response indication callback is set to 1164 QMI_LOC_SET_SPI_STATUS_IND_V02. */ 1165 1166 const qmiLocInjectSensorDataIndMsgT_v02* pInjectSensorDataInd; 1167 /**< Response to the QMI_LOC_INJECT_SENSOR_DATA_REQ_V02 request. 1168 1169 The respIndId field in the response indication callback is set to 1170 QMI_LOC_INJECT_SENSOR_DATA_IND_V02. */ 1171 1172 const qmiLocInjectTimeSyncDataIndMsgT_v02* pInjectTimeSyncDataInd; 1173 /**< Response to the QMI_LOC_INJECT_TIME_SYNC_DATA_REQ_V02 request. 1174 1175 The respIndId field in the response indication callback is set to 1176 QMI_LOC_INJECT_TIME_SYNC_DATA_IND_V02. */ 1177 1178 const qmiLocSetCradleMountConfigIndMsgT_v02* pSetCradleMountConfigInd; 1179 /**< Response to the QMI_LOC_SET_CRADLE_MOUNT_CONFIG_IND_V02 request. 1180 1181 The respIndId field in the response indication callback is set to 1182 QMI_LOC_SET_CRADLE_MOUNT_CONFIG_REQ_V02. */ 1183 1184 const qmiLocGetCradleMountConfigIndMsgT_v02* pGetCradleMountConfigInd; 1185 /**< Response to the QMI_LOC_GET_CRADLE_MOUNT_CONFIG_REQ_V02 request. 1186 1187 The respIndId field in the response indication callback is set to 1188 QMI_LOC_GET_CRADLE_MOUNT_CONFIG_IND_V02. */ 1189 1190 const qmiLocSetExternalPowerConfigIndMsgT_v02* pSetExternalPowerConfigInd; 1191 /**< Response to the QMI_LOC_SET_EXTERNAL_POWER_CONFIG_REQ_V02 request. 1192 1193 The respIndId field in the response indication callback is set to 1194 QMI_LOC_SET_EXTERNAL_POWER_CONFIG_IND_V02. */ 1195 1196 const qmiLocGetExternalPowerConfigIndMsgT_v02* pGetExternalPowerConfigInd; 1197 /**< Response to the QMI_LOC_GET_EXTERNAL_POWER_CONFIG_REQ_V02 request. 1198 1199 The respIndId field in the response indication callback is set to 1200 QMI_LOC_GET_EXTERNAL_POWER_CONFIG_IND_V02. */ 1201 1202 const qmiLocInformLocationServerConnStatusIndMsgT_v02* 1203 pInformLocationServerConnStatusInd; 1204 /**< Response to the QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_REQ_V02 1205 request. 1206 1207 The respIndId field in the response indication callback is set to 1208 QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_IND_V02.*/ 1209 1210 const qmiLocSetProtocolConfigParametersIndMsgT_v02* 1211 pSetProtocolConfigParametersInd; 1212 /**< Response to the QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02 request. 1213 1214 The respIndId field in the response indication callback is set to 1215 QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_IND_V02. */ 1216 1217 const qmiLocGetProtocolConfigParametersIndMsgT_v02* 1218 pGetProtocolConfigParametersInd; 1219 /**< Response to the QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02 request. 1220 1221 The respIndId field in the response indication callback is set to 1222 QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_IND_V02. */ 1223 1224 const qmiLocSetSensorControlConfigIndMsgT_v02* pSetSensorControlConfigInd; 1225 /**< Response to the QMI_LOC_SET_SENSOR_CONTROL_CONFIG_REQ_V02 request. 1226 1227 The respIndId field in the response indication callback is set to 1228 QMI_LOC_SET_SENSOR_CONTROL_CONFIG_IND_V02. 1229 */ 1230 1231 const qmiLocGetSensorControlConfigIndMsgT_v02* pGetSensorControlConfigInd; 1232 /**< Response to the QMI_LOC_GET_SENSOR_CONTROL_CONFIG_REQ_V02 request. 1233 1234 The respIndId field in the response indication callback is set to 1235 QMI_LOC_GET_SENSOR_CONTROL_CONFIG_IND_V02. 1236 */ 1237 1238 const qmiLocSetSensorPropertiesIndMsgT_v02* pSetSensorPropertiesInd; 1239 /**< Response to the QMI_LOC_SET_SENSOR_PROPERTIES_REQ_V02 request. 1240 1241 The respIndId field in the response indication callback is set to 1242 QMI_LOC_SET_SENSOR_PROPERTIES_IND_V02. 1243 */ 1244 1245 const qmiLocGetSensorPropertiesIndMsgT_v02* pGetSensorPropertiesInd; 1246 /**< Response to the QMI_LOC_GET_SENSOR_PROPERTIES_REQ_V02 request. 1247 1248 The respIndId field in the response indication callback is set to 1249 QMI_LOC_GET_SENSOR_PROPERTIES_IND_V02. 1250 */ 1251 1252 const qmiLocSetSensorPerformanceControlConfigIndMsgT_v02* 1253 pSetSensorPerformanceControlConfigInd; 1254 /**< Response to the 1255 QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_REQ_V02 request. 1256 1257 The respIndId field in the response indication callback is set to 1258 QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_IND_V02. */ 1259 1260 const qmiLocGetSensorPerformanceControlConfigIndMsgT_v02* 1261 pGetSensorPerformanceControlConfigInd; 1262 /**< Response to the 1263 QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_REQ_V02 request. 1264 1265 The respIndId field in the response indication callback is set to 1266 QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_IND_V02. */ 1267 1268 const qmiLocInjectSuplCertificateIndMsgT_v02* pInjectSuplCertificateInd; 1269 /**< Response to the QMI_LOC_INJECT_SUPL_CERTIFICATE_REQ_V02 request. 1270 1271 The respIndId field in the response indication callback is set to 1272 QMI_LOC_INJECT_SUPL_CERTIFICATE_IND_V02. */ 1273 1274 const qmiLocDeleteSuplCertificateIndMsgT_v02* pDeleteSuplCertificateInd; 1275 /**< Response to the QMI_LOC_DELETE_SUPL_CERTIFICATE_REQ_V02 request. 1276 1277 The respIndId field in the response indication callback is set to 1278 QMI_LOC_DELETE_SUPL_CERTIFICATE_IND_V02. */ 1279 1280 const qmiLocSetPositionEngineConfigParametersIndMsgT_v02* 1281 pSetPositionEngineConfigParametersInd; 1282 /**< Response to the QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_REQ_V02 1283 request. 1284 1285 The respIndId field in the response indication callback is set to 1286 QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_IND_V02. */ 1287 1288 const qmiLocGetPositionEngineConfigParametersIndMsgT_v02* 1289 pGetPositionEngineConfigParametersInd; 1290 /**< Response to the QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_REQ_V02 1291 request. 1292 1293 The respIndId field in the response indication callback is set to 1294 QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_IND_V02. */ 1295 1296 const qmiLocAddCircularGeofenceIndMsgT_v02* pAddCircularGeofenceInd; 1297 /**< Response to the QMI_LOC_ADD_CIRCULAR_GEOFENCE_REQ_V02 request. 1298 1299 The respIndId field in the response indication callback is set to 1300 QMI_LOC_ADD_CIRCULAR_GEOFENCE_IND_V02. */ 1301 1302 const qmiLocDeleteGeofenceIndMsgT_v02* pDeleteGeofenceInd; 1303 /**< Response to the QMI_LOC_DELETE_GEOFENCE_REQ_V02 request. 1304 1305 The respIndId field in the response indication callback is set to 1306 QMI_LOC_DELETE_GEOFENCE_IND_V02. */ 1307 1308 const qmiLocQueryGeofenceIndMsgT_v02* pQueryGeofenceInd; 1309 /**< Response to the QMI_LOC_QUERY_GEOFENCE_REQ_V02 request. 1310 1311 The respIndId field in the response indication callback is set to 1312 QMI_LOC_QUERY_GEOFENCE_IND_V02. */ 1313 1314 const qmiLocEditGeofenceIndMsgT_v02* pEditGeofenceInd; 1315 /**< Response to the QMI_LOC_EDIT_GEOFENCE_REQ_V02 request. 1316 1317 The respIndId field in the response indication callback is set to 1318 QMI_LOC_EDIT_GEOFENCE_IND_V02. */ 1319 1320 const qmiLocGetBestAvailablePositionIndMsgT_v02* 1321 pGetBestAvailablePositionInd; 1322 /**< Response to the QMI_LOC_GET_BEST_AVAILABLE_POSITION_REQ_V02 request. 1323 1324 The respIndId field in the response indication callback is set to 1325 QMI_LOC_GET_BEST_AVAILABLE_POSITION_IND_V02. */ 1326 1327 const qmiLocSecureGetAvailablePositionIndMsgT_v02* 1328 pSecureGetBestAvailablePositionInd; 1329 /**< Response to the QMI_LOC_SECURE_GET_AVAILABLE_POSITION_REQ_V02 request. 1330 1331 The respIndId field in the response indication callback is set to 1332 QMI_LOC_SECURE_GET_AVAILABLE_POSITION_IND_V02. */ 1333 1334 const qmiLocInjectMotionDataIndMsgT_v02* pInjectMotionDataInd; 1335 /**< Response to the QMI_LOC_INJECT_MOTION_DATA_REQ_V02 request. 1336 1337 The respIndId field in the response indication callback is set to 1338 QMI_LOC_INJECT_MOTION_DATA_IND_V02. */ 1339 1340 const qmiLocGetNiGeofenceIdListIndMsgT_v02* pGetNiGeofenceIdListInd; 1341 /**< Response to the QMI_LOC_GET_NI_GEOFENCE_ID_LIST_REQ_V02 request. 1342 1343 The respIndId field in the response indication callback is set to 1344 QMI_LOC_GET_NI_GEOFENCE_ID_LIST_IND_V02. */ 1345 1346 const qmiLocInjectGSMCellInfoIndMsgT_v02* pInjectGSMCellInfoInd; 1347 /**< Response to the QMI_LOC_INJECT_GSM_CELL_INFO_REQ_V02 request. 1348 1349 The respIndId field in the response indication callback is set to 1350 QMI_LOC_INJECT_GSM_CELL_INFO_IND_V02. */ 1351 1352 const qmiLocInjectNetworkInitiatedMessageIndMsgT_v02* 1353 pInjectNetworkInitiatedMessageInd; 1354 1355 /**< Response to the QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_REQ_V02 1356 request. 1357 1358 The respIndId field in the response indication callback is set to 1359 QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_IND_V02. */ 1360 1361 const qmiLocWWANOutOfServiceNotificationIndMsgT_v02* 1362 pWWANOutOfServiceNotificationInd; 1363 1364 /**< Response to the QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_REQ_V02 1365 request. 1366 The respIndId field in the response indication callback is set to 1367 QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_IND_V02. */ 1368 1369 const qmiLocPedometerReportIndMsgT_v02* pPedometerReportInd; 1370 1371 /**< Response to the QMI_LOC_PEDOMETER_REPORT_REQ_V02 request. 1372 The respIndId field in the response indication callback is set to 1373 QMI_LOC_PEDOMETER_REPORT_IND_V02. */ 1374 1375 const qmiLocInjectWCDMACellInfoIndMsgT_v02 *pInjectWCDMACellInfoInd; 1376 const qmiLocInjectTDSCDMACellInfoIndMsgT_v02 *pInjectTDSCDMACellInfoInd; 1377 const qmiLocInjectSubscriberIDIndMsgT_v02 *pInjectSubscriberIDInd; 1378 const qmiLocInjectWifiApDataIndMsgT_v02 *pInjectWifiApDataInd; 1379 const qmiLocNotifyWifiAttachmentStatusIndMsgT_v02 *pNotifyWifiAttachmentStatusInd; 1380 const qmiLocNotifyWifiEnabledStatusIndMsgT_v02 *pNotifyWifiEnabledStatusInd; 1381 1382 const qmiLocInjectVehicleSensorDataIndMsgT_v02 *pInjectVehicleSensorDataInd; 1383 1384 /**< Response to the QMI_LOC_INJECT_VEHICLE_SENSOR_DATA_REQ_V02 request. 1385 The respIndId field in the response indication callback is set to 1386 QMI_LOC_INJECT_VEHICLE_SENSOR_DATA_IND_V02. */ 1387 1388 const qmiLocGetAvailWwanPositionIndMsgT_v02 *pGetAvailWwanPositionInd; 1389 /*QMI_LOC_GET_AVAILABLE_WWAN_POSITION_IND_V02*/ 1390 1391 const qmiLocSetXtraVersionCheckIndMsgT_v02 *pSetXtraVersionCheckInd; 1392 /*QMI_LOC_SET_XTRA_VERSION_CHECK_IND_V02*/ 1393 1394 const qmiLocSetGNSSConstRepConfigIndMsgT_v02 *pSetGNSSConstRepConfigInd; 1395 /*QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG_IND_V02*/ 1396 1397 const qmiLocStartDbtIndMsgT_v02 *pStartDbtInd; 1398 /*QMI_LOC_START_DBT_IND_V02*/ 1399 1400 const qmiLocStopDbtIndMsgT_v02 *pStopDbtInd; 1401 /*QMI_LOC_STOP_DBT_IND_V02*/ 1402 1403 const qmiLocInjectTimeZoneInfoIndMsgT_v02 *pInjectTimeZoneInfoInd; 1404 /*QMI_LOC_INJECT_TIME_ZONE_INFO_IND_V02*/ 1405 1406 const qmiLocQueryAonConfigIndMsgT_v02 *pQueryAonConfigInd; 1407 /*QMI_LOC_QUERY_AON_CONFIG_IND_V02*/ 1408 1409 const qmiLocGtpApStatusIndMsgT_v02 *pGtpApStatusInd; 1410 /*QMI_LOC_GTP_AP_STATUS_IND_V02*/ 1411 1412 const qmiLocGdtDownloadBeginStatusIndMsgT_v02 *pGdtDownloadBeginStatusInd; 1413 /*QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_IND_V02*/ 1414 1415 const qmiLocGdtDownloadReadyStatusIndMsgT_v02 *pGdtDownloadReadyStatusInd; 1416 /*QMI_LOC_GDT_DOWNLOAD_READY_STATUS_IND_V02*/ 1417 1418 const qmiLocGdtReceiveDoneStatusIndMsgT_v02 *pGdtReceiveDoneStatusInd; 1419 /*QMI_LOC_GDT_RECEIVE_DONE_STATUS_IND_V02*/ 1420 1421 const qmiLocGdtDownloadEndStatusIndMsgT_v02 *pGdtDownloadEndStatusInd; 1422 /*QMI_LOC_GDT_DOWNLOAD_END_STATUS_IND_V02*/ 1423 }locClientRespIndUnionType; 1424 1425 /** @} */ /* end_addtogroup data_types */ 1426 1427 /** @addtogroup callback_functions 1428 @{ */ 1429 /** 1430 Location event indication callback function type. The Location service can 1431 generate two types of indications: 1432 1433 - Asynchronous events indications, such as time injection request and satellite 1434 reports. The client specifies the asynchronous events it is interested in 1435 receiving through the event mask (see locClientOpen()). 1436 - Response indications that are generated as a response to a request. For 1437 example, the QMI_LOC_GET_FIX_CRITERIA_REQ_V02 request generates the 1438 indication, QMI_LOC_GET_FIX_CRITERIA_IND_V02. 1439 1440 This callback handles the asynchronous event indications. 1441 1442 @datatypes 1443 #locClientHandleType \n 1444 #locClientEventIndUnionType 1445 1446 @param handle Location client for this event. Only the client who 1447 registered for the corresponding event receives 1448 this callback. 1449 @param eventIndId ID of the event indication. 1450 @param eventIndPayload Event indication payload. 1451 @param pClientCookie Pointer to the cookie the client specified during 1452 registration. 1453 1454 @return 1455 None. 1456 1457 @dependencies 1458 None. @newpage 1459 */ 1460 typedef void (*locClientEventIndCbType)( 1461 locClientHandleType handle, 1462 uint32_t eventIndId, 1463 const locClientEventIndUnionType eventIndPayload, 1464 void *pClientCookie 1465 ); 1466 1467 /** 1468 Location response indication callback function type. The Location service can 1469 generate two types of indications: 1470 1471 - Asynchronous events indications, such as time injection request and satellite 1472 reports. The client specifies the asynchronous events it is interested in 1473 receiving through the event mask (see locClientOpen()). 1474 - Response indications that are generated as a response to a request. For 1475 example, the QMI_LOC_GET_FIX_CRITERIA_REQ_V02 request generates the 1476 indication, QMI_LOC_GET_FIX_CRITERIA_IND_V02. 1477 1478 This callback handles the response indications. 1479 1480 @datatypes 1481 #locClientHandleType \n 1482 #locClientRespIndUnionType 1483 1484 @param handle Location client who sent the request for which this 1485 response indication is generated. 1486 @param respIndId ID of the response. It is the same value as the ID 1487 of request sent to the engine. 1488 @param respIndPayload Payload of the response indication. 1489 @param pClientCookie Pointer to the cookie the client specified during 1490 registration. 1491 1492 @return 1493 None. 1494 1495 @dependencies 1496 None. @newpage 1497 */ 1498 typedef void (*locClientRespIndCbType)( 1499 locClientHandleType handle, 1500 uint32_t respIndId, 1501 const locClientRespIndUnionType respIndPayload, 1502 uint32_t respIndPayloadSize, 1503 void *pClientCookie 1504 ); 1505 1506 /** 1507 Location error callback function type. This function is called to inform 1508 the client that the service is no longer available. When the client 1509 receives this callback, it must close the existing connection and reopen 1510 the client connection. 1511 1512 @datatypes 1513 #locClientHandleType \n 1514 #locClientErrorEnumType 1515 1516 @param handle Location client who sent the request for which this 1517 error indication is generated. 1518 @param errorId Error ID. 1519 @param pClientCookie Payload associated with the error indication. 1520 1521 @return 1522 None. 1523 1524 @dependencies 1525 None. 1526 */ 1527 typedef void (*locClientErrorCbType)( 1528 locClientHandleType handle, 1529 locClientErrorEnumType errorId, 1530 void* pClientCookie 1531 ); 1532 /** @} */ /* end_addtogroup callback_functions */ 1533 1534 1535 /** @ingroup data_types 1536 Callback functions to be registered during locClientOpen(). 1537 */ 1538 typedef struct 1539 { 1540 uint32_t size; /**< Size of the structure. */ 1541 locClientEventIndCbType eventIndCb; /**< Event indication callback. */ 1542 locClientRespIndCbType respIndCb; /**< Response indication callback. */ 1543 locClientErrorCbType errorCb; /**< Error indication callback. 1544 @newpagetable */ 1545 }locClientCallbacksType; 1546 1547 /** 1548 Response for getting qmi service list 1549 */ 1550 typedef struct 1551 { 1552 qmi_get_supported_msgs_resp_v01 resp; /**< Response */ 1553 }qmiLocGetSupportMsgT_v02; 1554 1555 /*=========================================================================== 1556 * 1557 * FUNCTION DECLARATION 1558 * 1559 *==========================================================================*/ 1560 /** @addtogroup operation_functions 1561 @{ */ 1562 /*========================================================================== 1563 locClientOpen */ 1564 /** @xreflabel{hdr:locClientOpenFunction} 1565 Connects a location client to the location engine. If the connection is 1566 successful, this function returns a handle that the location client uses for 1567 future location operations. 1568 1569 @datatypes 1570 #locClientStatusEnumType \n 1571 #locClientEventMaskType \n 1572 #locClientCallbacksType \n 1573 #locClientHandleType 1574 1575 @param[in] eventRegMask Mask of asynchronous events the client is 1576 interested in receiving. 1577 @param[in] pLocClientCallbacks Pointer to structure containing the 1578 callbacks. 1579 @param[out] pLocClientHandle Pointer to the handle to be used by the 1580 client for any subsequent requests. 1581 @param[in] pLocClientCookie Pointer to a cookie to be returned to the 1582 client along with the callbacks. 1583 1584 @return 1585 One of the following error codes: 1586 - eLOC_CLIENT_SUCCESS -- If the connection is opened. 1587 - Non-zero error code (see #locClientStatusEnumType) -- On failure. 1588 1589 @dependencies 1590 None. @newpage 1591 */ 1592 extern locClientStatusEnumType locClientOpen ( 1593 locClientEventMaskType eventRegMask, 1594 const locClientCallbacksType* pLocClientCallbacks, 1595 locClientHandleType* pLocClientHandle, 1596 const void* pLocClientCookie 1597 ); 1598 1599 1600 /*========================================================================== 1601 locClientClose */ 1602 /** @xreflabel{hdr:locClientCloseFunction} 1603 Disconnects a client from the location engine and sets the handle to 1604 LOC_CLIENT_INVALID_HANDLE_VALUE. 1605 1606 @datatypes 1607 #locClientStatusEnumType \n 1608 #locClientHandleType 1609 1610 @param[in] pLocClientHandle Pointer to the handle returned by the 1611 locClientOpen() function. 1612 1613 @return 1614 One of the following error codes: 1615 - 0 (eLOC_CLIENT_SUCCESS) -- On success. 1616 - Non-zero error code (see \ref locClientStatusEnumType) -- On failure. 1617 1618 @dependencies 1619 None. @newpage 1620 */ 1621 extern locClientStatusEnumType locClientClose ( 1622 locClientHandleType* pLocClientHandle 1623 ); 1624 1625 /*============================================================================= 1626 locClientSendReq */ 1627 /** @xreflabel{hdr:locClientSendReqFunction} 1628 Sends a message to the location engine. If this function is successful, the 1629 client expects an indication (except start, stop, event registration, and 1630 sensor injection messages) through the registered callback in the 1631 locClientOpen() function. 1632 1633 The indication contains the status of the request. If the status is a success, 1634 the indication also contains the payload associated with response. 1635 1636 @datatypes 1637 #locClientStatusEnumType \n 1638 #locClientHandleType \n 1639 #locClientReqUnionType 1640 1641 @param[in] handle Handle returned by the locClientOpen() function. 1642 @param[in] reqId QMI_LOC service message ID of the request. 1643 @param[in] reqPayload Payload of the request. This can be NULL if the 1644 request has no payload. 1645 1646 @return 1647 One of the following error codes: 1648 - 0 (eLOC_CLIENT_SUCCESS) -- On success. 1649 - Non-zero error code (see \ref locClientStatusEnumType) -- On failure. 1650 1651 @dependencies 1652 None. @newpage 1653 */ 1654 extern locClientStatusEnumType locClientSendReq( 1655 locClientHandleType handle, 1656 uint32_t reqId, 1657 locClientReqUnionType reqPayload 1658 ); 1659 1660 /*============================================================================= 1661 locClientSupportMsgCheck */ 1662 /** 1663 @brief Sends a QMI_LOC_GET_SUPPORTED_MSGS_REQ_V02 message to the 1664 location engine, and then receives a list of all services supported 1665 by the engine. This function will check if the input service(s) form 1666 the client is in the list or not. If the locClientSupportMsgCheck() 1667 function is successful, the client should expect an result of 1668 the service is supported or not recorded in supportedMsg. 1669 @param [in] handle Handle returned by the locClientOpen() 1670 function. 1671 @param [in] supportedMsg a integer used to record which 1672 message is supported 1673 1674 @return 1675 One of the following error codes: 1676 - 0 (eLOC_CLIENT_SUCCESS) -- On success. 1677 - Non-zero error code (see \ref locClientStatusEnumType) -- On failure. 1678 1679 @dependencies 1680 None. @newpage 1681 */ 1682 extern locClientStatusEnumType locClientSupportMsgCheck( 1683 locClientHandleType handle, 1684 const uint32_t* msgArray, 1685 uint32_t msgArrayLength, 1686 uint64_t* supportedMsg 1687 ); 1688 1689 /*============================================================================= 1690 locClientGetSizeByEventIndId */ 1691 /** Gets the size of the event indication structure from a specified ID. 1692 1693 @param[in] eventIndId Event indicator ID. 1694 @param[out] pEventIndSize Pointer to the size of the structure. 1695 1696 @return 1697 TRUE -- The event ID was found. \n 1698 FALSE -- Otherwise. 1699 1700 @dependencies 1701 None. @newpage 1702 */ 1703 extern bool locClientGetSizeByEventIndId( 1704 uint32_t eventIndId, 1705 size_t *pEventIndSize); 1706 1707 1708 /*============================================================================= 1709 locClientGetSizeByRespIndId */ 1710 /** Gets the size of the response indication structure from a specified ID. 1711 1712 @param[in] respIndId Response indicator ID. 1713 @param[out] pRespIndSize Pointer to the size of the structure. 1714 1715 @return 1716 TRUE -- The response ID was found. \n 1717 FALSE -- Otherwise. 1718 1719 @dependencies 1720 None. 1721 */ 1722 extern bool locClientGetSizeByRespIndId( 1723 uint32_t respIndId, 1724 size_t *pRespIndSize); 1725 1726 /** locClientRegisterEventMask 1727 * @brief registers the event mask with loc service 1728 * @param [in] clientHandle 1729 * @param [in] eventRegMask 1730 * @return true if indication was validated; else false */ 1731 1732 extern bool locClientRegisterEventMask( 1733 locClientHandleType clientHandle, 1734 locClientEventMaskType eventRegMask); 1735 1736 /*=============================================================================*/ 1737 /** @} */ /* end_addtogroup operation_functions */ 1738 1739 #ifdef __cplusplus 1740 } 1741 #endif 1742 1743 #endif /* LOC_API_V02_CLIENT_H*/ 1744