blob: 61c54d03d0f9bae97ad7d7465631c92c507ee665 [file] [log] [blame]
/******************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2016
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*******************************************************************************/
/******************************************************************************
* Filename:
* --------------------------------------------------------
* lpp_lppe_struct.h
*
* Project:
* --------------------------------------------------------
*
*
* Description:
* --------------------------------------------------------
* LPP/LPP Extension Interface - Structure Definition
*
* Author:
* --------------------------------------------------------
* -------
*
* --------------------------------------------------------
* $Log$
*
* 11 29 2019 jie-yu.wang
* [MOLY00461947] [LPP] Patch back from 1001.DEV to VMOLY
* [SWRD] LPP patch back
*
* 03 15 2018 jie-yu.wang
* [MOLY00311925] Code sync from R3.
*
* 10 04 2016 doug.shih
* [LPPe] interface design
* Fix enum type redefinition
* .
*
* 10 03 2016 doug.shih
* [LPPe] interface design
* ASN.1 structure down size
* .
*
* 10 03 2016 doug.shih
* [LPPe] interface design
* .
*
* 09 09 2016 doug.shih
* [LPPe] interface design
* .
*
* 09 06 2016 doug.shih
* [LPPe] interface design
* .
*
* 08 24 2016 doug.shih
* [LPPe] interface design
* .
*
*
*****************************************************************************/
#ifndef _LPP_LPPE_STRUCT_H
#define _LPP_LPPE_STRUCT_H
#include "kal_public_api.h"
#include "kal_public_defs.h"
#include "kal_general_types.h"
#include "lpp_lppe_enum.h"
#include "lpp_lppe_def.h"
#include "gnss2lcsp_enum.h"
#include "gnss2lcsp_struct.h"
/*****************************************************************************
* Macros Without Parameters
*****************************************************************************/
/*****************************************************************************
* Macros With Parameters
*****************************************************************************/
/*****************************************************************************
* Type Definitions
*****************************************************************************/
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
/* Mapping to LPPeIpAddress_IpAddress*/
typedef struct {
kal_bool ipv4Valid;
kal_char ipv4[4];
kal_int32 ipv4_size;
kal_bool ipv6Valid;
kal_char ipv6[16];
kal_int32 ipv6_size;
data_bearer_type_enum bearer;
kal_bool natValid;
kal_bool nat;
} ip_address_element_struct;
/*Mapping to LPPeIpAddress_IpAddressInformation*/
typedef struct
{
ip_address_element_struct ipAddrElement[LOC_IP_ADDR_MAX_ELEMENT];
kal_int32 numIPAddrElement;
} lpp_lppe_ipaddress_meas_struct;
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
/* ---LPP -> LPP_EXT--- */
/* MSG_ID_LPP_LPPE_EPDU_DATA_IND: transfer downlink LPPe message raw data */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 epduDLSN; /* unique sequence number to identify a EPDU in DL, only used between LPP and LPP_EXT */
kal_uint16 lppTransID; /* binded LPP transactio ID of this EPDU */
lpp_lppe_msg_type_enum msgType; /* pre-decode LPPE message type of this EPDU */
kal_uint8 posMethodBitmask; /*if LPP has AGNSS position, LPPe also need to comprase the result into LPPe element */
/* raw data is in peer buffer */
} lpp_lppe_epdu_data_ind_struct;
/* MSG_ID_LPP_LPPE_EPDU_DATA_NTF: indicate certain uplink LPPe message acknowledge status */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 epduULSN; /* unique sequence number to identify a EPDU in UL, only used between LPP and LPP_EXT */
kal_bool ackStatus; /* LPP acknowledge status for specified uplink EPDU, TRUE: acked, FALSE: nacked(sent failure) */
} lpp_lppe_epdu_data_ntf_struct;
/* MSG_ID_LPP_LPPE_EPDU_DATA_CNF: indicate uplink LPPe message transferring status */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 epduULSN; /* unique sequence number to identify a EPDU in UL, only used between LPP and LPP_EXT */
kal_bool sentStatus; /* LPP sent status (LPP recieved CNF) for specified uplink EPDU, TRUE: sent, FALSE: failure */
} lpp_lppe_epdu_data_cnf_struct;
/* MSG_ID_LPP_LPPE_STATUS_SYNC_IND: inform LPP status, such as connection status, SUPL/LPP session */
typedef struct
{
LOCAL_PARA_HDR
kal_bool isConnected; /* indicate signaling connection status, TRUE: connected, FALSE: released */
kal_bool isSUPLSessionActive; /* indicate SUPL/LPP session active status, TRUE: active, FALSE: idle */
} lpp_lppe_status_sync_ind_struct;
/* Assistanda Data*/
/* MSG_ID_LPP_LPPE_WLAN_POS_ASSIST_DATA_REQUEST_IND: AP connectivity module requests to assist data request */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this AD request */
void* ptr;
} lpp_lppe_wlan_pos_assist_data_request_ind_struct;
/* MSG_ID_LPP_LPPE_BT_POS_ASSIST_DATA_REQUEST_IND: AP connectivity module requests to assist data request */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this AD request */
void* ptr;
} lpp_lppe_bt_pos_assist_data_request_ind_struct;
/* MSG_ID_LPP_LPPE_SENSOR_POS_ASSIST_DATA_REQUEST_IND: AP connectivity module requests to assist data request */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this AD request */
void* ptr;
} lpp_lppe_sensor_pos_assist_data_request_ind_struct;
/* MSG_ID_LPP_LPPE_HA_AGNSS_POS_ASSIST_DATA_REQUEST_IND: AP connectivity module requests to assist data request */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this AD request */
} lpp_lppe_ha_agnss_pos_assist_data_request_ind_struct;
/* MSG_ID_LPP_LPPE_PMTK_DONE_IND: LPP finish the AGNSS assistance data transmission */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this AD request */
} lpp_lppe_pmtk_done_ind_struct;
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
typedef struct
{
srn_tech_type_enum srnTechType; /* identify the SRN RF technology */
// kal_bool srnVendorInfoValid;
// LPP_EXT_OMA_LPPe_SRN_Category_srnVendorInformation srnVendorInfo; /* TBD: redefine internal structure? */ /* provide information about an associated SRN vendor */
} srn_category_struct;
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
/* Location Information*/
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
typedef struct
{
kal_int32 rtdValue; /* [0..16777215], the measured round trip delay between the target and WLAN AP, unit refer below rtdUnits */
wlan_ap_rtd_unit_enum rTdUnits; /* units for each of these are 1000ns(1ms), 100ns, 10ns, 1ns or 0.1ns */
kal_int16 rtdAccuracy; /* [0..255], accuracy expressed as the standard deviation of the delay */
} wlan_rtd_struct;
/* Mapping to LPPeWlan_WlanApMeasurement*/
typedef struct
{
/**
* apRSSI = 0x1
* apChanFreq = 0x2
* apRtd = 0x4
*/
kal_int32 valid;
kal_bool servingFlag; /* * This parameter indicates whether a set of WLAN AP measurements were obtained for a serving WLAN AP (TRUE) or a non-serving WLAN AP (FALSE) */
kal_char apMacAddr[WLAN_MAC_ADDRESS_SIZE]; /* This field provides the 48 bit MAC address of the reported WLAN AP */
kal_int32 apMACAddress_size;
/**
* This field provides the AP signal strength of a beacon frame, probe
* response frame or measurement pilot frame measured at the target in dBm
* on the channel indicated by apChannelFrequency field
* -127..128
*/
float apRSSI;
kal_int16 apChanFreq; /* This field provides the AP channel number identification of the reported WLAN AP 0..256 */
wlan_rtd_struct apRtd;
/** * This field provides the SSID of the wireless network served by the AP */
kal_char apSSID[WLAN_AP_MAX_SSID_OCTET];
kal_int32 apSSID_size;
} wlan_meas_query_info_list_struct; //wlan_ap_loc_info_list_struct;
/* Mapping to LPPeWlan_WlanProvideMeasurement */
typedef struct
{
/**
* This parameter provides measurements for one or more WLAN APs at
* the current time and/or for historic times
*/
wlan_meas_query_info_list_struct listElement[WLAN_AP_MAX_LOC_INFO_LIST_ELEMENT];
kal_int32 meas_size;
} wlan_meas_query_comb_struct; //wlan_ap_loc_info_comb_struct;
typedef struct
{
wlan_ap_tgt_dev_err_cause_enum cause;
kal_uint32 notAllAvailableBitmap; /* use WLAN_AP_TGT_DEV_ERR_*, only valud when cause = NOT_ALL_REQ_MEASUREMENT_POSSIBLE */
} wlan_ap_tgt_dev_err_cause_struct;
/*Mapping to lppe_stack_wlan_meas */
typedef struct
{
kal_bool isValid;
kal_int64 relativeTime; //milliseconds
wlan_meas_query_comb_struct meas;
} lpp_lppe_wlan_meas_struct; //lpp_lppe_wlan_ap_pos_loc_cnf_struct;
typedef struct
{
kal_bool priMotionStateErrValid;
sensor_tgt_pri_motion_state_err_cause_enum priMotionStateErr;
kal_bool secMotionStateErrValid;
sensor_tgt_sec_motion_state_err_cause_enum secMotionStateErr;
kal_bool pressureErrValid;
sensor_tgt_pressure_err_cause_enum pressureErr;
} sensor_tgt_err_struct;
/* Mapping to LPPeSensor_SensorPressureMeasurement*/
typedef struct
{
kal_int32 sensorMeas; /* [30000..115000], specify the measured atmospheric pressure in units of Pa
(corresponding to a numerical altitude resolution of about 0.1m at sea level) */
kal_bool adjustmentValid;
kal_int16 adjustment; /* [-5000..5000], specify any adjustment in units of Pa applied by a target to the output of the sensor(s) to produce a more accurate atmospheric pressure */
kal_bool pressureUncRangeValid;
kal_int16 pressureUncRang;
kal_bool pressureUncConfidenceValid;
kal_char pressureUncConfidence;
kal_bool temperatureValid;
kal_int16 temperature; /* [-100..150], provide the temperature in degrees Celsius associated with the sensor(s) used for the pressure measurement and shall be provided if available */
} sensor_pressure_meas_struct;
typedef struct
{
kal_bool isValid;
kal_int64 relativeTime; //milliseconds
sensor_pressure_meas_struct meas;
} lpp_lppe_sensor_meas_struct;
/* Mapping to LPPeBluetooth_BluetoothRTD */
typedef struct
{
kal_int32 rtdValue; /* [0..16777215], the measured round trip delay between the target and WLAN AP, unit refer below rtdUnits */
bt_rtd_unit_enum rTdUnits; /* units for each of these are 1000ns(1ms), 100ns, 10ns, 1ns or 0.1ns */
kal_int16 rtdAccuracy; /* [0..255], accuracy expressed as the standard deviation of the delay */
}bt_rtd_struct;
typedef struct
{
#define LPPE_STACK_BT_MEAS_ELEMENT_VALID_RSSI 0x1
#define LPPE_STACK_BT_MEAS_ELEMENT_VALID_RTD 0x2
kal_int32 valid;
kal_int32 deviceRelativeTime; // milliseconds, actual time = currentTime - relativeTime
kal_int16 rssi;
bt_rtd_struct rtd;
} bt_meas_element_struct;
/*Mapping to lppe_stack_bt_meas_device*/
typedef struct
{
kal_char mac[BT_MAC_ADDRESS_SIZE];
#define LPPE_BT_MEAS_DEVICE_CATEGORY_UNKNOWN 0
#define LPPE_BT_MEAS_DEVICE_CATEGORY_BT 1
#define LPPE_BT_MEAS_DEVICE_CATEGORY_BTLE 2
kal_char category;
bt_meas_element_struct meas;
}bt_meas_list_struct; //srn_meas_list_struct;
typedef struct
{
srn_category_struct category;
srn_target_device_err_cause_enum cause;
kal_uint8 notAllAvailableBitmap; /* use SRN_TGT_DEV_ERR_*, only valud when cause = NOT_ALL_REQ_MEASUREMENT_POSSIBLE */
} srn_tgt_dev_error_element_struct;
typedef struct
{
kal_uint8 numTgtErrElement;
srn_tgt_dev_error_element_struct tgtErrElement[SRN_MAX_TARGET_DEVICE_ERR_ELEMENT];
} srn_tgt_dev_error_struct;
typedef struct
{
kal_bool isValid;
kal_int64 relativeTime; //milliseconds
bt_meas_list_struct devices[SRN_MAX_MEASUREMENT_ELEMENT];
kal_int32 devices_size;
}lpp_lppe_bt_meas_struct;
/* Mapping to LPPeNetwork_NetworkLocationMeasurement*/
typedef struct {
kal_int64 time; /*UTC time of this fix, in milliseconds since January 1, 1970*/
double latitude; /*in degrees*/
double longitude; /*in degrees*/
kal_bool accuracyValid; /*the estimated accuracy of this location, in meters*/
float accuracy;
kal_bool altitudeValid; /*in meters above the WGS 84 reference ellipsoid*/
double altitude;
kal_bool confidenceHorizontalValid;
kal_uint8 confidenceHorizontal; /* The horizontal confidence percentage associated with the CEP or Uncerainty Ellipse depending upon withci is included. [0...99] */
kal_bool locationSourceValid;
/**
* location source bit array for locationSource
* locationSourceAgnss = 0x1
* locationSourceSensor = 0x2
* locationSourceEcidLTE = 0x4
* locationSourceEcidGSM = 0x8
* locationSourceEcidUTRA = 0x10
* locationSourceWlanAP = 0x20
* locationSourceSrn = 0x40
*/
kal_int32 locationSource;
kal_bool verticalAccuracyValid; /* the vertical accuracy of this location, in meters */
float verticalAccuracy;
kal_bool confidenceVerticalValid;
kal_uint8 confidenceVertical; /* provide the location vertical accuracy confidence, range 0 - 99 */
} network_meas_element_struct;
/* Mapping to lppe_stack_network_meas*/
typedef struct
{
kal_bool isValid;
kal_int64 relativeTime; //milliseconds
network_meas_element_struct meas;
}lpp_lppe_network_meas_struct;
/* MSG_ID_LPP_LPPE_WLAN_MEAS_QUERY_CNF: provide location information of specified positioning methods */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
lpp_lppe_wlan_meas_struct wlanAPCnf;
} lpp_lppe_wlan_meas_query_cnf_struct;
/* MSG_ID_LPP_LPPE_BT_MEAS_QUERY_CNF: provide location information of specified positioning methods */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
lpp_lppe_bt_meas_struct btCnf;
} lpp_lppe_bt_meas_query_cnf_struct;
/* MSG_ID_LPP_LPPE_SENSOR_MEAS_QUERY_CNF: provide location information of specified positioning methods */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
lpp_lppe_sensor_meas_struct sensorCnf;
} lpp_lppe_sensor_meas_query_cnf_struct;
/* MSG_ID_LPP_LPPE_NETWORK_MEAS_QUERY_CNF: provide location information of specified positioning methods */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
lpp_lppe_network_meas_struct networkCnf;
} lpp_lppe_network_meas_query_cnf_struct;
/* MSG_ID_LPP_LPPE_IPADDRESS_MEAS_QUERY_CNF: provide location information of specified positioning methods */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
lpp_lppe_ipaddress_meas_struct ipAddressCnf;
} lpp_lppe_ipaddress_meas_query_cnf_struct;
/* Capability*/
/* Mapping to LPPeWlan_WlanMeasurements */
typedef struct
{
kal_bool nonServing; /* Measurements for a non-serving WLAN AP (in addition to a serving WLAN AP)*/
kal_bool apSSID; /* SSID of the WLAN */
kal_bool apSN; /* AP S/N received at the target */
kal_bool apDevType; /* AP Device type */
kal_bool apPhyType; /* AP PHY type */
kal_bool apRSSI; /* AP signal strength at the target */
kal_bool apChanFreq; /*AP channel/frequency of Tx/Rx */
kal_bool apRTD; /* Round Trip Delay between target and AP */
kal_bool apRepLoc; /* AP Location as reported by AP */
kal_bool apTP; /* AP transmit power */
kal_bool apAG; /* AP antenna gain */
kal_bool ueTP; /* Target transmit power */
kal_bool ueAG; /* Target antenna gain */
kal_bool ueSN; /* UE S/N received at the AP */
kal_bool ueRSSI; /* Target signal strength at the AP */
kal_bool oc; /* operating class */
} wlan_meas_capa_type_struct;
typedef struct {
kal_bool ieee802_11a;
kal_bool ieee802_11b;
kal_bool ieee802_11g;
kal_bool ieee802_11n;
kal_bool ieee802_11ac;
kal_bool ieee802_11ad;
} wlan_ap_type_struct;
/*Mapping to LPPeWlan_WlanApCapability */
typedef struct
{
kal_char apMacAddr[WLAN_MAC_ADDRESS_SIZE]; /* provide the MAC address of the target */
kal_int32 apMACAddress_size;
wlan_ap_type_struct apTypes; /* provide the WLAN types supported when functioning as an AP, mapping to LPPeWlan_WlanTypesSupported */
} wlan_ap_route_capability_struct;
/* Mapping to LPPeWlan_WlanApADSupported */
typedef struct
{
kal_bool aplist; /*mandatory WLAN AP data*/
kal_bool aplocation; /*location of each WLAN AP*/
kal_bool locationreliability; /*reliability of WLAN AP location*/
kal_bool transmitPower; /*transmit power for each WLAN AP*/
kal_bool antennaGain; /*antenna gain for each WLAN AP*/
kal_bool coverageArea; /*coverage area for each WLAN AP*/
/**
* information for WLAN APs belonging to a different operator than
* the serving WLAN AP or information for multiple WLAN AP data sets if
* the serving WLAN AP is not associated with a PLMN operator or if the
* target device is not served by a WLAN AP
*/
kal_bool nonServing;
} wlan_ap_ad_support_struct;
/*align AP*/
typedef struct
{
kal_bool isWlanSupported; /* This parameter indicates whether DUT can support WLAN functionality*/
kal_bool apCapabilityValid;/*This parameter if present indicates that the target can function as a WLAN AP*/
wlan_ap_route_capability_struct apCapability;
kal_bool wlanTypesSupportedValid; /*This field provides the WLAN AP types supported by the target device when functioning as a WLAN station*/
wlan_ap_type_struct wlanTypesSupport; /* indicate the WLAN AP types supported by the target device when functioning as a WLAN station, mapping to WLAN_AP_TYPE_LIST_BIT_* */
wlan_ap_ad_support_struct apADSupported; /* This field specifies the WLAN AP assistance data supported by the target device */
kal_char ueMacAddr[WLAN_MAC_ADDRESS_SIZE]; /* This field specifies the MAC Address of the UE. This field should be included for location for an emergency call and may be included in other cases */
kal_int32 ueMACAddress_size;
wlan_meas_capa_type_struct measSupported; /* This field specifies the E-CID measurements supported by the target device when accessing a WLAN AP*/
} wlan_ap_capability_struct;
typedef struct
{
kal_bool motionStateSupport; /* TRUE if the target supports motion state measurements */
kal_bool secMotionStateSupport; /* TRUE if the target supports secondary motion state measurements */
kal_bool pressureADSupport; /* TRUE if the target supports atmosphericc pressure assistance data */
kal_bool PressureSupport; /* TRUE if the target supports atmospheric pressure measurements */
} sensor_capability_struct;
typedef struct
{
srn_category_struct srnCategory; /* specify the supported SRN category */
kal_uint8 supportMeas; /* specify the SRN measurements the target can provide, mapping to SRN_MEAS_TYPE_BIT_* */
kal_uint8 supportAssistData; /* specify the SRN assistance data types supported by the target device for target based mode, mapping to SRN_AD_TYPE_BIT_* */
} srn_capability_category_element_struct;
/* Align to AP: LPPeBluetooth_BluetoothProvideCapabilities (do we need to kepp for LPPe context)*/
typedef struct
{
kal_uint8 numCateElement;
srn_capability_category_element_struct cateElement[SRN_MAX_CATEGORY_ELEMENT]; /* specify the target capabilities for each supported SRN category */
} srn_capability_struct;
typedef struct
{
kal_bool btSupported; /*Whether target supports bluetooth*/
kal_bool btRssi;
kal_bool btRtd;
kal_bool btGroup; /* This field specifies the BT assistance data types supported by the target device for target based mode*/
kal_bool btAntennaPattern; /* This field specifies the BT assistance data types supported by the target device for target based mode */
kal_bool btleSupported; /* * Whether target supports bluetooth low energy*/
kal_bool btleRssi;
kal_bool btleRtd;
kal_bool btleGroup; /*This field specifies the BTLE assistance data types supported by the target device for target based mode*/
kal_bool btleAntennaPattern; /* This field specifies the BTLE assistance data types supported by the target device for target based mode */
} bt_capability_struct;
/* Mapping to LPPeIpAddress_IpAddressCapabilities */
typedef struct
{
kal_bool ipv4; /* support to report Internet Protocol version 4 */
kal_bool ipv6; /* support to report Internet Protocol version 6 */
kal_bool nat; /* support to report Network Address Translation */
} ipaddress_capability_struct;
/* MSG_ID_LPP_LPPE_WLAN_CAPABILITY_IND: unsolicited capability indications from AP connectivity module */
typedef struct
{
LOCAL_PARA_HDR
wlan_ap_capability_struct wlanAPCapa;
} lpp_lppe_wlan_capability_ind_struct;
/* MSG_ID_LPP_LPPE_BT_CAPABILITY_IND: unsolicited capability indications from AP connectivity module */
typedef struct
{
LOCAL_PARA_HDR
bt_capability_struct btCapa;
} lpp_lppe_bt_capability_ind_struct;
/* MSG_ID_LPP_LPPE_SENSOR_CAPABILITY_IND: unsolicited capability indications from AP connectivity module */
typedef struct
{
LOCAL_PARA_HDR
sensor_capability_struct sensorCapa;
} lpp_lppe_sensor_capability_ind_struct;
/* MSG_ID_LPP_LPPE_NETWORK_CAPABILITY_IND: unsolicited capability indications from AP connectivity module */
typedef struct
{
LOCAL_PARA_HDR
kal_bool networkLocationSupported;
} lpp_lppe_network_capability_ind_struct;
/* MSG_ID_LPP_LPPE_IPADDRESS_CAPABILITY_IND: unsolicited capability indications from AP connectivity module */
typedef struct
{
LOCAL_PARA_HDR
ipaddress_capability_struct ipAddressCapa;
} lpp_lppe_ipaddress_capability_ind_struct;
/* MSG_ID_LPP_LPPE_GNSS_POS_IND: un-solicited POS indication from LPP */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 transactionID;
gnss_loc_result_enum resultStatus;
gnss_pos_result_type_enum type;
gnss_pos_result_struct posResult; /* only valid when resultStatus = GNSS_LOC_RESULT_NO_ERROR */
} lpp_lppe_gnss_pos_ind_struct;
/* MSG_ID_LPP_LPPE_GNSS_MEAS_IND: un-solicited POS indication from LPP */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 transactionID;
gnss_loc_result_enum resultStatus;
gnss_meas_result_type_enum type;
gnss_measured_result_struct measuredResult; /* only valid when resultStatus = GNSS_LOC_RESULT_NO_ERROR */
} lpp_lppe_gnss_meas_ind_struct;
/* MSG_ID_LPP_LPPE_ABORT_IND: un-solicited ABORT indication from LPP */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 transactionID;
kal_bool abortAll; /* Also can use on LPP clear all session */
lpp_lppe_abort_cause_enum cause;
} lpp_lppe_abort_ind_struct;
/* MSG_ID_LPP_LPPE_ERROR_IND: un-solicited ERROR indication from LPP */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 transactionID;
lpp_lppe_error_cause_enum cause;
} lpp_lppe_error_ind_struct;
/* ---LPP_EXT -> LPP--- */
/* MSG_ID_LPP_LPPE_EPDU_DATA_REQ: transfer uplink LPPe message raw data */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 epduULSN; /* unique sequence number to identify a EPDU in UL, only used between LPP and LPP_EXT */
kal_bool lppTransIDValid; /* LPP transaction ID validity */
kal_uint16 lppTransID; /* binded LPP transactio ID of this EPDU (optional) */
lpp_lppe_msg_type_enum msgType; /* LPPE message type of this EPDU */
kal_bool ackRequired; /* specify if this EPDU requires LPP acknowledge, TRUE: required, FALSE: not needed */
lppe_result_enum resultStatus;
/* raw data is in peer buffer */
} lpp_lppe_epdu_data_req_struct;
/* MSG_ID_LPP_LPPE_EPDU_DATA_RSP: indicate downlink LPPe message process status */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 epduDLSN; /* unique sequence number to identify a EPDU in DL, only used between LPP and LPP_EXT */
kal_bool processStatus; /* LPPe process status for specified downlink EPDU, TRUE: sent, FALSE: failure, e.g., AD receive RSP from AP module, LI REQ is sent to AP module */
} lpp_lppe_epdu_data_rsp_struct;
/* Assistance Data Procedure*/
/* MSG_ID_LPP_LPPE_WLAN_POS_ASSIST_DATA_PROVIDE_IND,: transfer the assist data to LPP*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this AD */
kal_bool result; /* indicate the LPP/LPPe can initiate an AD request to the network */
} lpp_lppe_wlan_pos_assist_data_provide_ind_struct;
/* MSG_ID_LPP_LPPE_BT_POS_ASSIST_DATA_PROVIDE_IND,: transfer the assist data to LPP*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this AD */
kal_bool result; /* indicate the LPP/LPPe can initiate an AD request to the network */
} lpp_lppe_bt_pos_assist_data_provide_ind_struct;
/* MSG_ID_LPP_LPPE_SENSOR_POS_ASSIST_DATA_PROVIDE_IND,: transfer the assist data to LPP*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this AD */
kal_bool result; /* indicate the LPP/LPPe can initiate an AD request to the network */
} lpp_lppe_sensor_pos_assist_data_provide_ind_struct;
/* MSG_ID_LPP_LPPE_HA_AGNSS_POS_ASSIST_DATA_PROVIDE_IND,: transfer the assist data to LPP*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this AD */
kal_bool result; /* indicate the LPP/LPPe can initiate an AD request to the network */
} lpp_lppe_ha_agnss_pos_assist_data_provide_ind_struct;
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
/*Location Information*/
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
typedef struct
{
kal_bool nonServing; /* Measurements for a non-serving WLAN AP (in addition to a serving WLAN AP)*/
kal_bool apSSID; /* SSID of the WLAN*/
kal_bool apSN; /* AP S/N received at the target*/
kal_bool apDevType; /* AP Device type*/
kal_bool apPhyType; /* AP PHY type*/
kal_bool apRSSI; /* AP signal strength at the target*/
kal_bool apChanFreq; /* AP channel/frequency of Tx/Rx*/
kal_bool apRTD; /* Round Trip Delay between target and AP*/
kal_bool apRepLoc; /* AP Location as reported by AP*/
kal_bool apTP; /* AP transmit power */
kal_bool apAG; /* AP antenna gain */
kal_bool ueTP; /* Target transmit power */
kal_bool ueAG; /* Target antenna gain */
kal_bool ueSN; /*UE S/N received at the AP */
kal_bool ueRSSI; /* Target signal strength at the AP */
kal_bool oc; /*operating class*/
} lpp_lppe_wlan_meas_req_struct;
/* Mapping to LPPeSensor_SensorMeasurementRequest*/
typedef struct
{
kal_bool motionStateReq; /* request for primary motion state measurements */
kal_bool secMotionStateReq; /* request the secondary motion state of the target */
kal_bool pressureReq; /* request for atmospheric pressure measurements */
} lpp_lppe_sensor_meas_req_struct; //lpp_lppe_sensor_pos_loc_req_struct;
/*Mapping to LPPeBluetooth_BluetoothMeasurementRequest*/
typedef struct
{
srn_req_loc_multi_meas_enum btMultipleMeasurement; /* This field specifies if the target is forbidded, allowed, or requested to provide multiple measurement sets per BT*/
kal_bool btRtd; /*Request BT round trip delay*/
srn_req_loc_multi_meas_enum btleMultipleMeasurement; /* This field specifies if the target is forbidden, allowed, or requested to provide multiple measurement sets per BTLE*/
kal_bool btleRtd; /*Request BTLE round trip delay*/
} lpp_lppe_bt_meas_req_struct;
/* MSG_ID_LPP_LPPE_WLAN_START_IND: transfer the start message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
lpp_lppe_wlan_meas_req_struct wlanAPReq;
} lpp_lppe_wlan_start_ind_struct;
/* MSG_ID_LPP_LPPE_BT_START_IND: transfer the start message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
lpp_lppe_bt_meas_req_struct btReq;
} lpp_lppe_bt_start_ind_struct;
/* MSG_ID_LPP_LPPE_SENSOR_START_IND: transfer the start message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
lpp_lppe_sensor_meas_req_struct sensorReq;
} lpp_lppe_sensor_start_ind_struct;
/* MSG_ID_LPP_LPPE_NETWORK_START_IND: transfer the start message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
} lpp_lppe_network_start_ind_struct;
/* MSG_ID_LPP_LPPE_WLAN_MEAS_QUERY_REQ: transfer the query message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
} lpp_lppe_wlan_meas_query_req_struct;
/* MSG_ID_LPP_LPPE_BT_MEAS_QUERY_REQ: transfer the query message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
} lpp_lppe_bt_meas_query_req_struct;
/* MSG_ID_LPP_LPPE_SENSOR_MEAS_QUERY_REQ: transfer the query message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
} lpp_lppe_sensor_meas_query_req_struct;
/* MSG_ID_LPP_LPPE_NETWORK_MEAS_QUERY_REQ: transfer the query message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
} lpp_lppe_network_meas_query_req_struct;
/* MSG_ID_LPP_LPPE_IPADDRESS_MEAS_QUERY_REQ: transfer the query message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
} lpp_lppe_ipaddress_meas_query_req_struct;
/* MSG_ID_LPP_LPPE_WLAN_STOP_IND: transfer the stop message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
} lpp_lppe_wlan_stop_ind_struct;
/* MSG_ID_LPP_LPPE_BT_STOP_IND: transfer the stop message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
} lpp_lppe_bt_stop_ind_struct;
/* MSG_ID_LPP_LPPE_SENSOR_STOP_IND: transfer the stop message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
} lpp_lppe_sensor_stop_ind_struct;
/* MSG_ID_LPP_LPPE_NETWORK_STOP_IND: transfer the stop message to LBS*//* LPPe only */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
} lpp_lppe_network_stop_ind_struct;
/* MSG_ID_LPP_LPPE_CAPABILITY_REQ: solicited capability request to AP connectivity module */
//TBD: AP automaticlly transfer the capability
/* MSG_ID_LPP_LPPE_ABORT_RSP: unsolicted ABORT request from LPP*/
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 transactionID;
} lpp_lppe_abort_rsp_struct;
/* MSG_ID_LPP_LPPE_ERROR_RSP: un-solicited ERROR indication from LPP */
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 transactionID;
} lpp_lppe_error_rsp_struct;
/************** LBS -> LPP_EXT *************/
typedef struct
{
LOCAL_PARA_HDR
lpp_lppe_ha_gnss_assist_data_type_enum type; /* assistance data type for ack */
} lppe_lbs_gnss_assist_data_rsp_struct; /* define for MSG_ID_LPPE_LBS_GNSS_ASSIST_DATA_RSP */
#endif /* _LPP_LPPE_STRUCT_H */