diff --git a/gps/loc_api/ds_api/Android.mk b/gps/loc_api/ds_api/Android.mk index 6400cc4..229b547 100644 --- a/gps/loc_api/ds_api/Android.mk +++ b/gps/loc_api/ds_api/Android.mk @@ -13,13 +13,11 @@ LOCAL_SHARED_LIBRARIES := \ libutils \ libcutils \ libqmi_cci \ - libqmi_csi \ libqmi_common_so \ libgps.utils \ libdsi_netctrl \ libqmiservices - LOCAL_SRC_FILES += \ ds_client.c diff --git a/gps/loc_api/ds_api/ds_client.c b/gps/loc_api/ds_api/ds_client.c index e31f2af..6c10574 100644 --- a/gps/loc_api/ds_api/ds_client.c +++ b/gps/loc_api/ds_api/ds_client.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2013, 2015, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -48,6 +48,18 @@ #include +/** + * @file + * @brief DS client API declaration. + * + * @ingroup loc_ds_api + */ + +/** + * @addtogroup loc_ds_api DS client support for location + * @{ + */ + //Timeout to wait for wds service notification from qmi #define DS_CLIENT_SERVICE_TIMEOUT (4000) //Max timeout for the service to come up @@ -70,13 +82,7 @@ typedef union wds_get_profile_settings_resp_msg_v01 *p_get_profile_setting_resp; }ds_client_resp_union_type; -struct event_strings_s -{ - char * str; - dsi_net_evt_t evt; -}; - -struct event_strings_s event_string_tbl[DSI_EVT_MAX] = +static const loc_name_val_s_type event_string_tbl[DSI_EVT_MAX] = { NAME_VAL(DSI_EVT_INVALID), NAME_VAL(DSI_EVT_NET_IS_CONN), @@ -89,8 +95,8 @@ struct event_strings_s event_string_tbl[DSI_EVT_MAX] = typedef struct { - ds_client_event_ind_cb_type event_cb; - void *caller_cookie; + ds_client_event_ind_cb_type *event_cb; + void *caller_cookie; }ds_caller_data; typedef struct { @@ -100,8 +106,13 @@ typedef struct { ds_caller_data caller_data; } ds_client_session_data; -void net_ev_cb(dsi_hndl_t handle, void* user_data, - dsi_net_evt_t evt, dsi_evt_payload_t *payload_ptr) +static void net_ev_cb +( + dsi_hndl_t handle, + void* user_data, + dsi_net_evt_t evt, + dsi_evt_payload_t *payload_ptr +) { int i; (void)handle; @@ -112,12 +123,10 @@ void net_ev_cb(dsi_hndl_t handle, void* user_data, LOC_LOGD("%s:%d]: Enter. Callback data: %p\n", __func__, __LINE__, callback_data); if(evt > DSI_EVT_INVALID && evt < DSI_EVT_MAX) { - for(i=0;icaller_data.event_cb = callback->event_cb; - (*ds_global_data)->caller_data.caller_cookie = caller_cookie; + (*ds_global_data)->caller_data.caller_cookie = cookie; dsi_handle = dsi_get_data_srvc_hndl(net_ev_cb, &(*ds_global_data)->caller_data); if(dsi_handle == NULL) { LOC_LOGE("%s:%d]: Could not get data handle. Retry Later\n", @@ -678,7 +722,16 @@ err: return ret; } -ds_client_status_enum_type ds_client_stop_call(dsClientHandleType client_handle) +/** + * @brief Stops a data call associated with the handle + * + * @param[in] client_handle Client handle + * + * @return Operation result + * @retval E_DS_CLIENT_SUCCESS On success. + * @retval E_DS_CLIENT_FAILURE... On error. + */ +static ds_client_status_enum_type ds_client_stop_call(dsClientHandleType client_handle) { ds_client_status_enum_type ret = E_DS_CLIENT_SUCCESS; ds_client_session_data *p_ds_global_data = (ds_client_session_data *)client_handle; @@ -705,10 +758,14 @@ err: return ret; } -/* - Stops data call associated with the data handle -*/ -void ds_client_close_call(dsClientHandleType *client_handle) +/** + * @brief Releases the handle used for making data calls + * + * @param[in,out] client_handle Client handle pointer + * + * @return None + */ +static void ds_client_close_call(dsClientHandleType *client_handle) { ds_client_session_data **ds_global_data = (ds_client_session_data **)client_handle; LOC_LOGD("%s:%d]:Enter\n", __func__, __LINE__); @@ -726,15 +783,53 @@ err: return; } -int ds_client_init() +/** + * @brief Initialize the DS client service + * + * This function is to be called as a first step by each process that + * needs to use data services. This call internally calls dsi_init() + * and prepares the module for making data calls. + * Needs to be called once for every process + * + * @return Operation result + * @retval E_DS_CLIENT_SUCCESS On success. + * @retval E_DS_CLIENT_FAILURE... On error. + */ +static ds_client_status_enum_type ds_client_init() { - int ret = 0; - LOC_LOGD("%s:%d]:Enter\n", __func__, __LINE__); - if(DSI_SUCCESS != dsi_init(DSI_MODE_GENERAL)) - { - LOC_LOGE("%s:%d]:dsi_init failed\n", __func__, __LINE__); - ret = -1; - } - LOC_LOGD("%s:%d]:Exit\n", __func__, __LINE__); - return ret; + ds_client_status_enum_type ret = E_DS_CLIENT_SUCCESS; + LOC_LOGD("%s:%d]:Enter", __func__, __LINE__); + if(DSI_SUCCESS != dsi_init(DSI_MODE_GENERAL)) + { + LOC_LOGE("%s:%d]:dsi_init failed", __func__, __LINE__); + ret = E_DS_CLIENT_FAILURE_GENERAL; + } + LOC_LOGD("%s:%d]:Exit", __func__, __LINE__); + return ret; } + +/** + * @brief DS client function interface table definition. + */ +static const ds_client_iface_type iface = +{ + .pfn_init = ds_client_init, + .pfn_open_call = ds_client_open_call, + .pfn_start_call = ds_client_start_call, + .pfn_stop_call = ds_client_stop_call, + .pfn_close_call = ds_client_close_call +}; + +/** + * @brief Function for accessing DS client functional interface + * + * @return Pointer to interface structure. + */ +const ds_client_iface_type *ds_client_get_interface() +{ + return &iface; +} + +/** + * @} + */ diff --git a/gps/loc_api/ds_api/ds_client.h b/gps/loc_api/ds_api/ds_client.h index 71ec770..7f5ab10 100644 --- a/gps/loc_api/ds_api/ds_client.h +++ b/gps/loc_api/ds_api/ds_client.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2013, 2015 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -33,6 +33,29 @@ extern "C" { #endif +/** + * @file + * @brief DS client API declaration. + * + * @ingroup loc_ds_api + */ + +/** + * @addtogroup loc_ds_api DS client support for location + * @{ + */ + +/** + * @brief Function name for DS client interface query. + * + * @sa ds_client_get_interface + */ +#define DS_CLIENT_GET_INTERFACE_FN "ds_client_get_interface" +/** + * @brief Library name for loading DS client + */ +#define DS_CLIENT_LIB_NAME "libloc_ds_api.so" + typedef void* dsClientHandleType; typedef enum @@ -87,58 +110,166 @@ typedef enum E_DS_CLIENT_DATA_CALL_DISCONNECTED = 16, E_DS_CLIENT_RETRY_LATER = 17 -}ds_client_status_enum_type; +} ds_client_status_enum_type; -typedef enum { - DATA_CALL_NONE = 0, - DATA_CALL_OPEN, - DATA_CALL_CLOSE -}data_call_request_enum_type; +/** + * @brief Callback function interface for handling DS service indications + * + * @param[in] result Operation result (error code). + * @param[in] cookie Client cookie provided when call is opened. + * + * @sa ds_client_cb_data + */ +typedef void ds_client_event_ind_cb_type +( + ds_client_status_enum_type result, + void* loc_adapter_cookie +); -typedef void (*ds_client_event_ind_cb_type)(ds_client_status_enum_type result, - void* loc_adapter_cookie); +/** + * @brief Client callback function table + * + * This structure contains callback functions provided by client of DS client + * API for delivering event notifications. + * + * @sa ds_client_open_call_type + */ typedef struct { - ds_client_event_ind_cb_type event_cb; -}ds_client_cb_data; - -/* - This function is to be called as a first step by each process that - needs to use data services. This call internally calls dsi_init() - and prepares the module for making data calls. - Needs to be called once for every process -*/ -int ds_client_init(); - -/* - Obtains a handle to the dsi_netctrl layer and looks up the profile - to make the call. As of now. It only searches for profiles that - support emergency calls - */ -ds_client_status_enum_type ds_client_open_call(dsClientHandleType *client_handle, - ds_client_cb_data *callback, - void *loc_adapter_cookie, - int *profile_index, - int *pdp_type); - -/* - Starts a data call using the profile number provided - */ -ds_client_status_enum_type ds_client_start_call(dsClientHandleType client_handle, - int profile_index, - int pdp_type); - -/* - Stops a data call associated with the handle -*/ -ds_client_status_enum_type ds_client_stop_call(dsClientHandleType client_handle); - -/* - Releases the handle used for making data calls -*/ -void ds_client_close_call(dsClientHandleType *client_handle); + ds_client_event_ind_cb_type *event_cb; +} ds_client_cb_data; + +/** + * @brief Initialize the DS client service + * + * This function is to be called as a first step by each process that + * needs to use data services. This call internally calls dsi_init() + * and prepares the module for making data calls. + * Needs to be called once for every process + * + * @return Operation result + * @retval E_DS_CLIENT_SUCCESS On success. + * @retval E_DS_CLIENT_FAILURE... On error. + */ +typedef ds_client_status_enum_type ds_client_init_type(); + +/** + * @brief Prepares for call. + * + * Obtains a handle to the dsi_netctrl layer and looks up the profile + * to make the call. As of now. It only searches for profiles that + * support emergency calls. + * + * Function to open an emergency call. Does the following things: + * - Obtains a handle to the WDS service + * - Obtains a list of profiles configured in the modem + * - Queries each profile and obtains settings to check if emergency calls + * are supported + * - Returns the profile index that supports emergency calls + * - Returns handle to dsi_netctrl + * + * @param[out] client_handle Client handle to initialize. + * @param[in] callback Pointer to callback function table. + * @param[in] cookie Client's cookie for using with callback calls. + * @param[out] profile_index Pointer to profile index number. + * @param[out] pdp_type Pointer to PDP type. + * + * @return Operation result + * @retval E_DS_CLIENT_SUCCESS On success. Output parameters are initialized. + * @retval E_DS_CLIENT_FAILURE... On error. + */ +typedef ds_client_status_enum_type ds_client_open_call_type +( + dsClientHandleType *client_handle, + const ds_client_cb_data *callback, + void *cookie, + int *profile_index, + int *pdp_type +); + +/** + * @brief Starts a data call using the profile number provided + * + * The function uses parameters provided from @a ds_client_open_call_type + * call result. + * + * @param[in] client_handle Client handle + * @param[in] profile_index Profile index + * @param[in] pdp_type PDP type + * + * @return Operation result + * @retval E_DS_CLIENT_SUCCESS On success. + * @retval E_DS_CLIENT_FAILURE... On error. + */ +typedef ds_client_status_enum_type ds_client_start_call_type +( + dsClientHandleType client_handle, + int profile_index, + int pdp_type +); + +/** + * @brief Stops a data call associated with the handle + * + * @param[in] client_handle Client handle + * + * @return Operation result + * @retval E_DS_CLIENT_SUCCESS On success. + * @retval E_DS_CLIENT_FAILURE... On error. + */ +typedef ds_client_status_enum_type ds_client_stop_call_type +( + dsClientHandleType client_handle +); + +/** + * @brief Releases the handle used for making data calls + * + * @param[in,out] client_handle Client handle pointer + * + * @return None + */ +typedef void ds_client_close_call_type +( + dsClientHandleType *client_handle +); + +/** + * @brief DS client functional interface table + * + * This table contains all supported DS client operations. If the operation + * is not supported, the corresponding entry is NULL. + * + * @sa ds_client_get_interface + */ +typedef struct +{ + ds_client_init_type *pfn_init; + ds_client_open_call_type *pfn_open_call; + ds_client_start_call_type *pfn_start_call; + ds_client_stop_call_type *pfn_stop_call; + ds_client_close_call_type *pfn_close_call; +} ds_client_iface_type; + +/** + * @brief Function for accessing DS client functional interface + * + * @return Pointer to interface structure. + */ +typedef const ds_client_iface_type *ds_client_get_iface_fn(); + +/** + * @brief Function for accessing DS client functional interface + * + * @return Pointer to interface structure. + */ +ds_client_get_iface_fn ds_client_get_interface; #ifdef __cplusplus } #endif -#endif +/** + * @} + */ + +#endif /* _DS_CLIENT_H_ */ diff --git a/gps/loc_api/loc_api_v02/Android.mk b/gps/loc_api/loc_api_v02/Android.mk index 9f5cef0..ade8e64 100644 --- a/gps/loc_api/loc_api_v02/Android.mk +++ b/gps/loc_api/loc_api_v02/Android.mk @@ -19,11 +19,10 @@ LOCAL_SHARED_LIBRARIES := \ libutils \ libcutils \ libqmi_cci \ - libqmi_csi \ libqmi_common_so \ libloc_core \ libgps.utils \ - libloc_ds_api + libdl LOCAL_SRC_FILES = \ LocApiV02.cpp \ diff --git a/gps/loc_api/loc_api_v02/LocApiV02.cpp b/gps/loc_api/loc_api_v02/LocApiV02.cpp index f658ec8..3a4d725 100644 --- a/gps/loc_api/loc_api_v02/LocApiV02.cpp +++ b/gps/loc_api/loc_api_v02/LocApiV02.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2015, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -33,6 +33,7 @@ #include #include #include +#include #include @@ -166,7 +167,9 @@ LocApiV02 :: LocApiV02(const MsgTask* msgTask, ContextBase* context): LocApiBase(msgTask, exMask, context), clientHandle(LOC_CLIENT_INVALID_HANDLE_VALUE), - dsClientHandle(NULL), mGnssMeasurementSupported(sup_unknown), + dsClientIface(NULL), + dsClientHandle(NULL), + mGnssMeasurementSupported(sup_unknown), mQmiMask(0), mInSession(false), mEngineOn(false) { // initialize loc_sync_req interface @@ -278,7 +281,8 @@ LocApiV02 :: open(LOC_API_ADAPTER_EVENT_MASK_T mask) loc_get_v02_client_status_name(status), loc_get_v02_qmi_status_name(queryAonConfigInd.status)); } else { - LOC_LOGD("%s:%d]: Query AON config succeeded.\n", __func__, __LINE__); + LOC_LOGD("%s:%d]: Query AON config succeeded. aonCapability is %d.\n", + __func__, __LINE__, queryAonConfigInd.aonCapability); if (queryAonConfigInd.aonCapability_valid) { if (queryAonConfigInd.aonCapability | QMI_LOC_MASK_AON_TIME_BASED_BATCHING_SUPPORTED_V02) { @@ -300,6 +304,13 @@ LocApiV02 :: open(LOC_API_ADAPTER_EVENT_MASK_T mask) QMI_LOC_MASK_AON_DISTANCE_BASED_TRACKING_SUPPORTED_V02) { LOC_LOGD("%s:%d]: DBT 2.0 is supported.\n", __func__, __LINE__); } + if (queryAonConfigInd.aonCapability | + QMI_LOC_MASK_AON_UPDATE_TBF_SUPPORTED_V02) { + LOC_LOGD("%s:%d]: Updating tracking TBF on the fly is supported.\n", + __func__, __LINE__); + supportedMsgList |= + (1 << LOC_API_ADAPTER_MESSAGE_UPDATE_TBF_ON_THE_FLY); + } } else { LOC_LOGE("%s:%d]: AON capability is invalid.\n", __func__, __LINE__); } @@ -1675,18 +1686,21 @@ locClientEventMaskType LocApiV02 :: convertMask( if (mask & LOC_API_ADAPTER_REPORT_SPI) eventMask |= QMI_LOC_EVENT_MASK_SET_SPI_STREAMING_REPORT_V02; - if (mask & LOC_API_ADAPTER_REPORT_NI_GEOFENCE) + if (mask & LOC_API_ADAPTER_BIT_REPORT_NI_GEOFENCE) eventMask |= QMI_LOC_EVENT_MASK_NI_GEOFENCE_NOTIFICATION_V02; - if (mask & LOC_API_ADAPTER_GEOFENCE_GEN_ALERT) + if (mask & LOC_API_ADAPTER_BIT_GEOFENCE_GEN_ALERT) eventMask |= QMI_LOC_EVENT_MASK_GEOFENCE_GEN_ALERT_V02; - if (mask & LOC_API_ADAPTER_REPORT_GENFENCE_BREACH) + if (mask & LOC_API_ADAPTER_BIT_REPORT_GENFENCE_BREACH) eventMask |= QMI_LOC_EVENT_MASK_GEOFENCE_BREACH_NOTIFICATION_V02; - if (mask & LOC_API_ADAPTER_BATCHED_GENFENCE_BREACH_REPORT) + if (mask & LOC_API_ADAPTER_BIT_BATCHED_GENFENCE_BREACH_REPORT) eventMask |= QMI_LOC_EVENT_MASK_GEOFENCE_BATCH_BREACH_NOTIFICATION_V02; + if (mask & LOC_API_ADAPTER_BIT_REPORT_GENFENCE_DWELL) + eventMask |= QMI_LOC_EVENT_MASK_GEOFENCE_BATCH_DWELL_NOTIFICATION_V02; + if (mask & LOC_API_ADAPTER_PEDOMETER_CTRL) eventMask |= QMI_LOC_EVENT_MASK_PEDOMETER_CONTROL_V02; @@ -2804,8 +2818,8 @@ void LocApiV02 :: errorCb(locClientHandleType handle, static void ds_client_global_event_cb(ds_client_status_enum_type result, void *loc_adapter_cookie) { - LocApiV02 *locApiV02Instance = - (LocApiV02 *)loc_adapter_cookie; + LocApiV02 *locApiV02Instance = (LocApiV02 *)loc_adapter_cookie; + locApiV02Instance->ds_client_event_cb(result); return; } @@ -2823,30 +2837,95 @@ void LocApiV02::ds_client_event_cb(ds_client_status_enum_type result) return; } -ds_client_cb_data ds_client_cb = { +static const ds_client_cb_data ds_client_cb = { ds_client_global_event_cb }; int LocApiV02 :: initDataServiceClient() { int ret=0; - ret = ds_client_init(); + if (NULL == dsLibraryHandle) + { + dsLibraryHandle = dlopen(DS_CLIENT_LIB_NAME, RTLD_NOW); + if (NULL == dsLibraryHandle) + { + const char * err = dlerror(); + if (NULL == err) + { + err = "Unknown"; + } + LOC_LOGE("%s:%d]: failed to load library %s; error=%s", + __func__, __LINE__, + DS_CLIENT_LIB_NAME, + err); + ret = 1; + } + if (NULL != dsLibraryHandle) + { + ds_client_get_iface_fn *getIface = NULL; + + getIface = (ds_client_get_iface_fn*)dlsym(dsLibraryHandle, + DS_CLIENT_GET_INTERFACE_FN); + if (NULL != getIface) + { + dsClientIface = getIface(); + } + else + { + const char * err = dlerror(); + if (NULL == err) + { + err = "Unknown"; + } + LOC_LOGE("%s:%d]: failed to find symbol %s; error=%s", + __func__, __LINE__, + DS_CLIENT_GET_INTERFACE_FN, + err); + } + } + } + if (NULL != dsClientIface && NULL != dsClientIface->pfn_init) + { + ds_client_status_enum_type dsret = dsClientIface->pfn_init(); + if (dsret != E_DS_CLIENT_SUCCESS) + { + LOC_LOGE("%s:%d]: Error during client initialization %d", + __func__, __LINE__, + (int)dsret); + + ret = 3; + } + } + else + { + ret = 2; + } LOC_LOGD("%s:%d]: ret = %d\n", __func__, __LINE__,ret); return ret; } int LocApiV02 :: openAndStartDataCall() { - enum loc_api_adapter_err ret; - int profile_index; - int pdp_type; - ds_client_status_enum_type result = ds_client_open_call(&dsClientHandle, - &ds_client_cb, - (void *)this, - &profile_index, - &pdp_type); - if(result == E_DS_CLIENT_SUCCESS) { - result = ds_client_start_call(dsClientHandle, profile_index, pdp_type); + loc_api_adapter_err ret = LOC_API_ADAPTER_ERR_GENERAL_FAILURE; + int profile_index = -1; + int pdp_type = -1; + ds_client_status_enum_type result = E_DS_CLIENT_FAILURE_NOT_INITIALIZED; + + if (NULL != dsClientIface && + NULL != dsClientIface->pfn_open_call && + NULL != dsClientIface->pfn_start_call) + { + result = dsClientIface->pfn_open_call(&dsClientHandle, + &ds_client_cb, + (void *)this, + &profile_index, + &pdp_type); + } + if (E_DS_CLIENT_SUCCESS == result) + { + result = dsClientIface->pfn_start_call(dsClientHandle, + profile_index, + pdp_type); if(result == E_DS_CLIENT_SUCCESS) { LOC_LOGD("%s:%d]: Request to start Emergency call sent\n", @@ -2875,27 +2954,42 @@ int LocApiV02 :: openAndStartDataCall() void LocApiV02 :: stopDataCall() { - ds_client_status_enum_type ret = - ds_client_stop_call(dsClientHandle); + ds_client_status_enum_type ret = E_DS_CLIENT_FAILURE_NOT_INITIALIZED; + + if (NULL != dsClientIface && + NULL != dsClientIface->pfn_stop_call) + { + ret = dsClientIface->pfn_stop_call(dsClientHandle); + } + if (ret == E_DS_CLIENT_SUCCESS) { - LOC_LOGD("%s:%d]: Request to Close SUPL ES call sent\n", __func__, __LINE__); + LOC_LOGD("%s:%d]: Request to Close SUPL ES call sent", + __func__, __LINE__); } else { if (ret == E_DS_CLIENT_FAILURE_INVALID_HANDLE) { LOC_LOGE("%s:%d]: Conn handle not found for SUPL ES", __func__, __LINE__); } - LOC_LOGE("%s:%d]: Could not close SUPL ES call. Ret: %d\n" - ,__func__, __LINE__, ret); + LOC_LOGE("%s:%d]: Could not close SUPL ES call. Ret: %d", + __func__, __LINE__, ret); } return; } void LocApiV02 :: closeDataCall() { - ds_client_close_call(&dsClientHandle); - LOC_LOGD("%s:%d]: Release data client handle\n", __func__, __LINE__); - return; + int ret = 1; + + if (NULL != dsClientIface && + NULL != dsClientIface->pfn_close_call) + { + dsClientIface->pfn_close_call(&dsClientHandle); + ret = 0; + } + + LOC_LOGD("%s:%d]: Release data client handle; ret=%d", + __func__, __LINE__, ret); } enum loc_api_adapter_err LocApiV02 :: diff --git a/gps/loc_api/loc_api_v02/LocApiV02.h b/gps/loc_api/loc_api_v02/LocApiV02.h index ff43e6a..36efb90 100644 --- a/gps/loc_api/loc_api_v02/LocApiV02.h +++ b/gps/loc_api/loc_api_v02/LocApiV02.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2015, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -31,7 +31,7 @@ #include #include -#include "ds_client.h" +#include #include #include @@ -53,7 +53,11 @@ protected: locClientHandleType clientHandle; private: - /*ds client handle*/ + /* ds client library handle */ + void *dsLibraryHandle; + /* ds client interface */ + const ds_client_iface_type *dsClientIface; + /* ds client handle */ dsClientHandleType dsClientHandle; enum supported_status mGnssMeasurementSupported; locClientEventMaskType mQmiMask; diff --git a/gps/loc_api/loc_api_v02/loc_api_sync_req.c b/gps/loc_api/loc_api_v02/loc_api_sync_req.c index 6a08666..7ae5a96 100644 --- a/gps/loc_api/loc_api_v02/loc_api_sync_req.c +++ b/gps/loc_api/loc_api_v02/loc_api_sync_req.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2012, 2015, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -197,7 +197,7 @@ void loc_sync_process_ind( if(true == locClientGetSizeByRespIndId(ind_id, &payload_size) && NULL != slot->recv_ind_payload_ptr && NULL != ind_payload_ptr) { - LOC_LOGV("%s:%d]: copying ind payload size = %u \n", + LOC_LOGV("%s:%d]: copying ind payload size = %zu \n", __func__, __LINE__, payload_size); memcpy(slot->recv_ind_payload_ptr, ind_payload_ptr, payload_size); diff --git a/gps/loc_api/loc_api_v02/loc_api_v02_client.c b/gps/loc_api/loc_api_v02/loc_api_v02_client.c index e265939..58032dc 100644 --- a/gps/loc_api/loc_api_v02/loc_api_v02_client.c +++ b/gps/loc_api/loc_api_v02/loc_api_v02_client.c @@ -31,7 +31,7 @@ #include #include -#include +#include #include "qmi_client.h" #include "qmi_idl_lib.h" @@ -95,7 +95,7 @@ typedef struct }locClientEventIndTableStructT; -static locClientEventIndTableStructT locClientEventIndTable[]= { +static const locClientEventIndTableStructT locClientEventIndTable[]= { // position report ind { QMI_LOC_EVENT_POSITION_REPORT_IND_V02, @@ -253,7 +253,20 @@ static locClientEventIndTableStructT locClientEventIndTable[]= { // Batching Status event { QMI_LOC_EVENT_BATCHING_STATUS_IND_V02, sizeof(qmiLocEventBatchingStatusIndMsgT_v02), - QMI_LOC_EVENT_MASK_BATCHING_STATUS_V02} + QMI_LOC_EVENT_MASK_BATCHING_STATUS_V02}, + + // TDP download + { QMI_LOC_EVENT_GDT_DOWNLOAD_BEGIN_REQ_IND_V02, + sizeof(qmiLocEventGdtDownloadBeginReqIndMsgT_v02), + 0}, + + { QMI_LOC_EVENT_GDT_RECEIVE_DONE_IND_V02, + sizeof(qmiLocEventGdtReceiveDoneIndMsgT_v02), + 0}, + + { QMI_LOC_EVENT_GDT_DOWNLOAD_END_REQ_IND_V02, + sizeof(qmiLocEventGdtDownloadEndReqIndMsgT_v02), + 0} }; /* table to relate the respInd Id with its size */ @@ -263,7 +276,7 @@ typedef struct size_t respIndSize; }locClientRespIndTableStructT; -static locClientRespIndTableStructT locClientRespIndTable[]= { +static const locClientRespIndTableStructT locClientRespIndTable[]= { // get service revision ind { QMI_LOC_GET_SERVICE_REVISION_IND_V02, @@ -581,7 +594,25 @@ static locClientRespIndTableStructT locClientRespIndTable[]= { sizeof(qmiLocInjectTimeZoneInfoIndMsgT_v02)}, { QMI_LOC_QUERY_AON_CONFIG_IND_V02, - sizeof(qmiLocQueryAonConfigIndMsgT_v02)} + sizeof(qmiLocQueryAonConfigIndMsgT_v02)}, + + // for GTP + { QMI_LOC_GTP_AP_STATUS_IND_V02, + sizeof(qmiLocGtpApStatusIndMsgT_v02) }, + + // for GDT + { QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_IND_V02, + sizeof(qmiLocGdtDownloadBeginStatusIndMsgT_v02) }, + + { QMI_LOC_GDT_DOWNLOAD_READY_STATUS_IND_V02, + sizeof(qmiLocGdtDownloadReadyStatusIndMsgT_v02) }, + + { QMI_LOC_GDT_RECEIVE_DONE_STATUS_IND_V02, + sizeof(qmiLocGdtReceiveDoneStatusIndMsgT_v02) }, + + { QMI_LOC_GDT_DOWNLOAD_END_STATUS_IND_V02, + sizeof(qmiLocGdtDownloadEndStatusIndMsgT_v02) } + }; @@ -663,7 +694,7 @@ static bool locClientGetSizeAndTypeByIndId (uint32_t indId, size_t *pIndSize, QMI_LOC service. */ static void checkQmiMsgsSupported( - uint32_t* reqIdArray, + const uint32_t* reqIdArray, int reqIdArrayLength, qmiLocGetSupportMsgT_v02 *pResponse, uint64_t* supportedMsg) @@ -1448,6 +1479,36 @@ static bool validateRequest( break; } + case QMI_LOC_GTP_AP_STATUS_REQ_V02: + { + *pOutLen = sizeof(qmiLocGtpApStatusReqMsgT_v02); + break; + } + + case QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_REQ_V02: + { + *pOutLen = sizeof(qmiLocGdtDownloadBeginStatusReqMsgT_v02); + break; + } + + case QMI_LOC_GDT_DOWNLOAD_READY_STATUS_REQ_V02: + { + *pOutLen = sizeof(qmiLocGdtDownloadReadyStatusReqMsgT_v02); + break; + } + + case QMI_LOC_GDT_RECEIVE_DONE_STATUS_REQ_V02: + { + *pOutLen = sizeof(qmiLocGdtReceiveDoneStatusReqMsgT_v02); + break; + } + + case QMI_LOC_GDT_DOWNLOAD_END_STATUS_REQ_V02: + { + *pOutLen = sizeof(qmiLocGdtDownloadEndStatusReqMsgT_v02); + break; + } + // ALL requests with no payload case QMI_LOC_GET_SERVICE_REVISION_REQ_V02: case QMI_LOC_GET_FIX_CRITERIA_REQ_V02: @@ -2034,9 +2095,16 @@ locClientStatusEnumType locClientSupportMsgCheck( */ static uint64_t supportedMsgChecked = 0; + // Validate input arguments + if(msgArray == NULL || supportedMsg == NULL) { + + LOC_LOGE("%s:%d]: Input argument/s NULL", __func__, __LINE__); + return eLOC_CLIENT_FAILURE_INVALID_PARAMETER; + } + if (isCheckedAlready) { // already checked modem - LOC_LOGV("%s:%d]: Already checked. The supportedMsgChecked is %lld\n", + LOC_LOGV("%s:%d]: Already checked. The supportedMsgChecked is %" PRId64 "\n", __func__, __LINE__, supportedMsgChecked); *supportedMsg = supportedMsgChecked; return eLOC_CLIENT_SUCCESS; @@ -2096,7 +2164,7 @@ locClientStatusEnumType locClientSupportMsgCheck( // check every message listed in msgArray supported by modem or not checkQmiMsgsSupported(msgArray, msgArrayLength, &resp, &supportedMsgChecked); - LOC_LOGV("%s:%d]: supportedMsgChecked is %lld\n", + LOC_LOGV("%s:%d]: supportedMsgChecked is %" PRId64 "\n", __func__, __LINE__, supportedMsgChecked); *supportedMsg = supportedMsgChecked; isCheckedAlready = true; @@ -2120,6 +2188,14 @@ locClientStatusEnumType locClientSupportMsgCheck( bool locClientGetSizeByRespIndId(uint32_t respIndId, size_t *pRespIndSize) { size_t idx = 0, respIndTableSize = 0; + + // Validate input arguments + if(pRespIndSize == NULL) + { + LOC_LOGE("%s:%d]: size argument NULL !"); + return false; + } + respIndTableSize = (sizeof(locClientRespIndTable)/sizeof(locClientRespIndTableStructT)); for(idx=0; idx #include -static loc_name_val_s_type loc_v02_event_name[] = +static const loc_name_val_s_type loc_v02_event_name[] = { NAME_VAL(QMI_LOC_INFORM_CLIENT_REVISION_REQ_V02), NAME_VAL(QMI_LOC_INFORM_CLIENT_REVISION_RESP_V02), @@ -320,16 +320,34 @@ static loc_name_val_s_type loc_v02_event_name[] = NAME_VAL(QMI_LOC_EVENT_BATCHING_STATUS_IND_V02), NAME_VAL(QMI_LOC_QUERY_AON_CONFIG_REQ_V02), NAME_VAL(QMI_LOC_QUERY_AON_CONFIG_RESP_V02), - NAME_VAL(QMI_LOC_QUERY_AON_CONFIG_IND_V02) + NAME_VAL(QMI_LOC_QUERY_AON_CONFIG_IND_V02), + NAME_VAL(QMI_LOC_GTP_AP_STATUS_REQ_V02), + NAME_VAL(QMI_LOC_GTP_AP_STATUS_RESP_V02), + NAME_VAL(QMI_LOC_GTP_AP_STATUS_IND_V02), + NAME_VAL(QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_REQ_V02), + NAME_VAL(QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_RESP_V02), + NAME_VAL(QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_IND_V02), + NAME_VAL(QMI_LOC_GDT_DOWNLOAD_READY_STATUS_REQ_V02), + NAME_VAL(QMI_LOC_GDT_DOWNLOAD_READY_STATUS_RESP_V02), + NAME_VAL(QMI_LOC_GDT_DOWNLOAD_READY_STATUS_IND_V02), + NAME_VAL(QMI_LOC_GDT_RECEIVE_DONE_STATUS_REQ_V02), + NAME_VAL(QMI_LOC_GDT_RECEIVE_DONE_STATUS_RESP_V02), + NAME_VAL(QMI_LOC_GDT_RECEIVE_DONE_STATUS_IND_V02), + NAME_VAL(QMI_LOC_GDT_DOWNLOAD_END_STATUS_REQ_V02), + NAME_VAL(QMI_LOC_GDT_DOWNLOAD_END_STATUS_RESP_V02), + NAME_VAL(QMI_LOC_GDT_DOWNLOAD_END_STATUS_IND_V02), + NAME_VAL(QMI_LOC_EVENT_GDT_DOWNLOAD_BEGIN_REQ_IND_V02), + NAME_VAL(QMI_LOC_EVENT_GDT_RECEIVE_DONE_IND_V02), + NAME_VAL(QMI_LOC_EVENT_GDT_DOWNLOAD_END_REQ_IND_V02) }; -static int loc_v02_event_num = sizeof(loc_v02_event_name) / sizeof(loc_name_val_s_type); +static const int loc_v02_event_num = sizeof(loc_v02_event_name) / sizeof(loc_name_val_s_type); const char* loc_get_v02_event_name(uint32_t event) { return loc_get_name_from_val(loc_v02_event_name, loc_v02_event_num, (long) event); } -static loc_name_val_s_type loc_v02_client_status_name[] = +static const loc_name_val_s_type loc_v02_client_status_name[] = { NAME_VAL(eLOC_CLIENT_SUCCESS), NAME_VAL(eLOC_CLIENT_FAILURE_GENERAL), @@ -346,7 +364,7 @@ static loc_name_val_s_type loc_v02_client_status_name[] = NAME_VAL(eLOC_CLIENT_FAILURE_NOT_INITIALIZED), NAME_VAL(eLOC_CLIENT_FAILURE_NOT_ENOUGH_MEMORY), }; -static int loc_v02_client_status_num = sizeof(loc_v02_client_status_name) / sizeof(loc_name_val_s_type); +static const int loc_v02_client_status_num = sizeof(loc_v02_client_status_name) / sizeof(loc_name_val_s_type); const char* loc_get_v02_client_status_name(locClientStatusEnumType status) { @@ -354,7 +372,7 @@ const char* loc_get_v02_client_status_name(locClientStatusEnumType status) } -static loc_name_val_s_type loc_v02_qmi_status_name[] = +static const loc_name_val_s_type loc_v02_qmi_status_name[] = { NAME_VAL(eQMI_LOC_SUCCESS_V02), NAME_VAL(eQMI_LOC_GENERAL_FAILURE_V02), @@ -366,7 +384,7 @@ static loc_name_val_s_type loc_v02_qmi_status_name[] = NAME_VAL(eQMI_LOC_CONFIG_NOT_SUPPORTED_V02), NAME_VAL(eQMI_LOC_INSUFFICIENT_MEMORY_V02), }; -static int loc_v02_qmi_status_num = sizeof(loc_v02_qmi_status_name) / sizeof(loc_name_val_s_type); +static const int loc_v02_qmi_status_num = sizeof(loc_v02_qmi_status_name) / sizeof(loc_name_val_s_type); const char* loc_get_v02_qmi_status_name(qmiLocStatusEnumT_v02 status) { diff --git a/gps/loc_api/loc_api_v02/location_service_v02.c b/gps/loc_api/loc_api_v02/location_service_v02.c index 95526a4..7e0c987 100644 --- a/gps/loc_api/loc_api_v02/location_service_v02.c +++ b/gps/loc_api/loc_api_v02/location_service_v02.c @@ -29,8 +29,8 @@ *THIS IS AN AUTO GENERATED FILE. DO NOT ALTER IN ANY WAY *====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/ -/* This file was generated with Tool version 6.14.5 - It was generated on: Thu Jul 2 2015 (Spin 0) +/* This file was generated with Tool version 6.14.7 + It was generated on: Tue Dec 1 2015 (Spin 0) From IDL File: location_service_v02.idl */ #include "stdint.h" @@ -506,6 +506,16 @@ static const uint8_t qmiLocDeleteBDSSvInfoStructT_data_v02[] = { QMI_IDL_FLAG_END_VALUE }; +static const uint8_t qmiLocDeleteGALSvInfoStructT_data_v02[] = { + QMI_IDL_GENERIC_2_BYTE, + QMI_IDL_OFFSET8(qmiLocDeleteGALSvInfoStructT_v02, gnssSvId), + + QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET8(qmiLocDeleteGALSvInfoStructT_v02, deleteSvInfoMask), + + QMI_IDL_FLAG_END_VALUE +}; + static const uint8_t qmiLocWifiFixTimeStructT_data_v02[] = { QMI_IDL_GENERIC_4_BYTE, QMI_IDL_OFFSET8(qmiLocWifiFixTimeStructT_v02, wifiPositionTime), @@ -584,7 +594,7 @@ static const uint8_t qmiLoc3AxisSensorSampleListStructT_data_v02[] = { QMI_IDL_OFFSET8(qmiLoc3AxisSensorSampleListStructT_v02, sensorData), QMI_LOC_SENSOR_DATA_MAX_SAMPLES_V02, QMI_IDL_OFFSET8(qmiLoc3AxisSensorSampleListStructT_v02, sensorData) - QMI_IDL_OFFSET8(qmiLoc3AxisSensorSampleListStructT_v02, sensorData_len), - QMI_IDL_TYPE88(0, 33), + QMI_IDL_TYPE88(0, 34), QMI_IDL_FLAG_END_VALUE }; @@ -609,7 +619,7 @@ static const uint8_t qmiLocSensorTemperatureSampleListStructT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocSensorTemperatureSampleListStructT_v02, temperatureData), QMI_LOC_SENSOR_DATA_MAX_SAMPLES_V02, QMI_IDL_OFFSET8(qmiLocSensorTemperatureSampleListStructT_v02, temperatureData) - QMI_IDL_OFFSET8(qmiLocSensorTemperatureSampleListStructT_v02, temperatureData_len), - QMI_IDL_TYPE88(0, 35), + QMI_IDL_TYPE88(0, 36), QMI_IDL_FLAG_END_VALUE }; @@ -647,6 +657,16 @@ static const uint8_t qmiLocGeofenceMotionStateConfigStructT_data_v02[] = { QMI_IDL_FLAG_END_VALUE }; +static const uint8_t qmiLocTimeZoneStructT_data_v02[] = { + QMI_IDL_GENERIC_8_BYTE, + QMI_IDL_OFFSET8(qmiLocTimeZoneStructT_v02, dstOffset), + + QMI_IDL_GENERIC_8_BYTE, + QMI_IDL_OFFSET8(qmiLocTimeZoneStructT_v02, rawOffset), + + QMI_IDL_FLAG_END_VALUE +}; + static const uint8_t qmiLocMotionDataStructT_data_v02[] = { QMI_IDL_GENERIC_4_BYTE, QMI_IDL_OFFSET8(qmiLocMotionDataStructT_v02, motion_state), @@ -836,7 +856,7 @@ static const uint8_t qmiLocVehicleSensorSampleListStructType_data_v02[] = { QMI_IDL_OFFSET8(qmiLocVehicleSensorSampleListStructType_v02, sensorData), QMI_LOC_VEHICLE_SENSOR_DATA_MAX_SAMPLES_V02, QMI_IDL_OFFSET8(qmiLocVehicleSensorSampleListStructType_v02, sensorData) - QMI_IDL_OFFSET8(qmiLocVehicleSensorSampleListStructType_v02, sensorData_len), - QMI_IDL_TYPE88(0, 46), + QMI_IDL_TYPE88(0, 48), QMI_IDL_FLAG_END_VALUE }; @@ -869,7 +889,7 @@ static const uint8_t qmiLocVehicleOdometrySampleListStructT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocVehicleOdometrySampleListStructT_v02, odometryData), QMI_LOC_VEHICLE_SENSOR_DATA_MAX_SAMPLES_V02, QMI_IDL_OFFSET8(qmiLocVehicleOdometrySampleListStructT_v02, odometryData) - QMI_IDL_OFFSET8(qmiLocVehicleOdometrySampleListStructT_v02, odometryData_len), - QMI_IDL_TYPE88(0, 48), + QMI_IDL_TYPE88(0, 50), QMI_IDL_FLAG_END_VALUE }; @@ -1024,7 +1044,7 @@ static const uint8_t qmiLocSVMeasurementStructT_data_v02[] = { QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocSVMeasurementStructT_v02, svTimeSpeed), - QMI_IDL_TYPE88(0, 56), + QMI_IDL_TYPE88(0, 58), QMI_IDL_GENERIC_1_BYTE, QMI_IDL_OFFSET8(qmiLocSVMeasurementStructT_v02, lossOfLock), @@ -1074,6 +1094,19 @@ static const uint8_t qmiLocIBeaconIdStructT_data_v02[] = { QMI_IDL_FLAG_END_VALUE }; +static const uint8_t qmiLocGtpAsnVerStructT_data_v02[] = { + QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET8(qmiLocGtpAsnVerStructT_v02, asnMajorVersion), + + QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET8(qmiLocGtpAsnVerStructT_v02, asnMinorVersion), + + QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET8(qmiLocGtpAsnVerStructT_v02, asnPointVersion), + + QMI_IDL_FLAG_END_VALUE +}; + static const uint8_t qmiLocDbtPositionStructT_data_v02[] = { QMI_IDL_GENERIC_8_BYTE, QMI_IDL_OFFSET8(qmiLocDbtPositionStructT_v02, timestampUtc), @@ -1126,26 +1159,6 @@ static const uint8_t qmiLocDbtPositionStructT_data_v02[] = { QMI_IDL_FLAG_END_VALUE }; -static const uint8_t qmiLocDeleteGALSvInfoStructT_data_v02[] = { - QMI_IDL_GENERIC_2_BYTE, - QMI_IDL_OFFSET8(qmiLocDeleteGALSvInfoStructT_v02, gnssSvId), - - QMI_IDL_GENERIC_1_BYTE, - QMI_IDL_OFFSET8(qmiLocDeleteGALSvInfoStructT_v02, deleteSvInfoMask), - - QMI_IDL_FLAG_END_VALUE -}; - -static const uint8_t qmiLocTimeZoneStructT_data_v02[] = { - QMI_IDL_GENERIC_8_BYTE, - QMI_IDL_OFFSET8(qmiLocTimeZoneStructT_v02, dstOffset), - - QMI_IDL_GENERIC_8_BYTE, - QMI_IDL_OFFSET8(qmiLocTimeZoneStructT_v02, rawOffset), - - QMI_IDL_FLAG_END_VALUE -}; - static const uint8_t qmiLocApCacheStructT_data_v02[] = { QMI_IDL_GENERIC_8_BYTE, QMI_IDL_OFFSET8(qmiLocApCacheStructT_v02, macAddress), @@ -1169,6 +1182,16 @@ static const uint8_t qmiLocApDoNotCacheStructT_data_v02[] = { QMI_IDL_FLAG_END_VALUE }; +static const uint8_t qmiLocDeleteSatelliteDataStructT_data_v02[] = { + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocDeleteSatelliteDataStructT_v02, system), + + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocDeleteSatelliteDataStructT_v02, deleteSatelliteDataMask), + + QMI_IDL_FLAG_END_VALUE +}; + /*Message Definitions*/ static const uint8_t qmiLocGenRespMsgT_data_v02[] = { QMI_IDL_TLV_FLAGS_LAST_TLV | 0x02, @@ -1225,10 +1248,15 @@ static const uint8_t qmiLocStartReqMsgT_data_v02[] = { QMI_IDL_GENERIC_4_BYTE, QMI_IDL_OFFSET8(qmiLocStartReqMsgT_v02, configAltitudeAssumed), - QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocStartReqMsgT_v02, minIntermediatePositionReportInterval) - QMI_IDL_OFFSET8(qmiLocStartReqMsgT_v02, minIntermediatePositionReportInterval_valid)), + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocStartReqMsgT_v02, minIntermediatePositionReportInterval) - QMI_IDL_OFFSET8(qmiLocStartReqMsgT_v02, minIntermediatePositionReportInterval_valid)), 0x16, QMI_IDL_GENERIC_4_BYTE, - QMI_IDL_OFFSET8(qmiLocStartReqMsgT_v02, minIntermediatePositionReportInterval) + QMI_IDL_OFFSET8(qmiLocStartReqMsgT_v02, minIntermediatePositionReportInterval), + + QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocStartReqMsgT_v02, positionReportTimeout) - QMI_IDL_OFFSET8(qmiLocStartReqMsgT_v02, positionReportTimeout_valid)), + 0x17, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocStartReqMsgT_v02, positionReportTimeout) }; static const uint8_t qmiLocStopReqMsgT_data_v02[] = { @@ -1740,6 +1768,71 @@ static const uint8_t qmiLocEventGeofenceProximityIndMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocEventGeofenceProximityIndMsgT_v02, contextId) }; +static const uint8_t qmiLocEventGeofenceBatchedDwellIndMsgT_data_v02[] = { + 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, dwellType), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdContinuousList) - QMI_IDL_OFFSET8(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdContinuousList_valid)), + 0x10, + QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_AGGREGATE, + QMI_IDL_OFFSET8(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdContinuousList), + QMI_LOC_MAX_GEOFENCE_ID_CONTINUOUS_LIST_LENGTH_V02, + QMI_IDL_OFFSET8(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdContinuousList) - QMI_IDL_OFFSET8(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdContinuousList_len), + QMI_IDL_TYPE88(0, 24), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdDiscreteList) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdDiscreteList_valid)), + 0x11, + QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdDiscreteList), + QMI_LOC_MAX_GEOFENCE_ID_DISCRETE_LIST_LENGTH_V02, + QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdDiscreteList) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdDiscreteList_len), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofencePosition) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofencePosition_valid)), + 0x12, + QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofencePosition), + QMI_IDL_TYPE88(0, 23), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, headingUnc) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, headingUnc_valid)), + 0x13, + QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, headingUnc), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, vertUnc) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, vertUnc_valid)), + 0x14, + QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, vertUnc), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, speedUnc) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, speedUnc_valid)), + 0x15, + QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, speedUnc), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, horConfidence) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, horConfidence_valid)), + 0x16, + QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, horConfidence), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, vertConfidence) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, vertConfidence_valid)), + 0x17, + QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, vertConfidence), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, DOP) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, DOP_valid)), + 0x18, + QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, DOP), + QMI_IDL_TYPE88(0, 2), + + QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, gnssSvUsedList) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, gnssSvUsedList_valid)), + 0x19, + QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_2_BYTE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, gnssSvUsedList), + QMI_LOC_MAX_SV_USED_LIST_LENGTH_V02, + QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, gnssSvUsedList) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, gnssSvUsedList_len) +}; + static const uint8_t qmiLocEventGdtUploadBeginStatusReqIndMsgT_data_v02[] = { 0x01, QMI_IDL_GENERIC_4_BYTE, @@ -1770,6 +1863,76 @@ static const uint8_t qmiLocEventGdtUploadEndReqIndMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocEventGdtUploadEndReqIndMsgT_v02, endStatus) }; +static const uint8_t qmiLocEventGdtDownloadBeginReqIndMsgT_data_v02[] = { + 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, serviceId), + + 0x02, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, sessionId), + + 0x03, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, respTimeoutInterval), + + 0x04, + QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_FLAGS_SZ_IS_16 | QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET8(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, clientInfo), + ((QMI_LOC_MAX_GTP_CL_INFO_LEN_V02) & 0xFF), ((QMI_LOC_MAX_GTP_CL_INFO_LEN_V02) >> 8), + QMI_IDL_OFFSET8(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, clientInfo) - QMI_IDL_OFFSET8(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, clientInfo_len), + + 0x05, + QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_FLAGS_SZ_IS_16 | QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, mobileStatusData), + ((QMI_LOC_MAX_GTP_MSD_LEN_V02) & 0xFF), ((QMI_LOC_MAX_GTP_MSD_LEN_V02) >> 8), + QMI_IDL_OFFSET16RELATIVE(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, mobileStatusData) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, mobileStatusData_len), + + 0x06, + QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, filePath), + QMI_LOC_MAX_GDT_PATH_LEN_V02, + QMI_IDL_OFFSET16RELATIVE(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, filePath) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, filePath_len), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, powerBudgetInfo) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, powerBudgetInfo_valid)), + 0x10, + QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, powerBudgetInfo), + + QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, powerBudgetAllowance) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, powerBudgetAllowance_valid)), + 0x11, + QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET16ARRAY(qmiLocEventGdtDownloadBeginReqIndMsgT_v02, powerBudgetAllowance) +}; + +static const uint8_t qmiLocEventGdtReceiveDoneIndMsgT_data_v02[] = { + 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocEventGdtReceiveDoneIndMsgT_v02, serviceId), + + 0x02, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocEventGdtReceiveDoneIndMsgT_v02, sessionId), + + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x03, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocEventGdtReceiveDoneIndMsgT_v02, status) +}; + +static const uint8_t qmiLocEventGdtDownloadEndReqIndMsgT_data_v02[] = { + 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocEventGdtDownloadEndReqIndMsgT_v02, serviceId), + + 0x02, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocEventGdtDownloadEndReqIndMsgT_v02, sessionId), + + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x03, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocEventGdtDownloadEndReqIndMsgT_v02, status) +}; + /* * qmiLocGetServiceRevisionReqMsgT is empty * static const uint8_t qmiLocGetServiceRevisionReqMsgT_data_v02[] = { @@ -2299,7 +2462,7 @@ static const uint8_t qmiLocDeleteAssistDataReqMsgT_data_v02[] = { QMI_IDL_OFFSET16ARRAY(qmiLocDeleteAssistDataReqMsgT_v02, deleteGalSvInfoList), QMI_LOC_DELETE_MAX_GAL_SV_INFO_LENGTH_V02, QMI_IDL_OFFSET16RELATIVE(qmiLocDeleteAssistDataReqMsgT_v02, deleteGalSvInfoList) - QMI_IDL_OFFSET16RELATIVE(qmiLocDeleteAssistDataReqMsgT_v02, deleteGalSvInfoList_len), - QMI_IDL_TYPE88(0, 61) + QMI_IDL_TYPE88(0, 29) }; static const uint8_t qmiLocDeleteAssistDataIndMsgT_data_v02[] = { @@ -2342,13 +2505,13 @@ static const uint8_t qmiLocInjectWifiPositionReqMsgT_data_v02[] = { 0x10, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocInjectWifiPositionReqMsgT_v02, wifiFixTime), - QMI_IDL_TYPE88(0, 29), + QMI_IDL_TYPE88(0, 30), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectWifiPositionReqMsgT_v02, wifiFixPosition) - QMI_IDL_OFFSET8(qmiLocInjectWifiPositionReqMsgT_v02, wifiFixPosition_valid)), 0x11, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocInjectWifiPositionReqMsgT_v02, wifiFixPosition), - QMI_IDL_TYPE88(0, 30), + QMI_IDL_TYPE88(0, 31), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectWifiPositionReqMsgT_v02, apInfo) - QMI_IDL_OFFSET8(qmiLocInjectWifiPositionReqMsgT_v02, apInfo_valid)), 0x12, @@ -2356,7 +2519,7 @@ static const uint8_t qmiLocInjectWifiPositionReqMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocInjectWifiPositionReqMsgT_v02, apInfo), QMI_LOC_WIFI_MAX_REPORTED_APS_PER_MSG_V02, QMI_IDL_OFFSET8(qmiLocInjectWifiPositionReqMsgT_v02, apInfo) - QMI_IDL_OFFSET8(qmiLocInjectWifiPositionReqMsgT_v02, apInfo_len), - QMI_IDL_TYPE88(0, 31), + QMI_IDL_TYPE88(0, 32), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectWifiPositionReqMsgT_v02, horizontalReliability) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectWifiPositionReqMsgT_v02, horizontalReliability_valid)), 0x13, @@ -2374,7 +2537,7 @@ static const uint8_t qmiLocInjectWifiPositionReqMsgT_data_v02[] = { QMI_IDL_OFFSET16ARRAY(qmiLocInjectWifiPositionReqMsgT_v02, wifiApSsidInfo), QMI_LOC_WIFI_MAX_REPORTED_APS_PER_MSG_V02, QMI_IDL_OFFSET16RELATIVE(qmiLocInjectWifiPositionReqMsgT_v02, wifiApSsidInfo) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectWifiPositionReqMsgT_v02, wifiApSsidInfo_len), - QMI_IDL_TYPE88(0, 32) + QMI_IDL_TYPE88(0, 33) }; static const uint8_t qmiLocInjectWifiPositionIndMsgT_data_v02[] = { @@ -2413,9 +2576,14 @@ static const uint8_t qmiLocGetRegisteredEventsIndMsgT_data_v02[] = { }; static const uint8_t qmiLocSetOperationModeReqMsgT_data_v02[] = { - QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, + 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocSetOperationModeReqMsgT_v02, operationMode), + + QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocSetOperationModeReqMsgT_v02, minInterval) - QMI_IDL_OFFSET8(qmiLocSetOperationModeReqMsgT_v02, minInterval_valid)), + 0x10, QMI_IDL_GENERIC_4_BYTE, - QMI_IDL_OFFSET8(qmiLocSetOperationModeReqMsgT_v02, operationMode) + QMI_IDL_OFFSET8(qmiLocSetOperationModeReqMsgT_v02, minInterval) }; static const uint8_t qmiLocSetOperationModeIndMsgT_data_v02[] = { @@ -2468,13 +2636,13 @@ static const uint8_t qmiLocInjectSensorDataReqMsgT_data_v02[] = { 0x11, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocInjectSensorDataReqMsgT_v02, threeAxisAccelData), - QMI_IDL_TYPE88(0, 34), + QMI_IDL_TYPE88(0, 35), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisGyroData) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisGyroData_valid)), 0x12, QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE, QMI_IDL_OFFSET16ARRAY(qmiLocInjectSensorDataReqMsgT_v02, threeAxisGyroData), - QMI_IDL_TYPE88(0, 34), + QMI_IDL_TYPE88(0, 35), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisAccelDataTimeSource) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisAccelDataTimeSource_valid)), 0x13, @@ -2490,19 +2658,19 @@ static const uint8_t qmiLocInjectSensorDataReqMsgT_data_v02[] = { 0x15, QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE, QMI_IDL_OFFSET16ARRAY(qmiLocInjectSensorDataReqMsgT_v02, accelTemperatureData), - QMI_IDL_TYPE88(0, 36), + QMI_IDL_TYPE88(0, 37), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, gyroTemperatureData) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, gyroTemperatureData_valid)), 0x16, QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE, QMI_IDL_OFFSET16ARRAY(qmiLocInjectSensorDataReqMsgT_v02, gyroTemperatureData), - QMI_IDL_TYPE88(0, 36), + QMI_IDL_TYPE88(0, 37), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisMagData) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisMagData_valid)), 0x17, QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE, QMI_IDL_OFFSET16ARRAY(qmiLocInjectSensorDataReqMsgT_v02, threeAxisMagData), - QMI_IDL_TYPE88(0, 34), + QMI_IDL_TYPE88(0, 35), QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisMagDataTimeSource) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisMagDataTimeSource_valid)), 0x18, @@ -2651,7 +2819,7 @@ static const uint8_t qmiLocInformLocationServerConnStatusReqMsgT_data_v02[] = { 0x10, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocInformLocationServerConnStatusReqMsgT_v02, apnProfile), - QMI_IDL_TYPE88(0, 37) + QMI_IDL_TYPE88(0, 38) }; static const uint8_t qmiLocInformLocationServerConnStatusIndMsgT_data_v02[] = { @@ -3157,7 +3325,7 @@ static const uint8_t qmiLocAddCircularGeofenceReqMsgT_data_v02[] = { 0x02, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocAddCircularGeofenceReqMsgT_v02, circularGeofenceArgs), - QMI_IDL_TYPE88(0, 38), + QMI_IDL_TYPE88(0, 39), 0x03, QMI_IDL_GENERIC_1_BYTE, @@ -3274,7 +3442,7 @@ static const uint8_t qmiLocQueryGeofenceIndMsgT_data_v02[] = { 0x14, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocQueryGeofenceIndMsgT_v02, circularGeofenceArgs), - QMI_IDL_TYPE88(0, 38), + QMI_IDL_TYPE88(0, 39), QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocQueryGeofenceIndMsgT_v02, geofenceState) - QMI_IDL_OFFSET8(qmiLocQueryGeofenceIndMsgT_v02, geofenceState_valid)), 0x15, @@ -3333,7 +3501,7 @@ static const uint8_t qmiLocSetGeofenceEngineConfigReqMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocSetGeofenceEngineConfigReqMsgT_v02, motionStateInfo), QMI_LOC_GEOFENCE_MAX_MOTION_STATES_V02, QMI_IDL_OFFSET8(qmiLocSetGeofenceEngineConfigReqMsgT_v02, motionStateInfo) - QMI_IDL_OFFSET8(qmiLocSetGeofenceEngineConfigReqMsgT_v02, motionStateInfo_len), - QMI_IDL_TYPE88(0, 39) + QMI_IDL_TYPE88(0, 40) }; static const uint8_t qmiLocSetGeofenceEngineConfigIndMsgT_data_v02[] = { @@ -3430,6 +3598,29 @@ static const uint8_t qmiLocEditGeofenceIndMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocEditGeofenceIndMsgT_v02, failedParams) }; +static const uint8_t qmiLocEventGetTimeZoneReqIndMsgT_data_v02[] = { + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocEventGetTimeZoneReqIndMsgT_v02, status) +}; + +static const uint8_t qmiLocInjectTimeZoneInfoReqMsgT_data_v02[] = { + 0x01, + QMI_IDL_GENERIC_8_BYTE, + QMI_IDL_OFFSET8(qmiLocInjectTimeZoneInfoReqMsgT_v02, timeUtc), + + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x02, + QMI_IDL_AGGREGATE, + QMI_IDL_OFFSET8(qmiLocInjectTimeZoneInfoReqMsgT_v02, timeZone), + QMI_IDL_TYPE88(0, 41) +}; + +static const uint8_t qmiLocInjectTimeZoneInfoIndMsgT_data_v02[] = { + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocInjectTimeZoneInfoIndMsgT_v02, status) +}; + static const uint8_t qmiLocGetBestAvailablePositionReqMsgT_data_v02[] = { QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, QMI_IDL_GENERIC_4_BYTE, @@ -3601,7 +3792,7 @@ static const uint8_t qmiLocInjectMotionDataReqMsgT_data_v02[] = { QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocInjectMotionDataReqMsgT_v02, motion_data), - QMI_IDL_TYPE88(0, 40) + QMI_IDL_TYPE88(0, 42) }; static const uint8_t qmiLocInjectMotionDataIndMsgT_data_v02[] = { @@ -3638,7 +3829,7 @@ static const uint8_t qmiLocInjectGSMCellInfoReqMsgT_data_v02[] = { 0x01, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocInjectGSMCellInfoReqMsgT_v02, gsmCellId), - QMI_IDL_TYPE88(0, 41), + QMI_IDL_TYPE88(0, 43), 0x02, QMI_IDL_GENERIC_1_BYTE, @@ -3660,7 +3851,7 @@ static const uint8_t qmiLocInjectWCDMACellInfoReqMsgT_data_v02[] = { 0x01, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocInjectWCDMACellInfoReqMsgT_v02, wcdmaCellId), - QMI_IDL_TYPE88(0, 42), + QMI_IDL_TYPE88(0, 44), 0x02, QMI_IDL_GENERIC_4_BYTE, @@ -3687,7 +3878,7 @@ static const uint8_t qmiLocInjectTDSCDMACellInfoReqMsgT_data_v02[] = { 0x01, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocInjectTDSCDMACellInfoReqMsgT_v02, tdscdmaCellId), - QMI_IDL_TYPE88(0, 43), + QMI_IDL_TYPE88(0, 45), 0x02, QMI_IDL_GENERIC_4_BYTE, @@ -3869,7 +4060,7 @@ static const uint8_t qmiLocEventLiveBatchedPositionReportIndMsgT_data_v02[] = { QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventLiveBatchedPositionReportIndMsgT_v02, liveBatchedReport), - QMI_IDL_TYPE88(0, 44) + QMI_IDL_TYPE88(0, 46) }; static const uint8_t qmiLocReadFromBatchReqMsgT_data_v02[] = { @@ -3902,7 +4093,7 @@ static const uint8_t qmiLocReadFromBatchIndMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocReadFromBatchIndMsgT_v02, batchedReportList), QMI_LOC_READ_FROM_BATCH_MAX_SIZE_V02, QMI_IDL_OFFSET8(qmiLocReadFromBatchIndMsgT_v02, batchedReportList) - QMI_IDL_OFFSET8(qmiLocReadFromBatchIndMsgT_v02, batchedReportList_len), - QMI_IDL_TYPE88(0, 44) + QMI_IDL_TYPE88(0, 46) }; static const uint8_t qmiLocStopBatchingReqMsgT_data_v02[] = { @@ -3959,7 +4150,7 @@ static const uint8_t qmiLocInjectWifiApDataReqMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocInjectWifiApDataReqMsgT_v02, wifiApInfo), QMI_LOC_WIFI_MAX_REPORTED_APS_PER_MSG_V02, QMI_IDL_OFFSET8(qmiLocInjectWifiApDataReqMsgT_v02, wifiApInfo) - QMI_IDL_OFFSET8(qmiLocInjectWifiApDataReqMsgT_v02, wifiApInfo_len), - QMI_IDL_TYPE88(0, 45) + QMI_IDL_TYPE88(0, 47) }; static const uint8_t qmiLocInjectWifiApDataIndMsgT_data_v02[] = { @@ -4026,19 +4217,19 @@ static const uint8_t qmiLocInjectVehicleSensorDataReqMsgT_data_v02[] = { 0x10, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocInjectVehicleSensorDataReqMsgT_v02, accelData), - QMI_IDL_TYPE88(0, 47), + QMI_IDL_TYPE88(0, 49), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectVehicleSensorDataReqMsgT_v02, angRotationData) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectVehicleSensorDataReqMsgT_v02, angRotationData_valid)), 0x11, QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE, QMI_IDL_OFFSET16ARRAY(qmiLocInjectVehicleSensorDataReqMsgT_v02, angRotationData), - QMI_IDL_TYPE88(0, 47), + QMI_IDL_TYPE88(0, 49), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectVehicleSensorDataReqMsgT_v02, odometryData) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectVehicleSensorDataReqMsgT_v02, odometryData_valid)), 0x12, QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE, QMI_IDL_OFFSET16ARRAY(qmiLocInjectVehicleSensorDataReqMsgT_v02, odometryData), - QMI_IDL_TYPE88(0, 49), + QMI_IDL_TYPE88(0, 51), QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectVehicleSensorDataReqMsgT_v02, changeInTimeScales) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectVehicleSensorDataReqMsgT_v02, changeInTimeScales_valid)), 0x13, @@ -4223,67 +4414,67 @@ static const uint8_t qmiLocEventGnssSvMeasInfoIndMsgT_data_v02[] = { 0x10, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, rcvrClockFrequencyInfo), - QMI_IDL_TYPE88(0, 50), + QMI_IDL_TYPE88(0, 52), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, leapSecondInfo) - QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, leapSecondInfo_valid)), 0x11, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, leapSecondInfo), - QMI_IDL_TYPE88(0, 51), + QMI_IDL_TYPE88(0, 53), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, gpsGloInterSystemBias) - QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, gpsGloInterSystemBias_valid)), 0x12, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, gpsGloInterSystemBias), - QMI_IDL_TYPE88(0, 52), + QMI_IDL_TYPE88(0, 54), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, gpsBdsInterSystemBias) - QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, gpsBdsInterSystemBias_valid)), 0x13, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, gpsBdsInterSystemBias), - QMI_IDL_TYPE88(0, 52), + QMI_IDL_TYPE88(0, 54), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, gpsGalInterSystemBias) - QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, gpsGalInterSystemBias_valid)), 0x14, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, gpsGalInterSystemBias), - QMI_IDL_TYPE88(0, 52), + QMI_IDL_TYPE88(0, 54), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, bdsGloInterSystemBias) - QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, bdsGloInterSystemBias_valid)), 0x15, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, bdsGloInterSystemBias), - QMI_IDL_TYPE88(0, 52), + QMI_IDL_TYPE88(0, 54), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, galGloInterSystemBias) - QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, galGloInterSystemBias_valid)), 0x16, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, galGloInterSystemBias), - QMI_IDL_TYPE88(0, 52), + QMI_IDL_TYPE88(0, 54), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, galBdsInterSystemBias) - QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, galBdsInterSystemBias_valid)), 0x17, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, galBdsInterSystemBias), - QMI_IDL_TYPE88(0, 52), + QMI_IDL_TYPE88(0, 54), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, systemTime) - QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, systemTime_valid)), 0x18, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, systemTime), - QMI_IDL_TYPE88(0, 53), + QMI_IDL_TYPE88(0, 55), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, gloTime) - QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, gloTime_valid)), 0x19, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, gloTime), - QMI_IDL_TYPE88(0, 54), + QMI_IDL_TYPE88(0, 56), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, systemTimeExt) - QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, systemTimeExt_valid)), 0x1A, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, systemTimeExt), - QMI_IDL_TYPE88(0, 55), + QMI_IDL_TYPE88(0, 57), QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, svMeasurement) - QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, svMeasurement_valid)), 0x1B, @@ -4291,7 +4482,7 @@ static const uint8_t qmiLocEventGnssSvMeasInfoIndMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, svMeasurement), QMI_LOC_SV_MEAS_LIST_MAX_SIZE_V02, QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, svMeasurement) - QMI_IDL_OFFSET8(qmiLocEventGnssSvMeasInfoIndMsgT_v02, svMeasurement_len), - QMI_IDL_TYPE88(0, 57) + QMI_IDL_TYPE88(0, 59) }; static const uint8_t qmiLocEventGnssSvPolyIndMsgT_data_v02[] = { @@ -4412,7 +4603,7 @@ static const uint8_t qmiLocAddGeofenceContextReqMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocAddGeofenceContextReqMsgT_v02, wifiApSsidInfo), QMI_LOC_WIFI_AREA_ID_LIST_LENGTH_V02, QMI_IDL_OFFSET8(qmiLocAddGeofenceContextReqMsgT_v02, wifiApSsidInfo) - QMI_IDL_OFFSET8(qmiLocAddGeofenceContextReqMsgT_v02, wifiApSsidInfo_len), - QMI_IDL_TYPE88(0, 32), + QMI_IDL_TYPE88(0, 33), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, wifiApMacAddressList) - QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, wifiApMacAddressList_valid)), 0x12, @@ -4420,14 +4611,14 @@ static const uint8_t qmiLocAddGeofenceContextReqMsgT_data_v02[] = { QMI_IDL_OFFSET16ARRAY(qmiLocAddGeofenceContextReqMsgT_v02, wifiApMacAddressList), QMI_LOC_WIFI_AREA_ID_LIST_LENGTH_V02, QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, wifiApMacAddressList) - QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, wifiApMacAddressList_len), - QMI_IDL_TYPE88(0, 58), + QMI_IDL_TYPE88(0, 60), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, tdsCdmaCellIDList) - QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, tdsCdmaCellIDList_valid)), 0x13, QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE, QMI_IDL_OFFSET16ARRAY(qmiLocAddGeofenceContextReqMsgT_v02, tdsCdmaCellIDList), QMI_LOC_CELL_ID_LIST_LENGTH_V02, - QMI_IDL_TYPE88(0, 43), + QMI_IDL_TYPE88(0, 45), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, wcdmaCellIDList) - QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, wcdmaCellIDList_valid)), 0x14, @@ -4435,7 +4626,7 @@ static const uint8_t qmiLocAddGeofenceContextReqMsgT_data_v02[] = { QMI_IDL_OFFSET16ARRAY(qmiLocAddGeofenceContextReqMsgT_v02, wcdmaCellIDList), QMI_LOC_CELL_ID_LIST_LENGTH_V02, QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, wcdmaCellIDList) - QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, wcdmaCellIDList_len), - QMI_IDL_TYPE88(0, 42), + QMI_IDL_TYPE88(0, 44), QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, gsmCellIDList) - QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, gsmCellIDList_valid)), 0x15, @@ -4443,7 +4634,7 @@ static const uint8_t qmiLocAddGeofenceContextReqMsgT_data_v02[] = { QMI_IDL_OFFSET16ARRAY(qmiLocAddGeofenceContextReqMsgT_v02, gsmCellIDList), QMI_LOC_CELL_ID_LIST_LENGTH_V02, QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, gsmCellIDList) - QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, gsmCellIDList_len), - QMI_IDL_TYPE88(0, 41), + QMI_IDL_TYPE88(0, 43), QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, iBeaconList) - QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, iBeaconList_valid)), 0x16, @@ -4451,7 +4642,7 @@ static const uint8_t qmiLocAddGeofenceContextReqMsgT_data_v02[] = { QMI_IDL_OFFSET16ARRAY(qmiLocAddGeofenceContextReqMsgT_v02, iBeaconList), QMI_LOC_IBEACON_LIST_LENGTH_V02, QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, iBeaconList) - QMI_IDL_OFFSET16RELATIVE(qmiLocAddGeofenceContextReqMsgT_v02, iBeaconList_len), - QMI_IDL_TYPE88(0, 59) + QMI_IDL_TYPE88(0, 61) }; static const uint8_t qmiLocAddGeofenceContextIndMsgT_data_v02[] = { @@ -4592,6 +4783,144 @@ static const uint8_t qmiLocGdtUploadEndIndMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocGdtUploadEndIndMsgT_v02, status) }; +static const uint8_t qmiLocGtpApStatusReqMsgT_data_v02[] = { + 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGtpApStatusReqMsgT_v02, gtpApDbStatus), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocGtpApStatusReqMsgT_v02, gtpApPcid64) - QMI_IDL_OFFSET8(qmiLocGtpApStatusReqMsgT_v02, gtpApPcid64_valid)), + 0x10, + QMI_IDL_GENERIC_8_BYTE, + QMI_IDL_OFFSET8(qmiLocGtpApStatusReqMsgT_v02, gtpApPcid64), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocGtpApStatusReqMsgT_v02, oemId) - QMI_IDL_OFFSET8(qmiLocGtpApStatusReqMsgT_v02, oemId_valid)), + 0x11, + QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_FLAGS_SZ_IS_16 | QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET8(qmiLocGtpApStatusReqMsgT_v02, oemId), + ((QMI_LOC_MAX_OEM_ID_LEN_V02) & 0xFF), ((QMI_LOC_MAX_OEM_ID_LEN_V02) >> 8), + QMI_IDL_OFFSET8(qmiLocGtpApStatusReqMsgT_v02, oemId) - QMI_IDL_OFFSET8(qmiLocGtpApStatusReqMsgT_v02, oemId_len), + + QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocGtpApStatusReqMsgT_v02, modelId) - QMI_IDL_OFFSET16RELATIVE(qmiLocGtpApStatusReqMsgT_v02, modelId_valid)), + 0x12, + QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_FLAGS_SZ_IS_16 | QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET16ARRAY(qmiLocGtpApStatusReqMsgT_v02, modelId), + ((QMI_LOC_MAX_MODEL_ID_LEN_V02) & 0xFF), ((QMI_LOC_MAX_MODEL_ID_LEN_V02) >> 8), + QMI_IDL_OFFSET16RELATIVE(qmiLocGtpApStatusReqMsgT_v02, modelId) - QMI_IDL_OFFSET16RELATIVE(qmiLocGtpApStatusReqMsgT_v02, modelId_len) +}; + +static const uint8_t qmiLocGtpApStatusIndMsgT_data_v02[] = { + 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGtpApStatusIndMsgT_v02, status), + + 0x02, + QMI_IDL_GENERIC_2_BYTE, + QMI_IDL_OFFSET8(qmiLocGtpApStatusIndMsgT_v02, clientSoftwareVersion), + + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x03, + QMI_IDL_AGGREGATE, + QMI_IDL_OFFSET8(qmiLocGtpApStatusIndMsgT_v02, asnVersion), + QMI_IDL_TYPE88(0, 62) +}; + +static const uint8_t qmiLocGdtDownloadBeginStatusReqMsgT_data_v02[] = { + 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadBeginStatusReqMsgT_v02, serviceId), + + 0x02, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadBeginStatusReqMsgT_v02, sessionId), + + 0x03, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadBeginStatusReqMsgT_v02, processingStatus), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocGdtDownloadBeginStatusReqMsgT_v02, wwanDownloadFlag) - QMI_IDL_OFFSET8(qmiLocGdtDownloadBeginStatusReqMsgT_v02, wwanDownloadFlag_valid)), + 0x10, + QMI_IDL_GENERIC_2_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadBeginStatusReqMsgT_v02, wwanDownloadFlag), + + QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocGdtDownloadBeginStatusReqMsgT_v02, respLocInfo) - QMI_IDL_OFFSET8(qmiLocGdtDownloadBeginStatusReqMsgT_v02, respLocInfo_valid)), + 0x11, + QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_FLAGS_SZ_IS_16 | QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadBeginStatusReqMsgT_v02, respLocInfo), + ((QMI_LOC_MAX_GTP_RLI_LEN_V02) & 0xFF), ((QMI_LOC_MAX_GTP_RLI_LEN_V02) >> 8), + QMI_IDL_OFFSET8(qmiLocGdtDownloadBeginStatusReqMsgT_v02, respLocInfo) - QMI_IDL_OFFSET8(qmiLocGdtDownloadBeginStatusReqMsgT_v02, respLocInfo_len) +}; + +static const uint8_t qmiLocGdtDownloadBeginStatusIndMsgT_data_v02[] = { + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadBeginStatusIndMsgT_v02, status) +}; + +static const uint8_t qmiLocGdtDownloadReadyStatusReqMsgT_data_v02[] = { + 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadReadyStatusReqMsgT_v02, serviceId), + + 0x02, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadReadyStatusReqMsgT_v02, sessionId), + + 0x03, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadReadyStatusReqMsgT_v02, status), + + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x04, + QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadReadyStatusReqMsgT_v02, filePath), + QMI_LOC_MAX_GDT_PATH_LEN_V02, + QMI_IDL_OFFSET8(qmiLocGdtDownloadReadyStatusReqMsgT_v02, filePath) - QMI_IDL_OFFSET8(qmiLocGdtDownloadReadyStatusReqMsgT_v02, filePath_len) +}; + +static const uint8_t qmiLocGdtDownloadReadyStatusIndMsgT_data_v02[] = { + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadReadyStatusIndMsgT_v02, status) +}; + +static const uint8_t qmiLocGdtReceiveDoneStatusReqMsgT_data_v02[] = { + 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtReceiveDoneStatusReqMsgT_v02, serviceId), + + 0x02, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtReceiveDoneStatusReqMsgT_v02, sessionId), + + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x03, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtReceiveDoneStatusReqMsgT_v02, status) +}; + +static const uint8_t qmiLocGdtReceiveDoneStatusIndMsgT_data_v02[] = { + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtReceiveDoneStatusIndMsgT_v02, status) +}; + +static const uint8_t qmiLocGdtDownloadEndStatusReqMsgT_data_v02[] = { + 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadEndStatusReqMsgT_v02, serviceId), + + 0x02, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadEndStatusReqMsgT_v02, sessionId), + + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x03, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadEndStatusReqMsgT_v02, status) +}; + +static const uint8_t qmiLocGdtDownloadEndStatusIndMsgT_data_v02[] = { + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocGdtDownloadEndStatusIndMsgT_v02, status) +}; + static const uint8_t qmiLocStartDbtReqMsgT_data_v02[] = { 0x01, QMI_IDL_GENERIC_1_BYTE, @@ -4656,7 +4985,7 @@ static const uint8_t qmiLocEventDbtPositionReportIndMsgT_data_v02[] = { 0x02, QMI_IDL_AGGREGATE, QMI_IDL_OFFSET8(qmiLocEventDbtPositionReportIndMsgT_v02, dbtPosition), - QMI_IDL_TYPE88(0, 60), + QMI_IDL_TYPE88(0, 63), 0x03, QMI_IDL_GENERIC_4_BYTE, @@ -4741,94 +5070,6 @@ static const uint8_t qmiLocSecureGetAvailablePositionIndMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocSecureGetAvailablePositionIndMsgT_v02, qmilocSecureGetAvailablePositionInd) - QMI_IDL_OFFSET8(qmiLocSecureGetAvailablePositionIndMsgT_v02, qmilocSecureGetAvailablePositionInd_len) }; -static const uint8_t qmiLocEventGeofenceBatchedDwellIndMsgT_data_v02[] = { - 0x01, - QMI_IDL_GENERIC_4_BYTE, - QMI_IDL_OFFSET8(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, dwellType), - - QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdContinuousList) - QMI_IDL_OFFSET8(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdContinuousList_valid)), - 0x10, - QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_AGGREGATE, - QMI_IDL_OFFSET8(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdContinuousList), - QMI_LOC_MAX_GEOFENCE_ID_CONTINUOUS_LIST_LENGTH_V02, - QMI_IDL_OFFSET8(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdContinuousList) - QMI_IDL_OFFSET8(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdContinuousList_len), - QMI_IDL_TYPE88(0, 24), - - QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdDiscreteList) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdDiscreteList_valid)), - 0x11, - QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_4_BYTE, - QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdDiscreteList), - QMI_LOC_MAX_GEOFENCE_ID_DISCRETE_LIST_LENGTH_V02, - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdDiscreteList) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofenceIdDiscreteList_len), - - QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofencePosition) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofencePosition_valid)), - 0x12, - QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE, - QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, geofencePosition), - QMI_IDL_TYPE88(0, 23), - - QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, headingUnc) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, headingUnc_valid)), - 0x13, - QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_4_BYTE, - QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, headingUnc), - - QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, vertUnc) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, vertUnc_valid)), - 0x14, - QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_4_BYTE, - QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, vertUnc), - - QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, speedUnc) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, speedUnc_valid)), - 0x15, - QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_4_BYTE, - QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, speedUnc), - - QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, horConfidence) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, horConfidence_valid)), - 0x16, - QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_1_BYTE, - QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, horConfidence), - - QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, vertConfidence) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, vertConfidence_valid)), - 0x17, - QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_1_BYTE, - QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, vertConfidence), - - QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, DOP) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, DOP_valid)), - 0x18, - QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE, - QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, DOP), - QMI_IDL_TYPE88(0, 2), - - QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, gnssSvUsedList) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, gnssSvUsedList_valid)), - 0x19, - QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_2_BYTE, - QMI_IDL_OFFSET16ARRAY(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, gnssSvUsedList), - QMI_LOC_MAX_SV_USED_LIST_LENGTH_V02, - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, gnssSvUsedList) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventGeofenceBatchedDwellIndMsgT_v02, gnssSvUsedList_len) -}; - -static const uint8_t qmiLocEventGetTimeZoneReqIndMsgT_data_v02[] = { - QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, - QMI_IDL_GENERIC_4_BYTE, - QMI_IDL_OFFSET8(qmiLocEventGetTimeZoneReqIndMsgT_v02, status) -}; - -static const uint8_t qmiLocInjectTimeZoneInfoReqMsgT_data_v02[] = { - 0x01, - QMI_IDL_GENERIC_8_BYTE, - QMI_IDL_OFFSET8(qmiLocInjectTimeZoneInfoReqMsgT_v02, timeUtc), - - QMI_IDL_TLV_FLAGS_LAST_TLV | 0x02, - QMI_IDL_AGGREGATE, - QMI_IDL_OFFSET8(qmiLocInjectTimeZoneInfoReqMsgT_v02, timeZone), - QMI_IDL_TYPE88(0, 62) -}; - -static const uint8_t qmiLocInjectTimeZoneInfoIndMsgT_data_v02[] = { - QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, - QMI_IDL_GENERIC_4_BYTE, - QMI_IDL_OFFSET8(qmiLocInjectTimeZoneInfoIndMsgT_v02, status) -}; - static const uint8_t qmiLocInjectApCacheDataReqMsgT_data_v02[] = { 0x01, QMI_IDL_GENERIC_1_BYTE, @@ -4847,13 +5088,58 @@ static const uint8_t qmiLocInjectApCacheDataReqMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocInjectApCacheDataReqMsgT_v02, apCacheData), QMI_LOC_APCACHE_DATA_MAX_SAMPLES_V02, QMI_IDL_OFFSET8(qmiLocInjectApCacheDataReqMsgT_v02, apCacheData) - QMI_IDL_OFFSET8(qmiLocInjectApCacheDataReqMsgT_v02, apCacheData_len), - QMI_IDL_TYPE88(0, 63) + QMI_IDL_TYPE88(0, 64) }; static const uint8_t qmiLocInjectApCacheDataIndMsgT_data_v02[] = { - QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, + 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, status), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, apCacheSize) - QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, apCacheSize_valid)), + 0x10, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, apCacheSize), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, apDoNotCacheSize) - QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, apDoNotCacheSize_valid)), + 0x11, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, apDoNotCacheSize), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, apCacheHits) - QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, apCacheHits_valid)), + 0x12, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, apCacheHits), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, apDoNotCacheHits) - QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, apDoNotCacheHits_valid)), + 0x13, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, apDoNotCacheHits), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, unknownAps) - QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, unknownAps_valid)), + 0x14, QMI_IDL_GENERIC_4_BYTE, - QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, status) + QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, unknownAps), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, asyncScans) - QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, asyncScans_valid)), + 0x15, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, asyncScans), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, asyncFixes) - QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, asyncFixes_valid)), + 0x16, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, asyncFixes), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, syncScans) - QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, syncScans_valid)), + 0x17, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, syncScans), + + QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, syncFixes) - QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, syncFixes_valid)), + 0x18, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocInjectApCacheDataIndMsgT_v02, syncFixes) }; static const uint8_t qmiLocInjectApDoNotCacheDataReqMsgT_data_v02[] = { @@ -4874,7 +5160,7 @@ static const uint8_t qmiLocInjectApDoNotCacheDataReqMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocInjectApDoNotCacheDataReqMsgT_v02, apDoNotCacheData), QMI_LOC_APCACHE_DATA_MAX_SAMPLES_V02, QMI_IDL_OFFSET8(qmiLocInjectApDoNotCacheDataReqMsgT_v02, apDoNotCacheData) - QMI_IDL_OFFSET8(qmiLocInjectApDoNotCacheDataReqMsgT_v02, apDoNotCacheData_len), - QMI_IDL_TYPE88(0, 64) + QMI_IDL_TYPE88(0, 65) }; static const uint8_t qmiLocInjectApDoNotCacheDataIndMsgT_data_v02[] = { @@ -4911,6 +5197,39 @@ static const uint8_t qmiLocQueryAonConfigIndMsgT_data_v02[] = { QMI_IDL_OFFSET8(qmiLocQueryAonConfigIndMsgT_v02, aonCapability) }; +static const uint8_t qmiLocDeleteGNSSServiceDataReqMsgT_data_v02[] = { + 0x01, + QMI_IDL_GENERIC_1_BYTE, + QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteAllFlag), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteClockInfoMask) - QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteClockInfoMask_valid)), + 0x10, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteClockInfoMask), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteCellDbDataMask) - QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteCellDbDataMask_valid)), + 0x11, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteCellDbDataMask), + + QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteCommonDataMask) - QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteCommonDataMask_valid)), + 0x12, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteCommonDataMask), + + QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteSatelliteData) - QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteSatelliteData_valid)), + 0x13, + QMI_IDL_AGGREGATE, + QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataReqMsgT_v02, deleteSatelliteData), + QMI_IDL_TYPE88(0, 66) +}; + +static const uint8_t qmiLocDeleteGNSSServiceDataIndMsgT_data_v02[] = { + QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01, + QMI_IDL_GENERIC_4_BYTE, + QMI_IDL_OFFSET8(qmiLocDeleteGNSSServiceDataIndMsgT_v02, status) +}; + /* Type Table */ static const qmi_idl_type_table_entry loc_type_table_v02[] = { {sizeof(qmiLocApplicationIdStructT_v02), qmiLocApplicationIdStructT_data_v02}, @@ -4942,6 +5261,7 @@ static const qmi_idl_type_table_entry loc_type_table_v02[] = { {sizeof(qmiLocAltitudeSrcInfoStructT_v02), qmiLocAltitudeSrcInfoStructT_data_v02}, {sizeof(qmiLocDeleteSvInfoStructT_v02), qmiLocDeleteSvInfoStructT_data_v02}, {sizeof(qmiLocDeleteBDSSvInfoStructT_v02), qmiLocDeleteBDSSvInfoStructT_data_v02}, + {sizeof(qmiLocDeleteGALSvInfoStructT_v02), qmiLocDeleteGALSvInfoStructT_data_v02}, {sizeof(qmiLocWifiFixTimeStructT_v02), qmiLocWifiFixTimeStructT_data_v02}, {sizeof(qmiLocWifiFixPosStructT_v02), qmiLocWifiFixPosStructT_data_v02}, {sizeof(qmiLocWifiApInfoStructT_v02), qmiLocWifiApInfoStructT_data_v02}, @@ -4953,6 +5273,7 @@ static const qmi_idl_type_table_entry loc_type_table_v02[] = { {sizeof(qmiLocApnProfilesStructT_v02), qmiLocApnProfilesStructT_data_v02}, {sizeof(qmiLocCircularGeofenceArgsStructT_v02), qmiLocCircularGeofenceArgsStructT_data_v02}, {sizeof(qmiLocGeofenceMotionStateConfigStructT_v02), qmiLocGeofenceMotionStateConfigStructT_data_v02}, + {sizeof(qmiLocTimeZoneStructT_v02), qmiLocTimeZoneStructT_data_v02}, {sizeof(qmiLocMotionDataStructT_v02), qmiLocMotionDataStructT_data_v02}, {sizeof(qmiLocGSMCellIdStructT_v02), qmiLocGSMCellIdStructT_data_v02}, {sizeof(qmiLocWCDMACellIdStructT_v02), qmiLocWCDMACellIdStructT_data_v02}, @@ -4973,11 +5294,11 @@ static const qmi_idl_type_table_entry loc_type_table_v02[] = { {sizeof(qmiLocSVMeasurementStructT_v02), qmiLocSVMeasurementStructT_data_v02}, {sizeof(qmiLocWifiApMacAddressStructT_v02), qmiLocWifiApMacAddressStructT_data_v02}, {sizeof(qmiLocIBeaconIdStructT_v02), qmiLocIBeaconIdStructT_data_v02}, + {sizeof(qmiLocGtpAsnVerStructT_v02), qmiLocGtpAsnVerStructT_data_v02}, {sizeof(qmiLocDbtPositionStructT_v02), qmiLocDbtPositionStructT_data_v02}, - {sizeof(qmiLocDeleteGALSvInfoStructT_v02), qmiLocDeleteGALSvInfoStructT_data_v02}, - {sizeof(qmiLocTimeZoneStructT_v02), qmiLocTimeZoneStructT_data_v02}, {sizeof(qmiLocApCacheStructT_v02), qmiLocApCacheStructT_data_v02}, - {sizeof(qmiLocApDoNotCacheStructT_v02), qmiLocApDoNotCacheStructT_data_v02} + {sizeof(qmiLocApDoNotCacheStructT_v02), qmiLocApDoNotCacheStructT_data_v02}, + {sizeof(qmiLocDeleteSatelliteDataStructT_v02), qmiLocDeleteSatelliteDataStructT_data_v02} }; /* Message Table */ @@ -5008,8 +5329,12 @@ static const qmi_idl_message_table_entry loc_message_table_v02[] = { {sizeof(qmiLocEventMotionDataControlIndMsgT_v02), qmiLocEventMotionDataControlIndMsgT_data_v02}, {sizeof(qmiLocEventGeofenceBatchedBreachIndMsgT_v02), qmiLocEventGeofenceBatchedBreachIndMsgT_data_v02}, {sizeof(qmiLocEventGeofenceProximityIndMsgT_v02), qmiLocEventGeofenceProximityIndMsgT_data_v02}, + {sizeof(qmiLocEventGeofenceBatchedDwellIndMsgT_v02), qmiLocEventGeofenceBatchedDwellIndMsgT_data_v02}, {sizeof(qmiLocEventGdtUploadBeginStatusReqIndMsgT_v02), qmiLocEventGdtUploadBeginStatusReqIndMsgT_data_v02}, {sizeof(qmiLocEventGdtUploadEndReqIndMsgT_v02), qmiLocEventGdtUploadEndReqIndMsgT_data_v02}, + {sizeof(qmiLocEventGdtDownloadBeginReqIndMsgT_v02), qmiLocEventGdtDownloadBeginReqIndMsgT_data_v02}, + {sizeof(qmiLocEventGdtReceiveDoneIndMsgT_v02), qmiLocEventGdtReceiveDoneIndMsgT_data_v02}, + {sizeof(qmiLocEventGdtDownloadEndReqIndMsgT_v02), qmiLocEventGdtDownloadEndReqIndMsgT_data_v02}, {sizeof(qmiLocGetServiceRevisionReqMsgT_v02), 0}, {sizeof(qmiLocGetServiceRevisionIndMsgT_v02), qmiLocGetServiceRevisionIndMsgT_data_v02}, {sizeof(qmiLocGetFixCriteriaReqMsgT_v02), 0}, @@ -5114,6 +5439,9 @@ static const qmi_idl_message_table_entry loc_message_table_v02[] = { {sizeof(qmiLocGetGeofenceEngineConfigIndMsgT_v02), qmiLocGetGeofenceEngineConfigIndMsgT_data_v02}, {sizeof(qmiLocEditGeofenceReqMsgT_v02), qmiLocEditGeofenceReqMsgT_data_v02}, {sizeof(qmiLocEditGeofenceIndMsgT_v02), qmiLocEditGeofenceIndMsgT_data_v02}, + {sizeof(qmiLocEventGetTimeZoneReqIndMsgT_v02), qmiLocEventGetTimeZoneReqIndMsgT_data_v02}, + {sizeof(qmiLocInjectTimeZoneInfoReqMsgT_v02), qmiLocInjectTimeZoneInfoReqMsgT_data_v02}, + {sizeof(qmiLocInjectTimeZoneInfoIndMsgT_v02), qmiLocInjectTimeZoneInfoIndMsgT_data_v02}, {sizeof(qmiLocGetBestAvailablePositionReqMsgT_v02), qmiLocGetBestAvailablePositionReqMsgT_data_v02}, {sizeof(qmiLocGetBestAvailablePositionIndMsgT_v02), qmiLocGetBestAvailablePositionIndMsgT_data_v02}, {sizeof(qmiLocInjectMotionDataReqMsgT_v02), qmiLocInjectMotionDataReqMsgT_data_v02}, @@ -5178,6 +5506,16 @@ static const qmi_idl_message_table_entry loc_message_table_v02[] = { {sizeof(qmiLocGdtUploadBeginStatusIndMsgT_v02), qmiLocGdtUploadBeginStatusIndMsgT_data_v02}, {sizeof(qmiLocGdtUploadEndReqMsgT_v02), qmiLocGdtUploadEndReqMsgT_data_v02}, {sizeof(qmiLocGdtUploadEndIndMsgT_v02), qmiLocGdtUploadEndIndMsgT_data_v02}, + {sizeof(qmiLocGtpApStatusReqMsgT_v02), qmiLocGtpApStatusReqMsgT_data_v02}, + {sizeof(qmiLocGtpApStatusIndMsgT_v02), qmiLocGtpApStatusIndMsgT_data_v02}, + {sizeof(qmiLocGdtDownloadBeginStatusReqMsgT_v02), qmiLocGdtDownloadBeginStatusReqMsgT_data_v02}, + {sizeof(qmiLocGdtDownloadBeginStatusIndMsgT_v02), qmiLocGdtDownloadBeginStatusIndMsgT_data_v02}, + {sizeof(qmiLocGdtDownloadReadyStatusReqMsgT_v02), qmiLocGdtDownloadReadyStatusReqMsgT_data_v02}, + {sizeof(qmiLocGdtDownloadReadyStatusIndMsgT_v02), qmiLocGdtDownloadReadyStatusIndMsgT_data_v02}, + {sizeof(qmiLocGdtReceiveDoneStatusReqMsgT_v02), qmiLocGdtReceiveDoneStatusReqMsgT_data_v02}, + {sizeof(qmiLocGdtReceiveDoneStatusIndMsgT_v02), qmiLocGdtReceiveDoneStatusIndMsgT_data_v02}, + {sizeof(qmiLocGdtDownloadEndStatusReqMsgT_v02), qmiLocGdtDownloadEndStatusReqMsgT_data_v02}, + {sizeof(qmiLocGdtDownloadEndStatusIndMsgT_v02), qmiLocGdtDownloadEndStatusIndMsgT_data_v02}, {sizeof(qmiLocStartDbtReqMsgT_v02), qmiLocStartDbtReqMsgT_data_v02}, {sizeof(qmiLocStartDbtIndMsgT_v02), qmiLocStartDbtIndMsgT_data_v02}, {sizeof(qmiLocStopDbtReqMsgT_v02), qmiLocStopDbtReqMsgT_data_v02}, @@ -5186,17 +5524,15 @@ static const qmi_idl_message_table_entry loc_message_table_v02[] = { {sizeof(qmiLocEventDbtSessionStatusIndMsgT_v02), qmiLocEventDbtSessionStatusIndMsgT_data_v02}, {sizeof(qmiLocSecureGetAvailablePositionReqMsgT_v02), qmiLocSecureGetAvailablePositionReqMsgT_data_v02}, {sizeof(qmiLocSecureGetAvailablePositionIndMsgT_v02), qmiLocSecureGetAvailablePositionIndMsgT_data_v02}, - {sizeof(qmiLocEventGeofenceBatchedDwellIndMsgT_v02), qmiLocEventGeofenceBatchedDwellIndMsgT_data_v02}, - {sizeof(qmiLocEventGetTimeZoneReqIndMsgT_v02), qmiLocEventGetTimeZoneReqIndMsgT_data_v02}, - {sizeof(qmiLocInjectTimeZoneInfoReqMsgT_v02), qmiLocInjectTimeZoneInfoReqMsgT_data_v02}, - {sizeof(qmiLocInjectTimeZoneInfoIndMsgT_v02), qmiLocInjectTimeZoneInfoIndMsgT_data_v02}, {sizeof(qmiLocInjectApCacheDataReqMsgT_v02), qmiLocInjectApCacheDataReqMsgT_data_v02}, {sizeof(qmiLocInjectApCacheDataIndMsgT_v02), qmiLocInjectApCacheDataIndMsgT_data_v02}, {sizeof(qmiLocInjectApDoNotCacheDataReqMsgT_v02), qmiLocInjectApDoNotCacheDataReqMsgT_data_v02}, {sizeof(qmiLocInjectApDoNotCacheDataIndMsgT_v02), qmiLocInjectApDoNotCacheDataIndMsgT_data_v02}, {sizeof(qmiLocEventBatchingStatusIndMsgT_v02), qmiLocEventBatchingStatusIndMsgT_data_v02}, {sizeof(qmiLocQueryAonConfigReqMsgT_v02), qmiLocQueryAonConfigReqMsgT_data_v02}, - {sizeof(qmiLocQueryAonConfigIndMsgT_v02), qmiLocQueryAonConfigIndMsgT_data_v02} + {sizeof(qmiLocQueryAonConfigIndMsgT_v02), qmiLocQueryAonConfigIndMsgT_data_v02}, + {sizeof(qmiLocDeleteGNSSServiceDataReqMsgT_v02), qmiLocDeleteGNSSServiceDataReqMsgT_data_v02}, + {sizeof(qmiLocDeleteGNSSServiceDataIndMsgT_v02), qmiLocDeleteGNSSServiceDataIndMsgT_data_v02} }; /* Range Table */ @@ -5226,96 +5562,102 @@ static const qmi_idl_service_message_table_entry loc_service_command_messages_v0 {QMI_LOC_GET_SUPPORTED_FIELDS_REQ_V02, QMI_IDL_TYPE16(1, 2), 5}, {QMI_LOC_INFORM_CLIENT_REVISION_REQ_V02, QMI_IDL_TYPE16(0, 1), 7}, {QMI_LOC_REG_EVENTS_REQ_V02, QMI_IDL_TYPE16(0, 2), 11}, - {QMI_LOC_START_REQ_V02, QMI_IDL_TYPE16(0, 3), 117}, + {QMI_LOC_START_REQ_V02, QMI_IDL_TYPE16(0, 3), 124}, {QMI_LOC_STOP_REQ_V02, QMI_IDL_TYPE16(0, 4), 4}, - {QMI_LOC_GET_SERVICE_REVISION_REQ_V02, QMI_IDL_TYPE16(0, 28), 0}, - {QMI_LOC_GET_FIX_CRITERIA_REQ_V02, QMI_IDL_TYPE16(0, 30), 0}, - {QMI_LOC_NI_USER_RESPONSE_REQ_V02, QMI_IDL_TYPE16(0, 32), 1345}, - {QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_REQ_V02, QMI_IDL_TYPE16(0, 34), 1053}, - {QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_REQ_V02, QMI_IDL_TYPE16(0, 36), 0}, - {QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_REQ_V02, QMI_IDL_TYPE16(0, 38), 0}, - {QMI_LOC_INJECT_UTC_TIME_REQ_V02, QMI_IDL_TYPE16(0, 40), 18}, - {QMI_LOC_INJECT_POSITION_REQ_V02, QMI_IDL_TYPE16(0, 42), 123}, - {QMI_LOC_SET_ENGINE_LOCK_REQ_V02, QMI_IDL_TYPE16(0, 44), 7}, - {QMI_LOC_GET_ENGINE_LOCK_REQ_V02, QMI_IDL_TYPE16(0, 46), 0}, - {QMI_LOC_SET_SBAS_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 48), 4}, - {QMI_LOC_GET_SBAS_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 50), 0}, - {QMI_LOC_SET_NMEA_TYPES_REQ_V02, QMI_IDL_TYPE16(0, 52), 7}, - {QMI_LOC_GET_NMEA_TYPES_REQ_V02, QMI_IDL_TYPE16(0, 54), 0}, - {QMI_LOC_SET_LOW_POWER_MODE_REQ_V02, QMI_IDL_TYPE16(0, 56), 4}, - {QMI_LOC_GET_LOW_POWER_MODE_REQ_V02, QMI_IDL_TYPE16(0, 58), 0}, - {QMI_LOC_SET_SERVER_REQ_V02, QMI_IDL_TYPE16(0, 60), 297}, - {QMI_LOC_GET_SERVER_REQ_V02, QMI_IDL_TYPE16(0, 62), 11}, - {QMI_LOC_DELETE_ASSIST_DATA_REQ_V02, QMI_IDL_TYPE16(0, 64), 1156}, - {QMI_LOC_SET_XTRA_T_SESSION_CONTROL_REQ_V02, QMI_IDL_TYPE16(0, 66), 4}, - {QMI_LOC_GET_XTRA_T_SESSION_CONTROL_REQ_V02, QMI_IDL_TYPE16(0, 68), 0}, - {QMI_LOC_INJECT_WIFI_POSITION_REQ_V02, QMI_IDL_TYPE16(0, 70), 2353}, - {QMI_LOC_NOTIFY_WIFI_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 72), 7}, - {QMI_LOC_GET_REGISTERED_EVENTS_REQ_V02, QMI_IDL_TYPE16(0, 74), 0}, - {QMI_LOC_SET_OPERATION_MODE_REQ_V02, QMI_IDL_TYPE16(0, 76), 7}, - {QMI_LOC_GET_OPERATION_MODE_REQ_V02, QMI_IDL_TYPE16(0, 78), 0}, - {QMI_LOC_SET_SPI_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 80), 8}, - {QMI_LOC_INJECT_SENSOR_DATA_REQ_V02, QMI_IDL_TYPE16(0, 82), 2779}, - {QMI_LOC_INJECT_TIME_SYNC_DATA_REQ_V02, QMI_IDL_TYPE16(0, 84), 21}, - {QMI_LOC_SET_CRADLE_MOUNT_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 88), 11}, - {QMI_LOC_GET_CRADLE_MOUNT_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 86), 0}, - {QMI_LOC_SET_EXTERNAL_POWER_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 92), 7}, - {QMI_LOC_GET_EXTERNAL_POWER_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 90), 0}, - {QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 94), 129}, - {QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02, QMI_IDL_TYPE16(0, 96), 57}, - {QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02, QMI_IDL_TYPE16(0, 98), 11}, - {QMI_LOC_SET_SENSOR_CONTROL_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 100), 14}, - {QMI_LOC_GET_SENSOR_CONTROL_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 102), 0}, - {QMI_LOC_SET_SENSOR_PROPERTIES_REQ_V02, QMI_IDL_TYPE16(0, 104), 88}, - {QMI_LOC_GET_SENSOR_PROPERTIES_REQ_V02, QMI_IDL_TYPE16(0, 106), 7}, - {QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_REQ_V02, QMI_IDL_TYPE16(0, 108), 42}, - {QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_REQ_V02, QMI_IDL_TYPE16(0, 110), 0}, - {QMI_LOC_INJECT_SUPL_CERTIFICATE_REQ_V02, QMI_IDL_TYPE16(0, 112), 2009}, - {QMI_LOC_DELETE_SUPL_CERTIFICATE_REQ_V02, QMI_IDL_TYPE16(0, 114), 4}, - {QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_REQ_V02, QMI_IDL_TYPE16(0, 116), 16}, - {QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_REQ_V02, QMI_IDL_TYPE16(0, 118), 7}, - {QMI_LOC_ADD_CIRCULAR_GEOFENCE_REQ_V02, QMI_IDL_TYPE16(0, 120), 70}, - {QMI_LOC_DELETE_GEOFENCE_REQ_V02, QMI_IDL_TYPE16(0, 122), 14}, - {QMI_LOC_QUERY_GEOFENCE_REQ_V02, QMI_IDL_TYPE16(0, 124), 14}, - {QMI_LOC_EDIT_GEOFENCE_REQ_V02, QMI_IDL_TYPE16(0, 130), 32}, - {QMI_LOC_GET_BEST_AVAILABLE_POSITION_REQ_V02, QMI_IDL_TYPE16(0, 132), 7}, - {QMI_LOC_INJECT_MOTION_DATA_REQ_V02, QMI_IDL_TYPE16(0, 134), 19}, - {QMI_LOC_GET_NI_GEOFENCE_ID_LIST_REQ_V02, QMI_IDL_TYPE16(0, 136), 7}, - {QMI_LOC_INJECT_GSM_CELL_INFO_REQ_V02, QMI_IDL_TYPE16(0, 138), 30}, - {QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_REQ_V02, QMI_IDL_TYPE16(0, 146), 1036}, - {QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_REQ_V02, QMI_IDL_TYPE16(0, 148), 0}, - {QMI_LOC_PEDOMETER_REPORT_REQ_V02, QMI_IDL_TYPE16(0, 150), 46}, - {QMI_LOC_INJECT_WCDMA_CELL_INFO_REQ_V02, QMI_IDL_TYPE16(0, 140), 36}, - {QMI_LOC_INJECT_TDSCDMA_CELL_INFO_REQ_V02, QMI_IDL_TYPE16(0, 142), 33}, - {QMI_LOC_INJECT_SUBSCRIBER_ID_REQ_V02, QMI_IDL_TYPE16(0, 144), 22}, - {QMI_LOC_SET_GEOFENCE_ENGINE_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 126), 224}, - {QMI_LOC_GET_GEOFENCE_ENGINE_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 128), 7}, - {QMI_LOC_GET_BATCH_SIZE_REQ_V02, QMI_IDL_TYPE16(0, 152), 14}, - {QMI_LOC_START_BATCHING_REQ_V02, QMI_IDL_TYPE16(0, 154), 39}, - {QMI_LOC_READ_FROM_BATCH_REQ_V02, QMI_IDL_TYPE16(0, 158), 14}, - {QMI_LOC_STOP_BATCHING_REQ_V02, QMI_IDL_TYPE16(0, 160), 14}, - {QMI_LOC_RELEASE_BATCH_REQ_V02, QMI_IDL_TYPE16(0, 162), 7}, - {QMI_LOC_INJECT_WIFI_AP_DATA_REQ_V02, QMI_IDL_TYPE16(0, 165), 2454}, - {QMI_LOC_NOTIFY_WIFI_ATTACHMENT_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 167), 51}, - {QMI_LOC_NOTIFY_WIFI_ENABLED_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 169), 7}, - {QMI_LOC_INJECT_VEHICLE_SENSOR_DATA_REQ_V02, QMI_IDL_TYPE16(0, 172), 3360}, - {QMI_LOC_GET_AVAILABLE_WWAN_POSITION_REQ_V02, QMI_IDL_TYPE16(0, 174), 7}, - {QMI_LOC_SET_PREMIUM_SERVICES_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 176), 14}, - {QMI_LOC_SET_XTRA_VERSION_CHECK_REQ_V02, QMI_IDL_TYPE16(0, 178), 7}, - {QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG_V02, QMI_IDL_TYPE16(0, 180), 22}, - {QMI_LOC_ADD_GEOFENCE_CONTEXT_REQ_V02, QMI_IDL_TYPE16(0, 184), 2517}, - {QMI_LOC_SET_GEOFENCE_ENGINE_CONTEXT_REQ_V02, QMI_IDL_TYPE16(0, 186), 25}, - {QMI_LOC_DELETE_GEOFENCE_CONTEXT_REQ_V02, QMI_IDL_TYPE16(0, 188), 21}, - {QMI_LOC_INJECT_GTP_CLIENT_DOWNLOADED_DATA_REQ_V02, QMI_IDL_TYPE16(0, 190), 517}, - {QMI_LOC_GDT_UPLOAD_BEGIN_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 192), 21}, - {QMI_LOC_GDT_UPLOAD_END_REQ_V02, QMI_IDL_TYPE16(0, 194), 21}, - {QMI_LOC_START_DBT_REQ_V02, QMI_IDL_TYPE16(0, 196), 36}, - {QMI_LOC_STOP_DBT_REQ_V02, QMI_IDL_TYPE16(0, 198), 4}, - {QMI_LOC_SECURE_GET_AVAILABLE_POSITION_REQ_V02, QMI_IDL_TYPE16(0, 202), 268}, - {QMI_LOC_INJECT_TIME_ZONE_INFO_REQ_V02, QMI_IDL_TYPE16(0, 206), 30}, - {QMI_LOC_INJECT_APCACHE_DATA_REQ_V02, QMI_IDL_TYPE16(0, 208), 1616}, - {QMI_LOC_INJECT_APDONOTCACHE_DATA_REQ_V02, QMI_IDL_TYPE16(0, 210), 656}, - {QMI_LOC_QUERY_AON_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 213), 7} + {QMI_LOC_GET_SERVICE_REVISION_REQ_V02, QMI_IDL_TYPE16(0, 32), 0}, + {QMI_LOC_GET_FIX_CRITERIA_REQ_V02, QMI_IDL_TYPE16(0, 34), 0}, + {QMI_LOC_NI_USER_RESPONSE_REQ_V02, QMI_IDL_TYPE16(0, 36), 1345}, + {QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_REQ_V02, QMI_IDL_TYPE16(0, 38), 1053}, + {QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_REQ_V02, QMI_IDL_TYPE16(0, 40), 0}, + {QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_REQ_V02, QMI_IDL_TYPE16(0, 42), 0}, + {QMI_LOC_INJECT_UTC_TIME_REQ_V02, QMI_IDL_TYPE16(0, 44), 18}, + {QMI_LOC_INJECT_POSITION_REQ_V02, QMI_IDL_TYPE16(0, 46), 123}, + {QMI_LOC_SET_ENGINE_LOCK_REQ_V02, QMI_IDL_TYPE16(0, 48), 7}, + {QMI_LOC_GET_ENGINE_LOCK_REQ_V02, QMI_IDL_TYPE16(0, 50), 0}, + {QMI_LOC_SET_SBAS_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 52), 4}, + {QMI_LOC_GET_SBAS_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 54), 0}, + {QMI_LOC_SET_NMEA_TYPES_REQ_V02, QMI_IDL_TYPE16(0, 56), 7}, + {QMI_LOC_GET_NMEA_TYPES_REQ_V02, QMI_IDL_TYPE16(0, 58), 0}, + {QMI_LOC_SET_LOW_POWER_MODE_REQ_V02, QMI_IDL_TYPE16(0, 60), 4}, + {QMI_LOC_GET_LOW_POWER_MODE_REQ_V02, QMI_IDL_TYPE16(0, 62), 0}, + {QMI_LOC_SET_SERVER_REQ_V02, QMI_IDL_TYPE16(0, 64), 297}, + {QMI_LOC_GET_SERVER_REQ_V02, QMI_IDL_TYPE16(0, 66), 11}, + {QMI_LOC_DELETE_ASSIST_DATA_REQ_V02, QMI_IDL_TYPE16(0, 68), 1156}, + {QMI_LOC_SET_XTRA_T_SESSION_CONTROL_REQ_V02, QMI_IDL_TYPE16(0, 70), 4}, + {QMI_LOC_GET_XTRA_T_SESSION_CONTROL_REQ_V02, QMI_IDL_TYPE16(0, 72), 0}, + {QMI_LOC_INJECT_WIFI_POSITION_REQ_V02, QMI_IDL_TYPE16(0, 74), 2353}, + {QMI_LOC_NOTIFY_WIFI_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 76), 7}, + {QMI_LOC_GET_REGISTERED_EVENTS_REQ_V02, QMI_IDL_TYPE16(0, 78), 0}, + {QMI_LOC_SET_OPERATION_MODE_REQ_V02, QMI_IDL_TYPE16(0, 80), 14}, + {QMI_LOC_GET_OPERATION_MODE_REQ_V02, QMI_IDL_TYPE16(0, 82), 0}, + {QMI_LOC_SET_SPI_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 84), 8}, + {QMI_LOC_INJECT_SENSOR_DATA_REQ_V02, QMI_IDL_TYPE16(0, 86), 2779}, + {QMI_LOC_INJECT_TIME_SYNC_DATA_REQ_V02, QMI_IDL_TYPE16(0, 88), 21}, + {QMI_LOC_SET_CRADLE_MOUNT_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 92), 11}, + {QMI_LOC_GET_CRADLE_MOUNT_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 90), 0}, + {QMI_LOC_SET_EXTERNAL_POWER_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 96), 7}, + {QMI_LOC_GET_EXTERNAL_POWER_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 94), 0}, + {QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 98), 129}, + {QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02, QMI_IDL_TYPE16(0, 100), 57}, + {QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02, QMI_IDL_TYPE16(0, 102), 11}, + {QMI_LOC_SET_SENSOR_CONTROL_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 104), 14}, + {QMI_LOC_GET_SENSOR_CONTROL_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 106), 0}, + {QMI_LOC_SET_SENSOR_PROPERTIES_REQ_V02, QMI_IDL_TYPE16(0, 108), 88}, + {QMI_LOC_GET_SENSOR_PROPERTIES_REQ_V02, QMI_IDL_TYPE16(0, 110), 7}, + {QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_REQ_V02, QMI_IDL_TYPE16(0, 112), 42}, + {QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_REQ_V02, QMI_IDL_TYPE16(0, 114), 0}, + {QMI_LOC_INJECT_SUPL_CERTIFICATE_REQ_V02, QMI_IDL_TYPE16(0, 116), 2009}, + {QMI_LOC_DELETE_SUPL_CERTIFICATE_REQ_V02, QMI_IDL_TYPE16(0, 118), 4}, + {QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_REQ_V02, QMI_IDL_TYPE16(0, 120), 16}, + {QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_REQ_V02, QMI_IDL_TYPE16(0, 122), 7}, + {QMI_LOC_ADD_CIRCULAR_GEOFENCE_REQ_V02, QMI_IDL_TYPE16(0, 124), 70}, + {QMI_LOC_DELETE_GEOFENCE_REQ_V02, QMI_IDL_TYPE16(0, 126), 14}, + {QMI_LOC_QUERY_GEOFENCE_REQ_V02, QMI_IDL_TYPE16(0, 128), 14}, + {QMI_LOC_EDIT_GEOFENCE_REQ_V02, QMI_IDL_TYPE16(0, 134), 32}, + {QMI_LOC_GET_BEST_AVAILABLE_POSITION_REQ_V02, QMI_IDL_TYPE16(0, 139), 7}, + {QMI_LOC_INJECT_MOTION_DATA_REQ_V02, QMI_IDL_TYPE16(0, 141), 19}, + {QMI_LOC_GET_NI_GEOFENCE_ID_LIST_REQ_V02, QMI_IDL_TYPE16(0, 143), 7}, + {QMI_LOC_INJECT_GSM_CELL_INFO_REQ_V02, QMI_IDL_TYPE16(0, 145), 30}, + {QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_REQ_V02, QMI_IDL_TYPE16(0, 153), 1036}, + {QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_REQ_V02, QMI_IDL_TYPE16(0, 155), 0}, + {QMI_LOC_PEDOMETER_REPORT_REQ_V02, QMI_IDL_TYPE16(0, 157), 46}, + {QMI_LOC_INJECT_WCDMA_CELL_INFO_REQ_V02, QMI_IDL_TYPE16(0, 147), 36}, + {QMI_LOC_INJECT_TDSCDMA_CELL_INFO_REQ_V02, QMI_IDL_TYPE16(0, 149), 33}, + {QMI_LOC_INJECT_SUBSCRIBER_ID_REQ_V02, QMI_IDL_TYPE16(0, 151), 22}, + {QMI_LOC_SET_GEOFENCE_ENGINE_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 130), 224}, + {QMI_LOC_GET_GEOFENCE_ENGINE_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 132), 7}, + {QMI_LOC_GET_BATCH_SIZE_REQ_V02, QMI_IDL_TYPE16(0, 159), 14}, + {QMI_LOC_START_BATCHING_REQ_V02, QMI_IDL_TYPE16(0, 161), 39}, + {QMI_LOC_READ_FROM_BATCH_REQ_V02, QMI_IDL_TYPE16(0, 165), 14}, + {QMI_LOC_STOP_BATCHING_REQ_V02, QMI_IDL_TYPE16(0, 167), 14}, + {QMI_LOC_RELEASE_BATCH_REQ_V02, QMI_IDL_TYPE16(0, 169), 7}, + {QMI_LOC_INJECT_WIFI_AP_DATA_REQ_V02, QMI_IDL_TYPE16(0, 172), 2454}, + {QMI_LOC_NOTIFY_WIFI_ATTACHMENT_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 174), 51}, + {QMI_LOC_NOTIFY_WIFI_ENABLED_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 176), 7}, + {QMI_LOC_INJECT_VEHICLE_SENSOR_DATA_REQ_V02, QMI_IDL_TYPE16(0, 179), 3360}, + {QMI_LOC_GET_AVAILABLE_WWAN_POSITION_REQ_V02, QMI_IDL_TYPE16(0, 181), 7}, + {QMI_LOC_SET_PREMIUM_SERVICES_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 183), 14}, + {QMI_LOC_SET_XTRA_VERSION_CHECK_REQ_V02, QMI_IDL_TYPE16(0, 185), 7}, + {QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG_V02, QMI_IDL_TYPE16(0, 187), 22}, + {QMI_LOC_ADD_GEOFENCE_CONTEXT_REQ_V02, QMI_IDL_TYPE16(0, 191), 2517}, + {QMI_LOC_SET_GEOFENCE_ENGINE_CONTEXT_REQ_V02, QMI_IDL_TYPE16(0, 193), 25}, + {QMI_LOC_DELETE_GEOFENCE_CONTEXT_REQ_V02, QMI_IDL_TYPE16(0, 195), 21}, + {QMI_LOC_INJECT_GTP_CLIENT_DOWNLOADED_DATA_REQ_V02, QMI_IDL_TYPE16(0, 197), 517}, + {QMI_LOC_GDT_UPLOAD_BEGIN_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 199), 21}, + {QMI_LOC_GDT_UPLOAD_END_REQ_V02, QMI_IDL_TYPE16(0, 201), 21}, + {QMI_LOC_START_DBT_REQ_V02, QMI_IDL_TYPE16(0, 213), 36}, + {QMI_LOC_STOP_DBT_REQ_V02, QMI_IDL_TYPE16(0, 215), 4}, + {QMI_LOC_SECURE_GET_AVAILABLE_POSITION_REQ_V02, QMI_IDL_TYPE16(0, 219), 268}, + {QMI_LOC_INJECT_TIME_ZONE_INFO_REQ_V02, QMI_IDL_TYPE16(0, 137), 30}, + {QMI_LOC_INJECT_APCACHE_DATA_REQ_V02, QMI_IDL_TYPE16(0, 221), 1616}, + {QMI_LOC_INJECT_APDONOTCACHE_DATA_REQ_V02, QMI_IDL_TYPE16(0, 223), 656}, + {QMI_LOC_QUERY_AON_CONFIG_REQ_V02, QMI_IDL_TYPE16(0, 226), 7}, + {QMI_LOC_GTP_AP_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 203), 540}, + {QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 205), 287}, + {QMI_LOC_GDT_DOWNLOAD_READY_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 207), 280}, + {QMI_LOC_GDT_RECEIVE_DONE_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 209), 21}, + {QMI_LOC_GDT_DOWNLOAD_END_STATUS_REQ_V02, QMI_IDL_TYPE16(0, 211), 21}, + {QMI_LOC_DELETE_GNSS_SERVICE_DATA_REQ_V02, QMI_IDL_TYPE16(0, 228), 36} }; static const qmi_idl_service_message_table_entry loc_service_response_messages_v02[] = { @@ -5412,7 +5754,13 @@ static const qmi_idl_service_message_table_entry loc_service_response_messages_v {QMI_LOC_INJECT_TIME_ZONE_INFO_RESP_V02, QMI_IDL_TYPE16(0, 0), 7}, {QMI_LOC_INJECT_APCACHE_DATA_RESP_V02, QMI_IDL_TYPE16(0, 0), 7}, {QMI_LOC_INJECT_APDONOTCACHE_DATA_RESP_V02, QMI_IDL_TYPE16(0, 0), 7}, - {QMI_LOC_QUERY_AON_CONFIG_RESP_V02, QMI_IDL_TYPE16(0, 0), 7} + {QMI_LOC_QUERY_AON_CONFIG_RESP_V02, QMI_IDL_TYPE16(0, 0), 7}, + {QMI_LOC_GTP_AP_STATUS_RESP_V02, QMI_IDL_TYPE16(0, 0), 7}, + {QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_RESP_V02, QMI_IDL_TYPE16(0, 0), 7}, + {QMI_LOC_GDT_DOWNLOAD_READY_STATUS_RESP_V02, QMI_IDL_TYPE16(0, 0), 7}, + {QMI_LOC_GDT_RECEIVE_DONE_STATUS_RESP_V02, QMI_IDL_TYPE16(0, 0), 7}, + {QMI_LOC_GDT_DOWNLOAD_END_STATUS_RESP_V02, QMI_IDL_TYPE16(0, 0), 7}, + {QMI_LOC_DELETE_GNSS_SERVICE_DATA_RESP_V02, QMI_IDL_TYPE16(0, 0), 7} }; static const qmi_idl_service_message_table_entry loc_service_indication_messages_v02[] = { @@ -5430,114 +5778,123 @@ static const qmi_idl_service_message_table_entry loc_service_indication_messages {QMI_LOC_EVENT_TIME_SYNC_REQ_IND_V02, QMI_IDL_TYPE16(0, 16), 7}, {QMI_LOC_EVENT_SET_SPI_STREAMING_REPORT_IND_V02, QMI_IDL_TYPE16(0, 17), 4}, {QMI_LOC_EVENT_LOCATION_SERVER_CONNECTION_REQ_IND_V02, QMI_IDL_TYPE16(0, 18), 21}, - {QMI_LOC_GET_SERVICE_REVISION_IND_V02, QMI_IDL_TYPE16(0, 29), 532}, - {QMI_LOC_GET_FIX_CRITERIA_IND_V02, QMI_IDL_TYPE16(0, 31), 99}, - {QMI_LOC_NI_USER_RESPONSE_IND_V02, QMI_IDL_TYPE16(0, 33), 7}, - {QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_IND_V02, QMI_IDL_TYPE16(0, 35), 12}, - {QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_IND_V02, QMI_IDL_TYPE16(0, 37), 790}, - {QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_IND_V02, QMI_IDL_TYPE16(0, 39), 20}, - {QMI_LOC_INJECT_UTC_TIME_IND_V02, QMI_IDL_TYPE16(0, 41), 7}, - {QMI_LOC_INJECT_POSITION_IND_V02, QMI_IDL_TYPE16(0, 43), 7}, - {QMI_LOC_SET_ENGINE_LOCK_IND_V02, QMI_IDL_TYPE16(0, 45), 7}, - {QMI_LOC_GET_ENGINE_LOCK_IND_V02, QMI_IDL_TYPE16(0, 47), 14}, - {QMI_LOC_SET_SBAS_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 49), 7}, - {QMI_LOC_GET_SBAS_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 51), 11}, - {QMI_LOC_SET_NMEA_TYPES_IND_V02, QMI_IDL_TYPE16(0, 53), 7}, - {QMI_LOC_GET_NMEA_TYPES_IND_V02, QMI_IDL_TYPE16(0, 55), 14}, - {QMI_LOC_SET_LOW_POWER_MODE_IND_V02, QMI_IDL_TYPE16(0, 57), 7}, - {QMI_LOC_GET_LOW_POWER_MODE_IND_V02, QMI_IDL_TYPE16(0, 59), 11}, - {QMI_LOC_SET_SERVER_IND_V02, QMI_IDL_TYPE16(0, 61), 7}, - {QMI_LOC_GET_SERVER_IND_V02, QMI_IDL_TYPE16(0, 63), 304}, - {QMI_LOC_DELETE_ASSIST_DATA_IND_V02, QMI_IDL_TYPE16(0, 65), 7}, - {QMI_LOC_SET_XTRA_T_SESSION_CONTROL_IND_V02, QMI_IDL_TYPE16(0, 67), 7}, - {QMI_LOC_GET_XTRA_T_SESSION_CONTROL_IND_V02, QMI_IDL_TYPE16(0, 69), 11}, - {QMI_LOC_INJECT_WIFI_POSITION_IND_V02, QMI_IDL_TYPE16(0, 71), 7}, - {QMI_LOC_NOTIFY_WIFI_STATUS_IND_V02, QMI_IDL_TYPE16(0, 73), 7}, - {QMI_LOC_GET_REGISTERED_EVENTS_IND_V02, QMI_IDL_TYPE16(0, 75), 18}, - {QMI_LOC_SET_OPERATION_MODE_IND_V02, QMI_IDL_TYPE16(0, 77), 7}, - {QMI_LOC_GET_OPERATION_MODE_IND_V02, QMI_IDL_TYPE16(0, 79), 14}, - {QMI_LOC_SET_SPI_STATUS_IND_V02, QMI_IDL_TYPE16(0, 81), 7}, - {QMI_LOC_INJECT_SENSOR_DATA_IND_V02, QMI_IDL_TYPE16(0, 83), 34}, - {QMI_LOC_INJECT_TIME_SYNC_DATA_IND_V02, QMI_IDL_TYPE16(0, 85), 7}, - {QMI_LOC_SET_CRADLE_MOUNT_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 89), 7}, - {QMI_LOC_GET_CRADLE_MOUNT_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 87), 18}, - {QMI_LOC_SET_EXTERNAL_POWER_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 93), 7}, - {QMI_LOC_GET_EXTERNAL_POWER_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 91), 14}, - {QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_IND_V02, QMI_IDL_TYPE16(0, 95), 7}, - {QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_IND_V02, QMI_IDL_TYPE16(0, 97), 18}, - {QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_IND_V02, QMI_IDL_TYPE16(0, 99), 64}, - {QMI_LOC_SET_SENSOR_CONTROL_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 101), 7}, - {QMI_LOC_GET_SENSOR_CONTROL_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 103), 21}, - {QMI_LOC_SET_SENSOR_PROPERTIES_IND_V02, QMI_IDL_TYPE16(0, 105), 14}, - {QMI_LOC_GET_SENSOR_PROPERTIES_IND_V02, QMI_IDL_TYPE16(0, 107), 95}, - {QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_IND_V02, QMI_IDL_TYPE16(0, 109), 14}, - {QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_IND_V02, QMI_IDL_TYPE16(0, 111), 49}, - {QMI_LOC_INJECT_SUPL_CERTIFICATE_IND_V02, QMI_IDL_TYPE16(0, 113), 7}, - {QMI_LOC_DELETE_SUPL_CERTIFICATE_IND_V02, QMI_IDL_TYPE16(0, 115), 7}, - {QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_IND_V02, QMI_IDL_TYPE16(0, 117), 14}, - {QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_IND_V02, QMI_IDL_TYPE16(0, 119), 23}, + {QMI_LOC_GET_SERVICE_REVISION_IND_V02, QMI_IDL_TYPE16(0, 33), 532}, + {QMI_LOC_GET_FIX_CRITERIA_IND_V02, QMI_IDL_TYPE16(0, 35), 99}, + {QMI_LOC_NI_USER_RESPONSE_IND_V02, QMI_IDL_TYPE16(0, 37), 7}, + {QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_IND_V02, QMI_IDL_TYPE16(0, 39), 12}, + {QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_IND_V02, QMI_IDL_TYPE16(0, 41), 790}, + {QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_IND_V02, QMI_IDL_TYPE16(0, 43), 20}, + {QMI_LOC_INJECT_UTC_TIME_IND_V02, QMI_IDL_TYPE16(0, 45), 7}, + {QMI_LOC_INJECT_POSITION_IND_V02, QMI_IDL_TYPE16(0, 47), 7}, + {QMI_LOC_SET_ENGINE_LOCK_IND_V02, QMI_IDL_TYPE16(0, 49), 7}, + {QMI_LOC_GET_ENGINE_LOCK_IND_V02, QMI_IDL_TYPE16(0, 51), 14}, + {QMI_LOC_SET_SBAS_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 53), 7}, + {QMI_LOC_GET_SBAS_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 55), 11}, + {QMI_LOC_SET_NMEA_TYPES_IND_V02, QMI_IDL_TYPE16(0, 57), 7}, + {QMI_LOC_GET_NMEA_TYPES_IND_V02, QMI_IDL_TYPE16(0, 59), 14}, + {QMI_LOC_SET_LOW_POWER_MODE_IND_V02, QMI_IDL_TYPE16(0, 61), 7}, + {QMI_LOC_GET_LOW_POWER_MODE_IND_V02, QMI_IDL_TYPE16(0, 63), 11}, + {QMI_LOC_SET_SERVER_IND_V02, QMI_IDL_TYPE16(0, 65), 7}, + {QMI_LOC_GET_SERVER_IND_V02, QMI_IDL_TYPE16(0, 67), 304}, + {QMI_LOC_DELETE_ASSIST_DATA_IND_V02, QMI_IDL_TYPE16(0, 69), 7}, + {QMI_LOC_SET_XTRA_T_SESSION_CONTROL_IND_V02, QMI_IDL_TYPE16(0, 71), 7}, + {QMI_LOC_GET_XTRA_T_SESSION_CONTROL_IND_V02, QMI_IDL_TYPE16(0, 73), 11}, + {QMI_LOC_INJECT_WIFI_POSITION_IND_V02, QMI_IDL_TYPE16(0, 75), 7}, + {QMI_LOC_NOTIFY_WIFI_STATUS_IND_V02, QMI_IDL_TYPE16(0, 77), 7}, + {QMI_LOC_GET_REGISTERED_EVENTS_IND_V02, QMI_IDL_TYPE16(0, 79), 18}, + {QMI_LOC_SET_OPERATION_MODE_IND_V02, QMI_IDL_TYPE16(0, 81), 7}, + {QMI_LOC_GET_OPERATION_MODE_IND_V02, QMI_IDL_TYPE16(0, 83), 14}, + {QMI_LOC_SET_SPI_STATUS_IND_V02, QMI_IDL_TYPE16(0, 85), 7}, + {QMI_LOC_INJECT_SENSOR_DATA_IND_V02, QMI_IDL_TYPE16(0, 87), 34}, + {QMI_LOC_INJECT_TIME_SYNC_DATA_IND_V02, QMI_IDL_TYPE16(0, 89), 7}, + {QMI_LOC_SET_CRADLE_MOUNT_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 93), 7}, + {QMI_LOC_GET_CRADLE_MOUNT_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 91), 18}, + {QMI_LOC_SET_EXTERNAL_POWER_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 97), 7}, + {QMI_LOC_GET_EXTERNAL_POWER_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 95), 14}, + {QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_IND_V02, QMI_IDL_TYPE16(0, 99), 7}, + {QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_IND_V02, QMI_IDL_TYPE16(0, 101), 18}, + {QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_IND_V02, QMI_IDL_TYPE16(0, 103), 64}, + {QMI_LOC_SET_SENSOR_CONTROL_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 105), 7}, + {QMI_LOC_GET_SENSOR_CONTROL_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 107), 21}, + {QMI_LOC_SET_SENSOR_PROPERTIES_IND_V02, QMI_IDL_TYPE16(0, 109), 14}, + {QMI_LOC_GET_SENSOR_PROPERTIES_IND_V02, QMI_IDL_TYPE16(0, 111), 95}, + {QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_IND_V02, QMI_IDL_TYPE16(0, 113), 14}, + {QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_IND_V02, QMI_IDL_TYPE16(0, 115), 49}, + {QMI_LOC_INJECT_SUPL_CERTIFICATE_IND_V02, QMI_IDL_TYPE16(0, 117), 7}, + {QMI_LOC_DELETE_SUPL_CERTIFICATE_IND_V02, QMI_IDL_TYPE16(0, 119), 7}, + {QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_IND_V02, QMI_IDL_TYPE16(0, 121), 14}, + {QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_IND_V02, QMI_IDL_TYPE16(0, 123), 23}, {QMI_LOC_EVENT_NI_GEOFENCE_NOTIFICATION_IND_V02, QMI_IDL_TYPE16(0, 19), 14}, {QMI_LOC_EVENT_GEOFENCE_GEN_ALERT_IND_V02, QMI_IDL_TYPE16(0, 20), 7}, {QMI_LOC_EVENT_GEOFENCE_BREACH_NOTIFICATION_IND_V02, QMI_IDL_TYPE16(0, 21), 85}, - {QMI_LOC_ADD_CIRCULAR_GEOFENCE_IND_V02, QMI_IDL_TYPE16(0, 121), 21}, - {QMI_LOC_DELETE_GEOFENCE_IND_V02, QMI_IDL_TYPE16(0, 123), 21}, - {QMI_LOC_QUERY_GEOFENCE_IND_V02, QMI_IDL_TYPE16(0, 125), 65}, - {QMI_LOC_EDIT_GEOFENCE_IND_V02, QMI_IDL_TYPE16(0, 131), 28}, - {QMI_LOC_GET_BEST_AVAILABLE_POSITION_IND_V02, QMI_IDL_TYPE16(0, 133), 391}, - {QMI_LOC_INJECT_MOTION_DATA_IND_V02, QMI_IDL_TYPE16(0, 135), 7}, - {QMI_LOC_GET_NI_GEOFENCE_ID_LIST_IND_V02, QMI_IDL_TYPE16(0, 137), 82}, - {QMI_LOC_INJECT_GSM_CELL_INFO_IND_V02, QMI_IDL_TYPE16(0, 139), 7}, - {QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_IND_V02, QMI_IDL_TYPE16(0, 147), 7}, - {QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_IND_V02, QMI_IDL_TYPE16(0, 149), 7}, + {QMI_LOC_ADD_CIRCULAR_GEOFENCE_IND_V02, QMI_IDL_TYPE16(0, 125), 21}, + {QMI_LOC_DELETE_GEOFENCE_IND_V02, QMI_IDL_TYPE16(0, 127), 21}, + {QMI_LOC_QUERY_GEOFENCE_IND_V02, QMI_IDL_TYPE16(0, 129), 65}, + {QMI_LOC_EDIT_GEOFENCE_IND_V02, QMI_IDL_TYPE16(0, 135), 28}, + {QMI_LOC_GET_BEST_AVAILABLE_POSITION_IND_V02, QMI_IDL_TYPE16(0, 140), 391}, + {QMI_LOC_INJECT_MOTION_DATA_IND_V02, QMI_IDL_TYPE16(0, 142), 7}, + {QMI_LOC_GET_NI_GEOFENCE_ID_LIST_IND_V02, QMI_IDL_TYPE16(0, 144), 82}, + {QMI_LOC_INJECT_GSM_CELL_INFO_IND_V02, QMI_IDL_TYPE16(0, 146), 7}, + {QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_IND_V02, QMI_IDL_TYPE16(0, 154), 7}, + {QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_IND_V02, QMI_IDL_TYPE16(0, 156), 7}, {QMI_LOC_EVENT_PEDOMETER_CONTROL_IND_V02, QMI_IDL_TYPE16(0, 22), 15}, {QMI_LOC_EVENT_MOTION_DATA_CONTROL_IND_V02, QMI_IDL_TYPE16(0, 23), 4}, - {QMI_LOC_PEDOMETER_REPORT_IND_V02, QMI_IDL_TYPE16(0, 151), 7}, - {QMI_LOC_INJECT_WCDMA_CELL_INFO_IND_V02, QMI_IDL_TYPE16(0, 141), 7}, - {QMI_LOC_INJECT_TDSCDMA_CELL_INFO_IND_V02, QMI_IDL_TYPE16(0, 143), 7}, - {QMI_LOC_INJECT_SUBSCRIBER_ID_IND_V02, QMI_IDL_TYPE16(0, 145), 7}, - {QMI_LOC_SET_GEOFENCE_ENGINE_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 127), 14}, - {QMI_LOC_GET_GEOFENCE_ENGINE_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 129), 39}, - {QMI_LOC_GET_BATCH_SIZE_IND_V02, QMI_IDL_TYPE16(0, 153), 21}, - {QMI_LOC_START_BATCHING_IND_V02, QMI_IDL_TYPE16(0, 155), 14}, - {QMI_LOC_EVENT_BATCH_FULL_NOTIFICATION_IND_V02, QMI_IDL_TYPE16(0, 156), 7}, - {QMI_LOC_EVENT_LIVE_BATCHED_POSITION_REPORT_IND_V02, QMI_IDL_TYPE16(0, 157), 90}, - {QMI_LOC_READ_FROM_BATCH_IND_V02, QMI_IDL_TYPE16(0, 159), 460}, - {QMI_LOC_STOP_BATCHING_IND_V02, QMI_IDL_TYPE16(0, 161), 21}, - {QMI_LOC_RELEASE_BATCH_IND_V02, QMI_IDL_TYPE16(0, 163), 14}, - {QMI_LOC_EVENT_INJECT_WIFI_AP_DATA_REQ_IND_V02, QMI_IDL_TYPE16(0, 164), 0}, - {QMI_LOC_INJECT_WIFI_AP_DATA_IND_V02, QMI_IDL_TYPE16(0, 166), 7}, - {QMI_LOC_NOTIFY_WIFI_ATTACHMENT_STATUS_IND_V02, QMI_IDL_TYPE16(0, 168), 7}, - {QMI_LOC_NOTIFY_WIFI_ENABLED_STATUS_IND_V02, QMI_IDL_TYPE16(0, 170), 7}, + {QMI_LOC_PEDOMETER_REPORT_IND_V02, QMI_IDL_TYPE16(0, 158), 7}, + {QMI_LOC_INJECT_WCDMA_CELL_INFO_IND_V02, QMI_IDL_TYPE16(0, 148), 7}, + {QMI_LOC_INJECT_TDSCDMA_CELL_INFO_IND_V02, QMI_IDL_TYPE16(0, 150), 7}, + {QMI_LOC_INJECT_SUBSCRIBER_ID_IND_V02, QMI_IDL_TYPE16(0, 152), 7}, + {QMI_LOC_SET_GEOFENCE_ENGINE_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 131), 14}, + {QMI_LOC_GET_GEOFENCE_ENGINE_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 133), 39}, + {QMI_LOC_GET_BATCH_SIZE_IND_V02, QMI_IDL_TYPE16(0, 160), 21}, + {QMI_LOC_START_BATCHING_IND_V02, QMI_IDL_TYPE16(0, 162), 14}, + {QMI_LOC_EVENT_BATCH_FULL_NOTIFICATION_IND_V02, QMI_IDL_TYPE16(0, 163), 7}, + {QMI_LOC_EVENT_LIVE_BATCHED_POSITION_REPORT_IND_V02, QMI_IDL_TYPE16(0, 164), 90}, + {QMI_LOC_READ_FROM_BATCH_IND_V02, QMI_IDL_TYPE16(0, 166), 460}, + {QMI_LOC_STOP_BATCHING_IND_V02, QMI_IDL_TYPE16(0, 168), 21}, + {QMI_LOC_RELEASE_BATCH_IND_V02, QMI_IDL_TYPE16(0, 170), 14}, + {QMI_LOC_EVENT_INJECT_WIFI_AP_DATA_REQ_IND_V02, QMI_IDL_TYPE16(0, 171), 0}, + {QMI_LOC_INJECT_WIFI_AP_DATA_IND_V02, QMI_IDL_TYPE16(0, 173), 7}, + {QMI_LOC_NOTIFY_WIFI_ATTACHMENT_STATUS_IND_V02, QMI_IDL_TYPE16(0, 175), 7}, + {QMI_LOC_NOTIFY_WIFI_ENABLED_STATUS_IND_V02, QMI_IDL_TYPE16(0, 177), 7}, {QMI_LOC_EVENT_GEOFENCE_BATCHED_BREACH_NOTIFICATION_IND_V02, QMI_IDL_TYPE16(0, 24), 1254}, - {QMI_LOC_EVENT_VEHICLE_DATA_READY_STATUS_IND_V02, QMI_IDL_TYPE16(0, 171), 12}, - {QMI_LOC_INJECT_VEHICLE_SENSOR_DATA_IND_V02, QMI_IDL_TYPE16(0, 173), 7}, - {QMI_LOC_GET_AVAILABLE_WWAN_POSITION_IND_V02, QMI_IDL_TYPE16(0, 175), 145}, - {QMI_LOC_SET_PREMIUM_SERVICES_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 177), 7}, - {QMI_LOC_SET_XTRA_VERSION_CHECK_IND_V02, QMI_IDL_TYPE16(0, 179), 7}, - {QMI_LOC_EVENT_GNSS_MEASUREMENT_REPORT_IND_V02, QMI_IDL_TYPE16(0, 182), 1610}, - {QMI_LOC_EVENT_SV_POLYNOMIAL_REPORT_IND_V02, QMI_IDL_TYPE16(0, 183), 325}, - {QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 181), 7}, - {QMI_LOC_ADD_GEOFENCE_CONTEXT_IND_V02, QMI_IDL_TYPE16(0, 185), 28}, - {QMI_LOC_SET_GEOFENCE_ENGINE_CONTEXT_IND_V02, QMI_IDL_TYPE16(0, 187), 14}, - {QMI_LOC_DELETE_GEOFENCE_CONTEXT_IND_V02, QMI_IDL_TYPE16(0, 189), 28}, + {QMI_LOC_EVENT_VEHICLE_DATA_READY_STATUS_IND_V02, QMI_IDL_TYPE16(0, 178), 12}, + {QMI_LOC_INJECT_VEHICLE_SENSOR_DATA_IND_V02, QMI_IDL_TYPE16(0, 180), 7}, + {QMI_LOC_GET_AVAILABLE_WWAN_POSITION_IND_V02, QMI_IDL_TYPE16(0, 182), 145}, + {QMI_LOC_SET_PREMIUM_SERVICES_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 184), 7}, + {QMI_LOC_SET_XTRA_VERSION_CHECK_IND_V02, QMI_IDL_TYPE16(0, 186), 7}, + {QMI_LOC_EVENT_GNSS_MEASUREMENT_REPORT_IND_V02, QMI_IDL_TYPE16(0, 189), 1610}, + {QMI_LOC_EVENT_SV_POLYNOMIAL_REPORT_IND_V02, QMI_IDL_TYPE16(0, 190), 325}, + {QMI_LOC_SET_GNSS_CONSTELL_REPORT_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 188), 7}, + {QMI_LOC_ADD_GEOFENCE_CONTEXT_IND_V02, QMI_IDL_TYPE16(0, 192), 28}, + {QMI_LOC_SET_GEOFENCE_ENGINE_CONTEXT_IND_V02, QMI_IDL_TYPE16(0, 194), 14}, + {QMI_LOC_DELETE_GEOFENCE_CONTEXT_IND_V02, QMI_IDL_TYPE16(0, 196), 28}, {QMI_LOC_EVENT_GEOFENCE_PROXIMITY_NOTIFICATION_IND_V02, QMI_IDL_TYPE16(0, 25), 21}, - {QMI_LOC_INJECT_GTP_CLIENT_DOWNLOADED_DATA_IND_V02, QMI_IDL_TYPE16(0, 191), 7}, - {QMI_LOC_GDT_UPLOAD_BEGIN_STATUS_IND_V02, QMI_IDL_TYPE16(0, 193), 7}, - {QMI_LOC_GDT_UPLOAD_END_IND_V02, QMI_IDL_TYPE16(0, 195), 7}, - {QMI_LOC_EVENT_GDT_UPLOAD_BEGIN_STATUS_REQ_IND_V02, QMI_IDL_TYPE16(0, 26), 273}, - {QMI_LOC_EVENT_GDT_UPLOAD_END_REQ_IND_V02, QMI_IDL_TYPE16(0, 27), 21}, - {QMI_LOC_START_DBT_IND_V02, QMI_IDL_TYPE16(0, 197), 11}, - {QMI_LOC_EVENT_DBT_POSITION_REPORT_IND_V02, QMI_IDL_TYPE16(0, 200), 283}, - {QMI_LOC_EVENT_DBT_SESSION_STATUS_IND_V02, QMI_IDL_TYPE16(0, 201), 11}, - {QMI_LOC_STOP_DBT_IND_V02, QMI_IDL_TYPE16(0, 199), 11}, - {QMI_LOC_SECURE_GET_AVAILABLE_POSITION_IND_V02, QMI_IDL_TYPE16(0, 203), 1043}, - {QMI_LOC_EVENT_GEOFENCE_BATCHED_DWELL_NOTIFICATION_IND_V02, QMI_IDL_TYPE16(0, 204), 1247}, - {QMI_LOC_EVENT_GET_TIME_ZONE_INFO_IND_V02, QMI_IDL_TYPE16(0, 205), 7}, - {QMI_LOC_INJECT_TIME_ZONE_INFO_IND_V02, QMI_IDL_TYPE16(0, 207), 7}, - {QMI_LOC_INJECT_APCACHE_DATA_IND_V02, QMI_IDL_TYPE16(0, 209), 7}, - {QMI_LOC_INJECT_APDONOTCACHE_DATA_IND_V02, QMI_IDL_TYPE16(0, 211), 7}, - {QMI_LOC_EVENT_BATCHING_STATUS_IND_V02, QMI_IDL_TYPE16(0, 212), 7}, - {QMI_LOC_QUERY_AON_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 214), 21} + {QMI_LOC_INJECT_GTP_CLIENT_DOWNLOADED_DATA_IND_V02, QMI_IDL_TYPE16(0, 198), 7}, + {QMI_LOC_GDT_UPLOAD_BEGIN_STATUS_IND_V02, QMI_IDL_TYPE16(0, 200), 7}, + {QMI_LOC_GDT_UPLOAD_END_IND_V02, QMI_IDL_TYPE16(0, 202), 7}, + {QMI_LOC_EVENT_GDT_UPLOAD_BEGIN_STATUS_REQ_IND_V02, QMI_IDL_TYPE16(0, 27), 273}, + {QMI_LOC_EVENT_GDT_UPLOAD_END_REQ_IND_V02, QMI_IDL_TYPE16(0, 28), 21}, + {QMI_LOC_START_DBT_IND_V02, QMI_IDL_TYPE16(0, 214), 11}, + {QMI_LOC_EVENT_DBT_POSITION_REPORT_IND_V02, QMI_IDL_TYPE16(0, 217), 283}, + {QMI_LOC_EVENT_DBT_SESSION_STATUS_IND_V02, QMI_IDL_TYPE16(0, 218), 11}, + {QMI_LOC_STOP_DBT_IND_V02, QMI_IDL_TYPE16(0, 216), 11}, + {QMI_LOC_SECURE_GET_AVAILABLE_POSITION_IND_V02, QMI_IDL_TYPE16(0, 220), 1043}, + {QMI_LOC_EVENT_GEOFENCE_BATCHED_DWELL_NOTIFICATION_IND_V02, QMI_IDL_TYPE16(0, 26), 1247}, + {QMI_LOC_EVENT_GET_TIME_ZONE_INFO_IND_V02, QMI_IDL_TYPE16(0, 136), 7}, + {QMI_LOC_INJECT_TIME_ZONE_INFO_IND_V02, QMI_IDL_TYPE16(0, 138), 7}, + {QMI_LOC_INJECT_APCACHE_DATA_IND_V02, QMI_IDL_TYPE16(0, 222), 70}, + {QMI_LOC_INJECT_APDONOTCACHE_DATA_IND_V02, QMI_IDL_TYPE16(0, 224), 7}, + {QMI_LOC_EVENT_BATCHING_STATUS_IND_V02, QMI_IDL_TYPE16(0, 225), 7}, + {QMI_LOC_QUERY_AON_CONFIG_IND_V02, QMI_IDL_TYPE16(0, 227), 21}, + {QMI_LOC_GTP_AP_STATUS_IND_V02, QMI_IDL_TYPE16(0, 204), 18}, + {QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_IND_V02, QMI_IDL_TYPE16(0, 206), 7}, + {QMI_LOC_GDT_DOWNLOAD_READY_STATUS_IND_V02, QMI_IDL_TYPE16(0, 208), 7}, + {QMI_LOC_GDT_RECEIVE_DONE_STATUS_IND_V02, QMI_IDL_TYPE16(0, 210), 7}, + {QMI_LOC_GDT_DOWNLOAD_END_STATUS_IND_V02, QMI_IDL_TYPE16(0, 212), 7}, + {QMI_LOC_EVENT_GDT_DOWNLOAD_BEGIN_REQ_IND_V02, QMI_IDL_TYPE16(0, 29), 5804}, + {QMI_LOC_EVENT_GDT_RECEIVE_DONE_IND_V02, QMI_IDL_TYPE16(0, 30), 21}, + {QMI_LOC_EVENT_GDT_DOWNLOAD_END_REQ_IND_V02, QMI_IDL_TYPE16(0, 31), 21}, + {QMI_LOC_DELETE_GNSS_SERVICE_DATA_IND_V02, QMI_IDL_TYPE16(0, 229), 7} }; /*Service Object*/ @@ -5551,7 +5908,7 @@ struct qmi_idl_service_object loc_qmi_idl_service_object_v02 = { sizeof(loc_service_indication_messages_v02)/sizeof(qmi_idl_service_message_table_entry) }, { loc_service_command_messages_v02, loc_service_response_messages_v02, loc_service_indication_messages_v02}, &loc_qmi_idl_type_table_object_v02, - 0x2C, + 0x31, NULL }; diff --git a/gps/loc_api/loc_api_v02/location_service_v02.h b/gps/loc_api/loc_api_v02/location_service_v02.h index d0ce1f4..3e817fd 100644 --- a/gps/loc_api/loc_api_v02/location_service_v02.h +++ b/gps/loc_api/loc_api_v02/location_service_v02.h @@ -62,8 +62,8 @@ *THIS IS AN AUTO GENERATED FILE. DO NOT ALTER IN ANY WAY *====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/ -/* This file was generated with Tool version 6.14.5 - It was generated on: Thu Jul 2 2015 (Spin 0) +/* This file was generated with Tool version 6.14.7 + It was generated on: Tue Dec 1 2015 (Spin 0) From IDL File: location_service_v02.idl */ /** @defgroup loc_qmi_consts Constant values defined in the IDL */ @@ -89,11 +89,11 @@ extern "C" { /** Major Version Number of the IDL used to generate this file */ #define LOC_V02_IDL_MAJOR_VERS 0x02 /** Revision Number of the IDL used to generate this file */ -#define LOC_V02_IDL_MINOR_VERS 0x2C +#define LOC_V02_IDL_MINOR_VERS 0x31 /** Major Version Number of the qmi_idl_compiler used to generate this file */ #define LOC_V02_IDL_TOOL_VERS 0x06 /** Maximum Defined Message ID */ -#define LOC_V02_MAX_MESSAGE_ID 0x009D +#define LOC_V02_MAX_MESSAGE_ID 0x00A6 /** @} */ @@ -164,6 +164,12 @@ extern "C" { /** Maximum length that can be injected. */ #define QMI_LOC_MAX_GDT_PATH_LEN_V02 255 +/** Maximum client info size in bytes. */ +#define QMI_LOC_MAX_GTP_CL_INFO_LEN_V02 1500 + +/** Maximum mobile status data size in bytes. */ +#define QMI_LOC_MAX_GTP_MSD_LEN_V02 4000 + /** Maximum GNSS Measurement Engine Firmware Version String length. */ #define QMI_LOC_GNSS_ME_VERSION_STRING_MAX_LENGTH_V02 127 @@ -264,6 +270,15 @@ extern "C" { /** Maximum length that can be injected. */ #define QMI_LOC_MAX_GTP_WWAN_CLIENT_DOWNLOADED_DATA_LEN_V02 512 +/** Maximum length of OEM id. */ +#define QMI_LOC_MAX_OEM_ID_LEN_V02 256 + +/** Maximum length of model id. */ +#define QMI_LOC_MAX_MODEL_ID_LEN_V02 256 + +/** Maximum length that can be injected. */ +#define QMI_LOC_MAX_GTP_RLI_LEN_V02 256 + /** Maximum buffer length of the encrypted data blob for the Secure Get Available Position request. */ #define QMI_LOC_SECURE_GET_AVAILABLE_POS_REQUEST_ENCRYPTED_MAX_V02 256 @@ -716,6 +731,18 @@ typedef struct { - Units: Milliseconds \n - Default: 0 ms */ + + /* Optional */ + /* Maximum Wait Time to Get a Position Report */ + uint8_t positionReportTimeout_valid; /**< Must be set to true if positionReportTimeout is being passed */ + uint32_t positionReportTimeout; + /**< Maximum time to work on each fix, specified by the control point. + The GPS engine returns QMI_ERR_INTERNAL if a position cannot be obtained + within the positionReportTimeout value. \n + - Units: Milliseconds \n + - Default: 255*1000 ms \n + - Range: 1000 - 255*1000 ms + */ }qmiLocStartReqMsgT_v02; /* Message */ /** @} @@ -1204,7 +1231,6 @@ typedef struct { information is associated with each SV ID: \n Range: \n - For GPS: 1 to 32 \n - - For SBAS: 33 to 64 \n - For GLONASS: 65 to 96 \n - For QZSS: 193 to 197 \n - For BDS: 201 to 237 \n @@ -1233,9 +1259,10 @@ typedef enum { eQMI_LOC_SV_SYSTEM_GPS_V02 = 1, /**< GPS satellite */ eQMI_LOC_SV_SYSTEM_GALILEO_V02 = 2, /**< GALILEO satellite */ eQMI_LOC_SV_SYSTEM_SBAS_V02 = 3, /**< SBAS satellite */ - eQMI_LOC_SV_SYSTEM_COMPASS_V02 = 4, /**< COMPASS satellite */ + eQMI_LOC_SV_SYSTEM_COMPASS_V02 = 4, /**< COMPASS satellite (Deprecated) */ eQMI_LOC_SV_SYSTEM_GLONASS_V02 = 5, /**< GLONASS satellite */ eQMI_LOC_SV_SYSTEM_BDS_V02 = 6, /**< BDS satellite */ + eQMI_LOC_SV_SYSTEM_QZSS_V02 = 7, /**< QZSS satellite */ QMILOCSVSYSTEMENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ }qmiLocSvSystemEnumT_v02; /** @@ -1294,9 +1321,10 @@ typedef struct { - eQMI_LOC_SV_SYSTEM_GPS (1) -- GPS satellite - eQMI_LOC_SV_SYSTEM_GALILEO (2) -- GALILEO satellite - eQMI_LOC_SV_SYSTEM_SBAS (3) -- SBAS satellite - - eQMI_LOC_SV_SYSTEM_COMPASS (4) -- COMPASS satellite + - eQMI_LOC_SV_SYSTEM_COMPASS (4) -- COMPASS satellite (Deprecated) - eQMI_LOC_SV_SYSTEM_GLONASS (5) -- GLONASS satellite - eQMI_LOC_SV_SYSTEM_BDS (6) -- BDS satellite + - eQMI_LOC_SV_SYSTEM_QZSS (7) -- QZSS satellite */ uint16_t gnssSvId; @@ -1305,7 +1333,8 @@ typedef struct { \item Range: \begin{itemize1} \item For GPS: 1 to 32 \item For GLONASS: 1 to 32 - \item For SBAS: 120 to 151 + \item For SBAS: 120 to 158 and 183 to 187 + \item For QZSS: 193 to 197 \item For BDS: 201 to 237 \item For GAL: 301 to 336 \end{itemize1} \end{itemize1} @@ -2122,7 +2151,7 @@ typedef struct { qmiLocNiSuplVer2ExtSupportedNetworksMaskT_v02 supportedNetworksMask; /**< Specifies which type of network measurements are allowed to be sent as part of the Location ID or Multiple Location IDs parameter in the - SUPL_POS_INIT message (see \hyperref[S4]{[S4]}). + SUPL_POS_INIT message (refer to 3GPP \hyperref[TS 03.32]{TS 03.32}). Valid bitmasks: \begin{itemize1} \item 0x0001 -- SUPPORTED_NETWORK_ WLAN @@ -2140,7 +2169,7 @@ typedef struct { qmiLocNiSuplVer2ExtTriggerTypeEnumT_v02 triggerType; /**< Specifies the type of session trigger requested in the - SUPL_POS_INIT message (refer to \hyperref[S4]{[S4]}). + SUPL_POS_INIT message (refer to 3GPP \hyperref[TS 03.32]{TS 03.32}). Valid values: \n - eQMI_LOC_SUPL_VER_2_EXT_TRIGGER_TYPE_SINGLE_SHOT (-1) -- SUPL INIT message indicates a request for a single shot @@ -3244,8 +3273,8 @@ typedef struct { information is associated with each SV ID: \n Range: \n - For GPS: 1 to 32 \n - - For SBAS: 33 to 64 \n - For GLONASS: 65 to 96 \n + - For SBAS: 120 to 158 and 183 to 187 \n - For QZSS: 193 to 197 \n - For BDS: 201 to 237 \n - For GAL: 301 to 336 @@ -3407,10 +3436,11 @@ typedef struct { information is associated with each SV ID: \n Range: \n - For GPS: 1 to 32 \n - - For SBAS: 33 to 64 \n - For GLONASS: 65 to 96 \n + - For SBAS: 120 to 158 and 183 to 187 \n - For QZSS: 193 to 197 \n - - For BDS: 201 to 237 + - For BDS: 201 to 237 \n + - For GAL: 301 to 336 */ }qmiLocEventGeofenceBatchedDwellIndMsgT_v02; /* Message */ /** @@ -3422,7 +3452,8 @@ typedef struct { */ typedef enum { QMILOCGDTSERVICEIDENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ - eQMI_LOC_GDT_SERVICE_WWAN_V02 = 1, /**< GDT service for WWAN */ + eQMI_LOC_GDT_SERVICE_WWAN_V02 = 1, /**< GDT service for WWAN UL */ + eQMI_LOC_GDT_SERVICE_WWAN_DL_V02 = 2, /**< GDT Service for WWAN DL */ QMILOCGDTSERVICEIDENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ }qmiLocGdtServiceIdEnumT_v02; /** @@ -3454,7 +3485,8 @@ typedef struct { qmiLocGdtServiceIdEnumT_v02 serviceId; /**< Values: \n - - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN */ + - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL + - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT Service for WWAN DL */ /* Mandatory */ /* Session ID */ @@ -3500,7 +3532,8 @@ typedef struct { qmiLocGdtServiceIdEnumT_v02 serviceId; /**< Values: \n - - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN */ + - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL + - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT Service for WWAN DL */ /* Mandatory */ /* Session ID */ @@ -3519,6 +3552,118 @@ typedef struct { @} */ +/** @addtogroup loc_qmi_messages + @{ + */ +/** Indication Message; Requests the control point to transfer data. */ +typedef struct { + + /* Mandatory */ + /* GDT Service ID */ + qmiLocGdtServiceIdEnumT_v02 serviceId; + /**< Values: \n + + - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL + - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT Service for WWAN DL */ + + /* Mandatory */ + /* Session ID */ + uint32_t sessionId; + /**< Session ID. */ + + /* Mandatory */ + /* Interval after which AP must respond MP in seconds */ + uint32_t respTimeoutInterval; + /**< Interval after which AP must respond MP in seconds */ + + /* Mandatory */ + /* Encoded GTP Client Information */ + uint32_t clientInfo_len; /**< Must be set to # of elements in clientInfo */ + uint8_t clientInfo[QMI_LOC_MAX_GTP_CL_INFO_LEN_V02]; + /**< Gtp client info encoded in asn.1 format. \n + - Type: Array of bytes \n + - Maximum length of the array: 1500 + */ + + /* Mandatory */ + /* Encoded Mobile Status Data */ + uint32_t mobileStatusData_len; /**< Must be set to # of elements in mobileStatusData */ + uint8_t mobileStatusData[QMI_LOC_MAX_GTP_MSD_LEN_V02]; + /**< mobile status data encoded in asn.1 format. \n + - Type: Array of bytes \n + - Maximum length of the array: 4000 + */ + + /* Mandatory */ + /* Data filepath */ + uint32_t filePath_len; /**< Must be set to # of elements in filePath */ + char filePath[QMI_LOC_MAX_GDT_PATH_LEN_V02]; + /**< file path to the position data expected by MP. \n + - Type: Array of bytes \n + - Maximum length of the array: 255 + */ + + /* Optional */ + /* Power Budget Info */ + uint8_t powerBudgetInfo_valid; /**< Must be set to true if powerBudgetInfo is being passed */ + uint32_t powerBudgetInfo; + /**< Power budget info */ + + /* Optional */ + /* Power Budget Allowance */ + uint8_t powerBudgetAllowance_valid; /**< Must be set to true if powerBudgetAllowance is being passed */ + uint32_t powerBudgetAllowance; + /**< Power budget allowance */ +}qmiLocEventGdtDownloadBeginReqIndMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_enums + @{ + */ +typedef enum { + QMILOCGDTRECEIVESTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ + eQMI_LOC_GTP_RCV_STATUS_CONTINUE_V02 = 1, /**< Indicates AP shall continue sending more partitions to MP */ + eQMI_LOC_GTP_RCV_STATUS_DONE_V02 = 2, /**< Indicates AP shall stop sending more partitions to MP */ + QMILOCGDTRECEIVESTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ +}qmiLocGdtReceiveStatusEnumT_v02; +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Indication Message; Notifies the control point after consuming current data transfer. */ +typedef struct { + + /* Mandatory */ + /* GDT service ID */ + qmiLocGdtServiceIdEnumT_v02 serviceId; + /**< Values: \n + + - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL + - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT Service for WWAN DL */ + + /* Mandatory */ + /* Session ID */ + uint32_t sessionId; + /**< Session ID */ + + /* Mandatory */ + /* GDT receive status */ + qmiLocGdtReceiveStatusEnumT_v02 status; + /**< Status indicating continuation or termination of AP sending. + Valid values: \n + - eQMI_LOC_GTP_RCV_STATUS_CONTINUE (1) -- Indicates AP shall continue sending more partitions to MP + - eQMI_LOC_GTP_RCV_STATUS_DONE (2) -- Indicates AP shall stop sending more partitions to MP + */ +}qmiLocEventGdtReceiveDoneIndMsgT_v02; /* Message */ +/** + @} + */ + /** @addtogroup loc_qmi_enums @{ */ @@ -3541,6 +3686,47 @@ typedef enum { @} */ +/** @addtogroup loc_qmi_messages + @{ + */ +/** Indication Message; Notifies the control point of end of download session. */ +typedef struct { + + /* Mandatory */ + /* GDT service ID */ + qmiLocGdtServiceIdEnumT_v02 serviceId; + /**< Values: \n + + - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL + - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT Service for WWAN DL */ + + /* Mandatory */ + /* Session ID */ + uint32_t sessionId; + /**< Session ID */ + + /* Mandatory */ + /* GDT download end status */ + qmiLocStatusEnumT_v02 status; + /**< Status of the download session. + Valid values: \n + - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n + - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n + - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n + - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n + - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n + - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n + - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n + - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n + - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n + - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n + - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure + */ +}qmiLocEventGdtDownloadEndReqIndMsgT_v02; /* Message */ +/** + @} + */ + /** @addtogroup loc_qmi_messages @{ */ @@ -4266,7 +4452,7 @@ typedef struct { /* Horizontal Confidence */ uint8_t horConfidence_valid; /**< Must be set to true if horConfidence is being passed */ uint8_t horConfidence; - /**< Horizontal confidence, as defined by ETSI TS 101 109 (\hyperref[S4]{[S4]}). + /**< Horizontal confidence, as defined by ETSI TS 101 109 (3GPP \hyperref[TS 03.32]{TS 03.32). \begin{itemize1} \item Units: Percent (1 to 99) \item 0, 101 to 255 -- invalid value @@ -4319,7 +4505,7 @@ typedef struct { /* Vertical Confidence */ uint8_t vertConfidence_valid; /**< Must be set to true if vertConfidence is being passed */ uint8_t vertConfidence; - /**< Vertical confidence, as defined by ETSI TS 101 109 (\hyperref[S4]{[S4]}). + /**< Vertical confidence, as defined by ETSI TS 101 109 (3GPP \hyperref[TS 03.32]{TS 03.32}). \begin{itemize1} \item Units: Percent (0-99) \item 0 -- invalid value @@ -4397,7 +4583,7 @@ typedef struct { uint8_t rawHorConfidence_valid; /**< Must be set to true if rawHorConfidence is being passed */ uint8_t rawHorConfidence; /**< Horizontal confidence associated with raw horizontal uncertainty, - as defined by ETSI TS 101 109 (\hyperref[S4]{[S4]}). + as defined by ETSI TS 101 109 (3GPP \hyperref[TS 03.32]{TS 03.32}). \begin{itemize1} \item Units: Percent (1 to 99) \item 0, 101 to 255 -- invalid value @@ -4680,6 +4866,8 @@ typedef uint32_t qmiLocNmeaSentenceMaskT_v02; #define QMI_LOC_NMEA_MASK_GAGSA_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00001000) /**< Enable GAGSA type */ #define QMI_LOC_NMEA_MASK_GAVTG_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00002000) /**< Enable GAVTG type */ #define QMI_LOC_NMEA_MASK_GAGGA_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00004000) /**< Enable GAGGA type */ +#define QMI_LOC_NMEA_MASK_PQGSA_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00008000) /**< Enable PQGSA type */ +#define QMI_LOC_NMEA_MASK_PQGSV_V02 ((qmiLocNmeaSentenceMaskT_v02)0x00010000) /**< Enable PQGSV type */ /** @addtogroup loc_qmi_messages @{ */ @@ -4707,6 +4895,8 @@ typedef struct { - QMI_LOC_NMEA_MASK_GAGSA (0x00001000) -- Enable GAGSA type - QMI_LOC_NMEA_MASK_GAVTG (0x00002000) -- Enable GAVTG type - QMI_LOC_NMEA_MASK_GAGGA (0x00004000) -- Enable GAGGA type + - QMI_LOC_NMEA_MASK_PQGSA (0x00008000) -- Enable PQGSA type + - QMI_LOC_NMEA_MASK_PQGSV (0x00010000) -- Enable PQGSV type */ }qmiLocSetNmeaTypesReqMsgT_v02; /* Message */ /** @@ -4804,6 +4994,8 @@ typedef struct { - QMI_LOC_NMEA_MASK_GAGSA (0x00001000) -- Enable GAGSA type - QMI_LOC_NMEA_MASK_GAVTG (0x00002000) -- Enable GAVTG type - QMI_LOC_NMEA_MASK_GAGGA (0x00004000) -- Enable GAGGA type + - QMI_LOC_NMEA_MASK_PQGSA (0x00008000) -- Enable PQGSA type + - QMI_LOC_NMEA_MASK_PQGSV (0x00010000) -- Enable PQGSV type */ }qmiLocGetNmeaTypesIndMsgT_v02; /* Message */ /** @@ -5194,18 +5386,19 @@ typedef struct { - eQMI_LOC_SV_SYSTEM_GPS (1) -- GPS satellite - eQMI_LOC_SV_SYSTEM_GALILEO (2) -- GALILEO satellite - eQMI_LOC_SV_SYSTEM_SBAS (3) -- SBAS satellite - - eQMI_LOC_SV_SYSTEM_COMPASS (4) -- COMPASS satellite + - eQMI_LOC_SV_SYSTEM_COMPASS (4) -- COMPASS satellite (Deprecated) - eQMI_LOC_SV_SYSTEM_GLONASS (5) -- GLONASS satellite - eQMI_LOC_SV_SYSTEM_BDS (6) -- BDS satellite + - eQMI_LOC_SV_SYSTEM_QZSS (7) -- QZSS satellite */ qmiLocDeleteSvInfoMaskT_v02 deleteSvInfoMask; /**< Indicates whether the ephemeris or almanac for a satellite - is to be deleted. \n - Valid values: \n - - 0x01 -- DELETE_EPHEMERIS \n - - 0x02 -- DELETE_ALMANAC - */ + is to be deleted. \n + Valid values: \n + - QMI_LOC_MASK_DELETE_EPHEMERIS (0x01) -- Delete ephemeris for the satellite + - QMI_LOC_MASK_DELETE_ALMANAC (0x02) -- Delete almanac for the satellite + */ }qmiLocDeleteSvInfoStructT_v02; /* Type */ /** @} @@ -5998,6 +6191,16 @@ typedef struct { set, AFLT will be used for 1X networks and OTDOA will be used for LTE networks */ + + /* Optional */ + /* Minimum Interval Between Position Reports */ + uint8_t minInterval_valid; /**< Must be set to true if minInterval is being passed */ + uint32_t minInterval; + /**< Minimum time interval, specified by the control point, that must elapse between + position reports. \n + - Units: milliseconds \n + - Default: 1000 ms + */ }qmiLocSetOperationModeReqMsgT_v02; /* Message */ /** @} @@ -9919,8 +10122,8 @@ typedef struct { information is associated with each SV ID: \n Range: \n - For GPS: 1 to 32 \n - - For SBAS: 33 to 64 \n - For GLONASS: 65 to 96 \n + - For SBAS: 120 to 158 and 183 to 187 \n - For QZSS: 193 to 197 \n - For BDS: 201 to 237 \n - For GAL: 301 to 336 @@ -10145,16 +10348,16 @@ typedef struct { typedef struct { uint32_t MCC; - /**< GSM mobile country code. Refer to ITU-T E.212 \hyperref[S6]{[S6]}. */ + /**< GSM mobile country code. Refer to ITU-T E.212 \hyperref[ITU-T E.212]{ITU-T E.212}. */ uint32_t MNC; - /**< GSM mobile network code. Refer to \hyperref[S6]{[S6]}. */ + /**< GSM mobile network code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ uint32_t LAC; - /**< GSM location area code. Refer to \hyperref[S6]{[S6]}. */ + /**< GSM location area code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ uint32_t CID; - /**< GSM cell identification. Refer to \hyperref[S6]{[S6]}. */ + /**< GSM cell identification. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ }qmiLocGSMCellIdStructT_v02; /* Type */ /** @} @@ -10186,7 +10389,7 @@ typedef struct { uint8_t timingAdvance_valid; /**< Must be set to true if timingAdvance is being passed */ uint32_t timingAdvance; /**< Round trip delay between the MS and the BS, in units of 3.69 microseconds. - Refer to 3GPP TS 05.10 and TS 45.010. */ + Refer to 3GPP \hyperref[TS 05.10]{TS 05.10} and \hyperref[TS 45.010]{TS 45.010}. */ }qmiLocInjectGSMCellInfoReqMsgT_v02; /* Message */ /** @} @@ -10240,13 +10443,13 @@ typedef enum { typedef struct { uint32_t mcc; - /**< WCDMA mobile country code. Refer to ITU-T E.212 \hyperref[S6]{[S6]}. */ + /**< WCDMA mobile country code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ uint32_t mnc; - /**< WCDMA mobile network code. Refer to \hyperref[S6]{[S6]}. */ + /**< WCDMA mobile network code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ uint32_t cid; - /**< WCDMA cell identity. Refer to \hyperref[S6]{[S6]}. */ + /**< WCDMA cell identity. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ }qmiLocWCDMACellIdStructT_v02; /* Type */ /** @} @@ -10280,7 +10483,7 @@ typedef struct { uint32_t freq; /**< Frequency information of the serving cell. \n Valid range: 0 to 16383 \n - Refer to TS 25.331 \hyperref[S7]{[S7]}. */ + Refer to 3GPP \hyperref[TS 25.331]{TS 25.331}. */ /* Optional */ /* Primary Scrambling Code */ @@ -10288,7 +10491,7 @@ typedef struct { uint32_t psc; /**< Primary scrambling code of the serving cell. \n Valid range: 0 to 511 \n - Refer to \hyperref[S7]{[S7]}. */ + Refer to 3GPP \hyperref[TS 25.331]{TS 25.331}. */ }qmiLocInjectWCDMACellInfoReqMsgT_v02; /* Message */ /** @} @@ -10329,16 +10532,16 @@ typedef struct { typedef struct { uint32_t mcc; - /**< TDSCDMA mobile country code. Refer to ITU-T E.212 \hyperref[S6]{[S6]}. */ + /**< TDSCDMA mobile country code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ uint32_t mnc; - /**< TDSCDMA mobile network code. Refer to \hyperref[S6]{[S6]}. */ + /**< TDSCDMA mobile network code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ uint32_t cid; - /**< TDSCDMA cell identity. Refer to TS 25.331 \hyperref[S7]{[S7]}. */ + /**< TDSCDMA cell identity. Refer to 3GPP \hyperref[TS 25.331]{TS 25.331}. */ uint32_t lac; - /**< TDSCDMA location area code. Refer to \hyperref[S6]{[S6]}. */ + /**< TDSCDMA location area code. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}. */ }qmiLocTDSCDMACellIdStructT_v02; /* Type */ /** @} @@ -10372,7 +10575,7 @@ typedef struct { uint32_t freq; /**< Frequency information of the serving cell. \n Valid range: 0 to 16383 \n - Refer to \hyperref[S7]{[S7]}. */ + Refer to 3GPP \hyperref[TS 25.331]{TS 25.331}. */ }qmiLocInjectTDSCDMACellInfoReqMsgT_v02; /* Message */ /** @} @@ -10417,13 +10620,13 @@ typedef struct { /* Preferred IMSI */ uint8_t preferredIMSI_valid; /**< Must be set to true if preferredIMSI is being passed */ uint64_t preferredIMSI; - /**< IMSI number of the preferred RAT. Refer to \hyperref[S6]{[S6]}.*/ + /**< IMSI number of the preferred RAT. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}.*/ /* Optional */ /* Preferred MSISDN */ uint8_t preferredMSISDN_valid; /**< Must be set to true if preferredMSISDN is being passed */ uint64_t preferredMSISDN; - /**< MSISDN number of the preferred RAT. Refer to \hyperref[S6]{[S6]}.*/ + /**< MSISDN number of the preferred RAT. Refer to \hyperref[ITU-T E.212]{ITU-T E.212}.*/ }qmiLocInjectSubscriberIDReqMsgT_v02; /* Message */ /** @} @@ -10490,7 +10693,7 @@ typedef struct { uint8_t injectedNIMessage[QMI_LOC_MAX_INJECTED_NETWORK_INITIATED_MESSAGE_LENGTH_V02]; /**< Network-initiated message body. If the inject NI message type is TYPE_SUPL, the message contains - a SUPL INIT message as defined in OMA-TS-ULP-V2_0-20110527-C \hyperref[S5]{[S5]}. */ + a SUPL INIT message as defined in OMA-TS-ULP-V2_\hyperref[0-20110527-C]{0-20110527-C}. */ }qmiLocInjectNetworkInitiatedMessageReqMsgT_v02; /* Message */ /** @} @@ -10778,34 +10981,34 @@ typedef struct { uint32_t minDistance; /**< Specifies the minimum distance that should be traversed before a position should be batched. - If no distance is specified then the positions shall be batched after - the minInterval period expired. If both minInterval and minDistance are - specified then the position shall be batched only after minInterval has + If no distance is specified, the positions are batched after + the minInterval period expires. If both minInterval and minDistance are + specified, the position are batched only after minInterval has expired AND minDistance has been traversed. \n - - Units: Meters \n + - Units: Meters */ /* Optional */ /* Batch All Positions */ uint8_t batchAllPos_valid; /**< Must be set to true if batchAllPos is being passed */ uint8_t batchAllPos; - /**< True : All positions that available for free shall be batched. For example - if any other type of positioning is active ( e.g 1 Hz tracking), all the - positions computed for that use case shall also get batched. This may - result in the BATCH_FULL indication getting generated earlier. - False: Only positions that meet the time and/or distance criteria shall be batched. - - Default: False + /**< Values: \n + - TRUE -- All positions that are available must be batched. For example, + if any other type of positioning is active (such as 1 Hz tracking), all + positions computed for that use case are also batched. This may + result in the BATCH_FULL indication getting generated earlier. \n + - FALSE -- Only positions that meet the time and/or distance criteria are batched + (default). */ /* Optional */ /* Request ID */ uint8_t requestId_valid; /**< Must be set to true if requestId is being passed */ uint32_t requestId; - /**< Identifies the request, a batching client can start multiple batching + /**< Identifies the request. A batching client can start multiple batching requests with different batching parameters, - however positions corresponding to all the requests from the same client shall - be batched in the same buffer. A request ID value of 0 is considered invalid. + however, positions corresponding to all requests from the same client are + batched in the same buffer. A request ID value of 0 is considered invalid. \n Valid Values 0x01 - 0xFFFFFFFF */ }qmiLocStartBatchingReqMsgT_v02; /* Message */ @@ -10842,10 +11045,10 @@ typedef struct { /* Request ID */ uint8_t requestId_valid; /**< Must be set to true if requestId is being passed */ uint32_t requestId; - /**< Identifies the request, a batching client can start multiple batching - requests with different batching parameters, however positions - corresponding to all the requests from the same client shall - be batched in the same buffer. + /**< Identifies the request. A batching client can start multiple batching + requests with different batching parameters, however, positions + corresponding to all requests from the same client are + batched in the same buffer. \n Valid Values 0x01 - 0xFFFFFFFF */ }qmiLocStartBatchingIndMsgT_v02; /* Message */ @@ -11114,8 +11317,8 @@ typedef struct { /* Request ID */ uint8_t requestId_valid; /**< Must be set to true if requestId is being passed */ uint32_t requestId; - /**< Identifies the batching request that must be stopped, - a batching client can start multiple batching requests. + /**< Identifies the batching request that must be stopped. + A batching client can start multiple batching requests. \n Valid Values 0x01 - 0xFFFFFFFF */ }qmiLocStopBatchingReqMsgT_v02; /* Message */ @@ -11158,8 +11361,8 @@ typedef struct { /* Request ID */ uint8_t requestId_valid; /**< Must be set to true if requestId is being passed */ uint32_t requestId; - /**< Identifies the batching request that was stopped, - a batching client can start multiple batching requests. + /**< Identifies the batching request that was stopped. + A batching client can start multiple batching requests. \n Valid Values 0x01 - 0xFFFFFFFF */ }qmiLocStopBatchingIndMsgT_v02; /* Message */ @@ -12221,6 +12424,7 @@ typedef uint64_t qmiLocGNSSConstellEnumT_v02; #define eQMI_SYSTEM_GLO_V02 ((qmiLocGNSSConstellEnumT_v02)0x02ull) /**< Enable GLONASS \n */ #define eQMI_SYSTEM_BDS_V02 ((qmiLocGNSSConstellEnumT_v02)0x04ull) /**< Enable BDS \n */ #define eQMI_SYSTEM_GAL_V02 ((qmiLocGNSSConstellEnumT_v02)0x08ull) /**< Enable Galileo */ +#define eQMI_SYSTEM_QZSS_V02 ((qmiLocGNSSConstellEnumT_v02)0x10ull) /**< Enable QZSS */ /** @addtogroup loc_qmi_messages @{ */ @@ -12237,6 +12441,7 @@ typedef struct { - eQMI_SYSTEM_GLO (0x02) -- Enable GLONASS \n - eQMI_SYSTEM_BDS (0x04) -- Enable BDS \n - eQMI_SYSTEM_GAL (0x08) -- Enable Galileo + - eQMI_SYSTEM_QZSS (0x10) -- Enable QZSS */ /* Optional */ @@ -12249,6 +12454,7 @@ typedef struct { - eQMI_SYSTEM_GLO (0x02) -- Enable GLONASS \n - eQMI_SYSTEM_BDS (0x04) -- Enable BDS \n - eQMI_SYSTEM_GAL (0x08) -- Enable Galileo + - eQMI_SYSTEM_QZSS (0x10) -- Enable QZSS */ }qmiLocSetGNSSConstRepConfigReqMsgT_v02; /* Message */ /** @@ -12383,7 +12589,17 @@ typedef struct { typedef struct { qmiLocSvSystemEnumT_v02 system; - /**< Specifies the satellite system constellation. */ + /**< Specifies the satellite system constellation. + + Valid values: \n + - eQMI_LOC_SV_SYSTEM_GPS (1) -- GPS satellite + - eQMI_LOC_SV_SYSTEM_GALILEO (2) -- GALILEO satellite + - eQMI_LOC_SV_SYSTEM_SBAS (3) -- SBAS satellite + - eQMI_LOC_SV_SYSTEM_COMPASS (4) -- COMPASS satellite (Deprecated) + - eQMI_LOC_SV_SYSTEM_GLONASS (5) -- GLONASS satellite + - eQMI_LOC_SV_SYSTEM_BDS (6) -- BDS satellite + - eQMI_LOC_SV_SYSTEM_QZSS (7) -- QZSS satellite + */ uint16_t systemWeek; /**< Current system week. \n @@ -12523,7 +12739,7 @@ typedef struct { uint32_t svTimeMs; /**< Satellite time in milliseconds. \n - - For GPS, BDS, and GAL -- Range is 0 thru (604800000-1) \n + - For GPS, BDS, GAL and QZSS -- Range is 0 thru (604800000-1) \n - For GLONASS -- Range is 0 thru (86400000-1) \n - Units: Milliseconds \vspace{4pt} @@ -12531,7 +12747,7 @@ typedef struct { in the measurement status. \vspace{4pt} @note All SV times in the current measurement block are - alredy propagated to a common reference time epoch. + already propagated to a common reference time epoch. */ float svTimeSubMs; @@ -12586,8 +12802,8 @@ typedef struct { \begin{itemize1} \item Range: \begin{itemize1} \item For GPS: 1 to 32 - \item For SBAS: 33 to 64 \item For GLONASS: 65 to 96. When slot-number to SV ID mapping is unknown, set as 255. + \item For QZSS: 193 to 197 \item For BDS: 201 to 237 \item For GAL: 301 to 336 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ @@ -12759,9 +12975,10 @@ typedef struct { - eQMI_LOC_SV_SYSTEM_GPS (1) -- GPS satellite - eQMI_LOC_SV_SYSTEM_GALILEO (2) -- GALILEO satellite - eQMI_LOC_SV_SYSTEM_SBAS (3) -- SBAS satellite - - eQMI_LOC_SV_SYSTEM_COMPASS (4) -- COMPASS satellite + - eQMI_LOC_SV_SYSTEM_COMPASS (4) -- COMPASS satellite (Deprecated) - eQMI_LOC_SV_SYSTEM_GLONASS (5) -- GLONASS satellite - eQMI_LOC_SV_SYSTEM_BDS (6) -- BDS satellite + - eQMI_LOC_SV_SYSTEM_QZSS (7) -- QZSS satellite */ /* Optional */ @@ -12883,8 +13100,9 @@ typedef struct { /**< GNSS SV ID. \begin{itemize1} \item Range: \begin{itemize1} \item For GPS: 1 to 32 - \item For SBAS: 33 to 64 \item For GLONASS: 65 to 96 (when the slot number to SV ID mapping is unknown, set to 255) + \item For SBAS: 120 to 158 and 183 to 187 + \item For QZSS: 193 to 197 \item For BDS: 201 to 237 \item For GAL: 301 to 336 \vspace{-0.18in} \end{itemize1} \end{itemize1} */ @@ -12893,7 +13111,7 @@ typedef struct { /* Reference Time for Polynomial Calculations */ double T0; /**< Reference time for polynomial calculations. \n - - GPS: Seconds in the week \n + - GPS, QZSS: Seconds in the week \n - GLO: Full seconds since Jan. 1, 1996 \n - BDS: Full seconds since Jan. 1, 2006 \n - GAL: Calculated from 00:00 UT on Sunday, August 22, 1999 (midnight between August 21 and August 22) @@ -13147,7 +13365,7 @@ typedef struct { uint8_t wcdmaCellIDList_valid; /**< Must be set to true if wcdmaCellIDList is being passed */ uint32_t wcdmaCellIDList_len; /**< Must be set to # of elements in wcdmaCellIDList */ qmiLocWCDMACellIdStructT_v02 wcdmaCellIDList[QMI_LOC_CELL_ID_LIST_LENGTH_V02]; - /**< \n Identifies the WCDMA cell on which the device is currently camped. */ + /**< \vspace{4pt} \n Identifies the WCDMA cell on which the device is currently camped. */ /* Optional */ /* GSM Cell ID List for the Geofence */ @@ -13374,7 +13592,7 @@ typedef struct { /* Data */ uint32_t ClientDownloadedData_len; /**< Must be set to # of elements in ClientDownloadedData */ char ClientDownloadedData[QMI_LOC_MAX_GTP_WWAN_CLIENT_DOWNLOADED_DATA_LEN_V02]; - /**< WWAN client downloaded data. \n + /**< All GTP response client downloaded data incl. WWAN, WLAN, common etc.. \n - Type: Array of bytes \n - Maximum length of the array: 512 */ @@ -13421,7 +13639,8 @@ typedef struct { /* GDT Service ID */ qmiLocGdtServiceIdEnumT_v02 serviceId; /**< Values: \n - - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN */ + - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL + - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT Service for WWAN DL */ /* Mandatory */ /* Session ID */ @@ -13496,7 +13715,8 @@ typedef struct { qmiLocGdtServiceIdEnumT_v02 serviceId; /**< Values: \n - - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN */ + - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL + - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT Service for WWAN DL */ /* Mandatory */ /* Session ID */ @@ -13551,23 +13771,12 @@ typedef struct { @{ */ typedef enum { - QMILOCDBTUSAGEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ - eQMI_LOC_DBT_USAGE_NAVIGATION_V02 = 1, /**< Navigation usage type */ - QMILOCDBTUSAGEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ -}qmiLocDbtUsageEnumT_v02; -/** - @} - */ - -/** @addtogroup loc_qmi_enums - @{ - */ -typedef enum { - QMILOCDBDISTANCETYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ - eQMI_LOC_DBT_DISTANCE_TYPE_STRAIGHT_LINE_V02 = 1, /**< Straight line distance between - location updates */ - QMILOCDBDISTANCETYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ -}qmiLocDbDistanceTypeEnumT_v02; + QMILOCGTPAPSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ + eQMI_LOC_GTP_AP_STATUS_DB_READY_V02 = 1, /**< Indicates AP is finished initialization and ready to process MP download request */ + eQMI_LOC_GTP_AP_STATUS_DB_REFRESHED_V02 = 2, /**< Indicates AP has successfully refreshed partitions */ + eQMI_LOC_GTP_AP_STATUS_DB_DELETED_V02 = 3, /**< Indicates AP has removed local partitions */ + QMILOCGTPAPSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ +}qmiLocGtpApStatusEnumT_v02; /** @} */ @@ -13575,75 +13784,65 @@ typedef enum { /** @addtogroup loc_qmi_messages @{ */ -/** Request Message; Used by the control point to initiate a Distance Based Tracking (DBT) session. */ +/** Request Message; Sends a Global Terrestrial Position (GTP) message to MP + notifying GTP MP of AP DB readiness. */ typedef struct { /* Mandatory */ - /* Request ID */ - uint8_t reqId; - /**< ID of the request as identified by the control point. The request ID - is reported back in the position reports. The control point must - specify the same request ID in the QMI_LOC_STOP_DBT_REQ message. \n - - Range: 0 to 255 - */ - - /* Mandatory */ - /* Minimum Distance Between Position Reports */ - uint32_t minDistance; - /**< Minimum distance, specified by the control point, - that must be traversed between position reports. \n - - Units: Meters - */ - - /* Mandatory */ - /* Type of Distance to be Tracked */ - qmiLocDbDistanceTypeEnumT_v02 distanceType; - /**< Straight line distance or accumulated distance. \n + /* AP DB status */ + qmiLocGtpApStatusEnumT_v02 gtpApDbStatus; + /**< GTP AP DB status information. Valid values: \n - - eQMI_LOC_DBT_DISTANCE_TYPE_STRAIGHT_LINE (1) -- Straight line distance between - location updates + - eQMI_LOC_GTP_AP_STATUS_DB_READY (1) -- Indicates AP is finished initialization and ready to process MP download request + - eQMI_LOC_GTP_AP_STATUS_DB_REFRESHED (2) -- Indicates AP has successfully refreshed partitions + - eQMI_LOC_GTP_AP_STATUS_DB_DELETED (3) -- Indicates AP has removed local partitions */ - /* Mandatory */ - /* Need Origin Location */ - uint8_t needOriginLocation; - /**< Indicates whether the control point wants the position - corresponding to the origin. \begin{itemize1} - \item 0x01 (TRUE) -- Control point is requesting origin - location - \item 0x00 (FALSE) -- Control point is not requesting origin - location - \vspace{-0.18in} \end{itemize1} - */ + /* Optional */ + /* AP PCID (8 byte) */ + uint8_t gtpApPcid64_valid; /**< Must be set to true if gtpApPcid64 is being passed */ + uint64_t gtpApPcid64; + /**< AP Pseudoclient ID */ /* Optional */ - /* Maximum Latency Threshold for Position Reports */ - uint8_t maxLatency_valid; /**< Must be set to true if maxLatency is being passed */ - uint32_t maxLatency; - /**< Maximum time period, specified by the control point, after the minimum - distance criteria has been met within which a location update must - be provided. If not specified, an ideal value will be assumed by the - engine \n - - Units: seconds - */ + /* OEM ID (non-null terminated) */ + uint8_t oemId_valid; /**< Must be set to true if oemId is being passed */ + uint32_t oemId_len; /**< Must be set to # of elements in oemId */ + char oemId[QMI_LOC_MAX_OEM_ID_LEN_V02]; + /**< OEM ID. \n + - Type: char string \n + - Maximum length of the array: 256 + */ /* Optional */ - /* Usage Type */ - uint8_t usageType_valid; /**< Must be set to true if usageType is being passed */ - qmiLocDbtUsageEnumT_v02 usageType; - /**< Specifies the type of usage by the control point. It refers specifically - to the use case category of the client. For example, a navigation client should - set this to QMI_LOC_USAGE_NAVIGATION for better performance in difficult - signal conditions, such as tunnels. + /* MODEL ID (non-null terminated) */ + uint8_t modelId_valid; /**< Must be set to true if modelId is being passed */ + uint32_t modelId_len; /**< Must be set to # of elements in modelId */ + char modelId[QMI_LOC_MAX_MODEL_ID_LEN_V02]; + /**< Model ID. \n + - Type: char string \n + - Maximum length of the array: 256 + */ +}qmiLocGtpApStatusReqMsgT_v02; /* Message */ +/** + @} + */ - If not specified, the service uses default algorithms to provide an ideal - performance. +/** @addtogroup loc_qmi_aggregates + @{ + */ +typedef struct { - Valid values: \n - - eQMI_LOC_DBT_USAGE_NAVIGATION (1) -- Navigation usage type - */ -}qmiLocStartDbtReqMsgT_v02; /* Message */ + uint8_t asnMajorVersion; + /**< ASN Major version */ + + uint8_t asnMinorVersion; + /**< ASN Minor version */ + + uint8_t asnPointVersion; + /**< ASN Point version */ +}qmiLocGtpAsnVerStructT_v02; /* Type */ /** @} */ @@ -13651,14 +13850,14 @@ typedef struct { /** @addtogroup loc_qmi_messages @{ */ -/** Indication Message; Used by the control point to initiate a Distance Based Tracking (DBT) session. */ +/** Indication Message; Sends a Global Terrestrial Position (GTP) message to MP + notifying GTP MP of AP DB readiness. */ typedef struct { /* Mandatory */ - /* Start DBT Status */ + /* GTP MP Status */ qmiLocStatusEnumT_v02 status; - /**< Status of the Start DBT request. - + /**< Status of the GTP handshake. Valid values: \n - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n @@ -13673,13 +13872,35 @@ typedef struct { - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ - /* Optional */ - /* Request ID */ - uint8_t reqId_valid; /**< Must be set to true if reqId is being passed */ - uint8_t reqId; - /**< ID of the DBT start request for which this - indication was generated. */ -}qmiLocStartDbtIndMsgT_v02; /* Message */ + /* Mandatory */ + /* MP Client Software version */ + uint16_t clientSoftwareVersion; + /**< MP Client SW version */ + + /* Mandatory */ + /* MP ASN version */ + qmiLocGtpAsnVerStructT_v02 asnVersion; + /**< MP ASN Version */ +}qmiLocGtpApStatusIndMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_enums + @{ + */ +typedef enum { + QMILOCGTPPROCESSSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ + eQMI_LOC_GTP_PROCESS_SUCCESS_FROM_LOCAL_V02 = 1, /**< DL processing is allowed using local AP cache */ + eQMI_LOC_GTP_PROCESS_SUCCESS_FROM_SERVER_V02 = 2, /**< DL processing is allowed using server access */ + eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_AP_NOT_READY_V02 = 3, /**< DL processing is not allowed since AP not ready */ + eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_AP_TIMEOUT_V02 = 4, /**< DL processing is not allowed since AP cannot process within given interval */ + eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_NO_CONNECTIVITY_V02 = 5, /**< DL processing is not allowed since AP has no connectivity */ + eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_THROTTLED_V02 = 6, /**< DL processing is not allowed due to throttling */ + eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_OTHER_V02 = 7, /**< DL processing is not allowed for any other reason */ + eQMI_LOC_GTP_PROCESS_FAILED_UNSPECIFIED_V02 = 8, /**< DL processing failed for any other reason */ + QMILOCGTPPROCESSSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ +}qmiLocGtpProcessStatusEnumT_v02; /** @} */ @@ -13687,7 +13908,441 @@ typedef struct { /** @addtogroup loc_qmi_messages @{ */ -/** Request Message; Used by the control point to stop a DBT session. */ +/** Request Message; Sends a GTP message to MP notifying MP of AP DB readiness. */ +typedef struct { + + /* Mandatory */ + /* GDT service ID */ + qmiLocGdtServiceIdEnumT_v02 serviceId; + /**< Values: \n + + - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL + - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT Service for WWAN DL */ + + /* Mandatory */ + /* Session ID */ + uint32_t sessionId; + /**< Session ID */ + + /* Mandatory */ + /* AP Process status */ + qmiLocGtpProcessStatusEnumT_v02 processingStatus; + /**< AP processing status information for this serviceId. + + Valid values: \n + - eQMI_LOC_GTP_PROCESS_SUCCESS_FROM_LOCAL (1) -- DL processing is allowed using local AP cache + - eQMI_LOC_GTP_PROCESS_SUCCESS_FROM_SERVER (2) -- DL processing is allowed using server access + - eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_AP_NOT_READY (3) -- DL processing is not allowed since AP not ready + - eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_AP_TIMEOUT (4) -- DL processing is not allowed since AP cannot process within given interval + - eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_NO_CONNECTIVITY (5) -- DL processing is not allowed since AP has no connectivity + - eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_THROTTLED (6) -- DL processing is not allowed due to throttling + - eQMI_LOC_GTP_PROCESS_NOT_ALLOWED_OTHER (7) -- DL processing is not allowed for any other reason + - eQMI_LOC_GTP_PROCESS_FAILED_UNSPECIFIED (8) -- DL processing failed for any other reason + */ + + /* Optional */ + /* WWAN download flag */ + uint8_t wwanDownloadFlag_valid; /**< Must be set to true if wwanDownloadFlag is being passed */ + uint16_t wwanDownloadFlag; + /**< WWAN Download flag */ + + /* Optional */ + /* Encoded Response Location Information */ + uint8_t respLocInfo_valid; /**< Must be set to true if respLocInfo is being passed */ + uint32_t respLocInfo_len; /**< Must be set to # of elements in respLocInfo */ + uint8_t respLocInfo[QMI_LOC_MAX_GTP_RLI_LEN_V02]; + /**< response location information encoded in asn.1 format. \n + - Type: Array of bytes \n + - Maximum length of the array: 256 + */ +}qmiLocGdtDownloadBeginStatusReqMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Indication Message; Sends a GTP message to MP notifying MP of AP DB readiness. */ +typedef struct { + + /* Mandatory */ + /* GDT download begin Status */ + qmiLocStatusEnumT_v02 status; + /**< Status of the GDT begin request. + Valid values: \n + - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n + - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n + - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n + - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n + - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n + - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n + - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n + - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n + - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n + - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n + - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure + */ +}qmiLocGdtDownloadBeginStatusIndMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Request Message; Sends a GTP message to MP notifying MP of data readiness. */ +typedef struct { + + /* Mandatory */ + /* GDT service ID */ + qmiLocGdtServiceIdEnumT_v02 serviceId; + /**< Values: \n + + - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL + - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT Service for WWAN DL */ + + /* Mandatory */ + /* Session ID */ + uint32_t sessionId; + /**< Session ID */ + + /* Mandatory */ + /* Processing Status */ + qmiLocStatusEnumT_v02 status; + /**< Status of AP processing request. + Valid values: \n + - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n + - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n + - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n + - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n + - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n + - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n + - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n + - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n + - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n + - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n + - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure + */ + + /* Mandatory */ + /* Data file path (non-null terminated) */ + uint32_t filePath_len; /**< Must be set to # of elements in filePath */ + char filePath[QMI_LOC_MAX_GDT_PATH_LEN_V02]; + /**< file path to the data. \n + - Type: Array of bytes \n + - Maximum length of the array: 255 + */ +}qmiLocGdtDownloadReadyStatusReqMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Indication Message; Sends a GTP message to MP notifying MP of data readiness. */ +typedef struct { + + /* Mandatory */ + /* GDT ready begin Status */ + qmiLocStatusEnumT_v02 status; + /**< Status of the GDT ready request. + Valid values: \n + - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n + - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n + - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n + - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n + - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n + - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n + - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n + - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n + - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n + - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n + - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure + */ +}qmiLocGdtDownloadReadyStatusIndMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Request Message; Acknowledges reception of receive done to GDT MP. */ +typedef struct { + + /* Mandatory */ + /* GDT service ID */ + qmiLocGdtServiceIdEnumT_v02 serviceId; + /**< Values: \n + + - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL + - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT Service for WWAN DL */ + + /* Mandatory */ + /* Session ID */ + uint32_t sessionId; + /**< Session ID */ + + /* Mandatory */ + /* QMI LOC status */ + qmiLocStatusEnumT_v02 status; + /**< Values: \n + + - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n + - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n + - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n + - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n + - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n + - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n + - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n + - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n + - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n + - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n + - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ +}qmiLocGdtReceiveDoneStatusReqMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Indication Message; Acknowledges reception of receive done to GDT MP. */ +typedef struct { + + /* Mandatory */ + /* GDT receive done Status */ + qmiLocStatusEnumT_v02 status; + /**< Status of the receive done request. + Valid values: \n + - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n + - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n + - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n + - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n + - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n + - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n + - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n + - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n + - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n + - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n + - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure + */ +}qmiLocGdtReceiveDoneStatusIndMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Request Message; Acknowledges reception of download completion to GDT MP. */ +typedef struct { + + /* Mandatory */ + /* GDT service ID */ + qmiLocGdtServiceIdEnumT_v02 serviceId; + /**< Values: \n + + - eQMI_LOC_GDT_SERVICE_WWAN (1) -- GDT service for WWAN UL + - eQMI_LOC_GDT_SERVICE_WWAN_DL (2) -- GDT Service for WWAN DL */ + + /* Mandatory */ + /* Session ID */ + uint32_t sessionId; + /**< Session ID */ + + /* Mandatory */ + /* QMI LOC status */ + qmiLocStatusEnumT_v02 status; + /**< Values: \n + + - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n + - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n + - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n + - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n + - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n + - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n + - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n + - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n + - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n + - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n + - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ +}qmiLocGdtDownloadEndStatusReqMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Indication Message; Acknowledges reception of download completion to GDT MP. */ +typedef struct { + + /* Mandatory */ + /* GDT download end Status */ + qmiLocStatusEnumT_v02 status; + /**< Status of the GDT download end request. + Valid values: \n + - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n + - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n + - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n + - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n + - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n + - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n + - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n + - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n + - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n + - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n + - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure + */ +}qmiLocGdtDownloadEndStatusIndMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_enums + @{ + */ +typedef enum { + QMILOCDBTUSAGEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ + eQMI_LOC_DBT_USAGE_NAVIGATION_V02 = 1, /**< Navigation usage type */ + QMILOCDBTUSAGEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ +}qmiLocDbtUsageEnumT_v02; +/** + @} + */ + +/** @addtogroup loc_qmi_enums + @{ + */ +typedef enum { + QMILOCDBDISTANCETYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ + eQMI_LOC_DBT_DISTANCE_TYPE_STRAIGHT_LINE_V02 = 1, /**< Straight line distance between + location updates */ + QMILOCDBDISTANCETYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ +}qmiLocDbDistanceTypeEnumT_v02; +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Request Message; Used by the control point to initiate a Distance Based Tracking (DBT) session. */ +typedef struct { + + /* Mandatory */ + /* Request ID */ + uint8_t reqId; + /**< ID of the request as identified by the control point. The request ID + is reported back in the position reports. The control point must + specify the same request ID in the QMI_LOC_STOP_DBT_REQ message. \n + - Range: 0 to 255 + */ + + /* Mandatory */ + /* Minimum Distance Between Position Reports */ + uint32_t minDistance; + /**< Minimum distance, specified by the control point, + that must be traversed between position reports. \n + - Units: Meters + */ + + /* Mandatory */ + /* Type of Distance to be Tracked */ + qmiLocDbDistanceTypeEnumT_v02 distanceType; + /**< Straight line distance or accumulated distance. \n + + Valid values: \n + - eQMI_LOC_DBT_DISTANCE_TYPE_STRAIGHT_LINE (1) -- Straight line distance between + location updates + */ + + /* Mandatory */ + /* Need Origin Location */ + uint8_t needOriginLocation; + /**< Indicates whether the control point wants the position + corresponding to the origin. \begin{itemize1} + \item 0x01 (TRUE) -- Control point is requesting origin + location + \item 0x00 (FALSE) -- Control point is not requesting origin + location + \vspace{-0.18in} \end{itemize1} + */ + + /* Optional */ + /* Maximum Latency Threshold for Position Reports */ + uint8_t maxLatency_valid; /**< Must be set to true if maxLatency is being passed */ + uint32_t maxLatency; + /**< Maximum time period, specified by the control point, after the minimum + distance criteria has been met within which a location update must + be provided. If not specified, an ideal value will be assumed by the + engine \n + - Units: seconds + */ + + /* Optional */ + /* Usage Type */ + uint8_t usageType_valid; /**< Must be set to true if usageType is being passed */ + qmiLocDbtUsageEnumT_v02 usageType; + /**< Specifies the type of usage by the control point. It refers specifically + to the use case category of the client. For example, a navigation client should + set this to QMI_LOC_USAGE_NAVIGATION for better performance in difficult + signal conditions, such as tunnels. + + If not specified, the service uses default algorithms to provide an ideal + performance. + + Valid values: \n + - eQMI_LOC_DBT_USAGE_NAVIGATION (1) -- Navigation usage type + */ +}qmiLocStartDbtReqMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Indication Message; Used by the control point to initiate a Distance Based Tracking (DBT) session. */ +typedef struct { + + /* Mandatory */ + /* Start DBT Status */ + qmiLocStatusEnumT_v02 status; + /**< Status of the Start DBT request. + + Valid values: \n + - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n + - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n + - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n + - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n + - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n + - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n + - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n + - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n + - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n + - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n + - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure + */ + + /* Optional */ + /* Request ID */ + uint8_t reqId_valid; /**< Must be set to true if reqId is being passed */ + uint8_t reqId; + /**< ID of the DBT start request for which this + indication was generated. */ +}qmiLocStartDbtIndMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Request Message; Used by the control point to stop a DBT session. */ typedef struct { /* Mandatory */ @@ -13902,7 +14557,7 @@ typedef struct { qmiLocDbtPositionTypeEnumT_v02 positionType; /**< Specifies whether the position reported is at the origin of the DBT session or during the tracking - duration of the session. Values: \ + duration of the session. Values: \n - eQMI_LOC_DBT_POSITION_TYPE_ORIGIN (1) -- Position reported is at the origin - eQMI_LOC_DBT_POSITION_TYPE_TRACKING (2) -- Position reported is a tracking type @@ -13954,12 +14609,13 @@ typedef struct { /**< Each entry in the list contains the SV ID of a satellite used for calculating this position report. The following information is associated with each SV ID: \n - Range: \n - - For GPS: 1 to 32 \n - - For SBAS: 33 to 64 \n - - For GLONASS: 65 to 96 \n - - For QZSS: 193 to 197 \n - - For BDS: 201 to 237 + Range: \n + - For GPS: 1 to 32 \n + - For GLONASS: 65 to 96 \n + - For SBAS: 120 to 158 and 183 to 187 \n + - For QZSS: 193 to 197 \n + - For BDS: 201 to 237 \n + - For GAL: 301 to 336 */ /* Optional */ @@ -14394,15 +15050,15 @@ typedef struct { typedef struct { uint64_t macAddress; - /**< MAC address of AP*/ + /**< AP MAC address. */ float xLat; /**< AP latitude. \n - - Units: Degrees */ + - Units: degrees */ float yLon; /**< AP longitude sensor y-axis sample. \n - - Units: Degrees */ + - Units: degrees */ float mar; /**< Maximum antenna range. \n @@ -14415,24 +15071,24 @@ typedef struct { /** @addtogroup loc_qmi_messages @{ */ -/** Request Message; Used by the control point to inject APs into cache of - low power WiFi engine for fix computation. */ +/** Request Message; Used by the control point to inject APs into the cache of + the low power Wi-Fi engine for fix computation. */ typedef struct { /* Mandatory */ /* Version Number */ uint8_t versionNumber; - /**< AP cache protocol version number */ + /**< AP cache protocol version number. */ /* Mandatory */ /* Part Number */ uint8_t partNumber; - /**< Multiple message part number for ordering of AP info */ + /**< Multiple message part number; used for ordering AP information. */ /* Mandatory */ /* Total Parts */ uint8_t totalParts; - /**< Total number of parts/messages for a complete cache update */ + /**< Total number of parts or messages for a complete cache update. */ /* Mandatory */ /* AP Cache Data */ @@ -14447,14 +15103,15 @@ typedef struct { /** @addtogroup loc_qmi_messages @{ */ -/** Indication Message; Used by the control point to inject APs into cache of - low power WiFi engine for fix computation. */ +/** Indication Message; Used by the control point to inject APs into the cache of + the low power Wi-Fi engine for fix computation. */ typedef struct { /* Mandatory */ /* Set Inject APCACHE Data Status */ qmiLocStatusEnumT_v02 status; - /**< Status of the inject APCACHE data request. + /**< Status of the Inject AP Cache Data request. + Valid values: \n - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n @@ -14468,6 +15125,69 @@ typedef struct { - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure */ + + /* Optional */ + /* AP Cache Size */ + uint8_t apCacheSize_valid; /**< Must be set to true if apCacheSize is being passed */ + uint32_t apCacheSize; + /**< Key performance indicator (KPI) for apCacheSize that measures the size + of the last AP cache used. This parameter is always present. */ + + /* Optional */ + /* AP Do Not Cache Size */ + uint8_t apDoNotCacheSize_valid; /**< Must be set to true if apDoNotCacheSize is being passed */ + uint32_t apDoNotCacheSize; + /**< KPI for apDoNotCacheSize that measures the size of the last AP cache used. + This parameter is always present. */ + + /* Optional */ + /* AP Cache Hits */ + uint8_t apCacheHits_valid; /**< Must be set to true if apCacheHits is being passed */ + uint32_t apCacheHits; + /**< KPI for apCacheHits that measures the number of hits to the + AP cache of the last cache content. */ + + /* Optional */ + /* AP Do Not Cache Hits */ + uint8_t apDoNotCacheHits_valid; /**< Must be set to true if apDoNotCacheHits is being passed */ + uint32_t apDoNotCacheHits; + /**< KPI for apDoNotCacheHits that measures the number of hits to + apDoNotCache of the last cache content. */ + + /* Optional */ + /* Unknown APs */ + uint8_t unknownAps_valid; /**< Must be set to true if unknownAps is being passed */ + uint32_t unknownAps; + /**< KPI for unknownAps that measures the number of unknown APs, those that are + not found in any cache content. */ + + /* Optional */ + /* Async Scans */ + uint8_t asyncScans_valid; /**< Must be set to true if asyncScans is being passed */ + uint32_t asyncScans; + /**< KPI for asyncScans that measures the number of async scans + perceived since the last modem boot. */ + + /* Optional */ + /* Async Fixes */ + uint8_t asyncFixes_valid; /**< Must be set to true if asyncFixes is being passed */ + uint32_t asyncFixes; + /**< KPI for asyncFixes that measures the number of async fixes + generated since the last modem boot. */ + + /* Optional */ + /* Sync Scans */ + uint8_t syncScans_valid; /**< Must be set to true if syncScans is being passed */ + uint32_t syncScans; + /**< KPI for syncScans that measures the number of sync scans + perceived since the last modem boot. */ + + /* Optional */ + /* Sync Fixes */ + uint8_t syncFixes_valid; /**< Must be set to true if syncFixes is being passed */ + uint32_t syncFixes; + /**< KPI for asyncFixes that measures the number of sync fixes + generated since the last modem boot. */ }qmiLocInjectApCacheDataIndMsgT_v02; /* Message */ /** @} @@ -14479,7 +15199,7 @@ typedef struct { typedef struct { uint64_t macAddress; - /**< MAC address of AP*/ + /**< AP's MAC address. */ }qmiLocApDoNotCacheStructT_v02; /* Type */ /** @} @@ -14489,26 +15209,26 @@ typedef struct { @{ */ /** Request Message; Used by the control point to inject blacked out APs into - Low Power location engine. */ + the low power location engine. */ typedef struct { /* Mandatory */ /* Version Number */ uint8_t versionNumber; - /**< AP Cache protocol version number */ + /**< AP cache protocol version number. */ /* Mandatory */ /* Part Number */ uint8_t partNumber; - /**< Multiple message part number for ordering of AP information */ + /**< Multiple message part number, used to order AP information. */ /* Mandatory */ /* Total Parts */ uint8_t totalParts; - /**< Total number of parts/messages for a complete cache update */ + /**< Total number of parts or messages for a complete cache update. */ /* Mandatory */ - /* No APCache Data */ + /* No AP Cache Data */ uint32_t apDoNotCacheData_len; /**< Must be set to # of elements in apDoNotCacheData */ qmiLocApDoNotCacheStructT_v02 apDoNotCacheData[QMI_LOC_APCACHE_DATA_MAX_SAMPLES_V02]; /**< \n APDoNotCache information. */ @@ -14521,13 +15241,14 @@ typedef struct { @{ */ /** Indication Message; Used by the control point to inject blacked out APs into - Low Power location engine. */ + the low power location engine. */ typedef struct { /* Mandatory */ /* Set Inject APDONOTCACHE Data Status */ qmiLocStatusEnumT_v02 status; - /**< Status of the inject APDONOTCACHE data request. + /**< Status of the Inject APDONOTCACHE Data request. + Valid values: \n - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n @@ -14551,8 +15272,8 @@ typedef struct { */ typedef enum { QMILOCBATCHINGSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ - eQMI_LOC_BATCH_POS_UNAVAILABLE_V02 = 1, /**< Service is unable to compute positions for batching */ - eQMI_LOC_BATCH_POS_AVAILABLE_V02 = 2, /**< Service is again able to compute positions for batching */ + eQMI_LOC_BATCH_POS_UNAVAILABLE_V02 = 1, /**< Service is unable to compute the positions for batching */ + eQMI_LOC_BATCH_POS_AVAILABLE_V02 = 2, /**< Service is able to compute the positions for batching */ QMILOCBATCHINGSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ }qmiLocBatchingStatusEnumT_v02; /** @@ -14571,24 +15292,26 @@ typedef struct { qmiLocBatchingStatusEnumT_v02 batchingStatus; /**< Specifies the batching status. Valid values: \n - - eQMI_LOC_BATCH_POS_UNAVAILABLE (1) -- Service is unable to compute positions for batching - - eQMI_LOC_BATCH_POS_AVAILABLE (2) -- Service is again able to compute positions for batching + - eQMI_LOC_BATCH_POS_UNAVAILABLE (1) -- Service is unable to compute the positions for batching + - eQMI_LOC_BATCH_POS_AVAILABLE (2) -- Service is able to compute the positions for batching */ }qmiLocEventBatchingStatusIndMsgT_v02; /* Message */ /** @} */ +/** Identifies the always-on service capabilities. */ typedef uint32_t qmiLocAonCapabilityMaskT_v02; -#define QMI_LOC_MASK_AON_AUTO_BATCHING_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000001) /**< The service supports "auto" batching, the client can enable auto +#define QMI_LOC_MASK_AON_AUTO_BATCHING_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000001) /**< The service supports auto batching; the client can enable auto batching by setting the distance parameter to 0 in the START_BATCHING request */ -#define QMI_LOC_MASK_AON_DISTANCE_BASED_BATCHING_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000002) /**< The service supports distance based batching */ -#define QMI_LOC_MASK_AON_TIME_BASED_BATCHING_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000004) /**< The service supports time based batching */ -#define QMI_LOC_MASK_AON_DISTANCE_BASED_TRACKING_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000008) /**< The service supports distance based tracking */ +#define QMI_LOC_MASK_AON_DISTANCE_BASED_BATCHING_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000002) /**< The service supports distance-based batching */ +#define QMI_LOC_MASK_AON_TIME_BASED_BATCHING_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000004) /**< The service supports time-based batching */ +#define QMI_LOC_MASK_AON_DISTANCE_BASED_TRACKING_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000008) /**< The service supports distance-based tracking */ +#define QMI_LOC_MASK_AON_UPDATE_TBF_SUPPORTED_V02 ((qmiLocAonCapabilityMaskT_v02)0x00000010) /**< The service supports to change TBF dynamically */ /** @addtogroup loc_qmi_messages @{ */ -/** Request Message; Used by the clients to get "always on" service settings. +/** Request Message; Used by the clients to get always-on (AON) service settings. */ typedef struct { @@ -14605,12 +15328,12 @@ typedef struct { /** @addtogroup loc_qmi_messages @{ */ -/** Indication Message; Used by the clients to get "always on" service settings. +/** Indication Message; Used by the clients to get always-on (AON) service settings. */ typedef struct { /* Mandatory */ - /* Always On (AON) Config Status */ + /* Always-On Config Status */ qmiLocStatusEnumT_v02 status; /**< Status of the Query AON Config request. Valid values: \n @@ -14632,29 +15355,223 @@ typedef struct { uint8_t transactionId_valid; /**< Must be set to true if transactionId is being passed */ uint32_t transactionId; /**< Identifies the transaction. It is the same transaction - ID which was passed in QUERY_AON_CONFIG request. */ + ID that was passed in the QUERY_AON_CONFIG request. */ /* Optional */ - /* Always on (AON) Capability */ + /* Always-On Capability */ uint8_t aonCapability_valid; /**< Must be set to true if aonCapability is being passed */ qmiLocAonCapabilityMaskT_v02 aonCapability; - /**< Always On capabilities supported by the service - - QMI_LOC_MASK_AON_AUTO_BATCHING_SUPPORTED (0x00000001) -- The service supports "auto" batching, the client can enable auto + /**< Always-on capabilities supported by the service. \n + Valid values: \n + - QMI_LOC_MASK_AON_AUTO_BATCHING_SUPPORTED (0x00000001) -- The service supports auto batching; the client can enable auto batching by setting the distance parameter to 0 in the START_BATCHING request - - QMI_LOC_MASK_AON_DISTANCE_BASED_BATCHING_SUPPORTED (0x00000002) -- The service supports distance based batching - - QMI_LOC_MASK_AON_TIME_BASED_BATCHING_SUPPORTED (0x00000004) -- The service supports time based batching - - QMI_LOC_MASK_AON_DISTANCE_BASED_TRACKING_SUPPORTED (0x00000008) -- The service supports distance based tracking */ + - QMI_LOC_MASK_AON_DISTANCE_BASED_BATCHING_SUPPORTED (0x00000002) -- The service supports distance-based batching + - QMI_LOC_MASK_AON_TIME_BASED_BATCHING_SUPPORTED (0x00000004) -- The service supports time-based batching + - QMI_LOC_MASK_AON_DISTANCE_BASED_TRACKING_SUPPORTED (0x00000008) -- The service supports distance-based tracking + - QMI_LOC_MASK_AON_UPDATE_TBF_SUPPORTED (0x00000010) -- The service supports to change TBF dynamically */ }qmiLocQueryAonConfigIndMsgT_v02; /* Message */ /** @} */ +typedef uint32_t qmiLocDeleteCommonDataMaskT_v02; +#define QMI_LOC_DELETE_COMMON_MASK_POS_V02 ((qmiLocDeleteCommonDataMaskT_v02)0x00000001) /**< Position estimate, common for all GNSS type */ +#define QMI_LOC_DELETE_COMMON_MASK_TIME_V02 ((qmiLocDeleteCommonDataMaskT_v02)0x00000002) /**< Reset all CLOCK_INFO mask */ +#define QMI_LOC_DELETE_COMMON_MASK_UTC_V02 ((qmiLocDeleteCommonDataMaskT_v02)0x00000004) /**< UTC estimate */ +#define QMI_LOC_DELETE_COMMON_MASK_RTI_V02 ((qmiLocDeleteCommonDataMaskT_v02)0x00000008) /**< RTI */ +#define QMI_LOC_DELETE_COMMON_MASK_FREQ_BIAS_EST_V02 ((qmiLocDeleteCommonDataMaskT_v02)0x00000010) /**< Frequency bias estimate, common for all GNSS type */ +typedef uint32_t qmiLocDeleteSatelliteDataMaskT_v02; +#define QMI_LOC_DELETE_DATA_MASK_EPHEMERIS_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000001) /**< Ephemeris */ +#define QMI_LOC_DELETE_DATA_MASK_ALMANAC_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000002) /**< Almanac */ +#define QMI_LOC_DELETE_DATA_MASK_SVHEALTH_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000004) /**< SV Health */ +#define QMI_LOC_DELETE_DATA_MASK_SVDIR_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000008) /**< SV direction */ +#define QMI_LOC_DELETE_DATA_MASK_SVSTEER_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000010) /**< SV steer */ +#define QMI_LOC_DELETE_DATA_MASK_ALM_CORR_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000020) /**< Almanac correction */ +#define QMI_LOC_DELETE_DATA_MASK_BLACKLIST_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000040) /**< Blacklist SVs */ +#define QMI_LOC_DELETE_DATA_MASK_SA_DATA_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000080) /**< Sensitivity assistance data */ +#define QMI_LOC_DELETE_DATA_MASK_SV_NO_EXIST_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000100) /**< SV not exist */ +#define QMI_LOC_DELETE_DATA_MASK_IONO_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000200) /**< Ionosphere correction */ +#define QMI_LOC_DELETE_DATA_MASK_TIME_V02 ((qmiLocDeleteSatelliteDataMaskT_v02)0x00000400) /**< Reset satellite time */ +typedef uint32_t qmiLocGNSSConstellMaskT_v02; +#define QMI_LOC_SYSTEM_GPS_V02 ((qmiLocGNSSConstellMaskT_v02)0x00000001) +#define QMI_LOC_SYSTEM_GLO_V02 ((qmiLocGNSSConstellMaskT_v02)0x00000002) +#define QMI_LOC_SYSTEM_BDS_V02 ((qmiLocGNSSConstellMaskT_v02)0x00000004) +#define QMI_LOC_SYSTEM_GAL_V02 ((qmiLocGNSSConstellMaskT_v02)0x00000008) +#define QMI_LOC_SYSTEM_QZSS_V02 ((qmiLocGNSSConstellMaskT_v02)0x00000010) +/** @addtogroup loc_qmi_aggregates + @{ + */ +typedef struct { + + qmiLocGNSSConstellMaskT_v02 system; + /**< Indicates to which satellite system's data will be deleted. + The control point can delete multiple system at a time. + Valid values: \n + - QMI_LOC_SYSTEM_GPS (0x00000001) -- + - QMI_LOC_SYSTEM_GLO (0x00000002) -- + - QMI_LOC_SYSTEM_BDS (0x00000004) -- + - QMI_LOC_SYSTEM_GAL (0x00000008) -- + - QMI_LOC_SYSTEM_QZSS (0x00000010) -- + */ + + qmiLocDeleteSatelliteDataMaskT_v02 deleteSatelliteDataMask; + /**< Requested bitmask of data to be deleted for the specified satellite system. \n + Valid values: \n + - QMI_LOC_DELETE_DATA_MASK_EPHEMERIS (0x00000001) -- Ephemeris + - QMI_LOC_DELETE_DATA_MASK_ALMANAC (0x00000002) -- Almanac + - QMI_LOC_DELETE_DATA_MASK_SVHEALTH (0x00000004) -- SV Health + - QMI_LOC_DELETE_DATA_MASK_SVDIR (0x00000008) -- SV direction + - QMI_LOC_DELETE_DATA_MASK_SVSTEER (0x00000010) -- SV steer + - QMI_LOC_DELETE_DATA_MASK_ALM_CORR (0x00000020) -- Almanac correction + - QMI_LOC_DELETE_DATA_MASK_BLACKLIST (0x00000040) -- Blacklist SVs + - QMI_LOC_DELETE_DATA_MASK_SA_DATA (0x00000080) -- Sensitivity assistance data + - QMI_LOC_DELETE_DATA_MASK_SV_NO_EXIST (0x00000100) -- SV not exist + - QMI_LOC_DELETE_DATA_MASK_IONO (0x00000200) -- Ionosphere correction + - QMI_LOC_DELETE_DATA_MASK_TIME (0x00000400) -- Reset satellite time + */ +}qmiLocDeleteSatelliteDataStructT_v02; /* Type */ +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Request Message; This command is used to delete the location engine + service data from the memory */ +typedef struct { + + /* Mandatory */ + /* Reset All */ + uint8_t deleteAllFlag; + /**< Indicates whether all GNSS service data is to be deleted. + Values: + 0x01 (TRUE) -- All constellation's service data is to be reset; + if this flag is set, all the other information + contained in the optional fields for this + message are ignored + 0x00 (FALSE) -- The optional fields in the message are to be + used to determine which data is to be deleted + */ + + /* Optional */ + /* Requested bitmask of clock info data to be deleted */ + uint8_t deleteClockInfoMask_valid; /**< Must be set to true if deleteClockInfoMask is being passed */ + qmiLocDeleteClockInfoMaskT_v02 deleteClockInfoMask; + /**< Mask for the clock information service data that is to be deleted. + if QMI_LOC_DELETE_DATA_MASK_TIME is set in deleteServiceDataMask, + deleteClockInfoMask will be ignored. + Valid values: \n + - QMI_LOC_MASK_DELETE_CLOCK_INFO_TIME_EST (0x00000001) -- Mask to delete time estimate from clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_FREQ_EST (0x00000002) -- Mask to delete frequency estimate from clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_WEEK_NUMBER (0x00000004) -- Mask to delete week number from clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_RTC_TIME (0x00000008) -- Mask to delete RTC time from clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_TIME_TRANSFER (0x00000010) -- Mask to delete time transfer from clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GPSTIME_EST (0x00000020) -- Mask to delete GPS time estimate from clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GLOTIME_EST (0x00000040) -- Mask to delete GLONASS time estimate from clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GLODAY_NUMBER (0x00000080) -- Mask to delete GLONASS day number from clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GLO4YEAR_NUMBER (0x00000100) -- Mask to delete GLONASS four year number from clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GLO_RF_GRP_DELAY (0x00000200) -- Mask to delete GLONASS RF GRP delay from clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_DISABLE_TT (0x00000400) -- Mask to delete disable TT from clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GG_LEAPSEC (0x00000800) -- Mask to delete a BDS time estimate from the clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GG_GGTB (0x00001000) -- Mask to delete a BDS time estimate from the clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_BDSTIME_EST (0x00002000) -- Mask to delete a BDS time estimate from the clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GB_GBTB (0x00004000) -- Mask to delete Glonass-to-BDS time bias-related information from the + clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_BG_BGTB (0x00008000) -- Mask to delete BDS-to-GLONASS time bias-related information from the + clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_BDSWEEK_NUMBER (0x00010000) -- Mask to delete the BDS week number from the clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_BDS_RF_GRP_DELAY (0x00020000) -- Mask to delete the BDS RF GRP delay from the clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTIME_EST (0x00040000) -- Mask to delete a GAL time estimate from the clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTOGPS_TB (0x00080000) -- Mask to delete GAL-to-GPS time bias-related information from the + clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTOGLO_TB (0x00100000) -- Mask to delete GAL-to-GLO time bias-related information from the + clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALTOBDS_TB (0x00200000) -- Mask to delete GAL-to-BDS time bias-related information from the + clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GALWEEK_NUMBER (0x00800000) -- Mask to delete the GAL week number from the clock information + - QMI_LOC_MASK_DELETE_CLOCK_INFO_GAL_RF_GRP_DELAY (0x01000000) -- Mask to delete the GAL RF GRP delay from the clock information + */ + + /* Optional */ + /* Requested bitmask of cell DB data to be deleted */ + uint8_t deleteCellDbDataMask_valid; /**< Must be set to true if deleteCellDbDataMask is being passed */ + qmiLocDeleteCelldbDataMaskT_v02 deleteCellDbDataMask; + /**< Mask for the cell database service data that is to be deleted, + common for all GNSS type + Valid values: \n + - QMI_LOC_MASK_DELETE_CELLDB_POS (0x00000001) -- Mask to delete cell database position + - QMI_LOC_MASK_DELETE_CELLDB_LATEST_GPS_POS (0x00000002) -- Mask to delete cell database latest GPS position + - QMI_LOC_MASK_DELETE_CELLDB_OTA_POS (0x00000004) -- Mask to delete cell database OTA position + - QMI_LOC_MASK_DELETE_CELLDB_EXT_REF_POS (0x00000008) -- Mask to delete cell database external reference position + - QMI_LOC_MASK_DELETE_CELLDB_TIMETAG (0x00000010) -- Mask to delete cell database time tag + - QMI_LOC_MASK_DELETE_CELLDB_CELLID (0x00000020) -- Mask to delete cell database cell ID + - QMI_LOC_MASK_DELETE_CELLDB_CACHED_CELLID (0x00000040) -- Mask to delete cell database cached cell ID + - QMI_LOC_MASK_DELETE_CELLDB_LAST_SRV_CELL (0x00000080) -- Mask to delete cell database last service cell + - QMI_LOC_MASK_DELETE_CELLDB_CUR_SRV_CELL (0x00000100) -- Mask to delete cell database current service cell + - QMI_LOC_MASK_DELETE_CELLDB_NEIGHBOR_INFO (0x00000200) -- Mask to delete cell database neighbor information + */ + + /* Optional */ + /* Requested bitmask of common data to be deleted */ + uint8_t deleteCommonDataMask_valid; /**< Must be set to true if deleteCommonDataMask is being passed */ + qmiLocDeleteCommonDataMaskT_v02 deleteCommonDataMask; + /**< Mask for the common service data that is to be deleted, + Valid values: \n + - QMI_LOC_DELETE_COMMON_MASK_POS (0x00000001) -- Position estimate, common for all GNSS type + - QMI_LOC_DELETE_COMMON_MASK_TIME (0x00000002) -- Reset all CLOCK_INFO mask + - QMI_LOC_DELETE_COMMON_MASK_UTC (0x00000004) -- UTC estimate + - QMI_LOC_DELETE_COMMON_MASK_RTI (0x00000008) -- RTI + - QMI_LOC_DELETE_COMMON_MASK_FREQ_BIAS_EST (0x00000010) -- Frequency bias estimate, common for all GNSS type + */ + + /* Optional */ + /* GNSS service data to be deleted */ + uint8_t deleteSatelliteData_valid; /**< Must be set to true if deleteSatelliteData is being passed */ + qmiLocDeleteSatelliteDataStructT_v02 deleteSatelliteData; + /**< Request to delete the GNSS service data.*/ +}qmiLocDeleteGNSSServiceDataReqMsgT_v02; /* Message */ +/** + @} + */ + +/** @addtogroup loc_qmi_messages + @{ + */ +/** Indication Message; This command is used to delete the location engine + service data from the memory */ +typedef struct { + + /* Mandatory */ + /* Delete GNSS Service Data Status */ + qmiLocStatusEnumT_v02 status; + /**< Status of the Delete Assist Data request. + + Valid values: \n + - eQMI_LOC_SUCCESS (0) -- Request was completed successfully \n + - eQMI_LOC_GENERAL_FAILURE (1) -- Request failed because of a general failure \n + - eQMI_LOC_UNSUPPORTED (2) -- Request failed because it is not supported \n + - eQMI_LOC_INVALID_PARAMETER (3) -- Request failed because it contained invalid parameters \n + - eQMI_LOC_ENGINE_BUSY (4) -- Request failed because the engine is busy \n + - eQMI_LOC_PHONE_OFFLINE (5) -- Request failed because the phone is offline \n + - eQMI_LOC_TIMEOUT (6) -- Request failed because it timed out \n + - eQMI_LOC_CONFIG_NOT_SUPPORTED (7) -- Request failed because an undefined configuration was requested \n + - eQMI_LOC_INSUFFICIENT_MEMORY (8) -- Request failed because the engine could not allocate sufficient memory for the request \n + - eQMI_LOC_MAX_GEOFENCE_PROGRAMMED (9) -- Request failed because the maximum number of Geofences are already programmed \n + - eQMI_LOC_XTRA_VERSION_CHECK_FAILURE (10) -- Location service failed because of an XTRA version-based file format check failure + */ +}qmiLocDeleteGNSSServiceDataIndMsgT_v02; /* Message */ +/** + @} + */ + /* Conditional compilation tags for message removal */ //#define REMOVE_QMI_LOC_ADD_CIRCULAR_GEOFENCE_V02 //#define REMOVE_QMI_LOC_ADD_GEOFENCE_CONTEXT_V02 //#define REMOVE_QMI_LOC_DELETE_ASSIST_DATA_V02 //#define REMOVE_QMI_LOC_DELETE_GEOFENCE_V02 //#define REMOVE_QMI_LOC_DELETE_GEOFENCE_CONTEXT_V02 +//#define REMOVE_QMI_LOC_DELETE_GNSS_SERVICE_DATA_V02 //#define REMOVE_QMI_LOC_DELETE_SUPL_CERTIFICATE_V02 //#define REMOVE_QMI_LOC_EDIT_GEOFENCE_V02 //#define REMOVE_QMI_LOC_EVENT_BATCHING_STATUS_V02 @@ -14663,6 +15580,9 @@ typedef struct { //#define REMOVE_QMI_LOC_EVENT_DBT_SESSION_STATUS_V02 //#define REMOVE_QMI_LOC_EVENT_ENGINE_STATE_V02 //#define REMOVE_QMI_LOC_EVENT_FIX_SESSION_STATE_V02 +//#define REMOVE_QMI_LOC_EVENT_GDT_DOWNLOAD_BEGIN_REQ_V02 +//#define REMOVE_QMI_LOC_EVENT_GDT_DOWNLOAD_END_REQ_V02 +//#define REMOVE_QMI_LOC_EVENT_GDT_RECEIVE_DONE_V02 //#define REMOVE_QMI_LOC_EVENT_GDT_UPLOAD_BEGIN_STATUS_REQ_V02 //#define REMOVE_QMI_LOC_EVENT_GDT_UPLOAD_END_REQ_V02 //#define REMOVE_QMI_LOC_EVENT_GEOFENCE_BATCHED_BREACH_NOTIFICATION_V02 @@ -14691,6 +15611,10 @@ typedef struct { //#define REMOVE_QMI_LOC_EVENT_TIME_SYNC_REQ_V02 //#define REMOVE_QMI_LOC_EVENT_VEHICLE_DATA_READY_STATUS_V02 //#define REMOVE_QMI_LOC_EVENT_WIFI_REQ_V02 +//#define REMOVE_QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_V02 +//#define REMOVE_QMI_LOC_GDT_DOWNLOAD_END_STATUS_V02 +//#define REMOVE_QMI_LOC_GDT_DOWNLOAD_READY_STATUS_V02 +//#define REMOVE_QMI_LOC_GDT_RECEIVE_DONE_STATUS_V02 //#define REMOVE_QMI_LOC_GDT_UPLOAD_BEGIN_STATUS_V02 //#define REMOVE_QMI_LOC_GDT_UPLOAD_END_V02 //#define REMOVE_QMI_LOC_GET_AVAILABLE_WWAN_POSITION_V02 @@ -14719,6 +15643,7 @@ typedef struct { //#define REMOVE_QMI_LOC_GET_SUPPORTED_FIELDS_V02 //#define REMOVE_QMI_LOC_GET_SUPPORTED_MSGS_V02 //#define REMOVE_QMI_LOC_GET_XTRA_T_SESSION_CONTROL_V02 +//#define REMOVE_QMI_LOC_GTP_AP_STATUS_V02 //#define REMOVE_QMI_LOC_INFORM_CLIENT_REVISION_V02 //#define REMOVE_QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_V02 //#define REMOVE_QMI_LOC_INFORM_NI_USER_RESPONSE_V02 @@ -15093,6 +16018,27 @@ typedef struct { #define QMI_LOC_QUERY_AON_CONFIG_REQ_V02 0x009D #define QMI_LOC_QUERY_AON_CONFIG_RESP_V02 0x009D #define QMI_LOC_QUERY_AON_CONFIG_IND_V02 0x009D +#define QMI_LOC_GTP_AP_STATUS_REQ_V02 0x009E +#define QMI_LOC_GTP_AP_STATUS_RESP_V02 0x009E +#define QMI_LOC_GTP_AP_STATUS_IND_V02 0x009E +#define QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_REQ_V02 0x009F +#define QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_RESP_V02 0x009F +#define QMI_LOC_GDT_DOWNLOAD_BEGIN_STATUS_IND_V02 0x009F +#define QMI_LOC_GDT_DOWNLOAD_READY_STATUS_REQ_V02 0x00A0 +#define QMI_LOC_GDT_DOWNLOAD_READY_STATUS_RESP_V02 0x00A0 +#define QMI_LOC_GDT_DOWNLOAD_READY_STATUS_IND_V02 0x00A0 +#define QMI_LOC_GDT_RECEIVE_DONE_STATUS_REQ_V02 0x00A1 +#define QMI_LOC_GDT_RECEIVE_DONE_STATUS_RESP_V02 0x00A1 +#define QMI_LOC_GDT_RECEIVE_DONE_STATUS_IND_V02 0x00A1 +#define QMI_LOC_GDT_DOWNLOAD_END_STATUS_REQ_V02 0x00A2 +#define QMI_LOC_GDT_DOWNLOAD_END_STATUS_RESP_V02 0x00A2 +#define QMI_LOC_GDT_DOWNLOAD_END_STATUS_IND_V02 0x00A2 +#define QMI_LOC_EVENT_GDT_DOWNLOAD_BEGIN_REQ_IND_V02 0x00A3 +#define QMI_LOC_EVENT_GDT_RECEIVE_DONE_IND_V02 0x00A4 +#define QMI_LOC_EVENT_GDT_DOWNLOAD_END_REQ_IND_V02 0x00A5 +#define QMI_LOC_DELETE_GNSS_SERVICE_DATA_REQ_V02 0x00A6 +#define QMI_LOC_DELETE_GNSS_SERVICE_DATA_RESP_V02 0x00A6 +#define QMI_LOC_DELETE_GNSS_SERVICE_DATA_IND_V02 0x00A6 /** @} */