blob: 61c54d03d0f9bae97ad7d7465631c92c507ee665 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/******************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2016
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*******************************************************************************/
35
36/******************************************************************************
37 * Filename:
38 * --------------------------------------------------------
39 * lpp_lppe_struct.h
40 *
41 * Project:
42 * --------------------------------------------------------
43 *
44 *
45 * Description:
46 * --------------------------------------------------------
47 * LPP/LPP Extension Interface - Structure Definition
48 *
49 * Author:
50 * --------------------------------------------------------
51 * -------
52 *
53 * --------------------------------------------------------
54 * $Log$
55 *
56 * 11 29 2019 jie-yu.wang
57 * [MOLY00461947] [LPP] Patch back from 1001.DEV to VMOLY
58 * [SWRD] LPP patch back
59 *
60 * 03 15 2018 jie-yu.wang
61 * [MOLY00311925] Code sync from R3.
62 *
63 * 10 04 2016 doug.shih
64 * [LPPe] interface design
65 * Fix enum type redefinition
66 * .
67 *
68 * 10 03 2016 doug.shih
69 * [LPPe] interface design
70 * ASN.1 structure down size
71 * .
72 *
73 * 10 03 2016 doug.shih
74 * [LPPe] interface design
75 * .
76 *
77 * 09 09 2016 doug.shih
78 * [LPPe] interface design
79 * .
80 *
81 * 09 06 2016 doug.shih
82 * [LPPe] interface design
83 * .
84 *
85 * 08 24 2016 doug.shih
86 * [LPPe] interface design
87 * .
88 *
89 *
90 *****************************************************************************/
91
92#ifndef _LPP_LPPE_STRUCT_H
93#define _LPP_LPPE_STRUCT_H
94
95#include "kal_public_api.h"
96#include "kal_public_defs.h"
97#include "kal_general_types.h"
98
99#include "lpp_lppe_enum.h"
100#include "lpp_lppe_def.h"
101#include "gnss2lcsp_enum.h"
102#include "gnss2lcsp_struct.h"
103/*****************************************************************************
104 * Macros Without Parameters
105 *****************************************************************************/
106
107
108/*****************************************************************************
109 * Macros With Parameters
110 *****************************************************************************/
111
112
113/*****************************************************************************
114 * Type Definitions
115 *****************************************************************************/
116#if 0
117/* under construction !*/
118/* under construction !*/
119/* under construction !*/
120/* under construction !*/
121/* under construction !*/
122/* under construction !*/
123/* under construction !*/
124/* under construction !*/
125/* under construction !*/
126/* under construction !*/
127/* under construction !*/
128/* under construction !*/
129/* under construction !*/
130/* under construction !*/
131/* under construction !*/
132/* under construction !*/
133/* under construction !*/
134/* under construction !*/
135/* under construction !*/
136/* under construction !*/
137/* under construction !*/
138/* under construction !*/
139/* under construction !*/
140/* under construction !*/
141/* under construction !*/
142/* under construction !*/
143/* under construction !*/
144/* under construction !*/
145/* under construction !*/
146/* under construction !*/
147/* under construction !*/
148/* under construction !*/
149/* under construction !*/
150/* under construction !*/
151/* under construction !*/
152/* under construction !*/
153/* under construction !*/
154/* under construction !*/
155/* under construction !*/
156/* under construction !*/
157/* under construction !*/
158#endif
159
160/* Mapping to LPPeIpAddress_IpAddress*/
161typedef struct {
162 kal_bool ipv4Valid;
163 kal_char ipv4[4];
164 kal_int32 ipv4_size;
165
166 kal_bool ipv6Valid;
167 kal_char ipv6[16];
168 kal_int32 ipv6_size;
169
170 data_bearer_type_enum bearer;
171
172 kal_bool natValid;
173 kal_bool nat;
174} ip_address_element_struct;
175
176/*Mapping to LPPeIpAddress_IpAddressInformation*/
177typedef struct
178{
179 ip_address_element_struct ipAddrElement[LOC_IP_ADDR_MAX_ELEMENT];
180 kal_int32 numIPAddrElement;
181} lpp_lppe_ipaddress_meas_struct;
182
183#if 0
184/* under construction !*/
185/* under construction !*/
186/* under construction !*/
187/* under construction !*/
188/* under construction !*/
189/* under construction !*/
190/* under construction !*/
191/* under construction !*/
192/* under construction !*/
193/* under construction !*/
194/* under construction !*/
195/* under construction !*/
196/* under construction !*/
197/* under construction !*/
198/* under construction !*/
199/* under construction !*/
200/* under construction !*/
201/* under construction !*/
202/* under construction !*/
203/* under construction !*/
204/* under construction !*/
205/* under construction !*/
206/* under construction !*/
207/* under construction !*/
208/* under construction !*/
209#endif
210
211/* ---LPP -> LPP_EXT--- */
212/* MSG_ID_LPP_LPPE_EPDU_DATA_IND: transfer downlink LPPe message raw data */
213typedef struct
214{
215 LOCAL_PARA_HDR
216 kal_uint16 epduDLSN; /* unique sequence number to identify a EPDU in DL, only used between LPP and LPP_EXT */
217 kal_uint16 lppTransID; /* binded LPP transactio ID of this EPDU */
218 lpp_lppe_msg_type_enum msgType; /* pre-decode LPPE message type of this EPDU */
219 kal_uint8 posMethodBitmask; /*if LPP has AGNSS position, LPPe also need to comprase the result into LPPe element */
220 /* raw data is in peer buffer */
221} lpp_lppe_epdu_data_ind_struct;
222
223
224/* MSG_ID_LPP_LPPE_EPDU_DATA_NTF: indicate certain uplink LPPe message acknowledge status */
225typedef struct
226{
227 LOCAL_PARA_HDR
228 kal_uint16 epduULSN; /* unique sequence number to identify a EPDU in UL, only used between LPP and LPP_EXT */
229 kal_bool ackStatus; /* LPP acknowledge status for specified uplink EPDU, TRUE: acked, FALSE: nacked(sent failure) */
230} lpp_lppe_epdu_data_ntf_struct;
231
232
233/* MSG_ID_LPP_LPPE_EPDU_DATA_CNF: indicate uplink LPPe message transferring status */
234typedef struct
235{
236 LOCAL_PARA_HDR
237 kal_uint16 epduULSN; /* unique sequence number to identify a EPDU in UL, only used between LPP and LPP_EXT */
238 kal_bool sentStatus; /* LPP sent status (LPP recieved CNF) for specified uplink EPDU, TRUE: sent, FALSE: failure */
239} lpp_lppe_epdu_data_cnf_struct;
240
241
242/* MSG_ID_LPP_LPPE_STATUS_SYNC_IND: inform LPP status, such as connection status, SUPL/LPP session */
243typedef struct
244{
245 LOCAL_PARA_HDR
246 kal_bool isConnected; /* indicate signaling connection status, TRUE: connected, FALSE: released */
247 kal_bool isSUPLSessionActive; /* indicate SUPL/LPP session active status, TRUE: active, FALSE: idle */
248} lpp_lppe_status_sync_ind_struct;
249
250/* Assistanda Data*/
251/* MSG_ID_LPP_LPPE_WLAN_POS_ASSIST_DATA_REQUEST_IND: AP connectivity module requests to assist data request */
252typedef struct
253{
254 LOCAL_PARA_HDR
255 kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
256 kal_uint16 lppTransID; /* binded LPP transactio ID of this AD request */
257 void* ptr;
258} lpp_lppe_wlan_pos_assist_data_request_ind_struct;
259
260/* MSG_ID_LPP_LPPE_BT_POS_ASSIST_DATA_REQUEST_IND: AP connectivity module requests to assist data request */
261typedef struct
262{
263 LOCAL_PARA_HDR
264 kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
265 kal_uint16 lppTransID; /* binded LPP transactio ID of this AD request */
266 void* ptr;
267} lpp_lppe_bt_pos_assist_data_request_ind_struct;
268
269/* MSG_ID_LPP_LPPE_SENSOR_POS_ASSIST_DATA_REQUEST_IND: AP connectivity module requests to assist data request */
270typedef struct
271{
272 LOCAL_PARA_HDR
273 kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
274 kal_uint16 lppTransID; /* binded LPP transactio ID of this AD request */
275 void* ptr;
276} lpp_lppe_sensor_pos_assist_data_request_ind_struct;
277
278/* MSG_ID_LPP_LPPE_HA_AGNSS_POS_ASSIST_DATA_REQUEST_IND: AP connectivity module requests to assist data request */
279typedef struct
280{
281 LOCAL_PARA_HDR
282 kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
283 kal_uint16 lppTransID; /* binded LPP transactio ID of this AD request */
284} lpp_lppe_ha_agnss_pos_assist_data_request_ind_struct;
285
286
287/* MSG_ID_LPP_LPPE_PMTK_DONE_IND: LPP finish the AGNSS assistance data transmission */
288typedef struct
289{
290 LOCAL_PARA_HDR
291 kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
292 kal_uint16 lppTransID; /* binded LPP transactio ID of this AD request */
293} lpp_lppe_pmtk_done_ind_struct;
294
295
296#if 0
297/* under construction !*/
298/* under construction !*/
299/* under construction !*/
300/* under construction !*/
301/* under construction !*/
302/* under construction !*/
303/* under construction !*/
304/* under construction !*/
305/* under construction !*/
306#endif
307#if 0
308/* under construction !*/
309/* under construction !*/
310/* under construction !*/
311/* under construction !*/
312/* under construction !*/
313/* under construction !*/
314/* under construction !*/
315/* under construction !*/
316/* under construction !*/
317/* under construction !*/
318/* under construction !*/
319/* under construction !*/
320/* under construction !*/
321/* under construction !*/
322/* under construction !*/
323/* under construction !*/
324/* under construction !*/
325/* under construction !*/
326/* under construction !*/
327/* under construction !*/
328/* under construction !*/
329#endif
330
331typedef struct
332{
333 srn_tech_type_enum srnTechType; /* identify the SRN RF technology */
334
335 // kal_bool srnVendorInfoValid;
336 // LPP_EXT_OMA_LPPe_SRN_Category_srnVendorInformation srnVendorInfo; /* TBD: redefine internal structure? */ /* provide information about an associated SRN vendor */
337} srn_category_struct;
338
339#if 0
340/* under construction !*/
341/* under construction !*/
342/* under construction !*/
343/* under construction !*/
344/* under construction !*/
345/* under construction !*/
346/* under construction !*/
347/* under construction !*/
348/* under construction !*/
349/* under construction !*/
350/* under construction !*/
351/* under construction !*/
352/* under construction !*/
353/* under construction !*/
354/* under construction !*/
355/* under construction !*/
356/* under construction !*/
357/* under construction !*/
358/* under construction !*/
359/* under construction !*/
360/* under construction !*/
361/* under construction !*/
362/* under construction !*/
363/* under construction !*/
364/* under construction !*/
365/* under construction !*/
366/* under construction !*/
367/* under construction !*/
368/* under construction !*/
369/* under construction !*/
370/* under construction !*/
371/* under construction !*/
372/* under construction !*/
373/* under construction !*/
374/* under construction !*/
375/* under construction !*/
376/* under construction !*/
377/* under construction !*/
378/* under construction !*/
379/* under construction !*/
380/* under construction !*/
381/* under construction !*/
382/* under construction !*/
383/* under construction !*/
384/* under construction !*/
385/* under construction !*/
386/* under construction !*/
387/* under construction !*/
388/* under construction !*/
389/* under construction !*/
390/* under construction !*/
391/* under construction !*/
392/* under construction !*/
393/* under construction !*/
394/* under construction !*/
395/* under construction !*/
396/* under construction !*/
397/* under construction !*/
398/* under construction !*/
399/* under construction !*/
400/* under construction !*/
401/* under construction !*/
402/* under construction !*/
403/* under construction !*/
404/* under construction !*/
405/* under construction !*/
406/* under construction !*/
407/* under construction !*/
408/* under construction !*/
409/* under construction !*/
410/* under construction !*/
411/* under construction !*/
412/* under construction !*/
413/* under construction !*/
414/* under construction !*/
415/* under construction !*/
416/* under construction !*/
417/* under construction !*/
418/* under construction !*/
419/* under construction !*/
420/* under construction !*/
421/* under construction !*/
422/* under construction !*/
423/* under construction !*/
424/* under construction !*/
425/* under construction !*/
426/* under construction !*/
427/* under construction !*/
428/* under construction !*/
429/* under construction !*/
430/* under construction !*/
431/* under construction !*/
432/* under construction !*/
433/* under construction !*/
434/* under construction !*/
435/* under construction !*/
436/* under construction !*/
437/* under construction !*/
438/* under construction !*/
439/* under construction !*/
440/* under construction !*/
441/* under construction !*/
442/* under construction !*/
443/* under construction !*/
444/* under construction !*/
445/* under construction !*/
446/* under construction !*/
447/* under construction !*/
448/* under construction !*/
449/* under construction !*/
450/* under construction !*/
451/* under construction !*/
452/* under construction !*/
453/* under construction !*/
454/* under construction !*/
455/* under construction !*/
456/* under construction !*/
457/* under construction !*/
458/* under construction !*/
459/* under construction !*/
460/* under construction !*/
461/* under construction !*/
462/* under construction !*/
463/* under construction !*/
464/* under construction !*/
465/* under construction !*/
466/* under construction !*/
467/* under construction !*/
468/* under construction !*/
469/* under construction !*/
470/* under construction !*/
471/* under construction !*/
472/* under construction !*/
473/* under construction !*/
474/* under construction !*/
475/* under construction !*/
476/* under construction !*/
477/* under construction !*/
478/* under construction !*/
479/* under construction !*/
480/* under construction !*/
481/* under construction !*/
482#endif
483
484#if 0
485/* under construction !*/
486/* under construction !*/
487/* under construction !*/
488/* under construction !*/
489/* under construction !*/
490/* under construction !*/
491/* under construction !*/
492/* under construction !*/
493/* under construction !*/
494/* under construction !*/
495/* under construction !*/
496/* under construction !*/
497/* under construction !*/
498/* under construction !*/
499/* under construction !*/
500/* under construction !*/
501/* under construction !*/
502#endif
503
504/* Location Information*/
505#if 0
506/* under construction !*/
507/* under construction !*/
508/* under construction !*/
509/* under construction !*/
510/* under construction !*/
511/* under construction !*/
512/* under construction !*/
513/* under construction !*/
514/* under construction !*/
515/* under construction !*/
516/* under construction !*/
517/* under construction !*/
518/* under construction !*/
519/* under construction !*/
520/* under construction !*/
521/* under construction !*/
522/* under construction !*/
523/* under construction !*/
524#endif
525
526
527typedef struct
528{
529 kal_int32 rtdValue; /* [0..16777215], the measured round trip delay between the target and WLAN AP, unit refer below rtdUnits */
530 wlan_ap_rtd_unit_enum rTdUnits; /* units for each of these are 1000ns(1ms), 100ns, 10ns, 1ns or 0.1ns */
531
532 kal_int16 rtdAccuracy; /* [0..255], accuracy expressed as the standard deviation of the delay */
533} wlan_rtd_struct;
534
535
536/* Mapping to LPPeWlan_WlanApMeasurement*/
537typedef struct
538{
539 /**
540 * apRSSI = 0x1
541 * apChanFreq = 0x2
542 * apRtd = 0x4
543 */
544 kal_int32 valid;
545 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) */
546
547 kal_char apMacAddr[WLAN_MAC_ADDRESS_SIZE]; /* This field provides the 48 bit MAC address of the reported WLAN AP */
548 kal_int32 apMACAddress_size;
549 /**
550 * This field provides the AP signal strength of a beacon frame, probe
551 * response frame or measurement pilot frame measured at the target in dBm
552 * on the channel indicated by apChannelFrequency field
553 * -127..128
554 */
555 float apRSSI;
556 kal_int16 apChanFreq; /* This field provides the AP channel number identification of the reported WLAN AP 0..256 */
557 wlan_rtd_struct apRtd;
558
559 /** * This field provides the SSID of the wireless network served by the AP */
560 kal_char apSSID[WLAN_AP_MAX_SSID_OCTET];
561 kal_int32 apSSID_size;
562} wlan_meas_query_info_list_struct; //wlan_ap_loc_info_list_struct;
563
564
565/* Mapping to LPPeWlan_WlanProvideMeasurement */
566typedef struct
567{
568 /**
569 * This parameter provides measurements for one or more WLAN APs at
570 * the current time and/or for historic times
571 */
572 wlan_meas_query_info_list_struct listElement[WLAN_AP_MAX_LOC_INFO_LIST_ELEMENT];
573 kal_int32 meas_size;
574} wlan_meas_query_comb_struct; //wlan_ap_loc_info_comb_struct;
575
576
577typedef struct
578{
579 wlan_ap_tgt_dev_err_cause_enum cause;
580 kal_uint32 notAllAvailableBitmap; /* use WLAN_AP_TGT_DEV_ERR_*, only valud when cause = NOT_ALL_REQ_MEASUREMENT_POSSIBLE */
581} wlan_ap_tgt_dev_err_cause_struct;
582
583
584/*Mapping to lppe_stack_wlan_meas */
585typedef struct
586{
587 kal_bool isValid;
588 kal_int64 relativeTime; //milliseconds
589
590 wlan_meas_query_comb_struct meas;
591} lpp_lppe_wlan_meas_struct; //lpp_lppe_wlan_ap_pos_loc_cnf_struct;
592
593
594typedef struct
595{
596 kal_bool priMotionStateErrValid;
597 sensor_tgt_pri_motion_state_err_cause_enum priMotionStateErr;
598
599 kal_bool secMotionStateErrValid;
600 sensor_tgt_sec_motion_state_err_cause_enum secMotionStateErr;
601
602 kal_bool pressureErrValid;
603 sensor_tgt_pressure_err_cause_enum pressureErr;
604} sensor_tgt_err_struct;
605
606
607/* Mapping to LPPeSensor_SensorPressureMeasurement*/
608typedef struct
609{
610 kal_int32 sensorMeas; /* [30000..115000], specify the measured atmospheric pressure in units of Pa
611 (corresponding to a numerical altitude resolution of about 0.1m at sea level) */
612 kal_bool adjustmentValid;
613 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 */
614
615 kal_bool pressureUncRangeValid;
616 kal_int16 pressureUncRang;
617
618 kal_bool pressureUncConfidenceValid;
619 kal_char pressureUncConfidence;
620
621 kal_bool temperatureValid;
622 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 */
623} sensor_pressure_meas_struct;
624
625
626typedef struct
627{
628 kal_bool isValid;
629 kal_int64 relativeTime; //milliseconds
630
631 sensor_pressure_meas_struct meas;
632} lpp_lppe_sensor_meas_struct;
633
634
635 /* Mapping to LPPeBluetooth_BluetoothRTD */
636typedef struct
637{
638 kal_int32 rtdValue; /* [0..16777215], the measured round trip delay between the target and WLAN AP, unit refer below rtdUnits */
639 bt_rtd_unit_enum rTdUnits; /* units for each of these are 1000ns(1ms), 100ns, 10ns, 1ns or 0.1ns */
640
641 kal_int16 rtdAccuracy; /* [0..255], accuracy expressed as the standard deviation of the delay */
642}bt_rtd_struct;
643
644typedef struct
645{
646 #define LPPE_STACK_BT_MEAS_ELEMENT_VALID_RSSI 0x1
647 #define LPPE_STACK_BT_MEAS_ELEMENT_VALID_RTD 0x2
648 kal_int32 valid;
649 kal_int32 deviceRelativeTime; // milliseconds, actual time = currentTime - relativeTime
650
651 kal_int16 rssi;
652 bt_rtd_struct rtd;
653} bt_meas_element_struct;
654
655
656 /*Mapping to lppe_stack_bt_meas_device*/
657typedef struct
658{
659 kal_char mac[BT_MAC_ADDRESS_SIZE];
660
661 #define LPPE_BT_MEAS_DEVICE_CATEGORY_UNKNOWN 0
662 #define LPPE_BT_MEAS_DEVICE_CATEGORY_BT 1
663 #define LPPE_BT_MEAS_DEVICE_CATEGORY_BTLE 2
664 kal_char category;
665 bt_meas_element_struct meas;
666}bt_meas_list_struct; //srn_meas_list_struct;
667
668typedef struct
669{
670 srn_category_struct category;
671 srn_target_device_err_cause_enum cause;
672
673 kal_uint8 notAllAvailableBitmap; /* use SRN_TGT_DEV_ERR_*, only valud when cause = NOT_ALL_REQ_MEASUREMENT_POSSIBLE */
674} srn_tgt_dev_error_element_struct;
675
676
677typedef struct
678{
679 kal_uint8 numTgtErrElement;
680 srn_tgt_dev_error_element_struct tgtErrElement[SRN_MAX_TARGET_DEVICE_ERR_ELEMENT];
681} srn_tgt_dev_error_struct;
682
683
684typedef struct
685{
686 kal_bool isValid;
687 kal_int64 relativeTime; //milliseconds
688
689 bt_meas_list_struct devices[SRN_MAX_MEASUREMENT_ELEMENT];
690 kal_int32 devices_size;
691}lpp_lppe_bt_meas_struct;
692
693/* Mapping to LPPeNetwork_NetworkLocationMeasurement*/
694typedef struct {
695 kal_int64 time; /*UTC time of this fix, in milliseconds since January 1, 1970*/
696 double latitude; /*in degrees*/
697 double longitude; /*in degrees*/
698 kal_bool accuracyValid; /*the estimated accuracy of this location, in meters*/
699 float accuracy;
700 kal_bool altitudeValid; /*in meters above the WGS 84 reference ellipsoid*/
701 double altitude;
702 kal_bool confidenceHorizontalValid;
703 kal_uint8 confidenceHorizontal; /* The horizontal confidence percentage associated with the CEP or Uncerainty Ellipse depending upon withci is included. [0...99] */
704 kal_bool locationSourceValid;
705 /**
706 * location source bit array for locationSource
707 * locationSourceAgnss = 0x1
708 * locationSourceSensor = 0x2
709 * locationSourceEcidLTE = 0x4
710 * locationSourceEcidGSM = 0x8
711 * locationSourceEcidUTRA = 0x10
712 * locationSourceWlanAP = 0x20
713 * locationSourceSrn = 0x40
714 */
715 kal_int32 locationSource;
716
717 kal_bool verticalAccuracyValid; /* the vertical accuracy of this location, in meters */
718 float verticalAccuracy;
719 kal_bool confidenceVerticalValid;
720 kal_uint8 confidenceVertical; /* provide the location vertical accuracy confidence, range 0 - 99 */
721} network_meas_element_struct;
722
723/* Mapping to lppe_stack_network_meas*/
724typedef struct
725{
726 kal_bool isValid;
727 kal_int64 relativeTime; //milliseconds
728
729 network_meas_element_struct meas;
730}lpp_lppe_network_meas_struct;
731
732/* MSG_ID_LPP_LPPE_WLAN_MEAS_QUERY_CNF: provide location information of specified positioning methods */
733typedef struct
734{
735 LOCAL_PARA_HDR
736 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
737 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
738 lpp_lppe_wlan_meas_struct wlanAPCnf;
739} lpp_lppe_wlan_meas_query_cnf_struct;
740
741/* MSG_ID_LPP_LPPE_BT_MEAS_QUERY_CNF: provide location information of specified positioning methods */
742typedef struct
743{
744 LOCAL_PARA_HDR
745 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
746 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
747 lpp_lppe_bt_meas_struct btCnf;
748} lpp_lppe_bt_meas_query_cnf_struct;
749
750/* MSG_ID_LPP_LPPE_SENSOR_MEAS_QUERY_CNF: provide location information of specified positioning methods */
751typedef struct
752{
753 LOCAL_PARA_HDR
754 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
755 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
756 lpp_lppe_sensor_meas_struct sensorCnf;
757} lpp_lppe_sensor_meas_query_cnf_struct;
758
759/* MSG_ID_LPP_LPPE_NETWORK_MEAS_QUERY_CNF: provide location information of specified positioning methods */
760typedef struct
761{
762 LOCAL_PARA_HDR
763 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
764 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
765 lpp_lppe_network_meas_struct networkCnf;
766} lpp_lppe_network_meas_query_cnf_struct;
767
768/* MSG_ID_LPP_LPPE_IPADDRESS_MEAS_QUERY_CNF: provide location information of specified positioning methods */
769typedef struct
770{
771 LOCAL_PARA_HDR
772 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
773 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
774 lpp_lppe_ipaddress_meas_struct ipAddressCnf;
775} lpp_lppe_ipaddress_meas_query_cnf_struct;
776
777
778/* Capability*/
779/* Mapping to LPPeWlan_WlanMeasurements */
780typedef struct
781{
782 kal_bool nonServing; /* Measurements for a non-serving WLAN AP (in addition to a serving WLAN AP)*/
783 kal_bool apSSID; /* SSID of the WLAN */
784 kal_bool apSN; /* AP S/N received at the target */
785 kal_bool apDevType; /* AP Device type */
786 kal_bool apPhyType; /* AP PHY type */
787 kal_bool apRSSI; /* AP signal strength at the target */
788 kal_bool apChanFreq; /*AP channel/frequency of Tx/Rx */
789 kal_bool apRTD; /* Round Trip Delay between target and AP */
790 kal_bool apRepLoc; /* AP Location as reported by AP */
791 kal_bool apTP; /* AP transmit power */
792 kal_bool apAG; /* AP antenna gain */
793 kal_bool ueTP; /* Target transmit power */
794 kal_bool ueAG; /* Target antenna gain */
795 kal_bool ueSN; /* UE S/N received at the AP */
796 kal_bool ueRSSI; /* Target signal strength at the AP */
797 kal_bool oc; /* operating class */
798} wlan_meas_capa_type_struct;
799
800
801typedef struct {
802 kal_bool ieee802_11a;
803 kal_bool ieee802_11b;
804 kal_bool ieee802_11g;
805 kal_bool ieee802_11n;
806 kal_bool ieee802_11ac;
807 kal_bool ieee802_11ad;
808} wlan_ap_type_struct;
809
810
811/*Mapping to LPPeWlan_WlanApCapability */
812typedef struct
813{
814 kal_char apMacAddr[WLAN_MAC_ADDRESS_SIZE]; /* provide the MAC address of the target */
815 kal_int32 apMACAddress_size;
816
817 wlan_ap_type_struct apTypes; /* provide the WLAN types supported when functioning as an AP, mapping to LPPeWlan_WlanTypesSupported */
818} wlan_ap_route_capability_struct;
819
820/* Mapping to LPPeWlan_WlanApADSupported */
821typedef struct
822{
823 kal_bool aplist; /*mandatory WLAN AP data*/
824 kal_bool aplocation; /*location of each WLAN AP*/
825 kal_bool locationreliability; /*reliability of WLAN AP location*/
826 kal_bool transmitPower; /*transmit power for each WLAN AP*/
827 kal_bool antennaGain; /*antenna gain for each WLAN AP*/
828 kal_bool coverageArea; /*coverage area for each WLAN AP*/
829 /**
830 * information for WLAN APs belonging to a different operator than
831 * the serving WLAN AP or information for multiple WLAN AP data sets if
832 * the serving WLAN AP is not associated with a PLMN operator or if the
833 * target device is not served by a WLAN AP
834 */
835 kal_bool nonServing;
836
837} wlan_ap_ad_support_struct;
838
839
840/*align AP*/
841typedef struct
842{
843 kal_bool isWlanSupported; /* This parameter indicates whether DUT can support WLAN functionality*/
844 kal_bool apCapabilityValid;/*This parameter if present indicates that the target can function as a WLAN AP*/
845 wlan_ap_route_capability_struct apCapability;
846
847 kal_bool wlanTypesSupportedValid; /*This field provides the WLAN AP types supported by the target device when functioning as a WLAN station*/
848 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_* */
849
850 wlan_ap_ad_support_struct apADSupported; /* This field specifies the WLAN AP assistance data supported by the target device */
851
852 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 */
853 kal_int32 ueMACAddress_size;
854
855 wlan_meas_capa_type_struct measSupported; /* This field specifies the E-CID measurements supported by the target device when accessing a WLAN AP*/
856} wlan_ap_capability_struct;
857
858
859typedef struct
860{
861 kal_bool motionStateSupport; /* TRUE if the target supports motion state measurements */
862 kal_bool secMotionStateSupport; /* TRUE if the target supports secondary motion state measurements */
863 kal_bool pressureADSupport; /* TRUE if the target supports atmosphericc pressure assistance data */
864 kal_bool PressureSupport; /* TRUE if the target supports atmospheric pressure measurements */
865} sensor_capability_struct;
866
867
868typedef struct
869{
870 srn_category_struct srnCategory; /* specify the supported SRN category */
871 kal_uint8 supportMeas; /* specify the SRN measurements the target can provide, mapping to SRN_MEAS_TYPE_BIT_* */
872 kal_uint8 supportAssistData; /* specify the SRN assistance data types supported by the target device for target based mode, mapping to SRN_AD_TYPE_BIT_* */
873} srn_capability_category_element_struct;
874
875/* Align to AP: LPPeBluetooth_BluetoothProvideCapabilities (do we need to kepp for LPPe context)*/
876typedef struct
877{
878 kal_uint8 numCateElement;
879 srn_capability_category_element_struct cateElement[SRN_MAX_CATEGORY_ELEMENT]; /* specify the target capabilities for each supported SRN category */
880} srn_capability_struct;
881
882typedef struct
883{
884 kal_bool btSupported; /*Whether target supports bluetooth*/
885 kal_bool btRssi;
886 kal_bool btRtd;
887 kal_bool btGroup; /* This field specifies the BT assistance data types supported by the target device for target based mode*/
888 kal_bool btAntennaPattern; /* This field specifies the BT assistance data types supported by the target device for target based mode */
889
890 kal_bool btleSupported; /* * Whether target supports bluetooth low energy*/
891 kal_bool btleRssi;
892 kal_bool btleRtd;
893 kal_bool btleGroup; /*This field specifies the BTLE assistance data types supported by the target device for target based mode*/
894 kal_bool btleAntennaPattern; /* This field specifies the BTLE assistance data types supported by the target device for target based mode */
895} bt_capability_struct;
896
897/* Mapping to LPPeIpAddress_IpAddressCapabilities */
898typedef struct
899{
900 kal_bool ipv4; /* support to report Internet Protocol version 4 */
901 kal_bool ipv6; /* support to report Internet Protocol version 6 */
902 kal_bool nat; /* support to report Network Address Translation */
903} ipaddress_capability_struct;
904
905/* MSG_ID_LPP_LPPE_WLAN_CAPABILITY_IND: unsolicited capability indications from AP connectivity module */
906typedef struct
907{
908 LOCAL_PARA_HDR
909 wlan_ap_capability_struct wlanAPCapa;
910} lpp_lppe_wlan_capability_ind_struct;
911
912/* MSG_ID_LPP_LPPE_BT_CAPABILITY_IND: unsolicited capability indications from AP connectivity module */
913typedef struct
914{
915 LOCAL_PARA_HDR
916 bt_capability_struct btCapa;
917} lpp_lppe_bt_capability_ind_struct;
918
919/* MSG_ID_LPP_LPPE_SENSOR_CAPABILITY_IND: unsolicited capability indications from AP connectivity module */
920typedef struct
921{
922 LOCAL_PARA_HDR
923 sensor_capability_struct sensorCapa;
924} lpp_lppe_sensor_capability_ind_struct;
925
926/* MSG_ID_LPP_LPPE_NETWORK_CAPABILITY_IND: unsolicited capability indications from AP connectivity module */
927typedef struct
928{
929 LOCAL_PARA_HDR
930 kal_bool networkLocationSupported;
931} lpp_lppe_network_capability_ind_struct;
932
933/* MSG_ID_LPP_LPPE_IPADDRESS_CAPABILITY_IND: unsolicited capability indications from AP connectivity module */
934typedef struct
935{
936 LOCAL_PARA_HDR
937 ipaddress_capability_struct ipAddressCapa;
938} lpp_lppe_ipaddress_capability_ind_struct;
939
940/* MSG_ID_LPP_LPPE_GNSS_POS_IND: un-solicited POS indication from LPP */
941typedef struct
942{
943 LOCAL_PARA_HDR
944 kal_uint16 transactionID;
945 gnss_loc_result_enum resultStatus;
946 gnss_pos_result_type_enum type;
947 gnss_pos_result_struct posResult; /* only valid when resultStatus = GNSS_LOC_RESULT_NO_ERROR */
948} lpp_lppe_gnss_pos_ind_struct;
949
950/* MSG_ID_LPP_LPPE_GNSS_MEAS_IND: un-solicited POS indication from LPP */
951typedef struct
952{
953 LOCAL_PARA_HDR
954 kal_uint16 transactionID;
955 gnss_loc_result_enum resultStatus;
956 gnss_meas_result_type_enum type;
957 gnss_measured_result_struct measuredResult; /* only valid when resultStatus = GNSS_LOC_RESULT_NO_ERROR */
958} lpp_lppe_gnss_meas_ind_struct;
959
960
961/* MSG_ID_LPP_LPPE_ABORT_IND: un-solicited ABORT indication from LPP */
962typedef struct
963{
964 LOCAL_PARA_HDR
965 kal_uint16 transactionID;
966 kal_bool abortAll; /* Also can use on LPP clear all session */
967 lpp_lppe_abort_cause_enum cause;
968} lpp_lppe_abort_ind_struct;
969
970/* MSG_ID_LPP_LPPE_ERROR_IND: un-solicited ERROR indication from LPP */
971typedef struct
972{
973 LOCAL_PARA_HDR
974 kal_uint16 transactionID;
975
976 lpp_lppe_error_cause_enum cause;
977} lpp_lppe_error_ind_struct;
978
979/* ---LPP_EXT -> LPP--- */
980/* MSG_ID_LPP_LPPE_EPDU_DATA_REQ: transfer uplink LPPe message raw data */
981typedef struct
982{
983 LOCAL_PARA_HDR
984 kal_uint16 epduULSN; /* unique sequence number to identify a EPDU in UL, only used between LPP and LPP_EXT */
985 kal_bool lppTransIDValid; /* LPP transaction ID validity */
986 kal_uint16 lppTransID; /* binded LPP transactio ID of this EPDU (optional) */
987 lpp_lppe_msg_type_enum msgType; /* LPPE message type of this EPDU */
988 kal_bool ackRequired; /* specify if this EPDU requires LPP acknowledge, TRUE: required, FALSE: not needed */
989 lppe_result_enum resultStatus;
990 /* raw data is in peer buffer */
991} lpp_lppe_epdu_data_req_struct;
992
993
994/* MSG_ID_LPP_LPPE_EPDU_DATA_RSP: indicate downlink LPPe message process status */
995typedef struct
996{
997 LOCAL_PARA_HDR
998 kal_uint16 epduDLSN; /* unique sequence number to identify a EPDU in DL, only used between LPP and LPP_EXT */
999 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 */
1000} lpp_lppe_epdu_data_rsp_struct;
1001
1002
1003/* Assistance Data Procedure*/
1004/* MSG_ID_LPP_LPPE_WLAN_POS_ASSIST_DATA_PROVIDE_IND,: transfer the assist data to LPP*//* LPPe only */
1005typedef struct
1006{
1007 LOCAL_PARA_HDR
1008 kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
1009 kal_uint16 lppTransID; /* binded LPP transactio ID of this AD */
1010 kal_bool result; /* indicate the LPP/LPPe can initiate an AD request to the network */
1011} lpp_lppe_wlan_pos_assist_data_provide_ind_struct;
1012
1013/* MSG_ID_LPP_LPPE_BT_POS_ASSIST_DATA_PROVIDE_IND,: transfer the assist data to LPP*//* LPPe only */
1014typedef struct
1015{
1016 LOCAL_PARA_HDR
1017 kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
1018 kal_uint16 lppTransID; /* binded LPP transactio ID of this AD */
1019 kal_bool result; /* indicate the LPP/LPPe can initiate an AD request to the network */
1020} lpp_lppe_bt_pos_assist_data_provide_ind_struct;
1021
1022/* MSG_ID_LPP_LPPE_SENSOR_POS_ASSIST_DATA_PROVIDE_IND,: transfer the assist data to LPP*//* LPPe only */
1023typedef struct
1024{
1025 LOCAL_PARA_HDR
1026 kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
1027 kal_uint16 lppTransID; /* binded LPP transactio ID of this AD */
1028 kal_bool result; /* indicate the LPP/LPPe can initiate an AD request to the network */
1029} lpp_lppe_sensor_pos_assist_data_provide_ind_struct;
1030
1031/* MSG_ID_LPP_LPPE_HA_AGNSS_POS_ASSIST_DATA_PROVIDE_IND,: transfer the assist data to LPP*//* LPPe only */
1032typedef struct
1033{
1034 LOCAL_PARA_HDR
1035 kal_uint16 sessionID; /* indicate the associated AD session ID of this relay AD message */
1036 kal_uint16 lppTransID; /* binded LPP transactio ID of this AD */
1037 kal_bool result; /* indicate the LPP/LPPe can initiate an AD request to the network */
1038} lpp_lppe_ha_agnss_pos_assist_data_provide_ind_struct;
1039
1040#if 0
1041/* under construction !*/
1042/* under construction !*/
1043/* under construction !*/
1044/* under construction !*/
1045/* under construction !*/
1046/* under construction !*/
1047/* under construction !*/
1048/* under construction !*/
1049/* under construction !*/
1050/* under construction !*/
1051/* under construction !*/
1052/* under construction !*/
1053#endif
1054
1055#if 0
1056/* under construction !*/
1057/* under construction !*/
1058/* under construction !*/
1059/* under construction !*/
1060/* under construction !*/
1061/* under construction !*/
1062/* under construction !*/
1063/* under construction !*/
1064/* under construction !*/
1065/* under construction !*/
1066/* under construction !*/
1067/* under construction !*/
1068/* under construction !*/
1069/* under construction !*/
1070/* under construction !*/
1071/* under construction !*/
1072/* under construction !*/
1073/* under construction !*/
1074/* under construction !*/
1075/* under construction !*/
1076/* under construction !*/
1077/* under construction !*/
1078/* under construction !*/
1079/* under construction !*/
1080/* under construction !*/
1081/* under construction !*/
1082/* under construction !*/
1083/* under construction !*/
1084/* under construction !*/
1085/* under construction !*/
1086/* under construction !*/
1087/* under construction !*/
1088/* under construction !*/
1089/* under construction !*/
1090/* under construction !*/
1091/* under construction !*/
1092/* under construction !*/
1093/* under construction !*/
1094/* under construction !*/
1095/* under construction !*/
1096/* under construction !*/
1097/* under construction !*/
1098/* under construction !*/
1099/* under construction !*/
1100/* under construction !*/
1101/* under construction !*/
1102/* under construction !*/
1103/* under construction !*/
1104/* under construction !*/
1105/* under construction !*/
1106/* under construction !*/
1107/* under construction !*/
1108/* under construction !*/
1109/* under construction !*/
1110/* under construction !*/
1111/* under construction !*/
1112/* under construction !*/
1113/* under construction !*/
1114/* under construction !*/
1115/* under construction !*/
1116/* under construction !*/
1117/* under construction !*/
1118/* under construction !*/
1119/* under construction !*/
1120/* under construction !*/
1121/* under construction !*/
1122/* under construction !*/
1123/* under construction !*/
1124/* under construction !*/
1125/* under construction !*/
1126/* under construction !*/
1127/* under construction !*/
1128/* under construction !*/
1129/* under construction !*/
1130/* under construction !*/
1131/* under construction !*/
1132/* under construction !*/
1133/* under construction !*/
1134/* under construction !*/
1135/* under construction !*/
1136/* under construction !*/
1137/* under construction !*/
1138/* under construction !*/
1139/* under construction !*/
1140/* under construction !*/
1141/* under construction !*/
1142/* under construction !*/
1143/* under construction !*/
1144/* under construction !*/
1145/* under construction !*/
1146/* under construction !*/
1147/* under construction !*/
1148/* under construction !*/
1149/* under construction !*/
1150/* under construction !*/
1151/* under construction !*/
1152/* under construction !*/
1153/* under construction !*/
1154/* under construction !*/
1155/* under construction !*/
1156/* under construction !*/
1157/* under construction !*/
1158/* under construction !*/
1159/* under construction !*/
1160/* under construction !*/
1161/* under construction !*/
1162/* under construction !*/
1163/* under construction !*/
1164/* under construction !*/
1165/* under construction !*/
1166/* under construction !*/
1167/* under construction !*/
1168/* under construction !*/
1169/* under construction !*/
1170/* under construction !*/
1171/* under construction !*/
1172/* under construction !*/
1173/* under construction !*/
1174/* under construction !*/
1175/* under construction !*/
1176/* under construction !*/
1177/* under construction !*/
1178/* under construction !*/
1179/* under construction !*/
1180/* under construction !*/
1181/* under construction !*/
1182/* under construction !*/
1183/* under construction !*/
1184/* under construction !*/
1185/* under construction !*/
1186/* under construction !*/
1187/* under construction !*/
1188/* under construction !*/
1189/* under construction !*/
1190/* under construction !*/
1191/* under construction !*/
1192/* under construction !*/
1193/* under construction !*/
1194/* under construction !*/
1195/* under construction !*/
1196/* under construction !*/
1197/* under construction !*/
1198/* under construction !*/
1199/* under construction !*/
1200/* under construction !*/
1201/* under construction !*/
1202/* under construction !*/
1203/* under construction !*/
1204/* under construction !*/
1205/* under construction !*/
1206/* under construction !*/
1207/* under construction !*/
1208/* under construction !*/
1209/* under construction !*/
1210/* under construction !*/
1211/* under construction !*/
1212/* under construction !*/
1213/* under construction !*/
1214/* under construction !*/
1215/* under construction !*/
1216/* under construction !*/
1217/* under construction !*/
1218/* under construction !*/
1219/* under construction !*/
1220/* under construction !*/
1221/* under construction !*/
1222/* under construction !*/
1223/* under construction !*/
1224/* under construction !*/
1225/* under construction !*/
1226/* under construction !*/
1227/* under construction !*/
1228/* under construction !*/
1229/* under construction !*/
1230/* under construction !*/
1231/* under construction !*/
1232/* under construction !*/
1233/* under construction !*/
1234/* under construction !*/
1235/* under construction !*/
1236/* under construction !*/
1237/* under construction !*/
1238/* under construction !*/
1239/* under construction !*/
1240/* under construction !*/
1241/* under construction !*/
1242/* under construction !*/
1243/* under construction !*/
1244/* under construction !*/
1245#endif
1246
1247#if 0
1248/* under construction !*/
1249/* under construction !*/
1250/* under construction !*/
1251/* under construction !*/
1252/* under construction !*/
1253/* under construction !*/
1254/* under construction !*/
1255/* under construction !*/
1256/* under construction !*/
1257/* under construction !*/
1258/* under construction !*/
1259/* under construction !*/
1260/* under construction !*/
1261/* under construction !*/
1262/* under construction !*/
1263/* under construction !*/
1264/* under construction !*/
1265/* under construction !*/
1266/* under construction !*/
1267/* under construction !*/
1268/* under construction !*/
1269/* under construction !*/
1270/* under construction !*/
1271/* under construction !*/
1272/* under construction !*/
1273/* under construction !*/
1274/* under construction !*/
1275/* under construction !*/
1276/* under construction !*/
1277/* under construction !*/
1278/* under construction !*/
1279/* under construction !*/
1280/* under construction !*/
1281/* under construction !*/
1282/* under construction !*/
1283/* under construction !*/
1284/* under construction !*/
1285/* under construction !*/
1286/* under construction !*/
1287/* under construction !*/
1288/* under construction !*/
1289/* under construction !*/
1290/* under construction !*/
1291/* under construction !*/
1292/* under construction !*/
1293/* under construction !*/
1294/* under construction !*/
1295/* under construction !*/
1296/* under construction !*/
1297/* under construction !*/
1298/* under construction !*/
1299/* under construction !*/
1300/* under construction !*/
1301/* under construction !*/
1302/* under construction !*/
1303/* under construction !*/
1304/* under construction !*/
1305/* under construction !*/
1306/* under construction !*/
1307/* under construction !*/
1308/* under construction !*/
1309/* under construction !*/
1310/* under construction !*/
1311/* under construction !*/
1312/* under construction !*/
1313/* under construction !*/
1314/* under construction !*/
1315/* under construction !*/
1316/* under construction !*/
1317/* under construction !*/
1318/* under construction !*/
1319/* under construction !*/
1320/* under construction !*/
1321/* under construction !*/
1322/* under construction !*/
1323/* under construction !*/
1324/* under construction !*/
1325/* under construction !*/
1326/* under construction !*/
1327/* under construction !*/
1328/* under construction !*/
1329/* under construction !*/
1330/* under construction !*/
1331/* under construction !*/
1332/* under construction !*/
1333/* under construction !*/
1334/* under construction !*/
1335/* under construction !*/
1336/* under construction !*/
1337/* under construction !*/
1338/* under construction !*/
1339/* under construction !*/
1340/* under construction !*/
1341/* under construction !*/
1342/* under construction !*/
1343/* under construction !*/
1344/* under construction !*/
1345/* under construction !*/
1346/* under construction !*/
1347/* under construction !*/
1348/* under construction !*/
1349/* under construction !*/
1350/* under construction !*/
1351/* under construction !*/
1352/* under construction !*/
1353/* under construction !*/
1354/* under construction !*/
1355/* under construction !*/
1356/* under construction !*/
1357/* under construction !*/
1358/* under construction !*/
1359/* under construction !*/
1360/* under construction !*/
1361/* under construction !*/
1362/* under construction !*/
1363/* under construction !*/
1364/* under construction !*/
1365/* under construction !*/
1366/* under construction !*/
1367/* under construction !*/
1368/* under construction !*/
1369/* under construction !*/
1370/* under construction !*/
1371/* under construction !*/
1372/* under construction !*/
1373/* under construction !*/
1374/* under construction !*/
1375/* under construction !*/
1376/* under construction !*/
1377/* under construction !*/
1378/* under construction !*/
1379/* under construction !*/
1380/* under construction !*/
1381/* under construction !*/
1382/* under construction !*/
1383/* under construction !*/
1384/* under construction !*/
1385/* under construction !*/
1386/* under construction !*/
1387/* under construction !*/
1388/* under construction !*/
1389/* under construction !*/
1390/* under construction !*/
1391/* under construction !*/
1392/* under construction !*/
1393/* under construction !*/
1394/* under construction !*/
1395/* under construction !*/
1396/* under construction !*/
1397/* under construction !*/
1398/* under construction !*/
1399/* under construction !*/
1400/* under construction !*/
1401/* under construction !*/
1402/* under construction !*/
1403/* under construction !*/
1404/* under construction !*/
1405/* under construction !*/
1406/* under construction !*/
1407/* under construction !*/
1408/* under construction !*/
1409/* under construction !*/
1410/* under construction !*/
1411/* under construction !*/
1412/* under construction !*/
1413/* under construction !*/
1414/* under construction !*/
1415/* under construction !*/
1416/* under construction !*/
1417/* under construction !*/
1418#endif
1419
1420#if 0
1421/* under construction !*/
1422/* under construction !*/
1423/* under construction !*/
1424/* under construction !*/
1425/* under construction !*/
1426/* under construction !*/
1427/* under construction !*/
1428/* under construction !*/
1429/* under construction !*/
1430/* under construction !*/
1431/* under construction !*/
1432/* under construction !*/
1433/* under construction !*/
1434/* under construction !*/
1435/* under construction !*/
1436/* under construction !*/
1437/* under construction !*/
1438/* under construction !*/
1439/* under construction !*/
1440/* under construction !*/
1441/* under construction !*/
1442/* under construction !*/
1443/* under construction !*/
1444/* under construction !*/
1445/* under construction !*/
1446/* under construction !*/
1447/* under construction !*/
1448/* under construction !*/
1449/* under construction !*/
1450#endif
1451
1452
1453/*Location Information*/
1454#if 0
1455/* under construction !*/
1456/* under construction !*/
1457/* under construction !*/
1458/* under construction !*/
1459/* under construction !*/
1460/* under construction !*/
1461/* under construction !*/
1462/* under construction !*/
1463/* under construction !*/
1464/* under construction !*/
1465/* under construction !*/
1466/* under construction !*/
1467/* under construction !*/
1468/* under construction !*/
1469/* under construction !*/
1470/* under construction !*/
1471/* under construction !*/
1472/* under construction !*/
1473/* under construction !*/
1474/* under construction !*/
1475/* under construction !*/
1476/* under construction !*/
1477/* under construction !*/
1478/* under construction !*/
1479/* under construction !*/
1480/* under construction !*/
1481/* under construction !*/
1482/* under construction !*/
1483/* under construction !*/
1484/* under construction !*/
1485/* under construction !*/
1486/* under construction !*/
1487/* under construction !*/
1488/* under construction !*/
1489/* under construction !*/
1490/* under construction !*/
1491/* under construction !*/
1492/* under construction !*/
1493/* under construction !*/
1494/* under construction !*/
1495#endif
1496
1497typedef struct
1498{
1499 kal_bool nonServing; /* Measurements for a non-serving WLAN AP (in addition to a serving WLAN AP)*/
1500 kal_bool apSSID; /* SSID of the WLAN*/
1501 kal_bool apSN; /* AP S/N received at the target*/
1502 kal_bool apDevType; /* AP Device type*/
1503 kal_bool apPhyType; /* AP PHY type*/
1504 kal_bool apRSSI; /* AP signal strength at the target*/
1505 kal_bool apChanFreq; /* AP channel/frequency of Tx/Rx*/
1506 kal_bool apRTD; /* Round Trip Delay between target and AP*/
1507 kal_bool apRepLoc; /* AP Location as reported by AP*/
1508 kal_bool apTP; /* AP transmit power */
1509 kal_bool apAG; /* AP antenna gain */
1510 kal_bool ueTP; /* Target transmit power */
1511 kal_bool ueAG; /* Target antenna gain */
1512 kal_bool ueSN; /*UE S/N received at the AP */
1513 kal_bool ueRSSI; /* Target signal strength at the AP */
1514 kal_bool oc; /*operating class*/
1515} lpp_lppe_wlan_meas_req_struct;
1516
1517/* Mapping to LPPeSensor_SensorMeasurementRequest*/
1518typedef struct
1519{
1520 kal_bool motionStateReq; /* request for primary motion state measurements */
1521 kal_bool secMotionStateReq; /* request the secondary motion state of the target */
1522 kal_bool pressureReq; /* request for atmospheric pressure measurements */
1523} lpp_lppe_sensor_meas_req_struct; //lpp_lppe_sensor_pos_loc_req_struct;
1524
1525
1526/*Mapping to LPPeBluetooth_BluetoothMeasurementRequest*/
1527typedef struct
1528{
1529 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*/
1530 kal_bool btRtd; /*Request BT round trip delay*/
1531 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*/
1532 kal_bool btleRtd; /*Request BTLE round trip delay*/
1533} lpp_lppe_bt_meas_req_struct;
1534
1535
1536/* MSG_ID_LPP_LPPE_WLAN_START_IND: transfer the start message to LBS*//* LPPe only */
1537typedef struct
1538{
1539 LOCAL_PARA_HDR
1540 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1541 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1542 lpp_lppe_wlan_meas_req_struct wlanAPReq;
1543} lpp_lppe_wlan_start_ind_struct;
1544
1545/* MSG_ID_LPP_LPPE_BT_START_IND: transfer the start message to LBS*//* LPPe only */
1546typedef struct
1547{
1548 LOCAL_PARA_HDR
1549 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1550 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1551 lpp_lppe_bt_meas_req_struct btReq;
1552} lpp_lppe_bt_start_ind_struct;
1553
1554/* MSG_ID_LPP_LPPE_SENSOR_START_IND: transfer the start message to LBS*//* LPPe only */
1555typedef struct
1556{
1557 LOCAL_PARA_HDR
1558 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1559 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1560 lpp_lppe_sensor_meas_req_struct sensorReq;
1561} lpp_lppe_sensor_start_ind_struct;
1562
1563/* MSG_ID_LPP_LPPE_NETWORK_START_IND: transfer the start message to LBS*//* LPPe only */
1564typedef struct
1565{
1566 LOCAL_PARA_HDR
1567 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1568 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1569} lpp_lppe_network_start_ind_struct;
1570
1571/* MSG_ID_LPP_LPPE_WLAN_MEAS_QUERY_REQ: transfer the query message to LBS*//* LPPe only */
1572typedef struct
1573{
1574 LOCAL_PARA_HDR
1575 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1576 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1577} lpp_lppe_wlan_meas_query_req_struct;
1578
1579/* MSG_ID_LPP_LPPE_BT_MEAS_QUERY_REQ: transfer the query message to LBS*//* LPPe only */
1580typedef struct
1581{
1582 LOCAL_PARA_HDR
1583 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1584 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1585} lpp_lppe_bt_meas_query_req_struct;
1586
1587/* MSG_ID_LPP_LPPE_SENSOR_MEAS_QUERY_REQ: transfer the query message to LBS*//* LPPe only */
1588typedef struct
1589{
1590 LOCAL_PARA_HDR
1591 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1592 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1593} lpp_lppe_sensor_meas_query_req_struct;
1594
1595/* MSG_ID_LPP_LPPE_NETWORK_MEAS_QUERY_REQ: transfer the query message to LBS*//* LPPe only */
1596typedef struct
1597{
1598 LOCAL_PARA_HDR
1599 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1600 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1601} lpp_lppe_network_meas_query_req_struct;
1602
1603/* MSG_ID_LPP_LPPE_IPADDRESS_MEAS_QUERY_REQ: transfer the query message to LBS*//* LPPe only */
1604typedef struct
1605{
1606 LOCAL_PARA_HDR
1607 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1608 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1609} lpp_lppe_ipaddress_meas_query_req_struct;
1610
1611
1612/* MSG_ID_LPP_LPPE_WLAN_STOP_IND: transfer the stop message to LBS*//* LPPe only */
1613typedef struct
1614{
1615 LOCAL_PARA_HDR
1616 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1617 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1618} lpp_lppe_wlan_stop_ind_struct;
1619
1620/* MSG_ID_LPP_LPPE_BT_STOP_IND: transfer the stop message to LBS*//* LPPe only */
1621typedef struct
1622{
1623 LOCAL_PARA_HDR
1624 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1625 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1626} lpp_lppe_bt_stop_ind_struct;
1627
1628/* MSG_ID_LPP_LPPE_SENSOR_STOP_IND: transfer the stop message to LBS*//* LPPe only */
1629typedef struct
1630{
1631 LOCAL_PARA_HDR
1632 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1633 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1634} lpp_lppe_sensor_stop_ind_struct;
1635
1636/* MSG_ID_LPP_LPPE_NETWORK_STOP_IND: transfer the stop message to LBS*//* LPPe only */
1637typedef struct
1638{
1639 LOCAL_PARA_HDR
1640 kal_uint16 sessionID; /* indicate the associated LI session ID of this message */
1641 kal_uint16 lppTransID; /* binded LPP transactio ID of this LI */
1642} lpp_lppe_network_stop_ind_struct;
1643
1644/* MSG_ID_LPP_LPPE_CAPABILITY_REQ: solicited capability request to AP connectivity module */
1645//TBD: AP automaticlly transfer the capability
1646
1647/* MSG_ID_LPP_LPPE_ABORT_RSP: unsolicted ABORT request from LPP*/
1648typedef struct
1649{
1650 LOCAL_PARA_HDR
1651 kal_uint16 transactionID;
1652} lpp_lppe_abort_rsp_struct;
1653
1654/* MSG_ID_LPP_LPPE_ERROR_RSP: un-solicited ERROR indication from LPP */
1655typedef struct
1656{
1657 LOCAL_PARA_HDR
1658 kal_uint16 transactionID;
1659} lpp_lppe_error_rsp_struct;
1660
1661
1662
1663/************** LBS -> LPP_EXT *************/
1664
1665
1666typedef struct
1667{
1668 LOCAL_PARA_HDR
1669 lpp_lppe_ha_gnss_assist_data_type_enum type; /* assistance data type for ack */
1670} lppe_lbs_gnss_assist_data_rsp_struct; /* define for MSG_ID_LPPE_LBS_GNSS_ASSIST_DATA_RSP */
1671
1672#endif /* _LPP_LPPE_STRUCT_H */