[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 */