[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/protocol/general/lpp_lppe_struct.h b/mcu/interface/protocol/general/lpp_lppe_struct.h
new file mode 100644
index 0000000..61c54d0
--- /dev/null
+++ b/mcu/interface/protocol/general/lpp_lppe_struct.h
@@ -0,0 +1,1672 @@
+/******************************************************************************
+* 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 */