wireshark/epan/dissectors/packet-lpp.c

36579 lines
1.6 MiB

/* Do not modify this file. Changes will be overwritten. */
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-lpp.c */
/* asn2wrs.py -p lpp -c ./lpp.cnf -s ./packet-lpp-template -D . -O ../.. LPP-PDU-Definitions.asn LPP-Broadcast-Definitions.asn */
/* Input file: packet-lpp-template.c */
#line 1 "./asn1/lpp/packet-lpp-template.c"
/* packet-lpp.c
* Routines for 3GPP LTE Positioning Protocol (LPP) packet dissection
* Copyright 2011-2021 Pascal Quantin <pascal@wireshark.org>
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* SPDX-License-Identifier: GPL-2.0-or-later
*
* Ref 3GPP TS 37.355 version 16.5.0 Release 16
* http://www.3gpp.org
*/
#include "config.h"
#include "math.h"
#include <epan/packet.h>
#include <epan/asn1.h>
#include <epan/tfs.h>
#include <epan/proto_data.h>
#include "packet-per.h"
#include "packet-lpp.h"
#define PNAME "LTE Positioning Protocol (LPP)"
#define PSNAME "LPP"
#define PFNAME "lpp"
void proto_register_lpp(void);
void proto_reg_handoff_lpp(void);
/* Initialize the protocol and registered fields */
static int proto_lpp = -1;
/*--- Included file: packet-lpp-hf.c ---*/
#line 1 "./asn1/lpp/packet-lpp-hf.c"
static int hf_lpp_LPP_Message_PDU = -1; /* LPP_Message */
static int hf_lpp_lpp_Ellipsoid_Point_PDU = -1; /* Ellipsoid_Point */
static int hf_lpp_lpp_Ellipsoid_PointWithUncertaintyCircle_PDU = -1; /* Ellipsoid_PointWithUncertaintyCircle */
static int hf_lpp_lpp_EllipsoidPointWithUncertaintyEllipse_PDU = -1; /* EllipsoidPointWithUncertaintyEllipse */
static int hf_lpp_lpp_EllipsoidPointWithAltitude_PDU = -1; /* EllipsoidPointWithAltitude */
static int hf_lpp_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU = -1; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */
static int hf_lpp_lpp_EllipsoidArc_PDU = -1; /* EllipsoidArc */
static int hf_lpp_lpp_HorizontalVelocity_PDU = -1; /* HorizontalVelocity */
static int hf_lpp_lpp_HorizontalWithVerticalVelocity_PDU = -1; /* HorizontalWithVerticalVelocity */
static int hf_lpp_lpp_HorizontalVelocityWithUncertainty_PDU = -1; /* HorizontalVelocityWithUncertainty */
static int hf_lpp_lpp_Polygon_PDU = -1; /* Polygon */
static int hf_lpp_lpp_LocationCoordinates_PDU = -1; /* LocationCoordinates */
static int hf_lpp_lpp_Velocity_PDU = -1; /* Velocity */
static int hf_lpp_lpp_LocationError_PDU = -1; /* LocationError */
static int hf_lpp_lpp_LocationSource_r13_PDU = -1; /* LocationSource_r13 */
static int hf_lpp_NR_DL_PRS_AssistanceData_r16_PDU = -1; /* NR_DL_PRS_AssistanceData_r16 */
static int hf_lpp_GNSS_ReferenceTime_PDU = -1; /* GNSS_ReferenceTime */
static int hf_lpp_GNSS_ReferenceLocation_PDU = -1; /* GNSS_ReferenceLocation */
static int hf_lpp_GNSS_IonosphericModel_PDU = -1; /* GNSS_IonosphericModel */
static int hf_lpp_GNSS_EarthOrientationParameters_PDU = -1; /* GNSS_EarthOrientationParameters */
static int hf_lpp_GNSS_RTK_ReferenceStationInfo_r15_PDU = -1; /* GNSS_RTK_ReferenceStationInfo_r15 */
static int hf_lpp_GNSS_RTK_CommonObservationInfo_r15_PDU = -1; /* GNSS_RTK_CommonObservationInfo_r15 */
static int hf_lpp_GNSS_RTK_AuxiliaryStationData_r15_PDU = -1; /* GNSS_RTK_AuxiliaryStationData_r15 */
static int hf_lpp_GNSS_SSR_CorrectionPoints_r16_PDU = -1; /* GNSS_SSR_CorrectionPoints_r16 */
static int hf_lpp_GNSS_TimeModelList_PDU = -1; /* GNSS_TimeModelList */
static int hf_lpp_GNSS_DifferentialCorrections_PDU = -1; /* GNSS_DifferentialCorrections */
static int hf_lpp_GNSS_NavigationModel_PDU = -1; /* GNSS_NavigationModel */
static int hf_lpp_GNSS_RealTimeIntegrity_PDU = -1; /* GNSS_RealTimeIntegrity */
static int hf_lpp_GNSS_DataBitAssistance_PDU = -1; /* GNSS_DataBitAssistance */
static int hf_lpp_GNSS_AcquisitionAssistance_PDU = -1; /* GNSS_AcquisitionAssistance */
static int hf_lpp_GNSS_Almanac_PDU = -1; /* GNSS_Almanac */
static int hf_lpp_GNSS_UTC_Model_PDU = -1; /* GNSS_UTC_Model */
static int hf_lpp_GNSS_AuxiliaryInformation_PDU = -1; /* GNSS_AuxiliaryInformation */
static int hf_lpp_BDS_DifferentialCorrections_r12_PDU = -1; /* BDS_DifferentialCorrections_r12 */
static int hf_lpp_BDS_GridModelParameter_r12_PDU = -1; /* BDS_GridModelParameter_r12 */
static int hf_lpp_GNSS_RTK_Observations_r15_PDU = -1; /* GNSS_RTK_Observations_r15 */
static int hf_lpp_GLO_RTK_BiasInformation_r15_PDU = -1; /* GLO_RTK_BiasInformation_r15 */
static int hf_lpp_GNSS_RTK_MAC_CorrectionDifferences_r15_PDU = -1; /* GNSS_RTK_MAC_CorrectionDifferences_r15 */
static int hf_lpp_GNSS_RTK_Residuals_r15_PDU = -1; /* GNSS_RTK_Residuals_r15 */
static int hf_lpp_GNSS_RTK_FKP_Gradients_r15_PDU = -1; /* GNSS_RTK_FKP_Gradients_r15 */
static int hf_lpp_GNSS_SSR_OrbitCorrections_r15_PDU = -1; /* GNSS_SSR_OrbitCorrections_r15 */
static int hf_lpp_GNSS_SSR_ClockCorrections_r15_PDU = -1; /* GNSS_SSR_ClockCorrections_r15 */
static int hf_lpp_GNSS_SSR_CodeBias_r15_PDU = -1; /* GNSS_SSR_CodeBias_r15 */
static int hf_lpp_GNSS_SSR_URA_r16_PDU = -1; /* GNSS_SSR_URA_r16 */
static int hf_lpp_GNSS_SSR_PhaseBias_r16_PDU = -1; /* GNSS_SSR_PhaseBias_r16 */
static int hf_lpp_GNSS_SSR_STEC_Correction_r16_PDU = -1; /* GNSS_SSR_STEC_Correction_r16 */
static int hf_lpp_GNSS_SSR_GriddedCorrection_r16_PDU = -1; /* GNSS_SSR_GriddedCorrection_r16 */
static int hf_lpp_NavIC_DifferentialCorrections_r16_PDU = -1; /* NavIC_DifferentialCorrections_r16 */
static int hf_lpp_NavIC_GridModelParameter_r16_PDU = -1; /* NavIC_GridModelParameter_r16 */
static int hf_lpp_TBS_AssistanceDataList_r14_PDU = -1; /* TBS_AssistanceDataList_r14 */
static int hf_lpp_lpp_Sensor_MeasurementInformation_r13_PDU = -1; /* Sensor_MeasurementInformation_r13 */
static int hf_lpp_lpp_Sensor_MotionInformation_r15_PDU = -1; /* Sensor_MotionInformation_r15 */
static int hf_lpp_lpp_DisplacementTimeStamp_r15_PDU = -1; /* DisplacementTimeStamp_r15 */
static int hf_lpp_Sensor_AssistanceDataList_r14_PDU = -1; /* Sensor_AssistanceDataList_r14 */
static int hf_lpp_OTDOA_UE_Assisted_r15_PDU = -1; /* OTDOA_UE_Assisted_r15 */
static int hf_lpp_NR_UEB_TRP_LocationData_r16_PDU = -1; /* NR_UEB_TRP_LocationData_r16 */
static int hf_lpp_NR_UEB_TRP_RTD_Info_r16_PDU = -1; /* NR_UEB_TRP_RTD_Info_r16 */
static int hf_lpp_transactionID = -1; /* LPP_TransactionID */
static int hf_lpp_endTransaction = -1; /* BOOLEAN */
static int hf_lpp_sequenceNumber = -1; /* SequenceNumber */
static int hf_lpp_acknowledgement = -1; /* Acknowledgement */
static int hf_lpp_lpp_MessageBody = -1; /* LPP_MessageBody */
static int hf_lpp_ackRequested = -1; /* BOOLEAN */
static int hf_lpp_ackIndicator = -1; /* SequenceNumber */
static int hf_lpp_c1 = -1; /* T_c1 */
static int hf_lpp_requestCapabilities = -1; /* RequestCapabilities */
static int hf_lpp_provideCapabilities = -1; /* ProvideCapabilities */
static int hf_lpp_requestAssistanceData = -1; /* RequestAssistanceData */
static int hf_lpp_provideAssistanceData = -1; /* ProvideAssistanceData */
static int hf_lpp_requestLocationInformation = -1; /* RequestLocationInformation */
static int hf_lpp_provideLocationInformation = -1; /* ProvideLocationInformation */
static int hf_lpp_abort = -1; /* Abort */
static int hf_lpp_error = -1; /* Error */
static int hf_lpp_spare7 = -1; /* NULL */
static int hf_lpp_spare6 = -1; /* NULL */
static int hf_lpp_spare5 = -1; /* NULL */
static int hf_lpp_spare4 = -1; /* NULL */
static int hf_lpp_spare3 = -1; /* NULL */
static int hf_lpp_spare2 = -1; /* NULL */
static int hf_lpp_spare1 = -1; /* NULL */
static int hf_lpp_spare0 = -1; /* NULL */
static int hf_lpp_messageClassExtension = -1; /* T_messageClassExtension */
static int hf_lpp_initiator = -1; /* Initiator */
static int hf_lpp_transactionNumber = -1; /* TransactionNumber */
static int hf_lpp_criticalExtensions = -1; /* T_criticalExtensions */
static int hf_lpp_c1_01 = -1; /* T_c1_01 */
static int hf_lpp_requestCapabilities_r9 = -1; /* RequestCapabilities_r9_IEs */
static int hf_lpp_criticalExtensionsFuture = -1; /* T_criticalExtensionsFuture */
static int hf_lpp_commonIEsRequestCapabilities = -1; /* CommonIEsRequestCapabilities */
static int hf_lpp_a_gnss_RequestCapabilities = -1; /* A_GNSS_RequestCapabilities */
static int hf_lpp_otdoa_RequestCapabilities = -1; /* OTDOA_RequestCapabilities */
static int hf_lpp_ecid_RequestCapabilities = -1; /* ECID_RequestCapabilities */
static int hf_lpp_epdu_RequestCapabilities = -1; /* EPDU_Sequence */
static int hf_lpp_sensor_RequestCapabilities_r13 = -1; /* Sensor_RequestCapabilities_r13 */
static int hf_lpp_tbs_RequestCapabilities_r13 = -1; /* TBS_RequestCapabilities_r13 */
static int hf_lpp_wlan_RequestCapabilities_r13 = -1; /* WLAN_RequestCapabilities_r13 */
static int hf_lpp_bt_RequestCapabilities_r13 = -1; /* BT_RequestCapabilities_r13 */
static int hf_lpp_nr_ECID_RequestCapabilities_r16 = -1; /* NR_ECID_RequestCapabilities_r16 */
static int hf_lpp_nr_Multi_RTT_RequestCapabilities_r16 = -1; /* NR_Multi_RTT_RequestCapabilities_r16 */
static int hf_lpp_nr_DL_AoD_RequestCapabilities_r16 = -1; /* NR_DL_AoD_RequestCapabilities_r16 */
static int hf_lpp_nr_DL_TDOA_RequestCapabilities_r16 = -1; /* NR_DL_TDOA_RequestCapabilities_r16 */
static int hf_lpp_nr_UL_RequestCapabilities_r16 = -1; /* NR_UL_RequestCapabilities_r16 */
static int hf_lpp_criticalExtensions_01 = -1; /* T_criticalExtensions_01 */
static int hf_lpp_c1_02 = -1; /* T_c1_02 */
static int hf_lpp_provideCapabilities_r9 = -1; /* ProvideCapabilities_r9_IEs */
static int hf_lpp_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsFuture_01 */
static int hf_lpp_commonIEsProvideCapabilities = -1; /* CommonIEsProvideCapabilities */
static int hf_lpp_a_gnss_ProvideCapabilities = -1; /* A_GNSS_ProvideCapabilities */
static int hf_lpp_otdoa_ProvideCapabilities = -1; /* OTDOA_ProvideCapabilities */
static int hf_lpp_ecid_ProvideCapabilities = -1; /* ECID_ProvideCapabilities */
static int hf_lpp_epdu_ProvideCapabilities = -1; /* EPDU_Sequence */
static int hf_lpp_sensor_ProvideCapabilities_r13 = -1; /* Sensor_ProvideCapabilities_r13 */
static int hf_lpp_tbs_ProvideCapabilities_r13 = -1; /* TBS_ProvideCapabilities_r13 */
static int hf_lpp_wlan_ProvideCapabilities_r13 = -1; /* WLAN_ProvideCapabilities_r13 */
static int hf_lpp_bt_ProvideCapabilities_r13 = -1; /* BT_ProvideCapabilities_r13 */
static int hf_lpp_nr_ECID_ProvideCapabilities_r16 = -1; /* NR_ECID_ProvideCapabilities_r16 */
static int hf_lpp_nr_Multi_RTT_ProvideCapabilities_r16 = -1; /* NR_Multi_RTT_ProvideCapabilities_r16 */
static int hf_lpp_nr_DL_AoD_ProvideCapabilities_r16 = -1; /* NR_DL_AoD_ProvideCapabilities_r16 */
static int hf_lpp_nr_DL_TDOA_ProvideCapabilities_r16 = -1; /* NR_DL_TDOA_ProvideCapabilities_r16 */
static int hf_lpp_nr_UL_ProvideCapabilities_r16 = -1; /* NR_UL_ProvideCapabilities_r16 */
static int hf_lpp_criticalExtensions_02 = -1; /* T_criticalExtensions_02 */
static int hf_lpp_c1_03 = -1; /* T_c1_03 */
static int hf_lpp_requestAssistanceData_r9 = -1; /* RequestAssistanceData_r9_IEs */
static int hf_lpp_criticalExtensionsFuture_02 = -1; /* T_criticalExtensionsFuture_02 */
static int hf_lpp_commonIEsRequestAssistanceData = -1; /* CommonIEsRequestAssistanceData */
static int hf_lpp_a_gnss_RequestAssistanceData = -1; /* A_GNSS_RequestAssistanceData */
static int hf_lpp_otdoa_RequestAssistanceData = -1; /* OTDOA_RequestAssistanceData */
static int hf_lpp_epdu_RequestAssistanceData = -1; /* EPDU_Sequence */
static int hf_lpp_sensor_RequestAssistanceData_r14 = -1; /* Sensor_RequestAssistanceData_r14 */
static int hf_lpp_tbs_RequestAssistanceData_r14 = -1; /* TBS_RequestAssistanceData_r14 */
static int hf_lpp_wlan_RequestAssistanceData_r14 = -1; /* WLAN_RequestAssistanceData_r14 */
static int hf_lpp_nr_Multi_RTT_RequestAssistanceData_r16 = -1; /* NR_Multi_RTT_RequestAssistanceData_r16 */
static int hf_lpp_nr_DL_AoD_RequestAssistanceData_r16 = -1; /* NR_DL_AoD_RequestAssistanceData_r16 */
static int hf_lpp_nr_DL_TDOA_RequestAssistanceData_r16 = -1; /* NR_DL_TDOA_RequestAssistanceData_r16 */
static int hf_lpp_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */
static int hf_lpp_c1_04 = -1; /* T_c1_04 */
static int hf_lpp_provideAssistanceData_r9 = -1; /* ProvideAssistanceData_r9_IEs */
static int hf_lpp_criticalExtensionsFuture_03 = -1; /* T_criticalExtensionsFuture_03 */
static int hf_lpp_commonIEsProvideAssistanceData = -1; /* CommonIEsProvideAssistanceData */
static int hf_lpp_a_gnss_ProvideAssistanceData = -1; /* A_GNSS_ProvideAssistanceData */
static int hf_lpp_otdoa_ProvideAssistanceData = -1; /* OTDOA_ProvideAssistanceData */
static int hf_lpp_epdu_Provide_Assistance_Data = -1; /* EPDU_Sequence */
static int hf_lpp_sensor_ProvideAssistanceData_r14 = -1; /* Sensor_ProvideAssistanceData_r14 */
static int hf_lpp_tbs_ProvideAssistanceData_r14 = -1; /* TBS_ProvideAssistanceData_r14 */
static int hf_lpp_wlan_ProvideAssistanceData_r14 = -1; /* WLAN_ProvideAssistanceData_r14 */
static int hf_lpp_nr_Multi_RTT_ProvideAssistanceData_r16 = -1; /* NR_Multi_RTT_ProvideAssistanceData_r16 */
static int hf_lpp_nr_DL_AoD_ProvideAssistanceData_r16 = -1; /* NR_DL_AoD_ProvideAssistanceData_r16 */
static int hf_lpp_nr_DL_TDOA_ProvideAssistanceData_r16 = -1; /* NR_DL_TDOA_ProvideAssistanceData_r16 */
static int hf_lpp_criticalExtensions_04 = -1; /* T_criticalExtensions_04 */
static int hf_lpp_c1_05 = -1; /* T_c1_05 */
static int hf_lpp_requestLocationInformation_r9 = -1; /* RequestLocationInformation_r9_IEs */
static int hf_lpp_criticalExtensionsFuture_04 = -1; /* T_criticalExtensionsFuture_04 */
static int hf_lpp_commonIEsRequestLocationInformation = -1; /* CommonIEsRequestLocationInformation */
static int hf_lpp_a_gnss_RequestLocationInformation = -1; /* A_GNSS_RequestLocationInformation */
static int hf_lpp_otdoa_RequestLocationInformation = -1; /* OTDOA_RequestLocationInformation */
static int hf_lpp_ecid_RequestLocationInformation = -1; /* ECID_RequestLocationInformation */
static int hf_lpp_epdu_RequestLocationInformation = -1; /* EPDU_Sequence */
static int hf_lpp_sensor_RequestLocationInformation_r13 = -1; /* Sensor_RequestLocationInformation_r13 */
static int hf_lpp_tbs_RequestLocationInformation_r13 = -1; /* TBS_RequestLocationInformation_r13 */
static int hf_lpp_wlan_RequestLocationInformation_r13 = -1; /* WLAN_RequestLocationInformation_r13 */
static int hf_lpp_bt_RequestLocationInformation_r13 = -1; /* BT_RequestLocationInformation_r13 */
static int hf_lpp_nr_ECID_RequestLocationInformation_r16 = -1; /* NR_ECID_RequestLocationInformation_r16 */
static int hf_lpp_nr_Multi_RTT_RequestLocationInformation_r16 = -1; /* NR_Multi_RTT_RequestLocationInformation_r16 */
static int hf_lpp_nr_DL_AoD_RequestLocationInformation_r16 = -1; /* NR_DL_AoD_RequestLocationInformation_r16 */
static int hf_lpp_nr_DL_TDOA_RequestLocationInformation_r16 = -1; /* NR_DL_TDOA_RequestLocationInformation_r16 */
static int hf_lpp_criticalExtensions_05 = -1; /* T_criticalExtensions_05 */
static int hf_lpp_c1_06 = -1; /* T_c1_06 */
static int hf_lpp_provideLocationInformation_r9 = -1; /* ProvideLocationInformation_r9_IEs */
static int hf_lpp_criticalExtensionsFuture_05 = -1; /* T_criticalExtensionsFuture_05 */
static int hf_lpp_commonIEsProvideLocationInformation = -1; /* CommonIEsProvideLocationInformation */
static int hf_lpp_a_gnss_ProvideLocationInformation = -1; /* A_GNSS_ProvideLocationInformation */
static int hf_lpp_otdoa_ProvideLocationInformation = -1; /* OTDOA_ProvideLocationInformation */
static int hf_lpp_ecid_ProvideLocationInformation = -1; /* ECID_ProvideLocationInformation */
static int hf_lpp_epdu_ProvideLocationInformation = -1; /* EPDU_Sequence */
static int hf_lpp_sensor_ProvideLocationInformation_r13 = -1; /* Sensor_ProvideLocationInformation_r13 */
static int hf_lpp_tbs_ProvideLocationInformation_r13 = -1; /* TBS_ProvideLocationInformation_r13 */
static int hf_lpp_wlan_ProvideLocationInformation_r13 = -1; /* WLAN_ProvideLocationInformation_r13 */
static int hf_lpp_bt_ProvideLocationInformation_r13 = -1; /* BT_ProvideLocationInformation_r13 */
static int hf_lpp_nr_ECID_ProvideLocationInformation_r16 = -1; /* NR_ECID_ProvideLocationInformation_r16 */
static int hf_lpp_nr_Multi_RTT_ProvideLocationInformation_r16 = -1; /* NR_Multi_RTT_ProvideLocationInformation_r16 */
static int hf_lpp_nr_DL_AoD_ProvideLocationInformation_r16 = -1; /* NR_DL_AoD_ProvideLocationInformation_r16 */
static int hf_lpp_nr_DL_TDOA_ProvideLocationInformation_r16 = -1; /* NR_DL_TDOA_ProvideLocationInformation_r16 */
static int hf_lpp_criticalExtensions_06 = -1; /* T_criticalExtensions_06 */
static int hf_lpp_c1_07 = -1; /* T_c1_07 */
static int hf_lpp_abort_r9 = -1; /* Abort_r9_IEs */
static int hf_lpp_criticalExtensionsFuture_06 = -1; /* T_criticalExtensionsFuture_06 */
static int hf_lpp_commonIEsAbort = -1; /* CommonIEsAbort */
static int hf_lpp_epdu_Abort = -1; /* EPDU_Sequence */
static int hf_lpp_error_r9 = -1; /* Error_r9_IEs */
static int hf_lpp_criticalExtensionsFuture_07 = -1; /* T_criticalExtensionsFuture_07 */
static int hf_lpp_commonIEsError = -1; /* CommonIEsError */
static int hf_lpp_epdu_Error = -1; /* EPDU_Sequence */
static int hf_lpp_accessTypes = -1; /* T_accessTypes */
static int hf_lpp_carrierFreq_r14 = -1; /* ARFCN_ValueEUTRA_r14 */
static int hf_lpp_carrierFreqOffset_r14 = -1; /* CarrierFreqOffsetNB_r14 */
static int hf_lpp_plmn_Identity = -1; /* T_plmn_Identity */
static int hf_lpp_mcc = -1; /* T_mcc */
static int hf_lpp_mcc_item = -1; /* INTEGER_0_9 */
static int hf_lpp_mnc = -1; /* T_mnc */
static int hf_lpp_mnc_item = -1; /* INTEGER_0_9 */
static int hf_lpp_cellIdentity = -1; /* T_cellIdentity */
static int hf_lpp_eutra = -1; /* BIT_STRING_SIZE_28 */
static int hf_lpp_utra = -1; /* BIT_STRING_SIZE_32 */
static int hf_lpp_plmn_Identity_01 = -1; /* T_plmn_Identity_01 */
static int hf_lpp_mcc_01 = -1; /* T_mcc_01 */
static int hf_lpp_mnc_01 = -1; /* T_mnc_01 */
static int hf_lpp_locationAreaCode = -1; /* BIT_STRING_SIZE_16 */
static int hf_lpp_cellGlobalIdGERAN_cellIdentity = -1; /* BIT_STRING_SIZE_16 */
static int hf_lpp_mcc_02 = -1; /* T_mcc_02 */
static int hf_lpp_mnc_02 = -1; /* T_mnc_02 */
static int hf_lpp_cellidentity = -1; /* BIT_STRING_SIZE_28 */
static int hf_lpp_latitudeSign = -1; /* T_latitudeSign */
static int hf_lpp_degreesLatitude = -1; /* INTEGER_0_8388607 */
static int hf_lpp_degreesLongitude = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_latitudeSign_01 = -1; /* T_latitudeSign_01 */
static int hf_lpp_uncertainty = -1; /* INTEGER_0_127 */
static int hf_lpp_latitudeSign_02 = -1; /* T_latitudeSign_02 */
static int hf_lpp_uncertaintySemiMajor = -1; /* INTEGER_0_127 */
static int hf_lpp_uncertaintySemiMinor = -1; /* INTEGER_0_127 */
static int hf_lpp_orientationMajorAxis = -1; /* INTEGER_0_179 */
static int hf_lpp_confidence = -1; /* INTEGER_0_100 */
static int hf_lpp_latitudeSign_03 = -1; /* T_latitudeSign_03 */
static int hf_lpp_altitudeDirection = -1; /* T_altitudeDirection */
static int hf_lpp_altitude = -1; /* INTEGER_0_32767 */
static int hf_lpp_latitudeSign_04 = -1; /* T_latitudeSign_04 */
static int hf_lpp_altitudeDirection_01 = -1; /* T_altitudeDirection_01 */
static int hf_lpp_uncertaintyAltitude = -1; /* INTEGER_0_127 */
static int hf_lpp_latitudeSign_05 = -1; /* T_latitudeSign_05 */
static int hf_lpp_innerRadius = -1; /* INTEGER_0_65535 */
static int hf_lpp_uncertaintyRadius = -1; /* INTEGER_0_127 */
static int hf_lpp_offsetAngle = -1; /* INTEGER_0_179 */
static int hf_lpp_includedAngle = -1; /* INTEGER_0_179 */
static int hf_lpp_EPDU_Sequence_item = -1; /* EPDU */
static int hf_lpp_ePDU_Identifier = -1; /* EPDU_Identifier */
static int hf_lpp_ePDU_Body = -1; /* EPDU_Body */
static int hf_lpp_ePDU_ID = -1; /* EPDU_ID */
static int hf_lpp_ePDU_Name = -1; /* EPDU_Name */
static int hf_lpp_degreesLatitude_r15 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_degreesLongitude_r15 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_uncertaintySemiMajor_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_uncertaintySemiMinor_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_orientationMajorAxis_r15 = -1; /* INTEGER_0_179 */
static int hf_lpp_confidence_r15 = -1; /* INTEGER_0_100 */
static int hf_lpp_altitude_r15 = -1; /* INTEGER_M64000_1280000 */
static int hf_lpp_horizontalConfidence_r15 = -1; /* INTEGER_0_100 */
static int hf_lpp_uncertaintyAltitude_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_verticalConfidence_r15 = -1; /* INTEGER_0_100 */
static int hf_lpp_bearing = -1; /* INTEGER_0_359 */
static int hf_lpp_horizontalSpeed = -1; /* INTEGER_0_2047 */
static int hf_lpp_verticalDirection = -1; /* T_verticalDirection */
static int hf_lpp_verticalSpeed = -1; /* INTEGER_0_255 */
static int hf_lpp_uncertaintySpeed = -1; /* INTEGER_0_255 */
static int hf_lpp_verticalDirection_01 = -1; /* T_verticalDirection_01 */
static int hf_lpp_horizontalUncertaintySpeed = -1; /* INTEGER_0_255 */
static int hf_lpp_verticalUncertaintySpeed = -1; /* INTEGER_0_255 */
static int hf_lpp_ellipsoidPoint = -1; /* BOOLEAN */
static int hf_lpp_ellipsoidPointWithUncertaintyCircle = -1; /* BOOLEAN */
static int hf_lpp_ellipsoidPointWithUncertaintyEllipse = -1; /* BOOLEAN */
static int hf_lpp_polygon = -1; /* BOOLEAN */
static int hf_lpp_ellipsoidPointWithAltitude = -1; /* BOOLEAN */
static int hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid = -1; /* BOOLEAN */
static int hf_lpp_ellipsoidArc = -1; /* BOOLEAN */
static int hf_lpp_highAccuracyEllipsoidPointWithUncertaintyEllipse_r15 = -1; /* BOOLEAN */
static int hf_lpp_highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15 = -1; /* BOOLEAN */
static int hf_lpp_mcc_r15 = -1; /* T_mcc_r15 */
static int hf_lpp_mcc_r15_item = -1; /* INTEGER_0_9 */
static int hf_lpp_mnc_r15 = -1; /* T_mnc_r15 */
static int hf_lpp_mnc_r15_item = -1; /* INTEGER_0_9 */
static int hf_lpp_nr_cellidentity_r15 = -1; /* BIT_STRING_SIZE_36 */
static int hf_lpp_periodicSessionID_r15 = -1; /* PeriodicSessionID_r15 */
static int hf_lpp_updateCapabilities_r15 = -1; /* UpdateCapabilities_r15 */
static int hf_lpp_periodicSessionInitiator_r15 = -1; /* T_periodicSessionInitiator_r15 */
static int hf_lpp_periodicSessionNumber_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_Polygon_item = -1; /* PolygonPoints */
static int hf_lpp_latitudeSign_06 = -1; /* T_latitudeSign_06 */
static int hf_lpp_posModes = -1; /* T_posModes */
static int hf_lpp_horizontalVelocity = -1; /* BOOLEAN */
static int hf_lpp_horizontalWithVerticalVelocity = -1; /* BOOLEAN */
static int hf_lpp_horizontalVelocityWithUncertainty = -1; /* BOOLEAN */
static int hf_lpp_horizontalWithVerticalVelocityAndUncertainty = -1; /* BOOLEAN */
static int hf_lpp_lpp_message_segmentation_req_r14 = -1; /* T_lpp_message_segmentation_req_r14 */
static int hf_lpp_segmentationInfo_r14 = -1; /* SegmentationInfo_r14 */
static int hf_lpp_lpp_message_segmentation_r14 = -1; /* T_lpp_message_segmentation_r14 */
static int hf_lpp_primaryCellID = -1; /* ECGI */
static int hf_lpp_periodicAssistanceDataReq_r15 = -1; /* PeriodicAssistanceDataControlParameters_r15 */
static int hf_lpp_primaryCellID_r15 = -1; /* NCGI_r15 */
static int hf_lpp_periodicAssistanceData_r15 = -1; /* PeriodicAssistanceDataControlParameters_r15 */
static int hf_lpp_locationInformationType = -1; /* LocationInformationType */
static int hf_lpp_triggeredReporting = -1; /* TriggeredReportingCriteria */
static int hf_lpp_periodicalReporting = -1; /* PeriodicalReportingCriteria */
static int hf_lpp_additionalInformation = -1; /* AdditionalInformation */
static int hf_lpp_qos = -1; /* QoS */
static int hf_lpp_environment = -1; /* Environment */
static int hf_lpp_locationCoordinateTypes = -1; /* LocationCoordinateTypes */
static int hf_lpp_velocityTypes = -1; /* VelocityTypes */
static int hf_lpp_messageSizeLimitNB_r14 = -1; /* MessageSizeLimitNB_r14 */
static int hf_lpp_reportingAmount = -1; /* T_reportingAmount */
static int hf_lpp_reportingInterval = -1; /* T_reportingInterval */
static int hf_lpp_cellChange = -1; /* BOOLEAN */
static int hf_lpp_reportingDuration = -1; /* ReportingDuration */
static int hf_lpp_horizontalAccuracy = -1; /* HorizontalAccuracy */
static int hf_lpp_verticalCoordinateRequest = -1; /* BOOLEAN */
static int hf_lpp_verticalAccuracy = -1; /* VerticalAccuracy */
static int hf_lpp_responseTime = -1; /* ResponseTime */
static int hf_lpp_velocityRequest = -1; /* BOOLEAN */
static int hf_lpp_responseTimeNB_r14 = -1; /* ResponseTimeNB_r14 */
static int hf_lpp_horizontalAccuracyExt_r15 = -1; /* HorizontalAccuracyExt_r15 */
static int hf_lpp_verticalAccuracyExt_r15 = -1; /* VerticalAccuracyExt_r15 */
static int hf_lpp_accuracy = -1; /* INTEGER_0_127 */
static int hf_lpp_accuracyExt_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_time = -1; /* INTEGER_1_128 */
static int hf_lpp_responseTimeEarlyFix_r12 = -1; /* INTEGER_1_128 */
static int hf_lpp_unit_r15 = -1; /* T_unit_r15 */
static int hf_lpp_timeNB_r14 = -1; /* INTEGER_1_512 */
static int hf_lpp_responseTimeEarlyFixNB_r14 = -1; /* INTEGER_1_512 */
static int hf_lpp_unitNB_r15 = -1; /* T_unitNB_r15 */
static int hf_lpp_measurementLimit_r14 = -1; /* INTEGER_1_512 */
static int hf_lpp_locationEstimate = -1; /* LocationCoordinates */
static int hf_lpp_velocityEstimate = -1; /* Velocity */
static int hf_lpp_locationError = -1; /* LocationError */
static int hf_lpp_earlyFixReport_r12 = -1; /* EarlyFixReport_r12 */
static int hf_lpp_locationSource_r13 = -1; /* LocationSource_r13 */
static int hf_lpp_locationTimestamp_r13 = -1; /* UTCTime */
static int hf_lpp_ellipsoidPoint_01 = -1; /* Ellipsoid_Point */
static int hf_lpp_ellipsoidPointWithUncertaintyCircle_01 = -1; /* Ellipsoid_PointWithUncertaintyCircle */
static int hf_lpp_ellipsoidPointWithUncertaintyEllipse_01 = -1; /* EllipsoidPointWithUncertaintyEllipse */
static int hf_lpp_locationCoordinates_polygon = -1; /* Polygon */
static int hf_lpp_ellipsoidPointWithAltitude_01 = -1; /* EllipsoidPointWithAltitude */
static int hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid_01 = -1; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */
static int hf_lpp_ellipsoidArc_01 = -1; /* EllipsoidArc */
static int hf_lpp_highAccuracyEllipsoidPointWithUncertaintyEllipse_v1510 = -1; /* HighAccuracyEllipsoidPointWithUncertaintyEllipse_r15 */
static int hf_lpp_highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_v1510 = -1; /* HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15 */
static int hf_lpp_horizontalVelocity_01 = -1; /* HorizontalVelocity */
static int hf_lpp_horizontalWithVerticalVelocity_01 = -1; /* HorizontalWithVerticalVelocity */
static int hf_lpp_horizontalVelocityWithUncertainty_01 = -1; /* HorizontalVelocityWithUncertainty */
static int hf_lpp_horizontalWithVerticalVelocityAndUncertainty_01 = -1; /* HorizontalWithVerticalVelocityAndUncertainty */
static int hf_lpp_locationfailurecause = -1; /* LocationFailureCause */
static int hf_lpp_abortCause = -1; /* T_abortCause */
static int hf_lpp_errorCause = -1; /* T_errorCause */
static int hf_lpp_dl_PRS_ID_r16 = -1; /* INTEGER_0_255 */
static int hf_lpp_nr_DL_PRS_ResourceID_List_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxResourceIDs_r16_OF_NR_DL_PRS_ResourceID_r16 */
static int hf_lpp_nr_DL_PRS_ResourceID_List_r16_item = -1; /* NR_DL_PRS_ResourceID_r16 */
static int hf_lpp_nr_DL_PRS_ResourceSetID_r16 = -1; /* NR_DL_PRS_ResourceSetID_r16 */
static int hf_lpp_NR_AdditionalPathList_r16_item = -1; /* NR_AdditionalPath_r16 */
static int hf_lpp_nr_RelativeTimeDifference_r16 = -1; /* T_nr_RelativeTimeDifference_r16 */
static int hf_lpp_k0_r16 = -1; /* INTEGER_0_16351 */
static int hf_lpp_k1_r16 = -1; /* INTEGER_0_8176 */
static int hf_lpp_k2_r16 = -1; /* INTEGER_0_4088 */
static int hf_lpp_k3_r16 = -1; /* INTEGER_0_2044 */
static int hf_lpp_k4_r16 = -1; /* INTEGER_0_1022 */
static int hf_lpp_k5_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_nr_PathQuality_r16 = -1; /* NR_TimingQuality_r16 */
static int hf_lpp_nr_DL_PRS_ReferenceInfo_r16 = -1; /* DL_PRS_ID_Info_r16 */
static int hf_lpp_nr_DL_PRS_AssistanceDataList_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxFreqLayers_r16_OF_NR_DL_PRS_AssistanceDataPerFreq_r16 */
static int hf_lpp_nr_DL_PRS_AssistanceDataList_r16_item = -1; /* NR_DL_PRS_AssistanceDataPerFreq_r16 */
static int hf_lpp_nr_SSB_Config_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxTRPs_r16_OF_NR_SSB_Config_r16 */
static int hf_lpp_nr_SSB_Config_r16_item = -1; /* NR_SSB_Config_r16 */
static int hf_lpp_nr_DL_PRS_PositioningFrequencyLayer_r16 = -1; /* NR_DL_PRS_PositioningFrequencyLayer_r16 */
static int hf_lpp_nr_DL_PRS_AssistanceDataPerFreq_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_DL_PRS_AssistanceDataPerTRP_r16 */
static int hf_lpp_nr_DL_PRS_AssistanceDataPerFreq_r16_item = -1; /* NR_DL_PRS_AssistanceDataPerTRP_r16 */
static int hf_lpp_nr_PhysCellID_r16 = -1; /* NR_PhysCellID_r16 */
static int hf_lpp_nr_CellGlobalID_r16 = -1; /* NCGI_r15 */
static int hf_lpp_nr_ARFCN_r16 = -1; /* ARFCN_ValueNR_r15 */
static int hf_lpp_nr_DL_PRS_SFN0_Offset_r16 = -1; /* NR_DL_PRS_SFN0_Offset_r16 */
static int hf_lpp_nr_DL_PRS_ExpectedRSTD_r16 = -1; /* INTEGER_M3841_3841 */
static int hf_lpp_nr_DL_PRS_ExpectedRSTD_Uncertainty_r16 = -1; /* INTEGER_0_246 */
static int hf_lpp_nr_DL_PRS_Info_r16 = -1; /* NR_DL_PRS_Info_r16 */
static int hf_lpp_dl_PRS_SubcarrierSpacing_r16 = -1; /* T_dl_PRS_SubcarrierSpacing_r16 */
static int hf_lpp_dl_PRS_ResourceBandwidth_r16 = -1; /* INTEGER_1_63 */
static int hf_lpp_dl_PRS_StartPRB_r16 = -1; /* INTEGER_0_2176 */
static int hf_lpp_dl_PRS_PointA_r16 = -1; /* ARFCN_ValueNR_r15 */
static int hf_lpp_dl_PRS_CombSizeN_r16 = -1; /* T_dl_PRS_CombSizeN_r16 */
static int hf_lpp_dl_PRS_CyclicPrefix_r16 = -1; /* T_dl_PRS_CyclicPrefix_r16 */
static int hf_lpp_sfn_Offset_r16 = -1; /* INTEGER_0_1023 */
static int hf_lpp_integerSubframeOffset_r16 = -1; /* INTEGER_0_9 */
static int hf_lpp_NR_DL_PRS_BeamInfo_r16_item = -1; /* NR_DL_PRS_BeamInfoPerFreqLayer_r16 */
static int hf_lpp_NR_DL_PRS_BeamInfoPerFreqLayer_r16_item = -1; /* NR_DL_PRS_BeamInfoPerTRP_r16 */
static int hf_lpp_associated_DL_PRS_ID_r16 = -1; /* INTEGER_0_255 */
static int hf_lpp_lcs_GCS_TranslationParameter_r16 = -1; /* LCS_GCS_TranslationParameter_r16 */
static int hf_lpp_dl_PRS_BeamInfoSet_r16 = -1; /* DL_PRS_BeamInfoSet_r16 */
static int hf_lpp_DL_PRS_BeamInfoSet_r16_item = -1; /* DL_PRS_BeamInfoResourceSet_r16 */
static int hf_lpp_DL_PRS_BeamInfoResourceSet_r16_item = -1; /* DL_PRS_BeamInfoElement_r16 */
static int hf_lpp_dl_PRS_Azimuth_r16 = -1; /* INTEGER_0_359 */
static int hf_lpp_dl_PRS_Azimuth_fine_r16 = -1; /* INTEGER_0_9 */
static int hf_lpp_dl_PRS_Elevation_r16 = -1; /* INTEGER_0_180 */
static int hf_lpp_dl_PRS_Elevation_fine_r16 = -1; /* INTEGER_0_9 */
static int hf_lpp_alpha_r16 = -1; /* INTEGER_0_359 */
static int hf_lpp_alpha_fine_r16 = -1; /* INTEGER_0_9 */
static int hf_lpp_beta_r16 = -1; /* INTEGER_0_359 */
static int hf_lpp_beta_fine_r16 = -1; /* INTEGER_0_9 */
static int hf_lpp_gamma_r16 = -1; /* INTEGER_0_359 */
static int hf_lpp_gamma_fine_r16 = -1; /* INTEGER_0_9 */
static int hf_lpp_nr_DL_PRS_ResourceSetList_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ResourceSet_r16 */
static int hf_lpp_nr_DL_PRS_ResourceSetList_r16_item = -1; /* NR_DL_PRS_ResourceSet_r16 */
static int hf_lpp_dl_PRS_Periodicity_and_ResourceSetSlotOffset_r16 = -1; /* NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16 */
static int hf_lpp_dl_PRS_ResourceRepetitionFactor_r16 = -1; /* T_dl_PRS_ResourceRepetitionFactor_r16 */
static int hf_lpp_dl_PRS_ResourceTimeGap_r16 = -1; /* T_dl_PRS_ResourceTimeGap_r16 */
static int hf_lpp_dl_PRS_NumSymbols_r16 = -1; /* T_dl_PRS_NumSymbols_r16 */
static int hf_lpp_dl_PRS_MutingOption1_r16 = -1; /* DL_PRS_MutingOption1_r16 */
static int hf_lpp_dl_PRS_MutingOption2_r16 = -1; /* DL_PRS_MutingOption2_r16 */
static int hf_lpp_dl_PRS_ResourcePower_r16 = -1; /* INTEGER_M60_50 */
static int hf_lpp_dl_PRS_ResourceList_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_NR_DL_PRS_Resource_r16 */
static int hf_lpp_dl_PRS_ResourceList_r16_item = -1; /* NR_DL_PRS_Resource_r16 */
static int hf_lpp_dl_prs_MutingBitRepetitionFactor_r16 = -1; /* T_dl_prs_MutingBitRepetitionFactor_r16 */
static int hf_lpp_nr_option1_muting_r16 = -1; /* NR_MutingPattern_r16 */
static int hf_lpp_nr_option2_muting_r16 = -1; /* NR_MutingPattern_r16 */
static int hf_lpp_po2_r16 = -1; /* BIT_STRING_SIZE_2 */
static int hf_lpp_po4_r16 = -1; /* BIT_STRING_SIZE_4 */
static int hf_lpp_po6_r16 = -1; /* BIT_STRING_SIZE_6 */
static int hf_lpp_po8_r16 = -1; /* BIT_STRING_SIZE_8 */
static int hf_lpp_po16_r16 = -1; /* BIT_STRING_SIZE_16 */
static int hf_lpp_po32_r16 = -1; /* BIT_STRING_SIZE_32 */
static int hf_lpp_nr_DL_PRS_ResourceID_r16 = -1; /* NR_DL_PRS_ResourceID_r16 */
static int hf_lpp_dl_PRS_SequenceID_r16 = -1; /* INTEGER_0_4095 */
static int hf_lpp_dl_PRS_CombSizeN_AndReOffset_r16 = -1; /* T_dl_PRS_CombSizeN_AndReOffset_r16 */
static int hf_lpp_n2_r16 = -1; /* INTEGER_0_1 */
static int hf_lpp_n4_r16 = -1; /* INTEGER_0_3 */
static int hf_lpp_n6_r16 = -1; /* INTEGER_0_5 */
static int hf_lpp_n12_r16 = -1; /* INTEGER_0_11 */
static int hf_lpp_dl_PRS_ResourceSlotOffset_r16 = -1; /* INTEGER_0_nrMaxResourceOffsetValue_1_r16 */
static int hf_lpp_dl_PRS_ResourceSymbolOffset_r16 = -1; /* INTEGER_0_12 */
static int hf_lpp_dl_PRS_QCL_Info_r16 = -1; /* DL_PRS_QCL_Info_r16 */
static int hf_lpp_ssb_r16 = -1; /* T_ssb_r16 */
static int hf_lpp_pci_r16 = -1; /* NR_PhysCellID_r16 */
static int hf_lpp_ssb_Index_r16 = -1; /* INTEGER_0_63 */
static int hf_lpp_rs_Type_r16 = -1; /* T_rs_Type_r16 */
static int hf_lpp_dl_PRS_r16 = -1; /* T_dl_PRS_r16 */
static int hf_lpp_qcl_DL_PRS_ResourceID_r16 = -1; /* NR_DL_PRS_ResourceID_r16 */
static int hf_lpp_qcl_DL_PRS_ResourceSetID_r16 = -1; /* NR_DL_PRS_ResourceSetID_r16 */
static int hf_lpp_scs15_r16 = -1; /* T_scs15_r16 */
static int hf_lpp_n5_r16 = -1; /* INTEGER_0_4 */
static int hf_lpp_n8_r16 = -1; /* INTEGER_0_7 */
static int hf_lpp_n10_r16 = -1; /* INTEGER_0_9 */
static int hf_lpp_n16_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_n20_r16 = -1; /* INTEGER_0_19 */
static int hf_lpp_n32_r16 = -1; /* INTEGER_0_31 */
static int hf_lpp_n40_r16 = -1; /* INTEGER_0_39 */
static int hf_lpp_n64_r16 = -1; /* INTEGER_0_63 */
static int hf_lpp_n80_r16 = -1; /* INTEGER_0_79 */
static int hf_lpp_n160_r16 = -1; /* INTEGER_0_159 */
static int hf_lpp_n320_r16 = -1; /* INTEGER_0_319 */
static int hf_lpp_n640_r16 = -1; /* INTEGER_0_639 */
static int hf_lpp_n1280_r16 = -1; /* INTEGER_0_1279 */
static int hf_lpp_n2560_r16 = -1; /* INTEGER_0_2559 */
static int hf_lpp_n5120_r16 = -1; /* INTEGER_0_5119 */
static int hf_lpp_n10240_r16 = -1; /* INTEGER_0_10239 */
static int hf_lpp_scs30_r16 = -1; /* T_scs30_r16 */
static int hf_lpp_n128_r16 = -1; /* INTEGER_0_127 */
static int hf_lpp_n20480_r16 = -1; /* INTEGER_0_20479 */
static int hf_lpp_scs60_r16 = -1; /* T_scs60_r16 */
static int hf_lpp_n256_r16 = -1; /* INTEGER_0_255 */
static int hf_lpp_n40960_r16 = -1; /* INTEGER_0_40959 */
static int hf_lpp_scs120_r16 = -1; /* T_scs120_r16 */
static int hf_lpp_n512_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_n81920_r16 = -1; /* INTEGER_0_81919 */
static int hf_lpp_prs_ProcessingCapabilityBandList_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_PRS_ProcessingCapabilityPerBand_r16 */
static int hf_lpp_prs_ProcessingCapabilityBandList_r16_item = -1; /* PRS_ProcessingCapabilityPerBand_r16 */
static int hf_lpp_maxSupportedFreqLayers_r16 = -1; /* INTEGER_1_4 */
static int hf_lpp_simulLTE_NR_PRS_r16 = -1; /* T_simulLTE_NR_PRS_r16 */
static int hf_lpp_freqBandIndicatorNR_r16 = -1; /* FreqBandIndicatorNR_r16 */
static int hf_lpp_supportedBandwidthPRS_r16 = -1; /* T_supportedBandwidthPRS_r16 */
static int hf_lpp_fr1 = -1; /* T_fr1 */
static int hf_lpp_fr2 = -1; /* T_fr2 */
static int hf_lpp_dl_PRS_BufferType_r16 = -1; /* T_dl_PRS_BufferType_r16 */
static int hf_lpp_durationOfPRS_Processing_r16 = -1; /* T_durationOfPRS_Processing_r16 */
static int hf_lpp_durationOfPRS_ProcessingSymbols_r16 = -1; /* T_durationOfPRS_ProcessingSymbols_r16 */
static int hf_lpp_durationOfPRS_ProcessingSymbolsInEveryTms_r16 = -1; /* T_durationOfPRS_ProcessingSymbolsInEveryTms_r16 */
static int hf_lpp_maxNumOfDL_PRS_ResProcessedPerSlot_r16 = -1; /* T_maxNumOfDL_PRS_ResProcessedPerSlot_r16 */
static int hf_lpp_scs15_r16_01 = -1; /* T_scs15_r16_01 */
static int hf_lpp_scs30_r16_01 = -1; /* T_scs30_r16_01 */
static int hf_lpp_scs60_r16_01 = -1; /* T_scs60_r16_01 */
static int hf_lpp_scs120_r16_01 = -1; /* T_scs120_r16_01 */
static int hf_lpp_dl_PRS_QCL_ProcessingCapabilityBandList_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_QCL_ProcessingCapabilityPerBand_r16 */
static int hf_lpp_dl_PRS_QCL_ProcessingCapabilityBandList_r16_item = -1; /* DL_PRS_QCL_ProcessingCapabilityPerBand_r16 */
static int hf_lpp_ssb_FromNeighCellAsQCL_r16 = -1; /* T_ssb_FromNeighCellAsQCL_r16 */
static int hf_lpp_prs_FromServNeighCellAsQCL_r16 = -1; /* T_prs_FromServNeighCellAsQCL_r16 */
static int hf_lpp_maxNrOfDL_PRS_ResourceSetPerTrpPerFrequencyLayer_r16 = -1; /* INTEGER_1_2 */
static int hf_lpp_maxNrOfTRP_AcrossFreqs_r16 = -1; /* T_maxNrOfTRP_AcrossFreqs_r16 */
static int hf_lpp_maxNrOfPosLayer_r16 = -1; /* INTEGER_1_4 */
static int hf_lpp_dl_PRS_ResourcesCapabilityBandList_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_ResourcesCapabilityPerBand_r16 */
static int hf_lpp_dl_PRS_ResourcesCapabilityBandList_r16_item = -1; /* DL_PRS_ResourcesCapabilityPerBand_r16 */
static int hf_lpp_dl_PRS_ResourcesBandCombinationList_r16 = -1; /* DL_PRS_ResourcesBandCombinationList_r16 */
static int hf_lpp_maxNrOfDL_PRS_ResourcesPerResourceSet_r16 = -1; /* T_maxNrOfDL_PRS_ResourcesPerResourceSet_r16 */
static int hf_lpp_maxNrOfDL_PRS_ResourcesPerPositioningFrequencylayer_r16 = -1; /* T_maxNrOfDL_PRS_ResourcesPerPositioningFrequencylayer_r16 */
static int hf_lpp_DL_PRS_ResourcesBandCombinationList_r16_item = -1; /* DL_PRS_ResourcesBandCombination_r16 */
static int hf_lpp_bandList_r16 = -1; /* SEQUENCE_SIZE_1_maxSimultaneousBands_r16_OF_FreqBandIndicatorNR_r16 */
static int hf_lpp_bandList_r16_item = -1; /* FreqBandIndicatorNR_r16 */
static int hf_lpp_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16 = -1; /* T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16 */
static int hf_lpp_fr1_Only_r16 = -1; /* T_fr1_Only_r16 */
static int hf_lpp_fr2_Only_r16 = -1; /* T_fr2_Only_r16 */
static int hf_lpp_fr1_FR2Mix_r16 = -1; /* T_fr1_FR2Mix_r16 */
static int hf_lpp_fr1_r16 = -1; /* T_fr1_r16 */
static int hf_lpp_fr2_r16 = -1; /* T_fr2_r16 */
static int hf_lpp_nr_TRP_LocationInfo_r16 = -1; /* NR_TRP_LocationInfo_r16 */
static int hf_lpp_nr_DL_PRS_BeamInfo_r16 = -1; /* NR_DL_PRS_BeamInfo_r16 */
static int hf_lpp_nr_RTD_Info_r16 = -1; /* NR_RTD_Info_r16 */
static int hf_lpp_referenceTRP_RTD_Info_r16 = -1; /* ReferenceTRP_RTD_Info_r16 */
static int hf_lpp_rtd_InfoList_r16 = -1; /* RTD_InfoList_r16 */
static int hf_lpp_dl_PRS_ID_Ref_r16 = -1; /* INTEGER_0_255 */
static int hf_lpp_nr_PhysCellID_Ref_r16 = -1; /* NR_PhysCellID_r16 */
static int hf_lpp_nr_CellGlobalID_Ref_r16 = -1; /* NCGI_r15 */
static int hf_lpp_nr_ARFCN_Ref_r16 = -1; /* ARFCN_ValueNR_r15 */
static int hf_lpp_refTime_r16 = -1; /* T_refTime_r16 */
static int hf_lpp_systemFrameNumber_r16 = -1; /* BIT_STRING_SIZE_10 */
static int hf_lpp_utc_r16 = -1; /* UTCTime */
static int hf_lpp_rtd_RefQuality_r16 = -1; /* NR_TimingQuality_r16 */
static int hf_lpp_RTD_InfoList_r16_item = -1; /* RTD_InfoListPerFreqLayer_r16 */
static int hf_lpp_RTD_InfoListPerFreqLayer_r16_item = -1; /* RTD_InfoElement_r16 */
static int hf_lpp_subframeOffset_r16 = -1; /* INTEGER_0_1966079 */
static int hf_lpp_rtd_Quality_r16 = -1; /* NR_TimingQuality_r16 */
static int hf_lpp_NR_SelectedDL_PRS_IndexList_r16_item = -1; /* NR_SelectedDL_PRS_PerFreq_r16 */
static int hf_lpp_nr_SelectedDL_PRS_FrequencyLayerIndex_r16 = -1; /* INTEGER_0_nrMaxFreqLayers_1_r16 */
static int hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r16 */
static int hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r16_item = -1; /* NR_SelectedDL_PRS_IndexPerTRP_r16 */
static int hf_lpp_nr_SelectedTRP_Index_r16 = -1; /* INTEGER_0_nrMaxTRPsPerFreq_1_r16 */
static int hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_SelectedPRS_ResourceSetIndex_r16 */
static int hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r16_item = -1; /* DL_SelectedPRS_ResourceSetIndex_r16 */
static int hf_lpp_nr_DL_SelectedPRS_ResourceSetIndex_r16 = -1; /* INTEGER_0_nrMaxSetsPerTrpPerFreqLayer_1_r16 */
static int hf_lpp_dl_SelectedPRS_ResourceIndexList_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_SelectedPRS_ResourceIndex_r16 */
static int hf_lpp_dl_SelectedPRS_ResourceIndexList_r16_item = -1; /* DL_SelectedPRS_ResourceIndex_r16 */
static int hf_lpp_nr_DL_SelectedPRS_ResourceIdIndex_r16 = -1; /* INTEGER_0_nrMaxNumDL_PRS_ResourcesPerSet_1_r16 */
static int hf_lpp_ss_PBCH_BlockPower_r16 = -1; /* INTEGER_M60_50 */
static int hf_lpp_halfFrameIndex_r16 = -1; /* INTEGER_0_1 */
static int hf_lpp_ssb_periodicity_r16 = -1; /* T_ssb_periodicity_r16 */
static int hf_lpp_ssb_PositionsInBurst_r16 = -1; /* T_ssb_PositionsInBurst_r16 */
static int hf_lpp_shortBitmap_r16 = -1; /* BIT_STRING_SIZE_4 */
static int hf_lpp_mediumBitmap_r16 = -1; /* BIT_STRING_SIZE_8 */
static int hf_lpp_longBitmap_r16 = -1; /* BIT_STRING_SIZE_64 */
static int hf_lpp_ssb_SubcarrierSpacing_r16 = -1; /* T_ssb_SubcarrierSpacing_r16 */
static int hf_lpp_sfn_SSB_Offset_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_nr_SFN_r16 = -1; /* INTEGER_0_1023 */
static int hf_lpp_nr_Slot_r16 = -1; /* T_nr_Slot_r16 */
static int hf_lpp_scs15_r16_02 = -1; /* INTEGER_0_9 */
static int hf_lpp_scs30_r16_02 = -1; /* INTEGER_0_19 */
static int hf_lpp_scs60_r16_02 = -1; /* INTEGER_0_39 */
static int hf_lpp_scs120_r16_02 = -1; /* INTEGER_0_79 */
static int hf_lpp_timingQualityValue_r16 = -1; /* INTEGER_0_31 */
static int hf_lpp_timingQualityResolution_r16 = -1; /* T_timingQualityResolution_r16 */
static int hf_lpp_NR_TRP_LocationInfo_r16_item = -1; /* NR_TRP_LocationInfoPerFreqLayer_r16 */
static int hf_lpp_referencePoint_r16 = -1; /* ReferencePoint_r16 */
static int hf_lpp_trp_LocationInfoList_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_TRP_LocationInfoElement_r16 */
static int hf_lpp_trp_LocationInfoList_r16_item = -1; /* TRP_LocationInfoElement_r16 */
static int hf_lpp_trp_Location_r16 = -1; /* RelativeLocation_r16 */
static int hf_lpp_trp_DL_PRS_ResourceSets_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_ResourceSets_TRP_Element_r16 */
static int hf_lpp_trp_DL_PRS_ResourceSets_r16_item = -1; /* DL_PRS_ResourceSets_TRP_Element_r16 */
static int hf_lpp_dl_PRS_ResourceSetARP_r16 = -1; /* RelativeLocation_r16 */
static int hf_lpp_dl_PRS_Resource_ARP_List_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_Resource_ARP_Element_r16 */
static int hf_lpp_dl_PRS_Resource_ARP_List_r16_item = -1; /* DL_PRS_Resource_ARP_Element_r16 */
static int hf_lpp_dl_PRS_Resource_ARP_location_r16 = -1; /* RelativeLocation_r16 */
static int hf_lpp_srs_CapabilityBandList_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_SRS_CapabilityPerBand_r16 */
static int hf_lpp_srs_CapabilityBandList_r16_item = -1; /* SRS_CapabilityPerBand_r16 */
static int hf_lpp_srs_PosResourceConfigCA_BandList_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxConfiguredBands_r16_OF_SRS_PosResourcesPerBand_r16 */
static int hf_lpp_srs_PosResourceConfigCA_BandList_r16_item = -1; /* SRS_PosResourcesPerBand_r16 */
static int hf_lpp_maxNumberSRS_PosPathLossEstimateAllServingCells_r16 = -1; /* T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16 */
static int hf_lpp_maxNumberSRS_PosSpatialRelationsAllServingCells_r16 = -1; /* T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16 */
static int hf_lpp_olpc_SRS_Pos_r16 = -1; /* OLPC_SRS_Pos_r16 */
static int hf_lpp_spatialRelationsSRS_Pos_r16 = -1; /* SpatialRelationsSRS_Pos_r16 */
static int hf_lpp_olpc_SRS_PosBasedOnPRS_Serving_r16 = -1; /* T_olpc_SRS_PosBasedOnPRS_Serving_r16 */
static int hf_lpp_olpc_SRS_PosBasedOnSSB_Neigh_r16 = -1; /* T_olpc_SRS_PosBasedOnSSB_Neigh_r16 */
static int hf_lpp_olpc_SRS_PosBasedOnPRS_Neigh_r16 = -1; /* T_olpc_SRS_PosBasedOnPRS_Neigh_r16 */
static int hf_lpp_maxNumberPathLossEstimatePerServing_r16 = -1; /* T_maxNumberPathLossEstimatePerServing_r16 */
static int hf_lpp_spatialRelation_SRS_PosBasedOnSSB_Serving_r16 = -1; /* T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16 */
static int hf_lpp_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16 = -1; /* T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16 */
static int hf_lpp_spatialRelation_SRS_PosBasedOnPRS_Serving_r16 = -1; /* T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16 */
static int hf_lpp_spatialRelation_SRS_PosBasedOnSRS_r16 = -1; /* T_spatialRelation_SRS_PosBasedOnSRS_r16 */
static int hf_lpp_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16 = -1; /* T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16 */
static int hf_lpp_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16 = -1; /* T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16 */
static int hf_lpp_maxNumberSRS_PosResourceSetsPerBWP_r16 = -1; /* T_maxNumberSRS_PosResourceSetsPerBWP_r16 */
static int hf_lpp_maxNumberSRS_PosResourcesPerBWP_r16 = -1; /* T_maxNumberSRS_PosResourcesPerBWP_r16 */
static int hf_lpp_maxNumberPeriodicSRS_PosResourcesPerBWP_r16 = -1; /* T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16 */
static int hf_lpp_maxNumberAP_SRS_PosResourcesPerBWP_r16 = -1; /* T_maxNumberAP_SRS_PosResourcesPerBWP_r16 */
static int hf_lpp_maxNumberSP_SRS_PosResourcesPerBWP_r16 = -1; /* T_maxNumberSP_SRS_PosResourcesPerBWP_r16 */
static int hf_lpp_referencePointGeographicLocation_r16 = -1; /* T_referencePointGeographicLocation_r16 */
static int hf_lpp_location3D_r16 = -1; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */
static int hf_lpp_ha_location3D_r16 = -1; /* HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15 */
static int hf_lpp_milli_arc_second_units_r16 = -1; /* T_milli_arc_second_units_r16 */
static int hf_lpp_height_units_r16 = -1; /* T_height_units_r16 */
static int hf_lpp_delta_latitude_r16 = -1; /* Delta_Latitude_r16 */
static int hf_lpp_delta_longitude_r16 = -1; /* Delta_Longitude_r16 */
static int hf_lpp_delta_height_r16 = -1; /* Delta_Height_r16 */
static int hf_lpp_locationUNC_r16 = -1; /* LocationUncertainty_r16 */
static int hf_lpp_delta_Latitude_r16 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_coarse_delta_Latitude_r16 = -1; /* INTEGER_0_4095 */
static int hf_lpp_delta_Longitude_r16 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_coarse_delta_Longitude_r16 = -1; /* INTEGER_0_4095 */
static int hf_lpp_delta_Height_r16 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_coarse_delta_Height_r16 = -1; /* INTEGER_0_4095 */
static int hf_lpp_horizontalUncertainty_r16 = -1; /* INTEGER_0_255 */
static int hf_lpp_horizontalConfidence_r16 = -1; /* INTEGER_0_100 */
static int hf_lpp_verticalUncertainty_r16 = -1; /* INTEGER_0_255 */
static int hf_lpp_verticalConfidence_r16 = -1; /* INTEGER_0_100 */
static int hf_lpp_otdoa_ReferenceCellInfo = -1; /* OTDOA_ReferenceCellInfo */
static int hf_lpp_otdoa_NeighbourCellInfo = -1; /* OTDOA_NeighbourCellInfoList */
static int hf_lpp_otdoa_Error = -1; /* OTDOA_Error */
static int hf_lpp_otdoa_ReferenceCellInfoNB_r14 = -1; /* OTDOA_ReferenceCellInfoNB_r14 */
static int hf_lpp_otdoa_NeighbourCellInfoNB_r14 = -1; /* OTDOA_NeighbourCellInfoListNB_r14 */
static int hf_lpp_physCellId = -1; /* INTEGER_0_503 */
static int hf_lpp_cellGlobalId = -1; /* ECGI */
static int hf_lpp_earfcnRef = -1; /* ARFCN_ValueEUTRA */
static int hf_lpp_antennaPortConfig = -1; /* T_antennaPortConfig */
static int hf_lpp_cpLength = -1; /* T_cpLength */
static int hf_lpp_prsInfo = -1; /* PRS_Info */
static int hf_lpp_earfcnRef_v9a0 = -1; /* ARFCN_ValueEUTRA_v9a0 */
static int hf_lpp_tpId_r14 = -1; /* INTEGER_0_4095 */
static int hf_lpp_cpLengthCRS_r14 = -1; /* T_cpLengthCRS_r14 */
static int hf_lpp_sameMBSFNconfigRef_r14 = -1; /* BOOLEAN */
static int hf_lpp_dlBandwidth_r14 = -1; /* T_dlBandwidth_r14 */
static int hf_lpp_addPRSconfigRef_r14 = -1; /* SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info */
static int hf_lpp_addPRSconfigRef_r14_item = -1; /* PRS_Info */
static int hf_lpp_nr_LTE_SFN_Offset_r15 = -1; /* INTEGER_0_1023 */
static int hf_lpp_tdd_config_v1520 = -1; /* TDD_Config_v1520 */
static int hf_lpp_nr_LTE_fineTiming_Offset_r15 = -1; /* INTEGER_0_19 */
static int hf_lpp_prs_Bandwidth = -1; /* T_prs_Bandwidth */
static int hf_lpp_prs_ConfigurationIndex = -1; /* INTEGER_0_4095 */
static int hf_lpp_numDL_Frames = -1; /* T_numDL_Frames */
static int hf_lpp_prs_MutingInfo_r9 = -1; /* T_prs_MutingInfo_r9 */
static int hf_lpp_po2_r9 = -1; /* BIT_STRING_SIZE_2 */
static int hf_lpp_po4_r9 = -1; /* BIT_STRING_SIZE_4 */
static int hf_lpp_po8_r9 = -1; /* BIT_STRING_SIZE_8 */
static int hf_lpp_po16_r9 = -1; /* BIT_STRING_SIZE_16 */
static int hf_lpp_po32_v1420 = -1; /* BIT_STRING_SIZE_32 */
static int hf_lpp_po64_v1420 = -1; /* BIT_STRING_SIZE_64 */
static int hf_lpp_po128_v1420 = -1; /* BIT_STRING_SIZE_128 */
static int hf_lpp_po256_v1420 = -1; /* BIT_STRING_SIZE_256 */
static int hf_lpp_po512_v1420 = -1; /* BIT_STRING_SIZE_512 */
static int hf_lpp_po1024_v1420 = -1; /* BIT_STRING_SIZE_1024 */
static int hf_lpp_prsID_r14 = -1; /* INTEGER_0_4095 */
static int hf_lpp_add_numDL_Frames_r14 = -1; /* INTEGER_1_160 */
static int hf_lpp_prsOccGroupLen_r14 = -1; /* T_prsOccGroupLen_r14 */
static int hf_lpp_prsHoppingInfo_r14 = -1; /* T_prsHoppingInfo_r14 */
static int hf_lpp_nb2_r14 = -1; /* INTEGER_0_maxAvailNarrowBands_Minus1_r14 */
static int hf_lpp_nb4_r14 = -1; /* T_nb4_r14 */
static int hf_lpp_nb4_r14_item = -1; /* INTEGER_0_maxAvailNarrowBands_Minus1_r14 */
static int hf_lpp_subframeAssignment_v1520 = -1; /* T_subframeAssignment_v1520 */
static int hf_lpp_OTDOA_NeighbourCellInfoList_item = -1; /* OTDOA_NeighbourFreqInfo */
static int hf_lpp_OTDOA_NeighbourFreqInfo_item = -1; /* OTDOA_NeighbourCellInfoElement */
static int hf_lpp_earfcn = -1; /* ARFCN_ValueEUTRA */
static int hf_lpp_cpLength_01 = -1; /* T_cpLength_01 */
static int hf_lpp_antennaPortConfig_01 = -1; /* T_antennaPortConfig_01 */
static int hf_lpp_slotNumberOffset = -1; /* INTEGER_0_19 */
static int hf_lpp_prs_SubframeOffset = -1; /* INTEGER_0_1279 */
static int hf_lpp_expectedRSTD = -1; /* INTEGER_0_16383 */
static int hf_lpp_expectedRSTD_Uncertainty = -1; /* INTEGER_0_1023 */
static int hf_lpp_earfcn_v9a0 = -1; /* ARFCN_ValueEUTRA_v9a0 */
static int hf_lpp_prs_only_tp_r14 = -1; /* T_prs_only_tp_r14 */
static int hf_lpp_cpLengthCRS_r14_01 = -1; /* T_cpLengthCRS_r14_01 */
static int hf_lpp_sameMBSFNconfigNeighbour_r14 = -1; /* BOOLEAN */
static int hf_lpp_dlBandwidth_r14_01 = -1; /* T_dlBandwidth_r14_01 */
static int hf_lpp_addPRSconfigNeighbour_r14 = -1; /* SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14 */
static int hf_lpp_addPRSconfigNeighbour_r14_item = -1; /* Add_PRSconfigNeighbourElement_r14 */
static int hf_lpp_add_prsInfo_r14 = -1; /* PRS_Info */
static int hf_lpp_physCellIdNB_r14 = -1; /* INTEGER_0_503 */
static int hf_lpp_cellGlobalIdNB_r14 = -1; /* ECGI */
static int hf_lpp_carrierFreqRef_r14 = -1; /* CarrierFreq_NB_r14 */
static int hf_lpp_earfcn_r14 = -1; /* ARFCN_ValueEUTRA_r14 */
static int hf_lpp_eutra_NumCRS_Ports_r14 = -1; /* T_eutra_NumCRS_Ports_r14 */
static int hf_lpp_otdoa_SIB1_NB_repetitions_r14 = -1; /* T_otdoa_SIB1_NB_repetitions_r14 */
static int hf_lpp_nprsInfo_r14 = -1; /* PRS_Info_NB_r14 */
static int hf_lpp_nprsInfo_Type2_v1470 = -1; /* PRS_Info_NB_r14 */
static int hf_lpp_tdd_config_r15 = -1; /* TDD_Config_v1520 */
static int hf_lpp_PRS_Info_NB_r14_item = -1; /* NPRS_Info_r14 */
static int hf_lpp_operationModeInfoNPRS_r14 = -1; /* T_operationModeInfoNPRS_r14 */
static int hf_lpp_nprs_carrier_r14 = -1; /* CarrierFreq_NB_r14 */
static int hf_lpp_nprsSequenceInfo_r14 = -1; /* INTEGER_0_174 */
static int hf_lpp_nprsID_r14 = -1; /* INTEGER_0_4095 */
static int hf_lpp_partA_r14 = -1; /* T_partA_r14 */
static int hf_lpp_nprsBitmap_r14 = -1; /* T_nprsBitmap_r14 */
static int hf_lpp_subframePattern10_r14 = -1; /* BIT_STRING_SIZE_10 */
static int hf_lpp_subframePattern40_r14 = -1; /* BIT_STRING_SIZE_40 */
static int hf_lpp_nprs_MutingInfoA_r14 = -1; /* T_nprs_MutingInfoA_r14 */
static int hf_lpp_po2_r14 = -1; /* BIT_STRING_SIZE_2 */
static int hf_lpp_po4_r14 = -1; /* BIT_STRING_SIZE_4 */
static int hf_lpp_po8_r14 = -1; /* BIT_STRING_SIZE_8 */
static int hf_lpp_po16_r14 = -1; /* BIT_STRING_SIZE_16 */
static int hf_lpp_partB_r14 = -1; /* T_partB_r14 */
static int hf_lpp_nprs_Period_r14 = -1; /* T_nprs_Period_r14 */
static int hf_lpp_nprs_startSF_r14 = -1; /* T_nprs_startSF_r14 */
static int hf_lpp_nprs_NumSF_r14 = -1; /* T_nprs_NumSF_r14 */
static int hf_lpp_nprs_MutingInfoB_r14 = -1; /* T_nprs_MutingInfoB_r14 */
static int hf_lpp_sib1_SF_TDD_r15 = -1; /* T_sib1_SF_TDD_r15 */
static int hf_lpp_partA_TDD_r15 = -1; /* T_partA_TDD_r15 */
static int hf_lpp_nprsBitmap_r15 = -1; /* T_nprsBitmap_r15 */
static int hf_lpp_subframePattern10_TDD_r15 = -1; /* BIT_STRING_SIZE_8 */
static int hf_lpp_subframePattern40_TDD_r15 = -1; /* BIT_STRING_SIZE_32 */
static int hf_lpp_nprs_MutingInfoA_r15 = -1; /* T_nprs_MutingInfoA_r15 */
static int hf_lpp_po2_r15 = -1; /* BIT_STRING_SIZE_2 */
static int hf_lpp_po4_r15 = -1; /* BIT_STRING_SIZE_4 */
static int hf_lpp_po8_r15 = -1; /* BIT_STRING_SIZE_8 */
static int hf_lpp_po16_r15 = -1; /* BIT_STRING_SIZE_16 */
static int hf_lpp_OTDOA_NeighbourCellInfoListNB_r14_item = -1; /* OTDOA_NeighbourCellInfoNB_r14 */
static int hf_lpp_carrierFreq_r14_01 = -1; /* CarrierFreq_NB_r14 */
static int hf_lpp_eutra_NumCRS_Ports_r14_01 = -1; /* T_eutra_NumCRS_Ports_r14_01 */
static int hf_lpp_otdoa_SIB1_NB_repetitions_r14_01 = -1; /* T_otdoa_SIB1_NB_repetitions_r14_01 */
static int hf_lpp_nprs_slotNumberOffset_r14 = -1; /* INTEGER_0_19 */
static int hf_lpp_nprs_SFN_Offset_r14 = -1; /* INTEGER_0_63 */
static int hf_lpp_nprs_SubframeOffset_r14 = -1; /* INTEGER_0_1279 */
static int hf_lpp_expectedRSTD_r14 = -1; /* INTEGER_0_16383 */
static int hf_lpp_expectedRSTD_Uncertainty_r14 = -1; /* INTEGER_0_1023 */
static int hf_lpp_prsNeighbourCellIndex_r14 = -1; /* INTEGER_1_72 */
static int hf_lpp_adType_r14 = -1; /* T_adType_r14 */
static int hf_lpp_nrPhysCellId_r15 = -1; /* INTEGER_0_1007 */
static int hf_lpp_otdoaSignalMeasurementInformation = -1; /* OTDOA_SignalMeasurementInformation */
static int hf_lpp_otdoaSignalMeasurementInformation_NB_r14 = -1; /* OTDOA_SignalMeasurementInformation_NB_r14 */
static int hf_lpp_systemFrameNumber = -1; /* BIT_STRING_SIZE_10 */
static int hf_lpp_physCellIdRef = -1; /* INTEGER_0_503 */
static int hf_lpp_cellGlobalIdRef = -1; /* ECGI */
static int hf_lpp_referenceQuality = -1; /* OTDOA_MeasQuality */
static int hf_lpp_neighbourMeasurementList = -1; /* NeighbourMeasurementList */
static int hf_lpp_tpIdRef_r14 = -1; /* INTEGER_0_4095 */
static int hf_lpp_prsIdRef_r14 = -1; /* INTEGER_0_4095 */
static int hf_lpp_additionalPathsRef_r14 = -1; /* AdditionalPathList_r14 */
static int hf_lpp_nprsIdRef_r14 = -1; /* INTEGER_0_4095 */
static int hf_lpp_carrierFreqOffsetNB_Ref_r14 = -1; /* CarrierFreqOffsetNB_r14 */
static int hf_lpp_hyperSFN_r14 = -1; /* BIT_STRING_SIZE_10 */
static int hf_lpp_motionTimeSource_r15 = -1; /* MotionTimeSource_r15 */
static int hf_lpp_NeighbourMeasurementList_item = -1; /* NeighbourMeasurementElement */
static int hf_lpp_physCellIdNeighbour = -1; /* INTEGER_0_503 */
static int hf_lpp_cellGlobalIdNeighbour = -1; /* ECGI */
static int hf_lpp_earfcnNeighbour = -1; /* ARFCN_ValueEUTRA */
static int hf_lpp_rstd = -1; /* INTEGER_0_12711 */
static int hf_lpp_rstd_Quality = -1; /* OTDOA_MeasQuality */
static int hf_lpp_earfcnNeighbour_v9a0 = -1; /* ARFCN_ValueEUTRA_v9a0 */
static int hf_lpp_tpIdNeighbour_r14 = -1; /* INTEGER_0_4095 */
static int hf_lpp_prsIdNeighbour_r14 = -1; /* INTEGER_0_4095 */
static int hf_lpp_delta_rstd_r14 = -1; /* INTEGER_0_5 */
static int hf_lpp_additionalPathsNeighbour_r14 = -1; /* AdditionalPathList_r14 */
static int hf_lpp_nprsIdNeighbour_r14 = -1; /* INTEGER_0_4095 */
static int hf_lpp_carrierFreqOffsetNB_Neighbour_r14 = -1; /* CarrierFreqOffsetNB_r14 */
static int hf_lpp_delta_SFN_r15 = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_AdditionalPathList_r14_item = -1; /* AdditionalPath_r14 */
static int hf_lpp_timeSource_r15 = -1; /* T_timeSource_r15 */
static int hf_lpp_systemFrameNumber_r14 = -1; /* BIT_STRING_SIZE_10 */
static int hf_lpp_physCellIdRef_r14 = -1; /* INTEGER_0_503 */
static int hf_lpp_cellGlobalIdRef_r14 = -1; /* ECGI */
static int hf_lpp_earfcnRef_r14 = -1; /* ARFCN_ValueEUTRA_r14 */
static int hf_lpp_referenceQuality_r14 = -1; /* OTDOA_MeasQuality */
static int hf_lpp_neighbourMeasurementList_r14 = -1; /* NeighbourMeasurementList_NB_r14 */
static int hf_lpp_NeighbourMeasurementList_NB_r14_item = -1; /* NeighbourMeasurementElement_NB_r14 */
static int hf_lpp_physCellIdNeighbour_r14 = -1; /* INTEGER_0_503 */
static int hf_lpp_cellGlobalIdNeighbour_r14 = -1; /* ECGI */
static int hf_lpp_earfcnNeighbour_r14 = -1; /* ARFCN_ValueEUTRA_r14 */
static int hf_lpp_rstd_r14 = -1; /* INTEGER_0_12711 */
static int hf_lpp_rstd_Quality_r14 = -1; /* OTDOA_MeasQuality */
static int hf_lpp_error_Resolution = -1; /* T_error_Resolution */
static int hf_lpp_error_Value = -1; /* T_error_Value */
static int hf_lpp_error_NumSamples = -1; /* T_error_NumSamples */
static int hf_lpp_relativeTimeDifference_r14 = -1; /* INTEGER_M256_255 */
static int hf_lpp_path_Quality_r14 = -1; /* OTDOA_MeasQuality */
static int hf_lpp_assistanceAvailability = -1; /* BOOLEAN */
static int hf_lpp_multipathRSTD_r14 = -1; /* T_multipathRSTD_r14 */
static int hf_lpp_maxNoOfRSTDmeas_r14 = -1; /* INTEGER_1_32 */
static int hf_lpp_motionMeasurements_r15 = -1; /* T_motionMeasurements_r15 */
static int hf_lpp_otdoa_Mode = -1; /* T_otdoa_Mode */
static int hf_lpp_supportedBandListEUTRA = -1; /* SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA */
static int hf_lpp_supportedBandListEUTRA_item = -1; /* SupportedBandEUTRA */
static int hf_lpp_supportedBandListEUTRA_v9a0 = -1; /* SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0 */
static int hf_lpp_supportedBandListEUTRA_v9a0_item = -1; /* SupportedBandEUTRA_v9a0 */
static int hf_lpp_interFreqRSTDmeasurement_r10 = -1; /* T_interFreqRSTDmeasurement_r10 */
static int hf_lpp_additionalNeighbourCellInfoList_r10 = -1; /* T_additionalNeighbourCellInfoList_r10 */
static int hf_lpp_prs_id_r14 = -1; /* T_prs_id_r14 */
static int hf_lpp_tp_separation_via_muting_r14 = -1; /* T_tp_separation_via_muting_r14 */
static int hf_lpp_additional_prs_config_r14 = -1; /* T_additional_prs_config_r14 */
static int hf_lpp_prs_based_tbs_r14 = -1; /* T_prs_based_tbs_r14 */
static int hf_lpp_additionalPathsReport_r14 = -1; /* T_additionalPathsReport_r14 */
static int hf_lpp_densePrsConfig_r14 = -1; /* T_densePrsConfig_r14 */
static int hf_lpp_maxSupportedPrsBandwidth_r14 = -1; /* T_maxSupportedPrsBandwidth_r14 */
static int hf_lpp_prsOccGroup_r14 = -1; /* T_prsOccGroup_r14 */
static int hf_lpp_prsFrequencyHopping_r14 = -1; /* T_prsFrequencyHopping_r14 */
static int hf_lpp_maxSupportedPrsConfigs_r14 = -1; /* T_maxSupportedPrsConfigs_r14 */
static int hf_lpp_periodicalReporting_r14 = -1; /* T_periodicalReporting_r14 */
static int hf_lpp_multiPrbNprs_r14 = -1; /* T_multiPrbNprs_r14 */
static int hf_lpp_idleStateForMeasurements_r14 = -1; /* T_idleStateForMeasurements_r14 */
static int hf_lpp_numberOfRXantennas_r14 = -1; /* T_numberOfRXantennas_r14 */
static int hf_lpp_motionMeasurements_r15_01 = -1; /* T_motionMeasurements_r15_01 */
static int hf_lpp_interRAT_RSTDmeasurement_r15 = -1; /* T_interRAT_RSTDmeasurement_r15 */
static int hf_lpp_bandEUTRA = -1; /* INTEGER_1_maxFBI */
static int hf_lpp_bandEUTRA_v9a0 = -1; /* INTEGER_maxFBI_Plus1_maxFBI2 */
static int hf_lpp_locationServerErrorCauses = -1; /* OTDOA_LocationServerErrorCauses */
static int hf_lpp_targetDeviceErrorCauses = -1; /* OTDOA_TargetDeviceErrorCauses */
static int hf_lpp_cause = -1; /* T_cause */
static int hf_lpp_cause_01 = -1; /* T_cause_01 */
static int hf_lpp_gnss_CommonAssistData = -1; /* GNSS_CommonAssistData */
static int hf_lpp_gnss_GenericAssistData = -1; /* GNSS_GenericAssistData */
static int hf_lpp_gnss_Error = -1; /* A_GNSS_Error */
static int hf_lpp_gnss_PeriodicAssistData_r15 = -1; /* GNSS_PeriodicAssistData_r15 */
static int hf_lpp_gnss_ReferenceTime = -1; /* GNSS_ReferenceTime */
static int hf_lpp_gnss_ReferenceLocation = -1; /* GNSS_ReferenceLocation */
static int hf_lpp_gnss_IonosphericModel = -1; /* GNSS_IonosphericModel */
static int hf_lpp_gnss_EarthOrientationParameters = -1; /* GNSS_EarthOrientationParameters */
static int hf_lpp_gnss_RTK_ReferenceStationInfo_r15 = -1; /* GNSS_RTK_ReferenceStationInfo_r15 */
static int hf_lpp_gnss_RTK_CommonObservationInfo_r15 = -1; /* GNSS_RTK_CommonObservationInfo_r15 */
static int hf_lpp_gnss_RTK_AuxiliaryStationData_r15 = -1; /* GNSS_RTK_AuxiliaryStationData_r15 */
static int hf_lpp_gnss_SSR_CorrectionPoints_r16 = -1; /* GNSS_SSR_CorrectionPoints_r16 */
static int hf_lpp_GNSS_GenericAssistData_item = -1; /* GNSS_GenericAssistDataElement */
static int hf_lpp_gnss_ID = -1; /* GNSS_ID */
static int hf_lpp_sbas_ID = -1; /* SBAS_ID */
static int hf_lpp_gnss_TimeModels = -1; /* GNSS_TimeModelList */
static int hf_lpp_gnss_DifferentialCorrections = -1; /* GNSS_DifferentialCorrections */
static int hf_lpp_gnss_NavigationModel = -1; /* GNSS_NavigationModel */
static int hf_lpp_gnss_RealTimeIntegrity = -1; /* GNSS_RealTimeIntegrity */
static int hf_lpp_gnss_DataBitAssistance = -1; /* GNSS_DataBitAssistance */
static int hf_lpp_gnss_AcquisitionAssistance = -1; /* GNSS_AcquisitionAssistance */
static int hf_lpp_gnss_Almanac = -1; /* GNSS_Almanac */
static int hf_lpp_gnss_UTC_Model = -1; /* GNSS_UTC_Model */
static int hf_lpp_gnss_AuxiliaryInformation = -1; /* GNSS_AuxiliaryInformation */
static int hf_lpp_bds_DifferentialCorrections_r12 = -1; /* BDS_DifferentialCorrections_r12 */
static int hf_lpp_bds_GridModel_r12 = -1; /* BDS_GridModelParameter_r12 */
static int hf_lpp_gnss_RTK_Observations_r15 = -1; /* GNSS_RTK_Observations_r15 */
static int hf_lpp_glo_RTK_BiasInformation_r15 = -1; /* GLO_RTK_BiasInformation_r15 */
static int hf_lpp_gnss_RTK_MAC_CorrectionDifferences_r15 = -1; /* GNSS_RTK_MAC_CorrectionDifferences_r15 */
static int hf_lpp_gnss_RTK_Residuals_r15 = -1; /* GNSS_RTK_Residuals_r15 */
static int hf_lpp_gnss_RTK_FKP_Gradients_r15 = -1; /* GNSS_RTK_FKP_Gradients_r15 */
static int hf_lpp_gnss_SSR_OrbitCorrections_r15 = -1; /* GNSS_SSR_OrbitCorrections_r15 */
static int hf_lpp_gnss_SSR_ClockCorrections_r15 = -1; /* GNSS_SSR_ClockCorrections_r15 */
static int hf_lpp_gnss_SSR_CodeBias_r15 = -1; /* GNSS_SSR_CodeBias_r15 */
static int hf_lpp_gnss_SSR_URA_r16 = -1; /* GNSS_SSR_URA_r16 */
static int hf_lpp_gnss_SSR_PhaseBias_r16 = -1; /* GNSS_SSR_PhaseBias_r16 */
static int hf_lpp_gnss_SSR_STEC_Correction_r16 = -1; /* GNSS_SSR_STEC_Correction_r16 */
static int hf_lpp_gnss_SSR_GriddedCorrection_r16 = -1; /* GNSS_SSR_GriddedCorrection_r16 */
static int hf_lpp_navic_DifferentialCorrections_r16 = -1; /* NavIC_DifferentialCorrections_r16 */
static int hf_lpp_navic_GridModel_r16 = -1; /* NavIC_GridModelParameter_r16 */
static int hf_lpp_gnss_RTK_PeriodicObservations_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_glo_RTK_PeriodicBiasInformation_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_RTK_MAC_PeriodicCorrectionDifferences_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_RTK_PeriodicResiduals_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_RTK_FKP_PeriodicGradients_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicOrbitCorrections_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicClockCorrections_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicCodeBias_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicURA_r16 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicPhaseBias_r16 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicSTEC_Correction_r16 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicGriddedCorrection_r16 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SystemTime = -1; /* GNSS_SystemTime */
static int hf_lpp_referenceTimeUnc = -1; /* INTEGER_0_127 */
static int hf_lpp_gnss_ReferenceTimeForCells = -1; /* SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell */
static int hf_lpp_gnss_ReferenceTimeForCells_item = -1; /* GNSS_ReferenceTimeForOneCell */
static int hf_lpp_networkTime = -1; /* NetworkTime */
static int hf_lpp_bsAlign = -1; /* T_bsAlign */
static int hf_lpp_gnss_TimeID = -1; /* GNSS_ID */
static int hf_lpp_gnss_DayNumber = -1; /* INTEGER_0_32767 */
static int hf_lpp_gnss_TimeOfDay = -1; /* INTEGER_0_86399 */
static int hf_lpp_gnss_TimeOfDayFrac_msec = -1; /* INTEGER_0_999 */
static int hf_lpp_notificationOfLeapSecond = -1; /* T_notificationOfLeapSecond */
static int hf_lpp_gps_TOW_Assist = -1; /* GPS_TOW_Assist */
static int hf_lpp_GPS_TOW_Assist_item = -1; /* GPS_TOW_AssistElement */
static int hf_lpp_satelliteID = -1; /* INTEGER_1_64 */
static int hf_lpp_tlmWord = -1; /* INTEGER_0_16383 */
static int hf_lpp_antiSpoof = -1; /* INTEGER_0_1 */
static int hf_lpp_alert = -1; /* INTEGER_0_1 */
static int hf_lpp_tlmRsvdBits = -1; /* INTEGER_0_3 */
static int hf_lpp_secondsFromFrameStructureStart = -1; /* INTEGER_0_12533 */
static int hf_lpp_fractionalSecondsFromFrameStructureStart = -1; /* INTEGER_0_3999999 */
static int hf_lpp_frameDrift = -1; /* INTEGER_M64_63 */
static int hf_lpp_cellID = -1; /* T_cellID */
static int hf_lpp_eUTRA = -1; /* T_eUTRA */
static int hf_lpp_cellGlobalIdEUTRA = -1; /* CellGlobalIdEUTRA_AndUTRA */
static int hf_lpp_uTRA = -1; /* T_uTRA */
static int hf_lpp_mode = -1; /* T_mode */
static int hf_lpp_fdd = -1; /* T_fdd */
static int hf_lpp_primary_CPICH_Info = -1; /* INTEGER_0_511 */
static int hf_lpp_tdd = -1; /* T_tdd */
static int hf_lpp_cellParameters = -1; /* INTEGER_0_127 */
static int hf_lpp_cellGlobalIdUTRA = -1; /* CellGlobalIdEUTRA_AndUTRA */
static int hf_lpp_uarfcn = -1; /* ARFCN_ValueUTRA */
static int hf_lpp_gSM = -1; /* T_gSM */
static int hf_lpp_bcchCarrier = -1; /* INTEGER_0_1023 */
static int hf_lpp_bsic = -1; /* INTEGER_0_63 */
static int hf_lpp_cellGlobalIdGERAN = -1; /* CellGlobalIdGERAN */
static int hf_lpp_nBIoT_r14 = -1; /* T_nBIoT_r14 */
static int hf_lpp_nbPhysCellId_r14 = -1; /* INTEGER_0_503 */
static int hf_lpp_nbCellGlobalId_r14 = -1; /* ECGI */
static int hf_lpp_nbCarrierFreq_r14 = -1; /* CarrierFreq_NB_r14 */
static int hf_lpp_nr_r15 = -1; /* T_nr_r15 */
static int hf_lpp_nrCellGlobalID_r15 = -1; /* NCGI_r15 */
static int hf_lpp_nrARFCN_r15 = -1; /* ARFCN_ValueNR_r15 */
static int hf_lpp_threeDlocation = -1; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */
static int hf_lpp_klobucharModel = -1; /* KlobucharModelParameter */
static int hf_lpp_neQuickModel = -1; /* NeQuickModelParameter */
static int hf_lpp_klobucharModel2_r16 = -1; /* KlobucharModel2Parameter_r16 */
static int hf_lpp_dataID = -1; /* T_dataID */
static int hf_lpp_alfa0 = -1; /* INTEGER_M128_127 */
static int hf_lpp_alfa1 = -1; /* INTEGER_M128_127 */
static int hf_lpp_alfa2 = -1; /* INTEGER_M128_127 */
static int hf_lpp_alfa3 = -1; /* INTEGER_M128_127 */
static int hf_lpp_beta0 = -1; /* INTEGER_M128_127 */
static int hf_lpp_beta1 = -1; /* INTEGER_M128_127 */
static int hf_lpp_beta2 = -1; /* INTEGER_M128_127 */
static int hf_lpp_beta3 = -1; /* INTEGER_M128_127 */
static int hf_lpp_alfa1_r16 = -1; /* INTEGER_0_1023 */
static int hf_lpp_alfa2_r16 = -1; /* INTEGER_M128_127 */
static int hf_lpp_alfa3_r16 = -1; /* INTEGER_0_255 */
static int hf_lpp_alfa4_r16 = -1; /* INTEGER_0_255 */
static int hf_lpp_alfa5_r16 = -1; /* INTEGER_0_255 */
static int hf_lpp_alfa6_r16 = -1; /* INTEGER_M128_127 */
static int hf_lpp_alfa7_r16 = -1; /* INTEGER_M128_127 */
static int hf_lpp_alfa8_r16 = -1; /* INTEGER_M128_127 */
static int hf_lpp_alfa9_r16 = -1; /* INTEGER_M128_127 */
static int hf_lpp_ai0 = -1; /* INTEGER_0_2047 */
static int hf_lpp_ai1 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_ai2 = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_ionoStormFlag1 = -1; /* INTEGER_0_1 */
static int hf_lpp_ionoStormFlag2 = -1; /* INTEGER_0_1 */
static int hf_lpp_ionoStormFlag3 = -1; /* INTEGER_0_1 */
static int hf_lpp_ionoStormFlag4 = -1; /* INTEGER_0_1 */
static int hf_lpp_ionoStormFlag5 = -1; /* INTEGER_0_1 */
static int hf_lpp_teop = -1; /* INTEGER_0_65535 */
static int hf_lpp_pmX = -1; /* INTEGER_M1048576_1048575 */
static int hf_lpp_pmXdot = -1; /* INTEGER_M16384_16383 */
static int hf_lpp_pmY = -1; /* INTEGER_M1048576_1048575 */
static int hf_lpp_pmYdot = -1; /* INTEGER_M16384_16383 */
static int hf_lpp_deltaUT1 = -1; /* INTEGER_M1073741824_1073741823 */
static int hf_lpp_deltaUT1dot = -1; /* INTEGER_M262144_262143 */
static int hf_lpp_referenceStationID_r15 = -1; /* GNSS_ReferenceStationID_r15 */
static int hf_lpp_referenceStationIndicator_r15 = -1; /* T_referenceStationIndicator_r15 */
static int hf_lpp_antenna_reference_point_ECEF_X_r15 = -1; /* INTEGER_M137438953472_137438953471 */
static int hf_lpp_antenna_reference_point_ECEF_Y_r15 = -1; /* INTEGER_M137438953472_137438953471 */
static int hf_lpp_antenna_reference_point_ECEF_Z_r15 = -1; /* INTEGER_M137438953472_137438953471 */
static int hf_lpp_antennaHeight_r15 = -1; /* INTEGER_0_65535 */
static int hf_lpp_antennaDescription_r15 = -1; /* AntennaDescription_r15 */
static int hf_lpp_antenna_reference_point_unc_r15 = -1; /* AntennaReferencePointUnc_r15 */
static int hf_lpp_physical_reference_station_info_r15 = -1; /* PhysicalReferenceStationInfo_r15 */
static int hf_lpp_equalIntegerAmbiguityLevel_r16 = -1; /* EqualIntegerAmbiguityLevel_r16 */
static int hf_lpp_antennaDescriptor_r15 = -1; /* VisibleString_SIZE_1_256 */
static int hf_lpp_antennaSetUpID_r15 = -1; /* T_antennaSetUpID_r15 */
static int hf_lpp_uncertainty_X_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_confidence_X_r15 = -1; /* INTEGER_0_100 */
static int hf_lpp_uncertainty_Y_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_confidence_Y_r15 = -1; /* INTEGER_0_100 */
static int hf_lpp_uncertainty_Z_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_confidence_Z_r15 = -1; /* INTEGER_0_100 */
static int hf_lpp_physicalReferenceStationID_r15 = -1; /* GNSS_ReferenceStationID_r15 */
static int hf_lpp_physical_ARP_ECEF_X_r15 = -1; /* INTEGER_M137438953472_137438953471 */
static int hf_lpp_physical_ARP_ECEF_Y_r15 = -1; /* INTEGER_M137438953472_137438953471 */
static int hf_lpp_physical_ARP_ECEF_Z_r15 = -1; /* INTEGER_M137438953472_137438953471 */
static int hf_lpp_physical_ARP_unc_r15 = -1; /* AntennaReferencePointUnc_r15 */
static int hf_lpp_allReferenceStations_r16 = -1; /* NULL */
static int hf_lpp_referenceStationList_r16 = -1; /* ReferenceStationList_r16 */
static int hf_lpp_ReferenceStationList_r16_item = -1; /* GNSS_ReferenceStationID_r15 */
static int hf_lpp_clockSteeringIndicator_r15 = -1; /* INTEGER_0_3 */
static int hf_lpp_externalClockIndicator_r15 = -1; /* INTEGER_0_3 */
static int hf_lpp_smoothingIndicator_r15 = -1; /* T_smoothingIndicator_r15 */
static int hf_lpp_smoothingInterval_r15 = -1; /* T_smoothingInterval_r15 */
static int hf_lpp_networkID_r15 = -1; /* GNSS_NetworkID_r15 */
static int hf_lpp_subNetworkID_r15 = -1; /* GNSS_SubNetworkID_r15 */
static int hf_lpp_master_referenceStationID_r15 = -1; /* GNSS_ReferenceStationID_r15 */
static int hf_lpp_auxiliaryStationList_r15 = -1; /* AuxiliaryStationList_r15 */
static int hf_lpp_AuxiliaryStationList_r15_item = -1; /* AuxiliaryStationElement_r15 */
static int hf_lpp_aux_referenceStationID_r15 = -1; /* GNSS_ReferenceStationID_r15 */
static int hf_lpp_aux_master_delta_latitude_r15 = -1; /* INTEGER_M524288_524287 */
static int hf_lpp_aux_master_delta_longitude_r15 = -1; /* INTEGER_M1048576_1048575 */
static int hf_lpp_aux_master_delta_height_r15 = -1; /* INTEGER_M4194304_4194303 */
static int hf_lpp_aux_ARP_unc_r15 = -1; /* Aux_ARP_Unc_r15 */
static int hf_lpp_horizontalUncertainty_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_verticalUncertainty_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_correctionPointSetID_r16 = -1; /* INTEGER_0_16383 */
static int hf_lpp_correctionPoints_r16 = -1; /* T_correctionPoints_r16 */
static int hf_lpp_listOfCorrectionPoints_r16 = -1; /* GNSS_SSR_ListOfCorrectionPoints_r16 */
static int hf_lpp_arrayOfCorrectionPoints_r16 = -1; /* GNSS_SSR_ArrayOfCorrectionPoints_r16 */
static int hf_lpp_referencePointLatitude_r16 = -1; /* INTEGER_M16384_16383 */
static int hf_lpp_referencePointLongitude_r16 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_relativeLocationsList_r16 = -1; /* SEQUENCE_SIZE_0_63_OF_RelativeLocationElement_r16 */
static int hf_lpp_relativeLocationsList_r16_item = -1; /* RelativeLocationElement_r16 */
static int hf_lpp_deltaLatitude_r16 = -1; /* INTEGER_M512_511 */
static int hf_lpp_deltaLongitude_r16 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_numberOfStepsLatitude_r16 = -1; /* INTEGER_0_63 */
static int hf_lpp_numberOfStepsLongitude_r16 = -1; /* INTEGER_0_63 */
static int hf_lpp_stepOfLatitude_r16 = -1; /* INTEGER_1_511 */
static int hf_lpp_stepOfLongitude_r16 = -1; /* INTEGER_1_1023 */
static int hf_lpp_bitmaskOfGrids_r16 = -1; /* BIT_STRING_SIZE_64 */
static int hf_lpp_GNSS_TimeModelList_item = -1; /* GNSS_TimeModelElement */
static int hf_lpp_gnss_TimeModelRefTime = -1; /* INTEGER_0_65535 */
static int hf_lpp_tA0 = -1; /* INTEGER_M67108864_67108863 */
static int hf_lpp_tA1 = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_tA2 = -1; /* INTEGER_M64_63 */
static int hf_lpp_gnss_TO_ID = -1; /* INTEGER_1_15 */
static int hf_lpp_weekNumber = -1; /* INTEGER_0_8191 */
static int hf_lpp_deltaT = -1; /* INTEGER_M128_127 */
static int hf_lpp_dgnss_RefTime = -1; /* INTEGER_0_3599 */
static int hf_lpp_dgnss_SgnTypeList = -1; /* DGNSS_SgnTypeList */
static int hf_lpp_DGNSS_SgnTypeList_item = -1; /* DGNSS_SgnTypeElement */
static int hf_lpp_gnss_SignalID = -1; /* GNSS_SignalID */
static int hf_lpp_gnss_StatusHealth = -1; /* INTEGER_0_7 */
static int hf_lpp_dgnss_SatList = -1; /* DGNSS_SatList */
static int hf_lpp_DGNSS_SatList_item = -1; /* DGNSS_CorrectionsElement */
static int hf_lpp_svID = -1; /* SV_ID */
static int hf_lpp_iod = -1; /* BIT_STRING_SIZE_11 */
static int hf_lpp_udre = -1; /* INTEGER_0_3 */
static int hf_lpp_pseudoRangeCor = -1; /* INTEGER_M2047_2047 */
static int hf_lpp_rangeRateCor = -1; /* INTEGER_M127_127 */
static int hf_lpp_udreGrowthRate = -1; /* INTEGER_0_7 */
static int hf_lpp_udreValidityTime = -1; /* INTEGER_0_7 */
static int hf_lpp_nonBroadcastIndFlag = -1; /* INTEGER_0_1 */
static int hf_lpp_gnss_SatelliteList = -1; /* GNSS_NavModelSatelliteList */
static int hf_lpp_GNSS_NavModelSatelliteList_item = -1; /* GNSS_NavModelSatelliteElement */
static int hf_lpp_svHealth = -1; /* BIT_STRING_SIZE_8 */
static int hf_lpp_gnss_ClockModel = -1; /* GNSS_ClockModel */
static int hf_lpp_gnss_OrbitModel = -1; /* GNSS_OrbitModel */
static int hf_lpp_svHealthExt_v1240 = -1; /* T_svHealthExt_v1240 */
static int hf_lpp_standardClockModelList = -1; /* StandardClockModelList */
static int hf_lpp_nav_ClockModel = -1; /* NAV_ClockModel */
static int hf_lpp_cnav_ClockModel = -1; /* CNAV_ClockModel */
static int hf_lpp_glonass_ClockModel = -1; /* GLONASS_ClockModel */
static int hf_lpp_sbas_ClockModel = -1; /* SBAS_ClockModel */
static int hf_lpp_bds_ClockModel_r12 = -1; /* BDS_ClockModel_r12 */
static int hf_lpp_bds_ClockModel2_r16 = -1; /* BDS_ClockModel2_r16 */
static int hf_lpp_navic_ClockModel_r16 = -1; /* NavIC_ClockModel_r16 */
static int hf_lpp_keplerianSet = -1; /* NavModelKeplerianSet */
static int hf_lpp_nav_KeplerianSet = -1; /* NavModelNAV_KeplerianSet */
static int hf_lpp_cnav_KeplerianSet = -1; /* NavModelCNAV_KeplerianSet */
static int hf_lpp_glonass_ECEF = -1; /* NavModel_GLONASS_ECEF */
static int hf_lpp_sbas_ECEF = -1; /* NavModel_SBAS_ECEF */
static int hf_lpp_bds_KeplerianSet_r12 = -1; /* NavModel_BDS_KeplerianSet_r12 */
static int hf_lpp_bds_KeplerianSet2_r16 = -1; /* NavModel_BDS_KeplerianSet2_r16 */
static int hf_lpp_navic_KeplerianSet_r16 = -1; /* NavModel_NavIC_KeplerianSet_r16 */
static int hf_lpp_StandardClockModelList_item = -1; /* StandardClockModelElement */
static int hf_lpp_stanClockToc = -1; /* INTEGER_0_16383 */
static int hf_lpp_stanClockAF2 = -1; /* INTEGER_M32_31 */
static int hf_lpp_stanClockAF1 = -1; /* INTEGER_M1048576_1048575 */
static int hf_lpp_stanClockAF0 = -1; /* INTEGER_M1073741824_1073741823 */
static int hf_lpp_stanClockTgd = -1; /* INTEGER_M512_511 */
static int hf_lpp_sisa = -1; /* INTEGER_0_255 */
static int hf_lpp_stanModelID = -1; /* INTEGER_0_1 */
static int hf_lpp_navToc = -1; /* INTEGER_0_37799 */
static int hf_lpp_navaf2 = -1; /* INTEGER_M128_127 */
static int hf_lpp_navaf1 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navaf0 = -1; /* INTEGER_M2097152_2097151 */
static int hf_lpp_navTgd = -1; /* INTEGER_M128_127 */
static int hf_lpp_cnavToc = -1; /* INTEGER_0_2015 */
static int hf_lpp_cnavTop = -1; /* INTEGER_0_2015 */
static int hf_lpp_cnavURA0 = -1; /* INTEGER_M16_15 */
static int hf_lpp_cnavURA1 = -1; /* INTEGER_0_7 */
static int hf_lpp_cnavURA2 = -1; /* INTEGER_0_7 */
static int hf_lpp_cnavAf2 = -1; /* INTEGER_M512_511 */
static int hf_lpp_cnavAf1 = -1; /* INTEGER_M524288_524287 */
static int hf_lpp_cnavAf0 = -1; /* INTEGER_M33554432_33554431 */
static int hf_lpp_cnavTgd = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_cnavISCl1cp = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_cnavISCl1cd = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_cnavISCl1ca = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_cnavISCl2c = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_cnavISCl5i5 = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_cnavISCl5q5 = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_gloTau = -1; /* INTEGER_M2097152_2097151 */
static int hf_lpp_gloGamma = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_gloDeltaTau = -1; /* INTEGER_M16_15 */
static int hf_lpp_sbasTo = -1; /* INTEGER_0_5399 */
static int hf_lpp_sbasAgfo = -1; /* INTEGER_M2048_2047 */
static int hf_lpp_sbasAgf1 = -1; /* INTEGER_M128_127 */
static int hf_lpp_bdsAODC_r12 = -1; /* INTEGER_0_31 */
static int hf_lpp_bdsToc_r12 = -1; /* INTEGER_0_131071 */
static int hf_lpp_bdsA0_r12 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_bdsA1_r12 = -1; /* INTEGER_M2097152_2097151 */
static int hf_lpp_bdsA2_r12 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_bdsTgd1_r12 = -1; /* INTEGER_M512_511 */
static int hf_lpp_bdsToc_r16 = -1; /* INTEGER_0_2047 */
static int hf_lpp_bdsA0_r16 = -1; /* INTEGER_M16777216_16777215 */
static int hf_lpp_bdsA1_r16 = -1; /* INTEGER_M2097152_2097151 */
static int hf_lpp_bdsA2_r16 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_bdsTgdB1Cp_r16 = -1; /* INTEGER_M2048_2047 */
static int hf_lpp_bdsIscB1Cd_r16 = -1; /* INTEGER_M2048_2047 */
static int hf_lpp_navic_Toc_r16 = -1; /* INTEGER_0_65535 */
static int hf_lpp_navic_af2_r16 = -1; /* INTEGER_M128_127 */
static int hf_lpp_navic_af1_r16 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navic_af0_r16 = -1; /* INTEGER_M2097152_2097151 */
static int hf_lpp_navic_Tgd_r16 = -1; /* INTEGER_M128_127 */
static int hf_lpp_keplerToe = -1; /* INTEGER_0_16383 */
static int hf_lpp_keplerW = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_keplerDeltaN = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_keplerM0 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_keplerOmegaDot = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_keplerE = -1; /* INTEGER_0_4294967295 */
static int hf_lpp_keplerIDot = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_keplerAPowerHalf = -1; /* INTEGER_0_4294967295 */
static int hf_lpp_keplerI0 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_keplerOmega0 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_keplerCrs = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_keplerCis = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_keplerCus = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_keplerCrc = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_keplerCic = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_keplerCuc = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navURA = -1; /* INTEGER_0_15 */
static int hf_lpp_navFitFlag = -1; /* INTEGER_0_1 */
static int hf_lpp_navToe = -1; /* INTEGER_0_37799 */
static int hf_lpp_navOmega = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_navDeltaN = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navM0 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_navOmegaADot = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_navE = -1; /* INTEGER_0_4294967295 */
static int hf_lpp_navIDot = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_navAPowerHalf = -1; /* INTEGER_0_4294967295 */
static int hf_lpp_navI0 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_navOmegaA0 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_navCrs = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navCis = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navCus = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navCrc = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navCic = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navCuc = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_addNAVparam = -1; /* T_addNAVparam */
static int hf_lpp_ephemCodeOnL2 = -1; /* INTEGER_0_3 */
static int hf_lpp_ephemL2Pflag = -1; /* INTEGER_0_1 */
static int hf_lpp_ephemSF1Rsvd = -1; /* T_ephemSF1Rsvd */
static int hf_lpp_reserved1 = -1; /* INTEGER_0_8388607 */
static int hf_lpp_reserved2 = -1; /* INTEGER_0_16777215 */
static int hf_lpp_reserved3 = -1; /* INTEGER_0_16777215 */
static int hf_lpp_reserved4 = -1; /* INTEGER_0_65535 */
static int hf_lpp_ephemAODA = -1; /* INTEGER_0_31 */
static int hf_lpp_cnavURAindex = -1; /* INTEGER_M16_15 */
static int hf_lpp_cnavDeltaA = -1; /* INTEGER_M33554432_33554431 */
static int hf_lpp_cnavAdot = -1; /* INTEGER_M16777216_16777215 */
static int hf_lpp_cnavDeltaNo = -1; /* INTEGER_M65536_65535 */
static int hf_lpp_cnavDeltaNoDot = -1; /* INTEGER_M4194304_4194303 */
static int hf_lpp_cnavMo = -1; /* T_cnavMo */
static int hf_lpp_cnavE = -1; /* T_cnavE */
static int hf_lpp_cnavOmega = -1; /* T_cnavOmega */
static int hf_lpp_cnavOMEGA0 = -1; /* T_cnavOMEGA0 */
static int hf_lpp_cnavDeltaOmegaDot = -1; /* INTEGER_M65536_65535 */
static int hf_lpp_cnavIo = -1; /* T_cnavIo */
static int hf_lpp_cnavIoDot = -1; /* INTEGER_M16384_16383 */
static int hf_lpp_cnavCis = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_cnavCic = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_cnavCrs = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_cnavCrc = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_cnavCus = -1; /* INTEGER_M1048576_1048575 */
static int hf_lpp_cnavCuc = -1; /* INTEGER_M1048576_1048575 */
static int hf_lpp_gloEn = -1; /* INTEGER_0_31 */
static int hf_lpp_gloP1 = -1; /* T_gloP1 */
static int hf_lpp_gloP2 = -1; /* BOOLEAN */
static int hf_lpp_gloM = -1; /* INTEGER_0_3 */
static int hf_lpp_gloX = -1; /* INTEGER_M67108864_67108863 */
static int hf_lpp_gloXdot = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_gloXdotdot = -1; /* INTEGER_M16_15 */
static int hf_lpp_gloY = -1; /* INTEGER_M67108864_67108863 */
static int hf_lpp_gloYdot = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_gloYdotdot = -1; /* INTEGER_M16_15 */
static int hf_lpp_gloZ = -1; /* INTEGER_M67108864_67108863 */
static int hf_lpp_gloZdot = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_gloZdotdot = -1; /* INTEGER_M16_15 */
static int hf_lpp_sbasAccuracy = -1; /* BIT_STRING_SIZE_4 */
static int hf_lpp_sbasXg = -1; /* INTEGER_M536870912_536870911 */
static int hf_lpp_sbasYg = -1; /* INTEGER_M536870912_536870911 */
static int hf_lpp_sbasZg = -1; /* INTEGER_M16777216_16777215 */
static int hf_lpp_sbasXgDot = -1; /* INTEGER_M65536_65535 */
static int hf_lpp_sbasYgDot = -1; /* INTEGER_M65536_65535 */
static int hf_lpp_sbasZgDot = -1; /* INTEGER_M131072_131071 */
static int hf_lpp_sbasXgDotDot = -1; /* INTEGER_M512_511 */
static int hf_lpp_sbagYgDotDot = -1; /* INTEGER_M512_511 */
static int hf_lpp_sbasZgDotDot = -1; /* INTEGER_M512_511 */
static int hf_lpp_bdsAODE_r12 = -1; /* INTEGER_0_31 */
static int hf_lpp_bdsURAI_r12 = -1; /* INTEGER_0_15 */
static int hf_lpp_bdsToe_r12 = -1; /* INTEGER_0_131071 */
static int hf_lpp_bdsAPowerHalf_r12 = -1; /* INTEGER_0_4294967295 */
static int hf_lpp_bdsE_r12 = -1; /* INTEGER_0_4294967295 */
static int hf_lpp_bdsW_r12 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_bdsDeltaN_r12 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_bdsM0_r12 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_bdsOmega0_r12 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_bdsOmegaDot_r12 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_bdsI0_r12 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_bdsIDot_r12 = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_bdsCuc_r12 = -1; /* INTEGER_M131072_131071 */
static int hf_lpp_bdsCus_r12 = -1; /* INTEGER_M131072_131071 */
static int hf_lpp_bdsCrc_r12 = -1; /* INTEGER_M131072_131071 */
static int hf_lpp_bdsCrs_r12 = -1; /* INTEGER_M131072_131071 */
static int hf_lpp_bdsCic_r12 = -1; /* INTEGER_M131072_131071 */
static int hf_lpp_bdsCis_r12 = -1; /* INTEGER_M131072_131071 */
static int hf_lpp_bdsIODE_r16 = -1; /* INTEGER_0_255 */
static int hf_lpp_bdsToe_r16 = -1; /* INTEGER_0_2047 */
static int hf_lpp_bdsDeltaA_r16 = -1; /* INTEGER_M33554432_33554431 */
static int hf_lpp_bdsAdot_r16 = -1; /* INTEGER_M16777216_16777216 */
static int hf_lpp_bdsDeltaN0_r16 = -1; /* INTEGER_M65536_65535 */
static int hf_lpp_bdsDeltaN0dot_r16 = -1; /* INTEGER_M4194304_4194303 */
static int hf_lpp_bdsM0_r16 = -1; /* INTEGER_M4294967296_4294967295 */
static int hf_lpp_bdsE_r16 = -1; /* INTEGER_0_8589934591 */
static int hf_lpp_bdsOmega_r16 = -1; /* INTEGER_M4294967296_4294967295 */
static int hf_lpp_bdsOmega0_r16 = -1; /* INTEGER_M4294967296_4294967295 */
static int hf_lpp_bdsI0_r16 = -1; /* INTEGER_M4294967296_4294967295 */
static int hf_lpp_bdsOmegaDot_r16 = -1; /* INTEGER_M262144_262143 */
static int hf_lpp_bdsI0Dot_r16 = -1; /* INTEGER_M16384_16383 */
static int hf_lpp_bdsCuc_r16 = -1; /* INTEGER_M1048576_1048575 */
static int hf_lpp_bdsCus_r16 = -1; /* INTEGER_M1048576_1048575 */
static int hf_lpp_bdsCrc_r16 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_bdsCrs_r16 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_bdsCic_r16 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_bdsCis_r16 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navic_Toe_r16 = -1; /* INTEGER_0_65536 */
static int hf_lpp_navic_URAI_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_navic_W_r16 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_navic_DeltaN_r16 = -1; /* INTEGER_M2097152_2097151 */
static int hf_lpp_navic_M0_r16 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_navic_OmegaDot_r16 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_navic_E_r16 = -1; /* INTEGER_0_4294967295 */
static int hf_lpp_navic_IDot_r16 = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_navic_APowerHalf_r16 = -1; /* INTEGER_0_4294967295 */
static int hf_lpp_navic_I0_r16 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_navic_Omega0_r16 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_navic_Crs_r16 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navic_Cis_r16 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navic_Cus_r16 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navic_Crc_r16 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navic_Cic_r16 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navic_Cuc_r16 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_gnss_BadSignalList = -1; /* GNSS_BadSignalList */
static int hf_lpp_GNSS_BadSignalList_item = -1; /* BadSignalElement */
static int hf_lpp_badSVID = -1; /* SV_ID */
static int hf_lpp_badSignalID = -1; /* GNSS_SignalIDs */
static int hf_lpp_gnss_TOD = -1; /* INTEGER_0_3599 */
static int hf_lpp_gnss_TODfrac = -1; /* INTEGER_0_999 */
static int hf_lpp_gnss_DataBitsSatList = -1; /* GNSS_DataBitsSatList */
static int hf_lpp_GNSS_DataBitsSatList_item = -1; /* GNSS_DataBitsSatElement */
static int hf_lpp_gnss_DataBitsSgnList = -1; /* GNSS_DataBitsSgnList */
static int hf_lpp_GNSS_DataBitsSgnList_item = -1; /* GNSS_DataBitsSgnElement */
static int hf_lpp_gnss_SignalType = -1; /* GNSS_SignalID */
static int hf_lpp_gnss_DataBits = -1; /* BIT_STRING_SIZE_1_1024 */
static int hf_lpp_gnss_AcquisitionAssistList = -1; /* GNSS_AcquisitionAssistList */
static int hf_lpp_confidence_r10 = -1; /* INTEGER_0_100 */
static int hf_lpp_GNSS_AcquisitionAssistList_item = -1; /* GNSS_AcquisitionAssistElement */
static int hf_lpp_doppler0 = -1; /* INTEGER_M2048_2047 */
static int hf_lpp_doppler1 = -1; /* INTEGER_0_63 */
static int hf_lpp_dopplerUncertainty = -1; /* INTEGER_0_4 */
static int hf_lpp_codePhase = -1; /* INTEGER_0_1022 */
static int hf_lpp_intCodePhase = -1; /* INTEGER_0_127 */
static int hf_lpp_codePhaseSearchWindow = -1; /* INTEGER_0_31 */
static int hf_lpp_azimuth = -1; /* INTEGER_0_511 */
static int hf_lpp_elevation = -1; /* INTEGER_0_127 */
static int hf_lpp_codePhase1023 = -1; /* BOOLEAN */
static int hf_lpp_dopplerUncertaintyExt_r10 = -1; /* T_dopplerUncertaintyExt_r10 */
static int hf_lpp_weekNumber_01 = -1; /* INTEGER_0_255 */
static int hf_lpp_toa = -1; /* T_toa */
static int hf_lpp_ioda = -1; /* INTEGER_0_3 */
static int hf_lpp_completeAlmanacProvided = -1; /* BOOLEAN */
static int hf_lpp_gnss_AlmanacList = -1; /* GNSS_AlmanacList */
static int hf_lpp_toa_ext_v1240 = -1; /* T_toa_ext_v1240 */
static int hf_lpp_ioda_ext_v1240 = -1; /* INTEGER_4_15 */
static int hf_lpp_weekNumber_ext_r16 = -1; /* INTEGER_256_8191 */
static int hf_lpp_toa_ext2_r16 = -1; /* INTEGER_256_65535 */
static int hf_lpp_GNSS_AlmanacList_item = -1; /* GNSS_AlmanacElement */
static int hf_lpp_keplerianAlmanacSet = -1; /* AlmanacKeplerianSet */
static int hf_lpp_keplerianNAV_Almanac = -1; /* AlmanacNAV_KeplerianSet */
static int hf_lpp_keplerianReducedAlmanac = -1; /* AlmanacReducedKeplerianSet */
static int hf_lpp_keplerianMidiAlmanac = -1; /* AlmanacMidiAlmanacSet */
static int hf_lpp_keplerianGLONASS = -1; /* AlmanacGLONASS_AlmanacSet */
static int hf_lpp_ecef_SBAS_Almanac = -1; /* AlmanacECEF_SBAS_AlmanacSet */
static int hf_lpp_keplerianBDS_Almanac_r12 = -1; /* AlmanacBDS_AlmanacSet_r12 */
static int hf_lpp_keplerianNavIC_Almanac_r16 = -1; /* AlmanacNavIC_AlmanacSet_r16 */
static int hf_lpp_kepAlmanacE = -1; /* INTEGER_0_2047 */
static int hf_lpp_kepAlmanacDeltaI = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_kepAlmanacOmegaDot = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_kepSV_StatusINAV = -1; /* T_kepSV_StatusINAV */
static int hf_lpp_kepSV_StatusFNAV = -1; /* T_kepSV_StatusFNAV */
static int hf_lpp_kepAlmanacAPowerHalf = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_kepAlmanacOmega0 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_kepAlmanacW = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_kepAlmanacM0 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_kepAlmanacAF0 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_kepAlmanacAF1 = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_navAlmE = -1; /* INTEGER_0_65535 */
static int hf_lpp_navAlmDeltaI = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navAlmOMEGADOT = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navAlmSVHealth = -1; /* INTEGER_0_255 */
static int hf_lpp_navAlmSqrtA = -1; /* INTEGER_0_16777215 */
static int hf_lpp_navAlmOMEGAo = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_navAlmOmega = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_navAlmMo = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_navAlmaf0 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_navAlmaf1 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_redAlmDeltaA = -1; /* INTEGER_M128_127 */
static int hf_lpp_redAlmOmega0 = -1; /* INTEGER_M64_63 */
static int hf_lpp_redAlmPhi0 = -1; /* INTEGER_M64_63 */
static int hf_lpp_redAlmL1Health = -1; /* BOOLEAN */
static int hf_lpp_redAlmL2Health = -1; /* BOOLEAN */
static int hf_lpp_redAlmL5Health = -1; /* BOOLEAN */
static int hf_lpp_midiAlmE = -1; /* INTEGER_0_2047 */
static int hf_lpp_midiAlmDeltaI = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_midiAlmOmegaDot = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_midiAlmSqrtA = -1; /* INTEGER_0_131071 */
static int hf_lpp_midiAlmOmega0 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_midiAlmOmega = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_midiAlmMo = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_midiAlmaf0 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_midiAlmaf1 = -1; /* INTEGER_M512_511 */
static int hf_lpp_midiAlmL1Health = -1; /* BOOLEAN */
static int hf_lpp_midiAlmL2Health = -1; /* BOOLEAN */
static int hf_lpp_midiAlmL5Health = -1; /* BOOLEAN */
static int hf_lpp_gloAlm_NA = -1; /* INTEGER_1_1461 */
static int hf_lpp_gloAlmnA = -1; /* INTEGER_1_24 */
static int hf_lpp_gloAlmHA = -1; /* INTEGER_0_31 */
static int hf_lpp_gloAlmLambdaA = -1; /* INTEGER_M1048576_1048575 */
static int hf_lpp_gloAlmtlambdaA = -1; /* INTEGER_0_2097151 */
static int hf_lpp_gloAlmDeltaIa = -1; /* INTEGER_M131072_131071 */
static int hf_lpp_gloAlmDeltaTA = -1; /* INTEGER_M2097152_2097151 */
static int hf_lpp_gloAlmDeltaTdotA = -1; /* INTEGER_M64_63 */
static int hf_lpp_gloAlmEpsilonA = -1; /* INTEGER_0_32767 */
static int hf_lpp_gloAlmOmegaA = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_gloAlmTauA = -1; /* INTEGER_M512_511 */
static int hf_lpp_gloAlmCA = -1; /* INTEGER_0_1 */
static int hf_lpp_gloAlmMA = -1; /* BIT_STRING_SIZE_2 */
static int hf_lpp_sbasAlmDataID = -1; /* INTEGER_0_3 */
static int hf_lpp_sbasAlmHealth = -1; /* BIT_STRING_SIZE_8 */
static int hf_lpp_sbasAlmXg = -1; /* INTEGER_M16384_16383 */
static int hf_lpp_sbasAlmYg = -1; /* INTEGER_M16384_16383 */
static int hf_lpp_sbasAlmZg = -1; /* INTEGER_M256_255 */
static int hf_lpp_sbasAlmXgdot = -1; /* INTEGER_M4_3 */
static int hf_lpp_sbasAlmYgDot = -1; /* INTEGER_M4_3 */
static int hf_lpp_sbasAlmZgDot = -1; /* INTEGER_M8_7 */
static int hf_lpp_sbasAlmTo = -1; /* INTEGER_0_2047 */
static int hf_lpp_bdsAlmToa_r12 = -1; /* INTEGER_0_255 */
static int hf_lpp_bdsAlmSqrtA_r12 = -1; /* INTEGER_0_16777215 */
static int hf_lpp_bdsAlmE_r12 = -1; /* INTEGER_0_131071 */
static int hf_lpp_bdsAlmW_r12 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_bdsAlmM0_r12 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_bdsAlmOmega0_r12 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_bdsAlmOmegaDot_r12 = -1; /* INTEGER_M65536_65535 */
static int hf_lpp_bdsAlmDeltaI_r12 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_bdsAlmA0_r12 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_bdsAlmA1_r12 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_bdsSvHealth_r12 = -1; /* T_bdsSvHealth_r12 */
static int hf_lpp_svID_r16 = -1; /* SV_ID */
static int hf_lpp_navic_AlmToa_r16 = -1; /* INTEGER_0_65535 */
static int hf_lpp_navic_AlmE_r16 = -1; /* INTEGER_0_65535 */
static int hf_lpp_navic_AlmOMEGADOT_r16 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navic_AlmSqrtA_r16 = -1; /* INTEGER_0_16777215 */
static int hf_lpp_navic_AlmOMEGAo_r16 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_navic_AlmOmega_r16 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_navic_AlmMo_r16 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_navic_Almaf0_r16 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_navic_Almaf1_r16 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_utcModel1 = -1; /* UTC_ModelSet1 */
static int hf_lpp_utcModel2 = -1; /* UTC_ModelSet2 */
static int hf_lpp_utcModel3 = -1; /* UTC_ModelSet3 */
static int hf_lpp_utcModel4 = -1; /* UTC_ModelSet4 */
static int hf_lpp_utcModel5_r12 = -1; /* UTC_ModelSet5_r12 */
static int hf_lpp_gnss_Utc_A1 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_gnss_Utc_A0 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_gnss_Utc_Tot = -1; /* INTEGER_0_255 */
static int hf_lpp_gnss_Utc_WNt = -1; /* INTEGER_0_255 */
static int hf_lpp_gnss_Utc_DeltaTls = -1; /* INTEGER_M128_127 */
static int hf_lpp_gnss_Utc_WNlsf = -1; /* INTEGER_0_255 */
static int hf_lpp_gnss_Utc_DN = -1; /* INTEGER_M128_127 */
static int hf_lpp_gnss_Utc_DeltaTlsf = -1; /* INTEGER_M128_127 */
static int hf_lpp_utcA0 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_utcA1 = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_utcA2 = -1; /* INTEGER_M64_63 */
static int hf_lpp_utcDeltaTls = -1; /* INTEGER_M128_127 */
static int hf_lpp_utcTot = -1; /* INTEGER_0_65535 */
static int hf_lpp_utcWNot = -1; /* INTEGER_0_8191 */
static int hf_lpp_utcWNlsf = -1; /* INTEGER_0_255 */
static int hf_lpp_utcDN = -1; /* T_utcDN */
static int hf_lpp_utcDeltaTlsf = -1; /* INTEGER_M128_127 */
static int hf_lpp_utcWNlsf_ext_r16 = -1; /* INTEGER_256_8191 */
static int hf_lpp_nA = -1; /* INTEGER_1_1461 */
static int hf_lpp_tauC = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_b1 = -1; /* INTEGER_M1024_1023 */
static int hf_lpp_b2 = -1; /* INTEGER_M512_511 */
static int hf_lpp_kp = -1; /* T_kp */
static int hf_lpp_utcA1wnt = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_utcA0wnt = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_utcTot_01 = -1; /* INTEGER_0_255 */
static int hf_lpp_utcWNt = -1; /* INTEGER_0_255 */
static int hf_lpp_UTC_ModelSet4_utcDN = -1; /* INTEGER_M128_127 */
static int hf_lpp_utcStandardID = -1; /* INTEGER_0_7 */
static int hf_lpp_utcA0_r12 = -1; /* INTEGER_M2147483648_2147483647 */
static int hf_lpp_utcA1_r12 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_utcDeltaTls_r12 = -1; /* INTEGER_M128_127 */
static int hf_lpp_utcWNlsf_r12 = -1; /* INTEGER_0_255 */
static int hf_lpp_utcDN_r12 = -1; /* INTEGER_0_255 */
static int hf_lpp_utcDeltaTlsf_r12 = -1; /* INTEGER_M128_127 */
static int hf_lpp_gnss_ID_GPS = -1; /* GNSS_ID_GPS */
static int hf_lpp_gnss_ID_GLONASS = -1; /* GNSS_ID_GLONASS */
static int hf_lpp_gnss_ID_BDS_r16 = -1; /* GNSS_ID_BDS_r16 */
static int hf_lpp_GNSS_ID_GPS_item = -1; /* GNSS_ID_GPS_SatElement */
static int hf_lpp_signalsAvailable = -1; /* GNSS_SignalIDs */
static int hf_lpp_GNSS_ID_GLONASS_item = -1; /* GNSS_ID_GLONASS_SatElement */
static int hf_lpp_channelNumber = -1; /* INTEGER_M7_13 */
static int hf_lpp_GNSS_ID_BDS_r16_item = -1; /* GNSS_ID_BDS_SatElement_r16 */
static int hf_lpp_satType_r16 = -1; /* INTEGER_0_3 */
static int hf_lpp_dbds_RefTime_r12 = -1; /* INTEGER_0_3599 */
static int hf_lpp_bds_SgnTypeList_r12 = -1; /* BDS_SgnTypeList_r12 */
static int hf_lpp_BDS_SgnTypeList_r12_item = -1; /* BDS_SgnTypeElement_r12 */
static int hf_lpp_dbds_CorrectionList_r12 = -1; /* DBDS_CorrectionList_r12 */
static int hf_lpp_DBDS_CorrectionList_r12_item = -1; /* DBDS_CorrectionElement_r12 */
static int hf_lpp_bds_UDREI_r12 = -1; /* INTEGER_0_15 */
static int hf_lpp_bds_RURAI_r12 = -1; /* INTEGER_0_15 */
static int hf_lpp_bds_ECC_DeltaT_r12 = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_bds_RefTime_r12 = -1; /* INTEGER_0_3599 */
static int hf_lpp_gridIonList_r12 = -1; /* GridIonList_r12 */
static int hf_lpp_GridIonList_r12_item = -1; /* GridIonElement_r12 */
static int hf_lpp_igp_ID_r12 = -1; /* INTEGER_1_320 */
static int hf_lpp_dt_r12 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei_r12 = -1; /* INTEGER_0_15 */
static int hf_lpp_epochTime_r15 = -1; /* GNSS_SystemTime */
static int hf_lpp_gnss_ObservationList_r15 = -1; /* GNSS_ObservationList_r15 */
static int hf_lpp_GNSS_ObservationList_r15_item = -1; /* GNSS_RTK_SatelliteDataElement_r15 */
static int hf_lpp_svID_r15 = -1; /* SV_ID */
static int hf_lpp_integer_ms_r15 = -1; /* INTEGER_0_254 */
static int hf_lpp_rough_range_r15 = -1; /* INTEGER_0_1023 */
static int hf_lpp_rough_phase_range_rate_r15 = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_gnss_rtk_SatelliteSignalDataList_r15 = -1; /* GNSS_RTK_SatelliteSignalDataList_r15 */
static int hf_lpp_GNSS_RTK_SatelliteSignalDataList_r15_item = -1; /* GNSS_RTK_SatelliteSignalDataElement_r15 */
static int hf_lpp_gnss_SignalID_r15 = -1; /* GNSS_SignalID */
static int hf_lpp_fine_PseudoRange_r15 = -1; /* INTEGER_M524288_524287 */
static int hf_lpp_fine_PhaseRange_r15 = -1; /* INTEGER_M8388608_8388607 */
static int hf_lpp_lockTimeIndicator_r15 = -1; /* INTEGER_0_1023 */
static int hf_lpp_halfCycleAmbiguityIndicator_r15 = -1; /* BIT_STRING_SIZE_1 */
static int hf_lpp_carrier_to_noise_ratio_r15 = -1; /* INTEGER_0_1023 */
static int hf_lpp_fine_PhaseRangeRate_r15 = -1; /* INTEGER_M16384_16383 */
static int hf_lpp_cpbIndicator_r15 = -1; /* BIT_STRING_SIZE_1 */
static int hf_lpp_l1_ca_cpBias_r15 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_l1_p_cpBias_r15 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_l2_ca_cpBias_r15 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_l2_p_cpBias_r15 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_master_ReferenceStationID_r15 = -1; /* GNSS_ReferenceStationID_r15 */
static int hf_lpp_l1_r15 = -1; /* GNSS_FrequencyID_r15 */
static int hf_lpp_l2_r15 = -1; /* GNSS_FrequencyID_r15 */
static int hf_lpp_rtkCorrectionDifferencesList_r15 = -1; /* RTK_CorrectionDifferencesList_r15 */
static int hf_lpp_RTK_CorrectionDifferencesList_r15_item = -1; /* RTK_CorrectionDifferencesElement_r15 */
static int hf_lpp_auxiliary_referenceStationID_r15 = -1; /* GNSS_ReferenceStationID_r15 */
static int hf_lpp_geometric_ionospheric_corrections_differences_r15 = -1; /* Geometric_Ionospheric_Corrections_Differences_r15 */
static int hf_lpp_Geometric_Ionospheric_Corrections_Differences_r15_item = -1; /* Geometric_Ionospheric_Corrections_Differences_Element_r15 */
static int hf_lpp_ambiguityStatusFlag_r15 = -1; /* INTEGER_0_3 */
static int hf_lpp_non_synch_count_r15 = -1; /* INTEGER_0_7 */
static int hf_lpp_geometricCarrierPhaseCorrectionDifference_r15 = -1; /* INTEGER_M65536_65535 */
static int hf_lpp_iod_r15 = -1; /* BIT_STRING_SIZE_11 */
static int hf_lpp_ionosphericCarrierPhaseCorrectionDifference_r15 = -1; /* INTEGER_M65536_65535 */
static int hf_lpp_n_Refs_r15 = -1; /* INTEGER_0_127 */
static int hf_lpp_rtk_residuals_list_r15 = -1; /* RTK_Residuals_List_r15 */
static int hf_lpp_RTK_Residuals_List_r15_item = -1; /* RTK_Residuals_Element_r15 */
static int hf_lpp_s_oc_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_s_od_r15 = -1; /* INTEGER_0_511 */
static int hf_lpp_s_oh_r15 = -1; /* INTEGER_0_63 */
static int hf_lpp_s_lc_r15 = -1; /* INTEGER_0_1023 */
static int hf_lpp_s_ld_r15 = -1; /* INTEGER_0_1023 */
static int hf_lpp_fkp_gradients_list_r15 = -1; /* FKP_Gradients_List_r15 */
static int hf_lpp_FKP_Gradients_List_r15_item = -1; /* FKP_Gradients_Element_r15 */
static int hf_lpp_north_geometric_gradient_r15 = -1; /* INTEGER_M2048_2047 */
static int hf_lpp_east_geometric_gradient_r15 = -1; /* INTEGER_M2048_2047 */
static int hf_lpp_north_ionospheric_gradient_r15 = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_east_ionospheric_gradient_r15 = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_ssrUpdateInterval_r15 = -1; /* INTEGER_0_15 */
static int hf_lpp_satelliteReferenceDatum_r15 = -1; /* T_satelliteReferenceDatum_r15 */
static int hf_lpp_iod_ssr_r15 = -1; /* INTEGER_0_15 */
static int hf_lpp_ssr_OrbitCorrectionList_r15 = -1; /* SSR_OrbitCorrectionList_r15 */
static int hf_lpp_SSR_OrbitCorrectionList_r15_item = -1; /* SSR_OrbitCorrectionSatelliteElement_r15 */
static int hf_lpp_delta_radial_r15 = -1; /* INTEGER_M2097152_2097151 */
static int hf_lpp_delta_AlongTrack_r15 = -1; /* INTEGER_M524288_524287 */
static int hf_lpp_delta_CrossTrack_r15 = -1; /* INTEGER_M524288_524287 */
static int hf_lpp_dot_delta_radial_r15 = -1; /* INTEGER_M1048576_1048575 */
static int hf_lpp_dot_delta_AlongTrack_r15 = -1; /* INTEGER_M262144_262143 */
static int hf_lpp_dot_delta_CrossTrack_r15 = -1; /* INTEGER_M262144_262143 */
static int hf_lpp_ssr_ClockCorrectionList_r15 = -1; /* SSR_ClockCorrectionList_r15 */
static int hf_lpp_SSR_ClockCorrectionList_r15_item = -1; /* SSR_ClockCorrectionSatelliteElement_r15 */
static int hf_lpp_delta_Clock_C0_r15 = -1; /* INTEGER_M2097152_2097151 */
static int hf_lpp_delta_Clock_C1_r15 = -1; /* INTEGER_M1048576_1048575 */
static int hf_lpp_delta_Clock_C2_r15 = -1; /* INTEGER_M67108864_67108863 */
static int hf_lpp_ssr_CodeBiasSatList_r15 = -1; /* SSR_CodeBiasSatList_r15 */
static int hf_lpp_SSR_CodeBiasSatList_r15_item = -1; /* SSR_CodeBiasSatElement_r15 */
static int hf_lpp_ssr_CodeBiasSignalList_r15 = -1; /* SSR_CodeBiasSignalList_r15 */
static int hf_lpp_SSR_CodeBiasSignalList_r15_item = -1; /* SSR_CodeBiasSignalElement_r15 */
static int hf_lpp_signal_and_tracking_mode_ID_r15 = -1; /* GNSS_SignalID */
static int hf_lpp_codeBias_r15 = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_epochTime_r16 = -1; /* GNSS_SystemTime */
static int hf_lpp_ssrUpdateInterval_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_iod_ssr_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_ssr_URA_SatList_r16 = -1; /* SSR_URA_SatList_r16 */
static int hf_lpp_SSR_URA_SatList_r16_item = -1; /* SSR_URA_SatElement_r16 */
static int hf_lpp_ssr_URA_r16 = -1; /* BIT_STRING_SIZE_6 */
static int hf_lpp_ssr_PhaseBiasSatList_r16 = -1; /* SSR_PhaseBiasSatList_r16 */
static int hf_lpp_SSR_PhaseBiasSatList_r16_item = -1; /* SSR_PhaseBiasSatElement_r16 */
static int hf_lpp_ssr_PhaseBiasSignalList_r16 = -1; /* SSR_PhaseBiasSignalList_r16 */
static int hf_lpp_SSR_PhaseBiasSignalList_r16_item = -1; /* SSR_PhaseBiasSignalElement_r16 */
static int hf_lpp_signal_and_tracking_mode_ID_r16 = -1; /* GNSS_SignalID */
static int hf_lpp_phaseBias_r16 = -1; /* INTEGER_M16384_16383 */
static int hf_lpp_phaseDiscontinuityIndicator_r16 = -1; /* INTEGER_0_3 */
static int hf_lpp_phaseBiasIntegerIndicator_r16 = -1; /* INTEGER_0_3 */
static int hf_lpp_stec_SatList_r16 = -1; /* STEC_SatList_r16 */
static int hf_lpp_STEC_SatList_r16_item = -1; /* STEC_SatElement_r16 */
static int hf_lpp_stecQualityIndicator_r16 = -1; /* BIT_STRING_SIZE_6 */
static int hf_lpp_stec_C00_r16 = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_stec_C01_r16 = -1; /* INTEGER_M2048_2047 */
static int hf_lpp_stec_C10_r16 = -1; /* INTEGER_M2048_2047 */
static int hf_lpp_stec_C11_r16 = -1; /* INTEGER_M512_511 */
static int hf_lpp_troposphericDelayQualityIndicator_r16 = -1; /* BIT_STRING_SIZE_6 */
static int hf_lpp_gridList_r16 = -1; /* GridList_r16 */
static int hf_lpp_GridList_r16_item = -1; /* GridElement_r16 */
static int hf_lpp_tropospericDelayCorrection_r16 = -1; /* TropospericDelayCorrection_r16 */
static int hf_lpp_stec_ResidualSatList_r16 = -1; /* STEC_ResidualSatList_r16 */
static int hf_lpp_tropoHydroStaticVerticalDelay_r16 = -1; /* INTEGER_M256_255 */
static int hf_lpp_tropoWetVerticalDelay_r16 = -1; /* INTEGER_M128_127 */
static int hf_lpp_STEC_ResidualSatList_r16_item = -1; /* STEC_ResidualSatElement_r16 */
static int hf_lpp_stecResidualCorrection_r16 = -1; /* T_stecResidualCorrection_r16 */
static int hf_lpp_b7_r16 = -1; /* INTEGER_M64_63 */
static int hf_lpp_b16_r16 = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_navic_RefTOWC_r16 = -1; /* INTEGER_0_50400 */
static int hf_lpp_navic_CorrectionListAutoNav_r16 = -1; /* NavIC_CorrectionListAutoNav_r16 */
static int hf_lpp_NavIC_CorrectionListAutoNav_r16_item = -1; /* NavIC_CorrectionElementAutoNav_r16 */
static int hf_lpp_navic_Tod_r16 = -1; /* INTEGER_0_65535 */
static int hf_lpp_navic_iodec_r16 = -1; /* INTEGER_0_255 */
static int hf_lpp_navic_UDRAI_r16 = -1; /* INTEGER_M16_15 */
static int hf_lpp_navic_UDRArateI_r16 = -1; /* INTEGER_M16_15 */
static int hf_lpp_navic_EDC_r16 = -1; /* NavIC_EDC_r16 */
static int hf_lpp_navic_CDC_r16 = -1; /* NavIC_CDC_r16 */
static int hf_lpp_navic_AlphaEDC_r16 = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_navic_BetaEDC_r16 = -1; /* INTEGER_M8192_8191 */
static int hf_lpp_navic_GammaEDC_r16 = -1; /* INTEGER_M16384_16383 */
static int hf_lpp_navic_AoIcorrection_r16 = -1; /* INTEGER_M2048_2047 */
static int hf_lpp_navic_AoRAcorrection_r16 = -1; /* INTEGER_M2048_2047 */
static int hf_lpp_navic_SemiMajorcorrection_r16 = -1; /* INTEGER_M2048_2047 */
static int hf_lpp_navic_ClockBiasCorrection_r16 = -1; /* INTEGER_M4096_4095 */
static int hf_lpp_navic_ClockDriftCorrection_r16 = -1; /* INTEGER_M128_127 */
static int hf_lpp_regionMasked_r16 = -1; /* INTEGER_0_1023 */
static int hf_lpp_regionIgpList_r16 = -1; /* RegionIgpList_r16 */
static int hf_lpp_RegionIgpList_r16_item = -1; /* RegionIgpElement_r16 */
static int hf_lpp_regionID_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givei1_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd1_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei2_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd2_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei3_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd3_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei4_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd4_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei5_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd5_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei6_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd6_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei7_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd7_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei8_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd8_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei9_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd9_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei10_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd10_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei11_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd11_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei12_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd12_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei13_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd13_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei14_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd14_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_givei15_r16 = -1; /* INTEGER_0_15 */
static int hf_lpp_givd15_r16 = -1; /* INTEGER_0_511 */
static int hf_lpp_gnss_CommonAssistDataReq = -1; /* GNSS_CommonAssistDataReq */
static int hf_lpp_gnss_GenericAssistDataReq = -1; /* GNSS_GenericAssistDataReq */
static int hf_lpp_gnss_PeriodicAssistDataReq_r15 = -1; /* GNSS_PeriodicAssistDataReq_r15 */
static int hf_lpp_gnss_ReferenceTimeReq = -1; /* GNSS_ReferenceTimeReq */
static int hf_lpp_gnss_ReferenceLocationReq = -1; /* GNSS_ReferenceLocationReq */
static int hf_lpp_gnss_IonosphericModelReq = -1; /* GNSS_IonosphericModelReq */
static int hf_lpp_gnss_EarthOrientationParametersReq = -1; /* GNSS_EarthOrientationParametersReq */
static int hf_lpp_gnss_RTK_ReferenceStationInfoReq_r15 = -1; /* GNSS_RTK_ReferenceStationInfoReq_r15 */
static int hf_lpp_gnss_RTK_AuxiliaryStationDataReq_r15 = -1; /* GNSS_RTK_AuxiliaryStationDataReq_r15 */
static int hf_lpp_gnss_SSR_CorrectionPointsReq_r16 = -1; /* GNSS_SSR_CorrectionPointsReq_r16 */
static int hf_lpp_GNSS_GenericAssistDataReq_item = -1; /* GNSS_GenericAssistDataReqElement */
static int hf_lpp_gnss_TimeModelsReq = -1; /* GNSS_TimeModelListReq */
static int hf_lpp_gnss_DifferentialCorrectionsReq = -1; /* GNSS_DifferentialCorrectionsReq */
static int hf_lpp_gnss_NavigationModelReq = -1; /* GNSS_NavigationModelReq */
static int hf_lpp_gnss_RealTimeIntegrityReq = -1; /* GNSS_RealTimeIntegrityReq */
static int hf_lpp_gnss_DataBitAssistanceReq = -1; /* GNSS_DataBitAssistanceReq */
static int hf_lpp_gnss_AcquisitionAssistanceReq = -1; /* GNSS_AcquisitionAssistanceReq */
static int hf_lpp_gnss_AlmanacReq = -1; /* GNSS_AlmanacReq */
static int hf_lpp_gnss_UTCModelReq = -1; /* GNSS_UTC_ModelReq */
static int hf_lpp_gnss_AuxiliaryInformationReq = -1; /* GNSS_AuxiliaryInformationReq */
static int hf_lpp_bds_DifferentialCorrectionsReq_r12 = -1; /* BDS_DifferentialCorrectionsReq_r12 */
static int hf_lpp_bds_GridModelReq_r12 = -1; /* BDS_GridModelReq_r12 */
static int hf_lpp_gnss_RTK_ObservationsReq_r15 = -1; /* GNSS_RTK_ObservationsReq_r15 */
static int hf_lpp_glo_RTK_BiasInformationReq_r15 = -1; /* GLO_RTK_BiasInformationReq_r15 */
static int hf_lpp_gnss_RTK_MAC_CorrectionDifferencesReq_r15 = -1; /* GNSS_RTK_MAC_CorrectionDifferencesReq_r15 */
static int hf_lpp_gnss_RTK_ResidualsReq_r15 = -1; /* GNSS_RTK_ResidualsReq_r15 */
static int hf_lpp_gnss_RTK_FKP_GradientsReq_r15 = -1; /* GNSS_RTK_FKP_GradientsReq_r15 */
static int hf_lpp_gnss_SSR_OrbitCorrectionsReq_r15 = -1; /* GNSS_SSR_OrbitCorrectionsReq_r15 */
static int hf_lpp_gnss_SSR_ClockCorrectionsReq_r15 = -1; /* GNSS_SSR_ClockCorrectionsReq_r15 */
static int hf_lpp_gnss_SSR_CodeBiasReq_r15 = -1; /* GNSS_SSR_CodeBiasReq_r15 */
static int hf_lpp_gnss_SSR_URA_Req_r16 = -1; /* GNSS_SSR_URA_Req_r16 */
static int hf_lpp_gnss_SSR_PhaseBiasReq_r16 = -1; /* GNSS_SSR_PhaseBiasReq_r16 */
static int hf_lpp_gnss_SSR_STEC_CorrectionReq_r16 = -1; /* GNSS_SSR_STEC_CorrectionReq_r16 */
static int hf_lpp_gnss_SSR_GriddedCorrectionReq_r16 = -1; /* GNSS_SSR_GriddedCorrectionReq_r16 */
static int hf_lpp_navic_DifferentialCorrectionsReq_r16 = -1; /* NavIC_DifferentialCorrectionsReq_r16 */
static int hf_lpp_navic_GridModelReq_r16 = -1; /* NavIC_GridModelReq_r16 */
static int hf_lpp_gnss_RTK_PeriodicObservationsReq_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_glo_RTK_PeriodicBiasInformationReq_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_RTK_MAC_PeriodicCorrectionDifferencesReq_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_RTK_PeriodicResidualsReq_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_RTK_FKP_PeriodicGradientsReq_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicOrbitCorrectionsReq_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicClockCorrectionsReq_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicCodeBiasReq_r15 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicURA_Req_r16 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicPhaseBiasReq_r16 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicSTEC_CorrectionReq_r16 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_SSR_PeriodicGriddedCorrectionReq_r16 = -1; /* GNSS_PeriodicControlParam_r15 */
static int hf_lpp_gnss_TimeReqPrefList = -1; /* SEQUENCE_SIZE_1_8_OF_GNSS_ID */
static int hf_lpp_gnss_TimeReqPrefList_item = -1; /* GNSS_ID */
static int hf_lpp_gps_TOW_assistReq = -1; /* BOOLEAN */
static int hf_lpp_notOfLeapSecReq = -1; /* BOOLEAN */
static int hf_lpp_klobucharModelReq = -1; /* BIT_STRING_SIZE_2 */
static int hf_lpp_neQuickModelReq = -1; /* NULL */
static int hf_lpp_klobucharModel2Req_r16 = -1; /* NULL */
static int hf_lpp_antennaDescriptionReq_r15 = -1; /* BOOLEAN */
static int hf_lpp_antennaHeightReq_r15 = -1; /* BOOLEAN */
static int hf_lpp_physicalReferenceStationReq_r15 = -1; /* BOOLEAN */
static int hf_lpp_stationID_r15 = -1; /* GNSS_ReferenceStationID_r15 */
static int hf_lpp_correctionPointSetID_Req_r16 = -1; /* INTEGER_0_16383 */
static int hf_lpp_GNSS_TimeModelListReq_item = -1; /* GNSS_TimeModelElementReq */
static int hf_lpp_gnss_TO_IDsReq = -1; /* INTEGER_1_15 */
static int hf_lpp_deltaTreq = -1; /* BOOLEAN */
static int hf_lpp_dgnss_SignalsReq = -1; /* GNSS_SignalIDs */
static int hf_lpp_dgnss_ValidityTimeReq = -1; /* BOOLEAN */
static int hf_lpp_storedNavList = -1; /* StoredNavListInfo */
static int hf_lpp_reqNavList = -1; /* ReqNavListInfo */
static int hf_lpp_gnss_WeekOrDay = -1; /* T_gnss_WeekOrDay */
static int hf_lpp_gnss_Toe = -1; /* T_gnss_Toe */
static int hf_lpp_t_toeLimit = -1; /* T_t_toeLimit */
static int hf_lpp_satListRelatedDataList = -1; /* SatListRelatedDataList */
static int hf_lpp_SatListRelatedDataList_item = -1; /* SatListRelatedDataElement */
static int hf_lpp_clockModelID = -1; /* INTEGER_1_8 */
static int hf_lpp_orbitModelID = -1; /* INTEGER_1_8 */
static int hf_lpp_svReqList = -1; /* BIT_STRING_SIZE_64 */
static int hf_lpp_clockModelID_PrefList = -1; /* T_clockModelID_PrefList */
static int hf_lpp_clockModelID_PrefList_item = -1; /* INTEGER_1_8 */
static int hf_lpp_orbitModelID_PrefList = -1; /* T_orbitModelID_PrefList */
static int hf_lpp_orbitModelID_PrefList_item = -1; /* INTEGER_1_8 */
static int hf_lpp_addNavparamReq = -1; /* BOOLEAN */
static int hf_lpp_gnss_TOD_Req = -1; /* INTEGER_0_3599 */
static int hf_lpp_gnss_TOD_FracReq = -1; /* INTEGER_0_999 */
static int hf_lpp_dataBitInterval = -1; /* INTEGER_0_15 */
static int hf_lpp_gnss_SignalType_01 = -1; /* GNSS_SignalIDs */
static int hf_lpp_gnss_DataBitsReq = -1; /* GNSS_DataBitsReqSatList */
static int hf_lpp_GNSS_DataBitsReqSatList_item = -1; /* GNSS_DataBitsReqSatElement */
static int hf_lpp_gnss_SignalID_Req = -1; /* GNSS_SignalID */
static int hf_lpp_modelID = -1; /* INTEGER_1_8 */
static int hf_lpp_gnss_RTK_SignalsReq_r15 = -1; /* GNSS_SignalIDs */
static int hf_lpp_gnss_RTK_Integer_ms_Req_r15 = -1; /* BOOLEAN */
static int hf_lpp_gnss_RTK_PhaseRangeRateReq_r15 = -1; /* BOOLEAN */
static int hf_lpp_gnss_RTK_CNR_Req_r15 = -1; /* BOOLEAN */
static int hf_lpp_aux_ReferenceStationList_r15 = -1; /* AUX_ReferenceStationList_r15 */
static int hf_lpp_linkCombinations_PrefList_r15 = -1; /* GNSS_Link_CombinationsList_r15 */
static int hf_lpp_AUX_ReferenceStationList_r15_item = -1; /* AUX_ReferenceStationID_Element_r15 */
static int hf_lpp_aux_stationID_r15 = -1; /* GNSS_ReferenceStationID_r15 */
static int hf_lpp_storedNavList_r15 = -1; /* GNSS_NavListInfo_r15 */
static int hf_lpp_signal_and_tracking_mode_ID_Map_r15 = -1; /* GNSS_SignalIDs */
static int hf_lpp_signal_and_tracking_mode_ID_Map_r16 = -1; /* GNSS_SignalIDs */
static int hf_lpp_storedNavList_r16 = -1; /* GNSS_NavListInfo_r15 */
static int hf_lpp_dgnss_SignalsReq_r16 = -1; /* GNSS_SignalIDs */
static int hf_lpp_gnss_SignalMeasurementInformation = -1; /* GNSS_SignalMeasurementInformation */
static int hf_lpp_gnss_LocationInformation = -1; /* GNSS_LocationInformation */
static int hf_lpp_measurementReferenceTime = -1; /* MeasurementReferenceTime */
static int hf_lpp_gnss_MeasurementList = -1; /* GNSS_MeasurementList */
static int hf_lpp_gnss_TOD_msec = -1; /* INTEGER_0_3599999 */
static int hf_lpp_gnss_TOD_frac = -1; /* INTEGER_0_3999 */
static int hf_lpp_gnss_TOD_unc = -1; /* INTEGER_0_127 */
static int hf_lpp_networkTime_01 = -1; /* T_networkTime */
static int hf_lpp_eUTRA_01 = -1; /* T_eUTRA_01 */
static int hf_lpp_cellGlobalId_01 = -1; /* CellGlobalIdEUTRA_AndUTRA */
static int hf_lpp_uTRA_01 = -1; /* T_uTRA_01 */
static int hf_lpp_mode_01 = -1; /* T_mode_01 */
static int hf_lpp_fdd_01 = -1; /* T_fdd_01 */
static int hf_lpp_tdd_01 = -1; /* T_tdd_01 */
static int hf_lpp_referenceSystemFrameNumber = -1; /* INTEGER_0_4095 */
static int hf_lpp_gSM_01 = -1; /* T_gSM_01 */
static int hf_lpp_cellGlobalId_02 = -1; /* CellGlobalIdGERAN */
static int hf_lpp_referenceFrame = -1; /* T_referenceFrame */
static int hf_lpp_referenceFN = -1; /* INTEGER_0_65535 */
static int hf_lpp_referenceFNMSB = -1; /* INTEGER_0_63 */
static int hf_lpp_deltaGNSS_TOD = -1; /* INTEGER_0_127 */
static int hf_lpp_nbIoT_r14 = -1; /* T_nbIoT_r14 */
static int hf_lpp_sfn_r14 = -1; /* BIT_STRING_SIZE_10 */
static int hf_lpp_nr_r15_01 = -1; /* T_nr_r15_01 */
static int hf_lpp_nr_sfn_r15 = -1; /* BIT_STRING_SIZE_10 */
static int hf_lpp_GNSS_MeasurementList_item = -1; /* GNSS_MeasurementForOneGNSS */
static int hf_lpp_gnss_SgnMeasList = -1; /* GNSS_SgnMeasList */
static int hf_lpp_GNSS_SgnMeasList_item = -1; /* GNSS_SgnMeasElement */
static int hf_lpp_gnss_CodePhaseAmbiguity = -1; /* INTEGER_0_127 */
static int hf_lpp_gnss_SatMeasList = -1; /* GNSS_SatMeasList */
static int hf_lpp_GNSS_SatMeasList_item = -1; /* GNSS_SatMeasElement */
static int hf_lpp_cNo = -1; /* INTEGER_0_63 */
static int hf_lpp_mpathDet = -1; /* T_mpathDet */
static int hf_lpp_carrierQualityInd = -1; /* INTEGER_0_3 */
static int hf_lpp_codePhase_01 = -1; /* INTEGER_0_2097151 */
static int hf_lpp_integerCodePhase = -1; /* INTEGER_0_127 */
static int hf_lpp_codePhaseRMSError = -1; /* INTEGER_0_63 */
static int hf_lpp_doppler = -1; /* INTEGER_M32768_32767 */
static int hf_lpp_adr = -1; /* INTEGER_0_33554431 */
static int hf_lpp_adrMSB_r15 = -1; /* INTEGER_0_15 */
static int hf_lpp_adrSign_r15 = -1; /* T_adrSign_r15 */
static int hf_lpp_adrRMSerror_r15 = -1; /* INTEGER_0_127 */
static int hf_lpp_delta_codePhase_r15 = -1; /* INTEGER_0_7 */
static int hf_lpp_agnss_List = -1; /* GNSS_ID_Bitmap */
static int hf_lpp_gnss_PositioningInstructions = -1; /* GNSS_PositioningInstructions */
static int hf_lpp_gnss_Methods = -1; /* GNSS_ID_Bitmap */
static int hf_lpp_fineTimeAssistanceMeasReq = -1; /* BOOLEAN */
static int hf_lpp_adrMeasReq = -1; /* BOOLEAN */
static int hf_lpp_multiFreqMeasReq = -1; /* BOOLEAN */
static int hf_lpp_ha_GNSS_Req_r15 = -1; /* T_ha_GNSS_Req_r15 */
static int hf_lpp_gnss_SupportList = -1; /* GNSS_SupportList */
static int hf_lpp_assistanceDataSupportList = -1; /* AssistanceDataSupportList */
static int hf_lpp_periodicalReportingNotSupported_r14 = -1; /* PositioningModes */
static int hf_lpp_idleStateForMeasurements_r14_01 = -1; /* T_idleStateForMeasurements_r14_01 */
static int hf_lpp_periodicAssistanceData_r15_01 = -1; /* T_periodicAssistanceData_r15 */
static int hf_lpp_GNSS_SupportList_item = -1; /* GNSS_SupportElement */
static int hf_lpp_sbas_IDs = -1; /* SBAS_IDs */
static int hf_lpp_agnss_Modes = -1; /* PositioningModes */
static int hf_lpp_gnss_Signals = -1; /* GNSS_SignalIDs */
static int hf_lpp_fta_MeasSupport = -1; /* T_fta_MeasSupport */
static int hf_lpp_cellTime = -1; /* AccessTypes */
static int hf_lpp_mode_02 = -1; /* PositioningModes */
static int hf_lpp_adr_Support = -1; /* BOOLEAN */
static int hf_lpp_velocityMeasurementSupport = -1; /* BOOLEAN */
static int hf_lpp_adrEnhancementsSupport_r15 = -1; /* T_adrEnhancementsSupport_r15 */
static int hf_lpp_ha_gnss_Modes_r15 = -1; /* PositioningModes */
static int hf_lpp_gnss_CommonAssistanceDataSupport = -1; /* GNSS_CommonAssistanceDataSupport */
static int hf_lpp_gnss_GenericAssistanceDataSupport = -1; /* GNSS_GenericAssistanceDataSupport */
static int hf_lpp_gnss_ReferenceTimeSupport = -1; /* GNSS_ReferenceTimeSupport */
static int hf_lpp_gnss_ReferenceLocationSupport = -1; /* GNSS_ReferenceLocationSupport */
static int hf_lpp_gnss_IonosphericModelSupport = -1; /* GNSS_IonosphericModelSupport */
static int hf_lpp_gnss_EarthOrientationParametersSupport = -1; /* GNSS_EarthOrientationParametersSupport */
static int hf_lpp_gnss_RTK_ReferenceStationInfoSupport_r15 = -1; /* GNSS_RTK_ReferenceStationInfoSupport_r15 */
static int hf_lpp_gnss_RTK_AuxiliaryStationDataSupport_r15 = -1; /* GNSS_RTK_AuxiliaryStationDataSupport_r15 */
static int hf_lpp_gnss_SystemTime_01 = -1; /* GNSS_ID_Bitmap */
static int hf_lpp_fta_Support = -1; /* AccessTypes */
static int hf_lpp_ionoModel = -1; /* T_ionoModel */
static int hf_lpp_GNSS_GenericAssistanceDataSupport_item = -1; /* GNSS_GenericAssistDataSupportElement */
static int hf_lpp_gnss_TimeModelsSupport = -1; /* GNSS_TimeModelListSupport */
static int hf_lpp_gnss_DifferentialCorrectionsSupport = -1; /* GNSS_DifferentialCorrectionsSupport */
static int hf_lpp_gnss_NavigationModelSupport = -1; /* GNSS_NavigationModelSupport */
static int hf_lpp_gnss_RealTimeIntegritySupport = -1; /* GNSS_RealTimeIntegritySupport */
static int hf_lpp_gnss_DataBitAssistanceSupport = -1; /* GNSS_DataBitAssistanceSupport */
static int hf_lpp_gnss_AcquisitionAssistanceSupport = -1; /* GNSS_AcquisitionAssistanceSupport */
static int hf_lpp_gnss_AlmanacSupport = -1; /* GNSS_AlmanacSupport */
static int hf_lpp_gnss_UTC_ModelSupport = -1; /* GNSS_UTC_ModelSupport */
static int hf_lpp_gnss_AuxiliaryInformationSupport = -1; /* GNSS_AuxiliaryInformationSupport */
static int hf_lpp_bds_DifferentialCorrectionsSupport_r12 = -1; /* BDS_DifferentialCorrectionsSupport_r12 */
static int hf_lpp_bds_GridModelSupport_r12 = -1; /* BDS_GridModelSupport_r12 */
static int hf_lpp_gnss_RTK_ObservationsSupport_r15 = -1; /* GNSS_RTK_ObservationsSupport_r15 */
static int hf_lpp_glo_RTK_BiasInformationSupport_r15 = -1; /* GLO_RTK_BiasInformationSupport_r15 */
static int hf_lpp_gnss_RTK_MAC_CorrectionDifferencesSupport_r15 = -1; /* GNSS_RTK_MAC_CorrectionDifferencesSupport_r15 */
static int hf_lpp_gnss_RTK_ResidualsSupport_r15 = -1; /* GNSS_RTK_ResidualsSupport_r15 */
static int hf_lpp_gnss_RTK_FKP_GradientsSupport_r15 = -1; /* GNSS_RTK_FKP_GradientsSupport_r15 */
static int hf_lpp_gnss_SSR_OrbitCorrectionsSupport_r15 = -1; /* GNSS_SSR_OrbitCorrectionsSupport_r15 */
static int hf_lpp_gnss_SSR_ClockCorrectionsSupport_r15 = -1; /* GNSS_SSR_ClockCorrectionsSupport_r15 */
static int hf_lpp_gnss_SSR_CodeBiasSupport_r15 = -1; /* GNSS_SSR_CodeBiasSupport_r15 */
static int hf_lpp_gnss_SSR_URA_Support_r16 = -1; /* GNSS_SSR_URA_Support_r16 */
static int hf_lpp_gnss_SSR_PhaseBiasSupport_r16 = -1; /* GNSS_SSR_PhaseBiasSupport_r16 */
static int hf_lpp_gnss_SSR_STEC_CorrectionSupport_r16 = -1; /* GNSS_SSR_STEC_CorrectionSupport_r16 */
static int hf_lpp_gnss_SSR_GriddedCorrectionSupport_r16 = -1; /* GNSS_SSR_GriddedCorrectionSupport_r16 */
static int hf_lpp_navic_DifferentialCorrectionsSupport_r16 = -1; /* NavIC_DifferentialCorrectionsSupport_r16 */
static int hf_lpp_navic_GridModelSupport_r16 = -1; /* NavIC_GridModelSupport_r16 */
static int hf_lpp_gnssSignalIDs = -1; /* GNSS_SignalIDs */
static int hf_lpp_dgnss_ValidityTimeSup = -1; /* BOOLEAN */
static int hf_lpp_clockModel = -1; /* T_clockModel */
static int hf_lpp_orbitModel = -1; /* T_orbitModel */
static int hf_lpp_confidenceSupport_r10 = -1; /* T_confidenceSupport_r10 */
static int hf_lpp_dopplerUncertaintyExtSupport_r10 = -1; /* T_dopplerUncertaintyExtSupport_r10 */
static int hf_lpp_almanacModel = -1; /* T_almanacModel */
static int hf_lpp_utc_Model = -1; /* T_utc_Model */
static int hf_lpp_gnssSignalIDs_r15 = -1; /* GNSS_SignalIDs */
static int hf_lpp_link_combinations_support_r15 = -1; /* GNSS_Link_CombinationsList_r15 */
static int hf_lpp_signal_and_tracking_mode_ID_Sup_r15 = -1; /* GNSS_SignalIDs */
static int hf_lpp_signal_and_tracking_mode_ID_Sup_r16 = -1; /* GNSS_SignalIDs */
static int hf_lpp_gnssSignalIDs_r16 = -1; /* GNSS_SignalIDs */
static int hf_lpp_gnss_SupportListReq = -1; /* BOOLEAN */
static int hf_lpp_assistanceDataSupportListReq = -1; /* BOOLEAN */
static int hf_lpp_locationVelocityTypesReq = -1; /* BOOLEAN */
static int hf_lpp_locationServerErrorCauses_01 = -1; /* GNSS_LocationServerErrorCauses */
static int hf_lpp_targetDeviceErrorCauses_01 = -1; /* GNSS_TargetDeviceErrorCauses */
static int hf_lpp_cause_02 = -1; /* T_cause_02 */
static int hf_lpp_cause_03 = -1; /* T_cause_03 */
static int hf_lpp_fineTimeAssistanceMeasurementsNotPossible = -1; /* NULL */
static int hf_lpp_adrMeasurementsNotPossible = -1; /* NULL */
static int hf_lpp_multiFrequencyMeasurementsNotPossible = -1; /* NULL */
static int hf_lpp_gnss_FrequencyID_r15 = -1; /* INTEGER_0_7 */
static int hf_lpp_gnss_id = -1; /* T_gnss_id */
static int hf_lpp_gnss_ids = -1; /* T_gnss_ids */
static int hf_lpp_GNSS_Link_CombinationsList_r15_item = -1; /* GNSS_Link_Combinations_r15 */
static int hf_lpp_GNSS_NavListInfo_r15_item = -1; /* SatListElement_r15 */
static int hf_lpp_networkID_r15_01 = -1; /* INTEGER_0_255 */
static int hf_lpp_deliveryAmount_r15 = -1; /* INTEGER_1_32 */
static int hf_lpp_deliveryInterval_r15 = -1; /* INTEGER_1_64 */
static int hf_lpp_referenceStationID_r15_01 = -1; /* INTEGER_0_65535 */
static int hf_lpp_providerName_r15 = -1; /* VisibleString_SIZE_1_32 */
static int hf_lpp_gnss_SignalID_01 = -1; /* INTEGER_0_7 */
static int hf_lpp_gnss_SignalID_Ext_r15 = -1; /* INTEGER_8_23 */
static int hf_lpp_gnss_SignalIDs = -1; /* BIT_STRING_SIZE_8 */
static int hf_lpp_gnss_SignalIDs_Ext_r15 = -1; /* BIT_STRING_SIZE_16 */
static int hf_lpp_subNetworkID_r15_01 = -1; /* INTEGER_0_15 */
static int hf_lpp_sbas_id = -1; /* T_sbas_id */
static int hf_lpp_sbas_IDs_01 = -1; /* T_sbas_IDs */
static int hf_lpp_satellite_id = -1; /* INTEGER_0_63 */
static int hf_lpp_ecid_SignalMeasurementInformation = -1; /* ECID_SignalMeasurementInformation */
static int hf_lpp_ecid_Error = -1; /* ECID_Error */
static int hf_lpp_primaryCellMeasuredResults = -1; /* MeasuredResultsElement */
static int hf_lpp_measuredResultsList = -1; /* MeasuredResultsList */
static int hf_lpp_MeasuredResultsList_item = -1; /* MeasuredResultsElement */
static int hf_lpp_arfcnEUTRA = -1; /* ARFCN_ValueEUTRA */
static int hf_lpp_rsrp_Result = -1; /* INTEGER_0_97 */
static int hf_lpp_rsrq_Result = -1; /* INTEGER_0_34 */
static int hf_lpp_ue_RxTxTimeDiff = -1; /* INTEGER_0_4095 */
static int hf_lpp_arfcnEUTRA_v9a0 = -1; /* ARFCN_ValueEUTRA_v9a0 */
static int hf_lpp_nrsrp_Result_r14 = -1; /* INTEGER_0_113 */
static int hf_lpp_nrsrq_Result_r14 = -1; /* INTEGER_0_74 */
static int hf_lpp_carrierFreqOffsetNB_r14 = -1; /* CarrierFreqOffsetNB_r14 */
static int hf_lpp_rsrp_Result_v1470 = -1; /* INTEGER_M17_M1 */
static int hf_lpp_rsrq_Result_v1470 = -1; /* INTEGER_M30_46 */
static int hf_lpp_requestedMeasurements = -1; /* T_requestedMeasurements */
static int hf_lpp_ecid_MeasSupported = -1; /* T_ecid_MeasSupported */
static int hf_lpp_ueRxTxSupTDD_r13 = -1; /* T_ueRxTxSupTDD_r13 */
static int hf_lpp_periodicalReporting_r14_01 = -1; /* T_periodicalReporting_r14_01 */
static int hf_lpp_triggeredReporting_r14 = -1; /* T_triggeredReporting_r14 */
static int hf_lpp_idleStateForMeasurements_r14_02 = -1; /* T_idleStateForMeasurements_r14_02 */
static int hf_lpp_locationServerErrorCauses_02 = -1; /* ECID_LocationServerErrorCauses */
static int hf_lpp_targetDeviceErrorCauses_02 = -1; /* ECID_TargetDeviceErrorCauses */
static int hf_lpp_cause_04 = -1; /* T_cause_04 */
static int hf_lpp_cause_05 = -1; /* T_cause_05 */
static int hf_lpp_rsrpMeasurementNotPossible = -1; /* NULL */
static int hf_lpp_rsrqMeasurementNotPossible = -1; /* NULL */
static int hf_lpp_ueRxTxMeasurementNotPossible = -1; /* NULL */
static int hf_lpp_nrsrpMeasurementNotPossible_r14 = -1; /* NULL */
static int hf_lpp_nrsrqMeasurementNotPossible_r14 = -1; /* NULL */
static int hf_lpp_tbs_MeasurementInformation_r13 = -1; /* TBS_MeasurementInformation_r13 */
static int hf_lpp_tbs_Error_r13 = -1; /* TBS_Error_r13 */
static int hf_lpp_measurementReferenceTime_r13 = -1; /* UTCTime */
static int hf_lpp_mbs_SgnMeasList_r13 = -1; /* MBS_BeaconMeasList_r13 */
static int hf_lpp_MBS_BeaconMeasList_r13_item = -1; /* MBS_BeaconMeasElement_r13 */
static int hf_lpp_transmitterID_r13 = -1; /* INTEGER_0_32767 */
static int hf_lpp_codePhase_r13 = -1; /* INTEGER_0_2097151 */
static int hf_lpp_codePhaseRMSError_r13 = -1; /* INTEGER_0_63 */
static int hf_lpp_rssi_r14 = -1; /* INTEGER_M130_M30 */
static int hf_lpp_mbsSgnMeasListReq_r13 = -1; /* BOOLEAN */
static int hf_lpp_mbsAssistanceAvailability_r14 = -1; /* BOOLEAN */
static int hf_lpp_mbsRequestedMeasurements_r14 = -1; /* T_mbsRequestedMeasurements_r14 */
static int hf_lpp_tbs_Modes_r13 = -1; /* T_tbs_Modes_r13 */
static int hf_lpp_mbs_AssistanceDataSupportList_r14 = -1; /* MBS_AssistanceDataSupportList_r14 */
static int hf_lpp_periodicalReportingSupported_r14 = -1; /* PositioningModes */
static int hf_lpp_mbs_ConfigSupport_r14 = -1; /* T_mbs_ConfigSupport_r14 */
static int hf_lpp_mbs_IdleStateForMeasurements_r14 = -1; /* T_mbs_IdleStateForMeasurements_r14 */
static int hf_lpp_mbs_AcquisitionAssistanceDataSupport_r14 = -1; /* BOOLEAN */
static int hf_lpp_mbs_AlmanacAssistanceDataSupport_r14 = -1; /* BOOLEAN */
static int hf_lpp_locationServerErrorCauses_r13 = -1; /* TBS_LocationServerErrorCauses_r13 */
static int hf_lpp_targetDeviceErrorCauses_r13 = -1; /* TBS_TargetDeviceErrorCauses_r13 */
static int hf_lpp_cause_r13 = -1; /* T_cause_r13 */
static int hf_lpp_cause_r13_01 = -1; /* T_cause_r13_01 */
static int hf_lpp_tbs_AssistanceDataList_r14 = -1; /* TBS_AssistanceDataList_r14 */
static int hf_lpp_tbs_Error_r14 = -1; /* TBS_Error_r13 */
static int hf_lpp_mbs_AssistanceDataList_r14 = -1; /* MBS_AssistanceDataList_r14 */
static int hf_lpp_MBS_AssistanceDataList_r14_item = -1; /* MBS_AssistanceDataElement_r14 */
static int hf_lpp_mbs_AlmanacAssistance_r14 = -1; /* MBS_AlmanacAssistance_r14 */
static int hf_lpp_mbs_AcquisitionAssistance_r14 = -1; /* MBS_AcquisitionAssistance_r14 */
static int hf_lpp_transmitterID_r14 = -1; /* INTEGER_0_32767 */
static int hf_lpp_transmitterLatitude_r14 = -1; /* T_transmitterLatitude_r14 */
static int hf_lpp_transmitterLongitude_r14 = -1; /* T_transmitterLongitude_r14 */
static int hf_lpp_transmitterAltitude_r14 = -1; /* T_transmitterAltitude_r14 */
static int hf_lpp_timeCorrection_r14 = -1; /* INTEGER_0_25 */
static int hf_lpp_mbsConfiguration_r14 = -1; /* T_mbsConfiguration_r14 */
static int hf_lpp_pnCodeIndex_r14 = -1; /* INTEGER_1_128 */
static int hf_lpp_freq_r14 = -1; /* INTEGER_919750000_927250000 */
static int hf_lpp_mbs_AlmanacAssistanceDataReq_r14 = -1; /* BOOLEAN */
static int hf_lpp_mbs_AcquisitionAssistanceDataReq_r14 = -1; /* BOOLEAN */
static int hf_lpp_sensor_MeasurementInformation_r13 = -1; /* Sensor_MeasurementInformation_r13 */
static int hf_lpp_sensor_Error_r13 = -1; /* Sensor_Error_r13 */
static int hf_lpp_sensor_MotionInformation_r15 = -1; /* Sensor_MotionInformation_r15 */
static int hf_lpp_uncompensatedBarometricPressure_r13 = -1; /* INTEGER_30000_115000 */
static int hf_lpp_uncertainty_r14 = -1; /* T_uncertainty_r14 */
static int hf_lpp_range_r14 = -1; /* INTEGER_0_1000 */
static int hf_lpp_confidence_r14 = -1; /* INTEGER_1_100 */
static int hf_lpp_adjustment_r16 = -1; /* INTEGER_M5000_5000 */
static int hf_lpp_refTime_r15 = -1; /* DisplacementTimeStamp_r15 */
static int hf_lpp_displacementInfoList_r15 = -1; /* DisplacementInfoList_r15 */
static int hf_lpp_DisplacementInfoList_r15_item = -1; /* DisplacementInfoListElement_r15 */
static int hf_lpp_deltaTimeStamp_r15 = -1; /* DeltaTime_r15 */
static int hf_lpp_displacement_r15 = -1; /* Displacement_r15 */
static int hf_lpp_utcTime_r15 = -1; /* UTC_Time_r15 */
static int hf_lpp_gnssTime_r15 = -1; /* MeasurementReferenceTime */
static int hf_lpp_systemFrameNumber_r15 = -1; /* SFN_r15 */
static int hf_lpp_measurementSFN_r15 = -1; /* INTEGER_M8192_9214 */
static int hf_lpp_deltaTimeSec_r15 = -1; /* INTEGER_1_16384 */
static int hf_lpp_deltaTimeSFN_r15 = -1; /* INTEGER_1_4096 */
static int hf_lpp_sfn_r15 = -1; /* BIT_STRING_SIZE_10 */
static int hf_lpp_hyperSFN_r15 = -1; /* BIT_STRING_SIZE_10 */
static int hf_lpp_bearing_r15 = -1; /* INTEGER_0_3599 */
static int hf_lpp_bearingUncConfidence_r15 = -1; /* INTEGER_0_100 */
static int hf_lpp_bearingRef_r15 = -1; /* T_bearingRef_r15 */
static int hf_lpp_horizontalDistance_r15 = -1; /* INTEGER_0_8191 */
static int hf_lpp_horizontalDistanceUnc_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_horizontalUncConfidence_r15 = -1; /* INTEGER_0_100 */
static int hf_lpp_verticalDirection_r15 = -1; /* T_verticalDirection_r15 */
static int hf_lpp_verticalDistance_r15 = -1; /* INTEGER_0_8191 */
static int hf_lpp_verticalDistanceUnc_r15 = -1; /* INTEGER_0_255 */
static int hf_lpp_verticalUncConfidence_r15 = -1; /* INTEGER_0_100 */
static int hf_lpp_utcTime_r15_01 = -1; /* UTCTime */
static int hf_lpp_utcTime_ms_r15 = -1; /* INTEGER_0_999 */
static int hf_lpp_uncompensatedBarometricPressureReq_r13 = -1; /* BOOLEAN */
static int hf_lpp_assistanceAvailability_r14 = -1; /* BOOLEAN */
static int hf_lpp_sensor_MotionInformationReq_r15 = -1; /* BOOLEAN */
static int hf_lpp_adjustmentReq_r16 = -1; /* BOOLEAN */
static int hf_lpp_sensor_Modes_r13 = -1; /* T_sensor_Modes_r13 */
static int hf_lpp_sensor_AssistanceDataSupportList_r14 = -1; /* Sensor_AssistanceDataSupportList_r14 */
static int hf_lpp_idleStateForMeasurements_r14_03 = -1; /* T_idleStateForMeasurements_r14_03 */
static int hf_lpp_sensor_MotionInformationSup_r15 = -1; /* T_sensor_MotionInformationSup_r15 */
static int hf_lpp_adjustmentSupported_r16 = -1; /* T_adjustmentSupported_r16 */
static int hf_lpp_validityPeriodSupported_v1520 = -1; /* T_validityPeriodSupported_v1520 */
static int hf_lpp_validityAreaSupported_v1520 = -1; /* T_validityAreaSupported_v1520 */
static int hf_lpp_locationServerErrorCauses_r13_01 = -1; /* Sensor_LocationServerErrorCauses_r13 */
static int hf_lpp_targetDeviceErrorCauses_r13_01 = -1; /* Sensor_TargetDeviceErrorCauses_r13 */
static int hf_lpp_cause_r13_02 = -1; /* T_cause_r13_02 */
static int hf_lpp_cause_r13_03 = -1; /* T_cause_r13_03 */
static int hf_lpp_sensor_AssistanceDataList_r14 = -1; /* Sensor_AssistanceDataList_r14 */
static int hf_lpp_sensor_Error_r14 = -1; /* Sensor_Error_r13 */
static int hf_lpp_refPressure_r14 = -1; /* INTEGER_M20000_10000 */
static int hf_lpp_refPosition_r14 = -1; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */
static int hf_lpp_refTemperature_r14 = -1; /* INTEGER_M64_63 */
static int hf_lpp_period_v1520 = -1; /* T_period_v1520 */
static int hf_lpp_pressureValidityPeriod_v1520 = -1; /* PressureValidityPeriod_v1520 */
static int hf_lpp_referencePressureRate_v1520 = -1; /* INTEGER_M128_127 */
static int hf_lpp_area_v1520 = -1; /* T_area_v1520 */
static int hf_lpp_pressureValidityArea_v1520 = -1; /* PressureValidityArea_v1520 */
static int hf_lpp_gN_pressure_v1520 = -1; /* T_gN_pressure_v1520 */
static int hf_lpp_gE_pressure_v1520 = -1; /* T_gE_pressure_v1520 */
static int hf_lpp_centerPoint_v1520 = -1; /* Ellipsoid_Point */
static int hf_lpp_validityAreaWidth_v1520 = -1; /* INTEGER_1_128 */
static int hf_lpp_validityAreaHeight_v1520 = -1; /* INTEGER_1_128 */
static int hf_lpp_beginTime_v1520 = -1; /* GNSS_SystemTime */
static int hf_lpp_beginTimeAlt_v1520 = -1; /* INTEGER_0_2881 */
static int hf_lpp_duration_v1520 = -1; /* INTEGER_1_2881 */
static int hf_lpp_wlan_MeasurementInformation_r13 = -1; /* WLAN_MeasurementInformation_r13 */
static int hf_lpp_wlan_Error_r13 = -1; /* WLAN_Error_r13 */
static int hf_lpp_wlan_MeasurementList_r13 = -1; /* WLAN_MeasurementList_r13 */
static int hf_lpp_WLAN_MeasurementList_r13_item = -1; /* WLAN_MeasurementElement_r13 */
static int hf_lpp_wlan_AP_Identifier_r13 = -1; /* WLAN_AP_Identifier_r13 */
static int hf_lpp_rssi_r13 = -1; /* INTEGER_M127_128 */
static int hf_lpp_rtt_r13 = -1; /* WLAN_RTT_r13 */
static int hf_lpp_apChannelFrequency_r13 = -1; /* INTEGER_0_256 */
static int hf_lpp_servingFlag_r13 = -1; /* BOOLEAN */
static int hf_lpp_bssid_r13 = -1; /* OCTET_STRING_SIZE_6 */
static int hf_lpp_ssid_r13 = -1; /* T_ssid_r13 */
static int hf_lpp_rttValue_r13 = -1; /* INTEGER_0_16777215 */
static int hf_lpp_rttUnits_r13 = -1; /* T_rttUnits_r13 */
static int hf_lpp_rttAccuracy_r13 = -1; /* INTEGER_0_255 */
static int hf_lpp_requestedMeasurements_r13 = -1; /* T_requestedMeasurements_r13 */
static int hf_lpp_wlan_Modes_r13 = -1; /* T_wlan_Modes_r13 */
static int hf_lpp_wlan_MeasSupported_r13 = -1; /* T_wlan_MeasSupported_r13 */
static int hf_lpp_wlan_AP_AD_Supported_r14 = -1; /* T_wlan_AP_AD_Supported_r14 */
static int hf_lpp_idleStateForMeasurements_r14_04 = -1; /* T_idleStateForMeasurements_r14_04 */
static int hf_lpp_locationServerErrorCauses_r13_02 = -1; /* WLAN_LocationServerErrorCauses_r13 */
static int hf_lpp_targetDeviceErrorCauses_r13_02 = -1; /* WLAN_TargetDeviceErrorCauses_r13 */
static int hf_lpp_cause_r13_04 = -1; /* T_cause_r13_04 */
static int hf_lpp_apLocationDataUnavailable_r14 = -1; /* NULL */
static int hf_lpp_cause_r13_05 = -1; /* T_cause_r13_05 */
static int hf_lpp_wlan_AP_RSSI_MeasurementNotPossible_r13 = -1; /* NULL */
static int hf_lpp_wlan_AP_RTT_MeasurementNotPossible_r13 = -1; /* NULL */
static int hf_lpp_wlan_DataSet_r14 = -1; /* SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14 */
static int hf_lpp_wlan_DataSet_r14_item = -1; /* WLAN_DataSet_r14 */
static int hf_lpp_wlan_Error_r14 = -1; /* WLAN_Error_r13 */
static int hf_lpp_wlan_AP_List_r14 = -1; /* SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14 */
static int hf_lpp_wlan_AP_List_r14_item = -1; /* WLAN_AP_Data_r14 */
static int hf_lpp_supportedChannels_11a_r14 = -1; /* SupportedChannels_11a_r14 */
static int hf_lpp_supportedChannels_11bg_r14 = -1; /* SupportedChannels_11bg_r14 */
static int hf_lpp_ch34_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch36_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch38_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch40_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch42_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch44_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch46_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch48_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch52_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch56_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch60_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch64_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch149_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch153_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch157_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch161_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch1_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch2_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch3_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch4_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch5_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch6_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch7_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch8_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch9_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch10_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch11_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch12_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch13_r14 = -1; /* BOOLEAN */
static int hf_lpp_ch14_r14 = -1; /* BOOLEAN */
static int hf_lpp_wlan_AP_Identifier_r14 = -1; /* WLAN_AP_Identifier_r13 */
static int hf_lpp_wlan_AP_Location_r14 = -1; /* WLAN_AP_Location_r14 */
static int hf_lpp_locationDataLCI_r14 = -1; /* LocationDataLCI_r14 */
static int hf_lpp_latitudeUncertainty_r14 = -1; /* BIT_STRING_SIZE_6 */
static int hf_lpp_latitude_r14 = -1; /* BIT_STRING_SIZE_34 */
static int hf_lpp_longitudeUncertainty_r14 = -1; /* BIT_STRING_SIZE_6 */
static int hf_lpp_longitude_r14 = -1; /* BIT_STRING_SIZE_34 */
static int hf_lpp_altitudeUncertainty_r14 = -1; /* BIT_STRING_SIZE_6 */
static int hf_lpp_altitude_r14 = -1; /* BIT_STRING_SIZE_30 */
static int hf_lpp_datum_r14 = -1; /* BIT_STRING_SIZE_8 */
static int hf_lpp_requestedAD_r14 = -1; /* T_requestedAD_r14 */
static int hf_lpp_visibleAPs_r14 = -1; /* SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13 */
static int hf_lpp_visibleAPs_r14_item = -1; /* WLAN_AP_Identifier_r13 */
static int hf_lpp_wlan_AP_StoredData_r14 = -1; /* SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13 */
static int hf_lpp_wlan_AP_StoredData_r14_item = -1; /* WLAN_AP_Identifier_r13 */
static int hf_lpp_bt_MeasurementInformation_r13 = -1; /* BT_MeasurementInformation_r13 */
static int hf_lpp_bt_Error_r13 = -1; /* BT_Error_r13 */
static int hf_lpp_bt_MeasurementList_r13 = -1; /* BT_MeasurementList_r13 */
static int hf_lpp_BT_MeasurementList_r13_item = -1; /* BT_MeasurementElement_r13 */
static int hf_lpp_btAddr_r13 = -1; /* T_btAddr_r13 */
static int hf_lpp_rssi_r13_01 = -1; /* INTEGER_M128_127 */
static int hf_lpp_requestedMeasurements_r13_01 = -1; /* T_requestedMeasurements_r13_01 */
static int hf_lpp_bt_Modes_r13 = -1; /* T_bt_Modes_r13 */
static int hf_lpp_bt_MeasSupported_r13 = -1; /* T_bt_MeasSupported_r13 */
static int hf_lpp_idleStateForMeasurements_r14_05 = -1; /* T_idleStateForMeasurements_r14_05 */
static int hf_lpp_locationServerErrorCauses_r13_03 = -1; /* BT_LocationServerErrorCauses_r13 */
static int hf_lpp_targetDeviceErrorCauses_r13_03 = -1; /* BT_TargetDeviceErrorCauses_r13 */
static int hf_lpp_cause_r13_06 = -1; /* T_cause_r13_06 */
static int hf_lpp_cause_r13_07 = -1; /* T_cause_r13_07 */
static int hf_lpp_bt_Beacon_rssiMeasurementNotPossible_r13 = -1; /* NULL */
static int hf_lpp_nr_UL_SRS_Capability_r16 = -1; /* NR_UL_SRS_Capability_r16 */
static int hf_lpp_nr_ECID_SignalMeasurementInformation_r16 = -1; /* NR_ECID_SignalMeasurementInformation_r16 */
static int hf_lpp_nr_ECID_Error_r16 = -1; /* NR_ECID_Error_r16 */
static int hf_lpp_nr_PrimaryCellMeasuredResults_r16 = -1; /* NR_MeasuredResultsElement_r16 */
static int hf_lpp_nr_MeasuredResultsList_r16 = -1; /* NR_MeasuredResultsList_r16 */
static int hf_lpp_NR_MeasuredResultsList_r16_item = -1; /* NR_MeasuredResultsElement_r16 */
static int hf_lpp_nr_ARFCN_r16_01 = -1; /* T_nr_ARFCN_r16 */
static int hf_lpp_ssb_ARFCN_r16 = -1; /* ARFCN_ValueNR_r15 */
static int hf_lpp_csi_RS_pointA_r16 = -1; /* ARFCN_ValueNR_r15 */
static int hf_lpp_resultsSSB_Cell_r16 = -1; /* MeasQuantityResults_r16 */
static int hf_lpp_resultsCSI_RS_Cell_r16 = -1; /* MeasQuantityResults_r16 */
static int hf_lpp_resultsSSB_Indexes_r16 = -1; /* ResultsPerSSB_IndexList_r16 */
static int hf_lpp_resultsCSI_RS_Indexes_r16 = -1; /* ResultsPerCSI_RS_IndexList_r16 */
static int hf_lpp_nr_RSRP_r16 = -1; /* INTEGER_0_127 */
static int hf_lpp_nr_RSRQ_r16 = -1; /* INTEGER_0_127 */
static int hf_lpp_ResultsPerSSB_IndexList_r16_item = -1; /* ResultsPerSSB_Index_r16 */
static int hf_lpp_ssb_Results_r16 = -1; /* MeasQuantityResults_r16 */
static int hf_lpp_ResultsPerCSI_RS_IndexList_r16_item = -1; /* ResultsPerCSI_RS_Index_r16 */
static int hf_lpp_csi_RS_Index_r16 = -1; /* INTEGER_0_95 */
static int hf_lpp_csi_RS_Results_r16 = -1; /* MeasQuantityResults_r16 */
static int hf_lpp_requestedMeasurements_r16 = -1; /* T_requestedMeasurements_r16 */
static int hf_lpp_nr_ECID_MeasSupported_r16 = -1; /* T_nr_ECID_MeasSupported_r16 */
static int hf_lpp_periodicalReporting_r16 = -1; /* T_periodicalReporting_r16 */
static int hf_lpp_triggeredReporting_r16 = -1; /* T_triggeredReporting_r16 */
static int hf_lpp_locationServerErrorCauses_r16 = -1; /* NR_ECID_LocationServerErrorCauses_r16 */
static int hf_lpp_targetDeviceErrorCauses_r16 = -1; /* NR_ECID_TargetDeviceErrorCauses_r16 */
static int hf_lpp_cause_r16 = -1; /* T_cause_r16 */
static int hf_lpp_cause_r16_01 = -1; /* T_cause_r16_01 */
static int hf_lpp_ss_RSRPMeasurementNotPossible_r16 = -1; /* NULL */
static int hf_lpp_ss_RSRQMeasurementNotPossible_r16 = -1; /* NULL */
static int hf_lpp_csi_RSRPMeasurementNotPossible_r16 = -1; /* NULL */
static int hf_lpp_csi_RSRQMeasurementNotPossible_r16 = -1; /* NULL */
static int hf_lpp_nr_DL_PRS_AssistanceData_r16 = -1; /* NR_DL_PRS_AssistanceData_r16 */
static int hf_lpp_nr_SelectedDL_PRS_IndexList_r16 = -1; /* NR_SelectedDL_PRS_IndexList_r16 */
static int hf_lpp_nr_PositionCalculationAssistance_r16 = -1; /* NR_PositionCalculationAssistance_r16 */
static int hf_lpp_nr_DL_TDOA_Error_r16 = -1; /* NR_DL_TDOA_Error_r16 */
static int hf_lpp_nr_AdType_r16 = -1; /* T_nr_AdType_r16 */
static int hf_lpp_nr_DL_TDOA_SignalMeasurementInformation_r16 = -1; /* NR_DL_TDOA_SignalMeasurementInformation_r16 */
static int hf_lpp_nr_dl_tdoa_LocationInformation_r16 = -1; /* NR_DL_TDOA_LocationInformation_r16 */
static int hf_lpp_dl_PRS_ReferenceInfo_r16 = -1; /* DL_PRS_ID_Info_r16 */
static int hf_lpp_nr_DL_TDOA_MeasList_r16 = -1; /* NR_DL_TDOA_MeasList_r16 */
static int hf_lpp_NR_DL_TDOA_MeasList_r16_item = -1; /* NR_DL_TDOA_MeasElement_r16 */
static int hf_lpp_nr_TimeStamp_r16 = -1; /* NR_TimeStamp_r16 */
static int hf_lpp_nr_RSTD_r16 = -1; /* T_nr_RSTD_r16 */
static int hf_lpp_k0_r16_01 = -1; /* INTEGER_0_1970049 */
static int hf_lpp_k1_r16_01 = -1; /* INTEGER_0_985025 */
static int hf_lpp_k2_r16_01 = -1; /* INTEGER_0_492513 */
static int hf_lpp_k3_r16_01 = -1; /* INTEGER_0_246257 */
static int hf_lpp_k4_r16_01 = -1; /* INTEGER_0_123129 */
static int hf_lpp_k5_r16_01 = -1; /* INTEGER_0_61565 */
static int hf_lpp_nr_AdditionalPathList_r16 = -1; /* NR_AdditionalPathList_r16 */
static int hf_lpp_nr_TimingQuality_r16 = -1; /* NR_TimingQuality_r16 */
static int hf_lpp_nr_DL_PRS_RSRP_Result_r16 = -1; /* INTEGER_0_126 */
static int hf_lpp_nr_DL_TDOA_AdditionalMeasurements_r16 = -1; /* NR_DL_TDOA_AdditionalMeasurements_r16 */
static int hf_lpp_NR_DL_TDOA_AdditionalMeasurements_r16_item = -1; /* NR_DL_TDOA_AdditionalMeasurementElement_r16 */
static int hf_lpp_nr_RSTD_ResultDiff_r16 = -1; /* T_nr_RSTD_ResultDiff_r16 */
static int hf_lpp_k0_r16_02 = -1; /* INTEGER_0_8191 */
static int hf_lpp_k1_r16_02 = -1; /* INTEGER_0_4095 */
static int hf_lpp_k2_r16_02 = -1; /* INTEGER_0_2047 */
static int hf_lpp_k3_r16_02 = -1; /* INTEGER_0_1023 */
static int hf_lpp_k4_r16_02 = -1; /* INTEGER_0_511 */
static int hf_lpp_k5_r16_02 = -1; /* INTEGER_0_255 */
static int hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r16 = -1; /* INTEGER_0_61 */
static int hf_lpp_measurementReferenceTime_r16 = -1; /* T_measurementReferenceTime_r16 */
static int hf_lpp_systemFrameNumber_r16_01 = -1; /* NR_TimeStamp_r16 */
static int hf_lpp_utc_time_r16 = -1; /* UTCTime */
static int hf_lpp_nr_DL_PRS_RstdMeasurementInfoRequest_r16 = -1; /* T_nr_DL_PRS_RstdMeasurementInfoRequest_r16 */
static int hf_lpp_nr_RequestedMeasurements_r16 = -1; /* T_nr_RequestedMeasurements_r16 */
static int hf_lpp_nr_AssistanceAvailability_r16 = -1; /* BOOLEAN */
static int hf_lpp_nr_DL_TDOA_ReportConfig_r16 = -1; /* NR_DL_TDOA_ReportConfig_r16 */
static int hf_lpp_additionalPaths_r16 = -1; /* T_additionalPaths_r16 */
static int hf_lpp_maxDL_PRS_RSTD_MeasurementsPerTRPPair_r16 = -1; /* INTEGER_1_4 */
static int hf_lpp_timingReportingGranularityFactor_r16 = -1; /* INTEGER_0_5 */
static int hf_lpp_nr_DL_TDOA_Mode_r16 = -1; /* PositioningModes */
static int hf_lpp_nr_DL_TDOA_PRS_Capability_r16 = -1; /* NR_DL_PRS_ResourcesCapability_r16 */
static int hf_lpp_nr_DL_TDOA_MeasurementCapability_r16 = -1; /* NR_DL_TDOA_MeasurementCapability_r16 */
static int hf_lpp_nr_DL_PRS_QCL_ProcessingCapability_r16 = -1; /* NR_DL_PRS_QCL_ProcessingCapability_r16 */
static int hf_lpp_nr_DL_PRS_ProcessingCapability_r16 = -1; /* NR_DL_PRS_ProcessingCapability_r16 */
static int hf_lpp_additionalPathsReport_r16 = -1; /* T_additionalPathsReport_r16 */
static int hf_lpp_periodicalReporting_r16_01 = -1; /* PositioningModes */
static int hf_lpp_dl_RSTD_MeasurementPerPairOfTRP_FR1_r16 = -1; /* INTEGER_1_4 */
static int hf_lpp_dl_RSTD_MeasurementPerPairOfTRP_FR2_r16 = -1; /* INTEGER_1_4 */
static int hf_lpp_supportOfDL_PRS_RSRP_MeasFR1_r16 = -1; /* T_supportOfDL_PRS_RSRP_MeasFR1_r16 */
static int hf_lpp_supportOfDL_PRS_RSRP_MeasFR2_r16 = -1; /* T_supportOfDL_PRS_RSRP_MeasFR2_r16 */
static int hf_lpp_locationServerErrorCauses_r16_01 = -1; /* NR_DL_TDOA_LocationServerErrorCauses_r16 */
static int hf_lpp_targetDeviceErrorCauses_r16_01 = -1; /* NR_DL_TDOA_TargetDeviceErrorCauses_r16 */
static int hf_lpp_cause_r16_02 = -1; /* T_cause_r16_02 */
static int hf_lpp_cause_r16_03 = -1; /* T_cause_r16_03 */
static int hf_lpp_nr_DL_AoD_Error_r16 = -1; /* NR_DL_AoD_Error_r16 */
static int hf_lpp_nr_AdType_r16_01 = -1; /* T_nr_AdType_r16_01 */
static int hf_lpp_nr_DL_AoD_SignalMeasurementInformation_r16 = -1; /* NR_DL_AoD_SignalMeasurementInformation_r16 */
static int hf_lpp_nr_dl_AoD_LocationInformation_r16 = -1; /* NR_DL_AoD_LocationInformation_r16 */
static int hf_lpp_nr_DL_AoD_MeasList_r16 = -1; /* NR_DL_AoD_MeasList_r16 */
static int hf_lpp_NR_DL_AoD_MeasList_r16_item = -1; /* NR_DL_AoD_MeasElement_r16 */
static int hf_lpp_nr_DL_PRS_RxBeamIndex_r16 = -1; /* INTEGER_1_8 */
static int hf_lpp_nr_DL_AoD_AdditionalMeasurements_r16 = -1; /* NR_DL_AoD_AdditionalMeasurements_r16 */
static int hf_lpp_NR_DL_AoD_AdditionalMeasurements_r16_item = -1; /* NR_DL_AoD_AdditionalMeasurementElement_r16 */
static int hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r16_01 = -1; /* INTEGER_0_30 */
static int hf_lpp_measurementReferenceTime_r16_01 = -1; /* T_measurementReferenceTime_r16_01 */
static int hf_lpp_sfn_time_r16 = -1; /* NR_TimeStamp_r16 */
static int hf_lpp_nr_DL_AoD_ReportConfig_r16 = -1; /* NR_DL_AoD_ReportConfig_r16 */
static int hf_lpp_maxDL_PRS_RSRP_MeasurementsPerTRP_r16 = -1; /* INTEGER_1_8 */
static int hf_lpp_nr_DL_AoD_Mode_r16 = -1; /* PositioningModes */
static int hf_lpp_nr_DL_AoD_PRS_Capability_r16 = -1; /* NR_DL_PRS_ResourcesCapability_r16 */
static int hf_lpp_nr_DL_AoD_MeasurementCapability_r16 = -1; /* NR_DL_AoD_MeasurementCapability_r16 */
static int hf_lpp_maxDL_PRS_RSRP_MeasurementFR1_r16 = -1; /* INTEGER_1_8 */
static int hf_lpp_maxDL_PRS_RSRP_MeasurementFR2_r16 = -1; /* INTEGER_1_8 */
static int hf_lpp_dl_AoD_MeasCapabilityBandList_r16 = -1; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_AoD_MeasCapabilityPerBand_r16 */
static int hf_lpp_dl_AoD_MeasCapabilityBandList_r16_item = -1; /* DL_AoD_MeasCapabilityPerBand_r16 */
static int hf_lpp_simul_NR_DL_AoD_DL_TDOA_r16 = -1; /* T_simul_NR_DL_AoD_DL_TDOA_r16 */
static int hf_lpp_simul_NR_DL_AoD_Multi_RTT_r16 = -1; /* T_simul_NR_DL_AoD_Multi_RTT_r16 */
static int hf_lpp_locationServerErrorCauses_r16_02 = -1; /* NR_DL_AoD_LocationServerErrorCauses_r16 */
static int hf_lpp_targetDeviceErrorCauses_r16_02 = -1; /* NR_DL_AoD_TargetDeviceErrorCauses_r16 */
static int hf_lpp_cause_r16_04 = -1; /* T_cause_r16_04 */
static int hf_lpp_cause_r16_05 = -1; /* T_cause_r16_05 */
static int hf_lpp_nr_Multi_RTT_Error_r16 = -1; /* NR_Multi_RTT_Error_r16 */
static int hf_lpp_nr_AdType_r16_02 = -1; /* T_nr_AdType_r16_02 */
static int hf_lpp_nr_Multi_RTT_SignalMeasurementInformation_r16 = -1; /* NR_Multi_RTT_SignalMeasurementInformation_r16 */
static int hf_lpp_nr_Multi_RTT_MeasList_r16 = -1; /* NR_Multi_RTT_MeasList_r16 */
static int hf_lpp_nr_NTA_Offset_r16 = -1; /* T_nr_NTA_Offset_r16 */
static int hf_lpp_NR_Multi_RTT_MeasList_r16_item = -1; /* NR_Multi_RTT_MeasElement_r16 */
static int hf_lpp_nr_UE_RxTxTimeDiff_r16 = -1; /* T_nr_UE_RxTxTimeDiff_r16 */
static int hf_lpp_nr_Multi_RTT_AdditionalMeasurements_r16 = -1; /* NR_Multi_RTT_AdditionalMeasurements_r16 */
static int hf_lpp_NR_Multi_RTT_AdditionalMeasurements_r16_item = -1; /* NR_Multi_RTT_AdditionalMeasurementElement_r16 */
static int hf_lpp_nr_UE_RxTxTimeDiffAdditional_r16 = -1; /* T_nr_UE_RxTxTimeDiffAdditional_r16 */
static int hf_lpp_nr_UE_RxTxTimeDiffMeasurementInfoRequest_r16 = -1; /* T_nr_UE_RxTxTimeDiffMeasurementInfoRequest_r16 */
static int hf_lpp_nr_RequestedMeasurements_r16_01 = -1; /* T_nr_RequestedMeasurements_r16_01 */
static int hf_lpp_nr_Multi_RTT_ReportConfig_r16 = -1; /* NR_Multi_RTT_ReportConfig_r16 */
static int hf_lpp_additionalPaths_r16_01 = -1; /* T_additionalPaths_r16_01 */
static int hf_lpp_maxDL_PRS_RxTxTimeDiffMeasPerTRP_r16 = -1; /* INTEGER_1_4 */
static int hf_lpp_nr_Multi_RTT_PRS_Capability_r16 = -1; /* NR_DL_PRS_ResourcesCapability_r16 */
static int hf_lpp_nr_Multi_RTT_MeasurementCapability_r16 = -1; /* NR_Multi_RTT_MeasurementCapability_r16 */
static int hf_lpp_additionalPathsReport_r16_01 = -1; /* T_additionalPathsReport_r16_01 */
static int hf_lpp_periodicalReporting_r16_02 = -1; /* T_periodicalReporting_r16_01 */
static int hf_lpp_maxNrOfRx_TX_MeasFR1_r16 = -1; /* INTEGER_1_4 */
static int hf_lpp_maxNrOfRx_TX_MeasFR2_r16 = -1; /* INTEGER_1_4 */
static int hf_lpp_supportOfRSRP_MeasFR1_r16 = -1; /* T_supportOfRSRP_MeasFR1_r16 */
static int hf_lpp_supportOfRSRP_MeasFR2_r16 = -1; /* T_supportOfRSRP_MeasFR2_r16 */
static int hf_lpp_srs_AssocPRS_MultiLayersFR1_r16 = -1; /* T_srs_AssocPRS_MultiLayersFR1_r16 */
static int hf_lpp_srs_AssocPRS_MultiLayersFR2_r16 = -1; /* T_srs_AssocPRS_MultiLayersFR2_r16 */
static int hf_lpp_locationServerErrorCauses_r16_03 = -1; /* NR_Multi_RTT_LocationServerErrorCauses_r16 */
static int hf_lpp_targetDeviceErrorCauses_r16_03 = -1; /* NR_Multi_RTT_TargetDeviceErrorCauses_r16 */
static int hf_lpp_cause_r16_06 = -1; /* T_cause_r16_06 */
static int hf_lpp_cause_r16_07 = -1; /* T_cause_r16_07 */
static int hf_lpp_valueTag_r15 = -1; /* INTEGER_0_63 */
static int hf_lpp_expirationTime_r15 = -1; /* UTCTime */
static int hf_lpp_cipheringKeyData_r15 = -1; /* CipheringKeyData_r15 */
static int hf_lpp_segmentationInfo_r15 = -1; /* SegmentationInfo_r15 */
static int hf_lpp_assistanceDataElement_r15 = -1; /* T_assistanceDataElement_r15 */
static int hf_lpp_cipherSetID_r15 = -1; /* INTEGER_0_65535 */
static int hf_lpp_d0_r15 = -1; /* BIT_STRING_SIZE_1_128 */
static int hf_lpp_segmentationOption_r15 = -1; /* T_segmentationOption_r15 */
static int hf_lpp_assistanceDataSegmentType_r15 = -1; /* T_assistanceDataSegmentType_r15 */
static int hf_lpp_assistanceDataSegmentNumber_r15 = -1; /* INTEGER_0_63 */
static int hf_lpp_otdoa_ReferenceCellInfo_r15 = -1; /* OTDOA_ReferenceCellInfo */
static int hf_lpp_otdoa_NeighbourCellInfo_r15 = -1; /* OTDOA_NeighbourCellInfoList */
static int hf_lpp_nr_trp_LocationInfo_r16 = -1; /* NR_TRP_LocationInfo_r16 */
static int hf_lpp_nr_dl_prs_BeamInfo_r16 = -1; /* NR_DL_PRS_BeamInfo_r16 */
static int hf_lpp_nr_rtd_Info_r16 = -1; /* NR_RTD_Info_r16 */
/* named bits */
static int hf_lpp_T_accessTypes_eutra = -1;
static int hf_lpp_T_accessTypes_utra = -1;
static int hf_lpp_T_accessTypes_gsm = -1;
static int hf_lpp_T_accessTypes_nb_iot = -1;
static int hf_lpp_T_accessTypes_nr_v1510 = -1;
static int hf_lpp_UpdateCapabilities_r15_primaryCellID_r15 = -1;
static int hf_lpp_T_posModes_standalone = -1;
static int hf_lpp_T_posModes_ue_based = -1;
static int hf_lpp_T_posModes_ue_assisted = -1;
static int hf_lpp_T_lpp_message_segmentation_req_r14_serverToTarget = -1;
static int hf_lpp_T_lpp_message_segmentation_req_r14_targetToServer = -1;
static int hf_lpp_T_lpp_message_segmentation_r14_serverToTarget = -1;
static int hf_lpp_T_lpp_message_segmentation_r14_targetToServer = -1;
static int hf_lpp_LocationSource_r13_a_gnss = -1;
static int hf_lpp_LocationSource_r13_wlan = -1;
static int hf_lpp_LocationSource_r13_bt = -1;
static int hf_lpp_LocationSource_r13_tbs = -1;
static int hf_lpp_LocationSource_r13_sensor = -1;
static int hf_lpp_LocationSource_r13_ha_gnss_v1510 = -1;
static int hf_lpp_LocationSource_r13_motion_sensor_v1550 = -1;
static int hf_lpp_LocationSource_r13_dl_tdoa_r16 = -1;
static int hf_lpp_LocationSource_r13_dl_aod_r16 = -1;
static int hf_lpp_T_adType_r14_prs = -1;
static int hf_lpp_T_adType_r14_nprs = -1;
static int hf_lpp_T_otdoa_Mode_ue_assisted = -1;
static int hf_lpp_T_otdoa_Mode_ue_assisted_NB_r14 = -1;
static int hf_lpp_T_otdoa_Mode_ue_assisted_NB_TDD_r15 = -1;
static int hf_lpp_T_periodicAssistanceData_r15_solicited = -1;
static int hf_lpp_T_periodicAssistanceData_r15_unsolicited = -1;
static int hf_lpp_T_ionoModel_klobuchar = -1;
static int hf_lpp_T_ionoModel_neQuick = -1;
static int hf_lpp_T_ionoModel_klobuchar2_r16 = -1;
static int hf_lpp_T_clockModel_model_1 = -1;
static int hf_lpp_T_clockModel_model_2 = -1;
static int hf_lpp_T_clockModel_model_3 = -1;
static int hf_lpp_T_clockModel_model_4 = -1;
static int hf_lpp_T_clockModel_model_5 = -1;
static int hf_lpp_T_clockModel_model_6 = -1;
static int hf_lpp_T_clockModel_model_7_r16 = -1;
static int hf_lpp_T_clockModel_model_8_r16 = -1;
static int hf_lpp_T_orbitModel_model_1 = -1;
static int hf_lpp_T_orbitModel_model_2 = -1;
static int hf_lpp_T_orbitModel_model_3 = -1;
static int hf_lpp_T_orbitModel_model_4 = -1;
static int hf_lpp_T_orbitModel_model_5 = -1;
static int hf_lpp_T_orbitModel_model_6 = -1;
static int hf_lpp_T_orbitModel_model_7_r16 = -1;
static int hf_lpp_T_orbitModel_model_8_r16 = -1;
static int hf_lpp_T_almanacModel_model_1 = -1;
static int hf_lpp_T_almanacModel_model_2 = -1;
static int hf_lpp_T_almanacModel_model_3 = -1;
static int hf_lpp_T_almanacModel_model_4 = -1;
static int hf_lpp_T_almanacModel_model_5 = -1;
static int hf_lpp_T_almanacModel_model_6 = -1;
static int hf_lpp_T_almanacModel_model_7 = -1;
static int hf_lpp_T_utc_Model_model_1 = -1;
static int hf_lpp_T_utc_Model_model_2 = -1;
static int hf_lpp_T_utc_Model_model_3 = -1;
static int hf_lpp_T_utc_Model_model_4 = -1;
static int hf_lpp_T_utc_Model_model_5 = -1;
static int hf_lpp_T_gnss_ids_gps = -1;
static int hf_lpp_T_gnss_ids_sbas = -1;
static int hf_lpp_T_gnss_ids_qzss = -1;
static int hf_lpp_T_gnss_ids_galileo = -1;
static int hf_lpp_T_gnss_ids_glonass = -1;
static int hf_lpp_T_gnss_ids_bds = -1;
static int hf_lpp_T_gnss_ids_navic_v1610 = -1;
static int hf_lpp_T_sbas_IDs_waas = -1;
static int hf_lpp_T_sbas_IDs_egnos = -1;
static int hf_lpp_T_sbas_IDs_msas = -1;
static int hf_lpp_T_sbas_IDs_gagan = -1;
static int hf_lpp_T_requestedMeasurements_rsrpReq = -1;
static int hf_lpp_T_requestedMeasurements_rsrqReq = -1;
static int hf_lpp_T_requestedMeasurements_ueRxTxReq = -1;
static int hf_lpp_T_requestedMeasurements_nrsrpReq_r14 = -1;
static int hf_lpp_T_requestedMeasurements_nrsrqReq_r14 = -1;
static int hf_lpp_T_ecid_MeasSupported_rsrpSup = -1;
static int hf_lpp_T_ecid_MeasSupported_rsrqSup = -1;
static int hf_lpp_T_ecid_MeasSupported_ueRxTxSup = -1;
static int hf_lpp_T_ecid_MeasSupported_nrsrpSup_r14 = -1;
static int hf_lpp_T_ecid_MeasSupported_nrsrqSup_r14 = -1;
static int hf_lpp_T_mbsRequestedMeasurements_r14_rssi = -1;
static int hf_lpp_T_tbs_Modes_r13_standalone = -1;
static int hf_lpp_T_tbs_Modes_r13_ue_assisted = -1;
static int hf_lpp_T_tbs_Modes_r13_ue_based = -1;
static int hf_lpp_T_mbs_ConfigSupport_r14_tb1 = -1;
static int hf_lpp_T_mbs_ConfigSupport_r14_tb2 = -1;
static int hf_lpp_T_mbs_ConfigSupport_r14_tb3 = -1;
static int hf_lpp_T_mbs_ConfigSupport_r14_tb4 = -1;
static int hf_lpp_T_sensor_Modes_r13_standalone = -1;
static int hf_lpp_T_sensor_Modes_r13_ue_assisted = -1;
static int hf_lpp_T_sensor_Modes_r13_ue_based = -1;
static int hf_lpp_T_requestedMeasurements_r13_rssi = -1;
static int hf_lpp_T_requestedMeasurements_r13_rtt = -1;
static int hf_lpp_T_wlan_Modes_r13_standalone = -1;
static int hf_lpp_T_wlan_Modes_r13_ue_assisted = -1;
static int hf_lpp_T_wlan_Modes_r13_ue_based = -1;
static int hf_lpp_T_wlan_MeasSupported_r13_rssi_r13 = -1;
static int hf_lpp_T_wlan_MeasSupported_r13_rtt_r13 = -1;
static int hf_lpp_T_wlan_AP_AD_Supported_r14_ap_identifier = -1;
static int hf_lpp_T_wlan_AP_AD_Supported_r14_ap_location = -1;
static int hf_lpp_T_requestedAD_r14_ap_identifier = -1;
static int hf_lpp_T_requestedAD_r14_ap_location = -1;
static int hf_lpp_T_requestedMeasurements_r13_01_rssi = -1;
static int hf_lpp_T_bt_Modes_r13_standalone = -1;
static int hf_lpp_T_bt_Modes_r13_ue_assisted = -1;
static int hf_lpp_T_bt_MeasSupported_r13_rssi_r13 = -1;
static int hf_lpp_T_requestedMeasurements_r16_ssrsrpReq = -1;
static int hf_lpp_T_requestedMeasurements_r16_ssrsrqReq = -1;
static int hf_lpp_T_requestedMeasurements_r16_csirsrpReq = -1;
static int hf_lpp_T_requestedMeasurements_r16_csirsrqReq = -1;
static int hf_lpp_T_nr_ECID_MeasSupported_r16_ssrsrpSup = -1;
static int hf_lpp_T_nr_ECID_MeasSupported_r16_ssrsrqSup = -1;
static int hf_lpp_T_nr_ECID_MeasSupported_r16_csirsrpSup = -1;
static int hf_lpp_T_nr_ECID_MeasSupported_r16_csirsrqSup = -1;
static int hf_lpp_T_nr_AdType_r16_dl_prs = -1;
static int hf_lpp_T_nr_AdType_r16_posCalc = -1;
static int hf_lpp_T_nr_RequestedMeasurements_r16_prsrsrpReq = -1;
static int hf_lpp_T_nr_AdType_r16_01_dl_prs = -1;
static int hf_lpp_T_nr_AdType_r16_01_posCalc = -1;
static int hf_lpp_T_nr_AdType_r16_02_dl_prs = -1;
static int hf_lpp_T_nr_AdType_r16_02_ul_srs = -1;
static int hf_lpp_T_nr_RequestedMeasurements_r16_01_prsrsrpReq = -1;
static int dummy_hf_lpp_eag_field = -1; /* never registered */
/*--- End of included file: packet-lpp-hf.c ---*/
#line 38 "./asn1/lpp/packet-lpp-template.c"
static int hf_lpp_svHealthExt_v1240_e5bhs = -1;
static int hf_lpp_svHealthExt_v1240_e1_bhs = -1;
static int hf_lpp_kepSV_StatusINAV_e5bhs = -1;
static int hf_lpp_kepSV_StatusINAV_e1_bhs = -1;
static int hf_lpp_kepSV_StatusFNAV_e5ahs = -1;
static int hf_lpp_bdsSvHealth_r12_sat_clock = -1;
static int hf_lpp_bdsSvHealth_r12_b1i = -1;
static int hf_lpp_bdsSvHealth_r12_b2i = -1;
static int hf_lpp_bdsSvHealth_r12_nav = -1;
static int hf_lpp_AssistanceDataSIBelement_r15_PDU = -1;
static dissector_handle_t lppe_handle = NULL;
static guint32 lpp_epdu_id = -1;
/* Initialize the subtree pointers */
static gint ett_lpp = -1;
static gint ett_lpp_svHealthExt_v1240 = -1;
static gint ett_kepSV_StatusINAV = -1;
static gint ett_kepSV_StatusFNAV = -1;
static gint ett_lpp_bdsSvHealth_r12 = -1;
static gint ett_lpp_assistanceDataElement_r15 = -1;
/*--- Included file: packet-lpp-ett.c ---*/
#line 1 "./asn1/lpp/packet-lpp-ett.c"
static gint ett_lpp_LPP_Message = -1;
static gint ett_lpp_Acknowledgement = -1;
static gint ett_lpp_LPP_MessageBody = -1;
static gint ett_lpp_T_c1 = -1;
static gint ett_lpp_T_messageClassExtension = -1;
static gint ett_lpp_LPP_TransactionID = -1;
static gint ett_lpp_RequestCapabilities = -1;
static gint ett_lpp_T_criticalExtensions = -1;
static gint ett_lpp_T_c1_01 = -1;
static gint ett_lpp_T_criticalExtensionsFuture = -1;
static gint ett_lpp_RequestCapabilities_r9_IEs = -1;
static gint ett_lpp_ProvideCapabilities = -1;
static gint ett_lpp_T_criticalExtensions_01 = -1;
static gint ett_lpp_T_c1_02 = -1;
static gint ett_lpp_T_criticalExtensionsFuture_01 = -1;
static gint ett_lpp_ProvideCapabilities_r9_IEs = -1;
static gint ett_lpp_RequestAssistanceData = -1;
static gint ett_lpp_T_criticalExtensions_02 = -1;
static gint ett_lpp_T_c1_03 = -1;
static gint ett_lpp_T_criticalExtensionsFuture_02 = -1;
static gint ett_lpp_RequestAssistanceData_r9_IEs = -1;
static gint ett_lpp_ProvideAssistanceData = -1;
static gint ett_lpp_T_criticalExtensions_03 = -1;
static gint ett_lpp_T_c1_04 = -1;
static gint ett_lpp_T_criticalExtensionsFuture_03 = -1;
static gint ett_lpp_ProvideAssistanceData_r9_IEs = -1;
static gint ett_lpp_RequestLocationInformation = -1;
static gint ett_lpp_T_criticalExtensions_04 = -1;
static gint ett_lpp_T_c1_05 = -1;
static gint ett_lpp_T_criticalExtensionsFuture_04 = -1;
static gint ett_lpp_RequestLocationInformation_r9_IEs = -1;
static gint ett_lpp_ProvideLocationInformation = -1;
static gint ett_lpp_T_criticalExtensions_05 = -1;
static gint ett_lpp_T_c1_06 = -1;
static gint ett_lpp_T_criticalExtensionsFuture_05 = -1;
static gint ett_lpp_ProvideLocationInformation_r9_IEs = -1;
static gint ett_lpp_Abort = -1;
static gint ett_lpp_T_criticalExtensions_06 = -1;
static gint ett_lpp_T_c1_07 = -1;
static gint ett_lpp_T_criticalExtensionsFuture_06 = -1;
static gint ett_lpp_Abort_r9_IEs = -1;
static gint ett_lpp_Error = -1;
static gint ett_lpp_T_criticalExtensionsFuture_07 = -1;
static gint ett_lpp_Error_r9_IEs = -1;
static gint ett_lpp_AccessTypes = -1;
static gint ett_lpp_T_accessTypes = -1;
static gint ett_lpp_CarrierFreq_NB_r14 = -1;
static gint ett_lpp_CellGlobalIdEUTRA_AndUTRA = -1;
static gint ett_lpp_T_plmn_Identity = -1;
static gint ett_lpp_T_mcc = -1;
static gint ett_lpp_T_mnc = -1;
static gint ett_lpp_T_cellIdentity = -1;
static gint ett_lpp_CellGlobalIdGERAN = -1;
static gint ett_lpp_T_plmn_Identity_01 = -1;
static gint ett_lpp_T_mcc_01 = -1;
static gint ett_lpp_T_mnc_01 = -1;
static gint ett_lpp_ECGI = -1;
static gint ett_lpp_T_mcc_02 = -1;
static gint ett_lpp_T_mnc_02 = -1;
static gint ett_lpp_Ellipsoid_Point = -1;
static gint ett_lpp_Ellipsoid_PointWithUncertaintyCircle = -1;
static gint ett_lpp_EllipsoidPointWithUncertaintyEllipse = -1;
static gint ett_lpp_EllipsoidPointWithAltitude = -1;
static gint ett_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid = -1;
static gint ett_lpp_EllipsoidArc = -1;
static gint ett_lpp_EPDU_Sequence = -1;
static gint ett_lpp_EPDU = -1;
static gint ett_lpp_EPDU_Identifier = -1;
static gint ett_lpp_HighAccuracyEllipsoidPointWithUncertaintyEllipse_r15 = -1;
static gint ett_lpp_HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15 = -1;
static gint ett_lpp_HorizontalVelocity = -1;
static gint ett_lpp_HorizontalWithVerticalVelocity = -1;
static gint ett_lpp_HorizontalVelocityWithUncertainty = -1;
static gint ett_lpp_HorizontalWithVerticalVelocityAndUncertainty = -1;
static gint ett_lpp_LocationCoordinateTypes = -1;
static gint ett_lpp_NCGI_r15 = -1;
static gint ett_lpp_T_mcc_r15 = -1;
static gint ett_lpp_T_mnc_r15 = -1;
static gint ett_lpp_PeriodicAssistanceDataControlParameters_r15 = -1;
static gint ett_lpp_PeriodicSessionID_r15 = -1;
static gint ett_lpp_UpdateCapabilities_r15 = -1;
static gint ett_lpp_Polygon = -1;
static gint ett_lpp_PolygonPoints = -1;
static gint ett_lpp_PositioningModes = -1;
static gint ett_lpp_T_posModes = -1;
static gint ett_lpp_VelocityTypes = -1;
static gint ett_lpp_CommonIEsRequestCapabilities = -1;
static gint ett_lpp_T_lpp_message_segmentation_req_r14 = -1;
static gint ett_lpp_CommonIEsProvideCapabilities = -1;
static gint ett_lpp_T_lpp_message_segmentation_r14 = -1;
static gint ett_lpp_CommonIEsRequestAssistanceData = -1;
static gint ett_lpp_CommonIEsProvideAssistanceData = -1;
static gint ett_lpp_CommonIEsRequestLocationInformation = -1;
static gint ett_lpp_PeriodicalReportingCriteria = -1;
static gint ett_lpp_TriggeredReportingCriteria = -1;
static gint ett_lpp_QoS = -1;
static gint ett_lpp_HorizontalAccuracy = -1;
static gint ett_lpp_VerticalAccuracy = -1;
static gint ett_lpp_HorizontalAccuracyExt_r15 = -1;
static gint ett_lpp_VerticalAccuracyExt_r15 = -1;
static gint ett_lpp_ResponseTime = -1;
static gint ett_lpp_ResponseTimeNB_r14 = -1;
static gint ett_lpp_MessageSizeLimitNB_r14 = -1;
static gint ett_lpp_CommonIEsProvideLocationInformation = -1;
static gint ett_lpp_LocationCoordinates = -1;
static gint ett_lpp_Velocity = -1;
static gint ett_lpp_LocationError = -1;
static gint ett_lpp_LocationSource_r13 = -1;
static gint ett_lpp_CommonIEsAbort = -1;
static gint ett_lpp_CommonIEsError = -1;
static gint ett_lpp_DL_PRS_ID_Info_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxResourceIDs_r16_OF_NR_DL_PRS_ResourceID_r16 = -1;
static gint ett_lpp_NR_AdditionalPathList_r16 = -1;
static gint ett_lpp_NR_AdditionalPath_r16 = -1;
static gint ett_lpp_T_nr_RelativeTimeDifference_r16 = -1;
static gint ett_lpp_NR_DL_PRS_AssistanceData_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxFreqLayers_r16_OF_NR_DL_PRS_AssistanceDataPerFreq_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPs_r16_OF_NR_SSB_Config_r16 = -1;
static gint ett_lpp_NR_DL_PRS_AssistanceDataPerFreq_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_DL_PRS_AssistanceDataPerTRP_r16 = -1;
static gint ett_lpp_NR_DL_PRS_AssistanceDataPerTRP_r16 = -1;
static gint ett_lpp_NR_DL_PRS_PositioningFrequencyLayer_r16 = -1;
static gint ett_lpp_NR_DL_PRS_SFN0_Offset_r16 = -1;
static gint ett_lpp_NR_DL_PRS_BeamInfo_r16 = -1;
static gint ett_lpp_NR_DL_PRS_BeamInfoPerFreqLayer_r16 = -1;
static gint ett_lpp_NR_DL_PRS_BeamInfoPerTRP_r16 = -1;
static gint ett_lpp_DL_PRS_BeamInfoSet_r16 = -1;
static gint ett_lpp_DL_PRS_BeamInfoResourceSet_r16 = -1;
static gint ett_lpp_DL_PRS_BeamInfoElement_r16 = -1;
static gint ett_lpp_LCS_GCS_TranslationParameter_r16 = -1;
static gint ett_lpp_NR_DL_PRS_Info_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ResourceSet_r16 = -1;
static gint ett_lpp_NR_DL_PRS_ResourceSet_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_NR_DL_PRS_Resource_r16 = -1;
static gint ett_lpp_DL_PRS_MutingOption1_r16 = -1;
static gint ett_lpp_DL_PRS_MutingOption2_r16 = -1;
static gint ett_lpp_NR_MutingPattern_r16 = -1;
static gint ett_lpp_NR_DL_PRS_Resource_r16 = -1;
static gint ett_lpp_T_dl_PRS_CombSizeN_AndReOffset_r16 = -1;
static gint ett_lpp_DL_PRS_QCL_Info_r16 = -1;
static gint ett_lpp_T_ssb_r16 = -1;
static gint ett_lpp_T_dl_PRS_r16 = -1;
static gint ett_lpp_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16 = -1;
static gint ett_lpp_T_scs15_r16 = -1;
static gint ett_lpp_T_scs30_r16 = -1;
static gint ett_lpp_T_scs60_r16 = -1;
static gint ett_lpp_T_scs120_r16 = -1;
static gint ett_lpp_NR_DL_PRS_ProcessingCapability_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_PRS_ProcessingCapabilityPerBand_r16 = -1;
static gint ett_lpp_PRS_ProcessingCapabilityPerBand_r16 = -1;
static gint ett_lpp_T_supportedBandwidthPRS_r16 = -1;
static gint ett_lpp_T_durationOfPRS_Processing_r16 = -1;
static gint ett_lpp_T_maxNumOfDL_PRS_ResProcessedPerSlot_r16 = -1;
static gint ett_lpp_NR_DL_PRS_QCL_ProcessingCapability_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_QCL_ProcessingCapabilityPerBand_r16 = -1;
static gint ett_lpp_DL_PRS_QCL_ProcessingCapabilityPerBand_r16 = -1;
static gint ett_lpp_NR_DL_PRS_ResourcesCapability_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_ResourcesCapabilityPerBand_r16 = -1;
static gint ett_lpp_DL_PRS_ResourcesCapabilityPerBand_r16 = -1;
static gint ett_lpp_DL_PRS_ResourcesBandCombinationList_r16 = -1;
static gint ett_lpp_DL_PRS_ResourcesBandCombination_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_maxSimultaneousBands_r16_OF_FreqBandIndicatorNR_r16 = -1;
static gint ett_lpp_T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16 = -1;
static gint ett_lpp_T_fr1_FR2Mix_r16 = -1;
static gint ett_lpp_NR_PositionCalculationAssistance_r16 = -1;
static gint ett_lpp_NR_RTD_Info_r16 = -1;
static gint ett_lpp_ReferenceTRP_RTD_Info_r16 = -1;
static gint ett_lpp_T_refTime_r16 = -1;
static gint ett_lpp_RTD_InfoList_r16 = -1;
static gint ett_lpp_RTD_InfoListPerFreqLayer_r16 = -1;
static gint ett_lpp_RTD_InfoElement_r16 = -1;
static gint ett_lpp_NR_SelectedDL_PRS_IndexList_r16 = -1;
static gint ett_lpp_NR_SelectedDL_PRS_PerFreq_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r16 = -1;
static gint ett_lpp_NR_SelectedDL_PRS_IndexPerTRP_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_SelectedPRS_ResourceSetIndex_r16 = -1;
static gint ett_lpp_DL_SelectedPRS_ResourceSetIndex_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_SelectedPRS_ResourceIndex_r16 = -1;
static gint ett_lpp_DL_SelectedPRS_ResourceIndex_r16 = -1;
static gint ett_lpp_NR_SSB_Config_r16 = -1;
static gint ett_lpp_T_ssb_PositionsInBurst_r16 = -1;
static gint ett_lpp_NR_TimeStamp_r16 = -1;
static gint ett_lpp_T_nr_Slot_r16 = -1;
static gint ett_lpp_NR_TimingQuality_r16 = -1;
static gint ett_lpp_NR_TRP_LocationInfo_r16 = -1;
static gint ett_lpp_NR_TRP_LocationInfoPerFreqLayer_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_TRP_LocationInfoElement_r16 = -1;
static gint ett_lpp_TRP_LocationInfoElement_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_ResourceSets_TRP_Element_r16 = -1;
static gint ett_lpp_DL_PRS_ResourceSets_TRP_Element_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_Resource_ARP_Element_r16 = -1;
static gint ett_lpp_DL_PRS_Resource_ARP_Element_r16 = -1;
static gint ett_lpp_NR_UL_SRS_Capability_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_SRS_CapabilityPerBand_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxConfiguredBands_r16_OF_SRS_PosResourcesPerBand_r16 = -1;
static gint ett_lpp_SRS_CapabilityPerBand_r16 = -1;
static gint ett_lpp_OLPC_SRS_Pos_r16 = -1;
static gint ett_lpp_SpatialRelationsSRS_Pos_r16 = -1;
static gint ett_lpp_SRS_PosResourcesPerBand_r16 = -1;
static gint ett_lpp_ReferencePoint_r16 = -1;
static gint ett_lpp_T_referencePointGeographicLocation_r16 = -1;
static gint ett_lpp_RelativeLocation_r16 = -1;
static gint ett_lpp_Delta_Latitude_r16 = -1;
static gint ett_lpp_Delta_Longitude_r16 = -1;
static gint ett_lpp_Delta_Height_r16 = -1;
static gint ett_lpp_LocationUncertainty_r16 = -1;
static gint ett_lpp_OTDOA_ProvideAssistanceData = -1;
static gint ett_lpp_OTDOA_ReferenceCellInfo = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info = -1;
static gint ett_lpp_PRS_Info = -1;
static gint ett_lpp_T_prs_MutingInfo_r9 = -1;
static gint ett_lpp_T_prsHoppingInfo_r14 = -1;
static gint ett_lpp_T_nb4_r14 = -1;
static gint ett_lpp_TDD_Config_v1520 = -1;
static gint ett_lpp_OTDOA_NeighbourCellInfoList = -1;
static gint ett_lpp_OTDOA_NeighbourFreqInfo = -1;
static gint ett_lpp_OTDOA_NeighbourCellInfoElement = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14 = -1;
static gint ett_lpp_Add_PRSconfigNeighbourElement_r14 = -1;
static gint ett_lpp_OTDOA_ReferenceCellInfoNB_r14 = -1;
static gint ett_lpp_PRS_Info_NB_r14 = -1;
static gint ett_lpp_NPRS_Info_r14 = -1;
static gint ett_lpp_T_partA_r14 = -1;
static gint ett_lpp_T_nprsBitmap_r14 = -1;
static gint ett_lpp_T_nprs_MutingInfoA_r14 = -1;
static gint ett_lpp_T_partB_r14 = -1;
static gint ett_lpp_T_nprs_MutingInfoB_r14 = -1;
static gint ett_lpp_T_partA_TDD_r15 = -1;
static gint ett_lpp_T_nprsBitmap_r15 = -1;
static gint ett_lpp_T_nprs_MutingInfoA_r15 = -1;
static gint ett_lpp_OTDOA_NeighbourCellInfoListNB_r14 = -1;
static gint ett_lpp_OTDOA_NeighbourCellInfoNB_r14 = -1;
static gint ett_lpp_OTDOA_RequestAssistanceData = -1;
static gint ett_lpp_T_adType_r14 = -1;
static gint ett_lpp_OTDOA_ProvideLocationInformation = -1;
static gint ett_lpp_OTDOA_SignalMeasurementInformation = -1;
static gint ett_lpp_NeighbourMeasurementList = -1;
static gint ett_lpp_NeighbourMeasurementElement = -1;
static gint ett_lpp_AdditionalPathList_r14 = -1;
static gint ett_lpp_MotionTimeSource_r15 = -1;
static gint ett_lpp_OTDOA_SignalMeasurementInformation_NB_r14 = -1;
static gint ett_lpp_NeighbourMeasurementList_NB_r14 = -1;
static gint ett_lpp_NeighbourMeasurementElement_NB_r14 = -1;
static gint ett_lpp_OTDOA_MeasQuality = -1;
static gint ett_lpp_AdditionalPath_r14 = -1;
static gint ett_lpp_OTDOA_RequestLocationInformation = -1;
static gint ett_lpp_OTDOA_ProvideCapabilities = -1;
static gint ett_lpp_T_otdoa_Mode = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0 = -1;
static gint ett_lpp_SupportedBandEUTRA = -1;
static gint ett_lpp_SupportedBandEUTRA_v9a0 = -1;
static gint ett_lpp_OTDOA_RequestCapabilities = -1;
static gint ett_lpp_OTDOA_Error = -1;
static gint ett_lpp_OTDOA_LocationServerErrorCauses = -1;
static gint ett_lpp_OTDOA_TargetDeviceErrorCauses = -1;
static gint ett_lpp_A_GNSS_ProvideAssistanceData = -1;
static gint ett_lpp_GNSS_CommonAssistData = -1;
static gint ett_lpp_GNSS_GenericAssistData = -1;
static gint ett_lpp_GNSS_GenericAssistDataElement = -1;
static gint ett_lpp_GNSS_PeriodicAssistData_r15 = -1;
static gint ett_lpp_GNSS_ReferenceTime = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell = -1;
static gint ett_lpp_GNSS_ReferenceTimeForOneCell = -1;
static gint ett_lpp_GNSS_SystemTime = -1;
static gint ett_lpp_GPS_TOW_Assist = -1;
static gint ett_lpp_GPS_TOW_AssistElement = -1;
static gint ett_lpp_NetworkTime = -1;
static gint ett_lpp_T_cellID = -1;
static gint ett_lpp_T_eUTRA = -1;
static gint ett_lpp_T_uTRA = -1;
static gint ett_lpp_T_mode = -1;
static gint ett_lpp_T_fdd = -1;
static gint ett_lpp_T_tdd = -1;
static gint ett_lpp_T_gSM = -1;
static gint ett_lpp_T_nBIoT_r14 = -1;
static gint ett_lpp_T_nr_r15 = -1;
static gint ett_lpp_GNSS_ReferenceLocation = -1;
static gint ett_lpp_GNSS_IonosphericModel = -1;
static gint ett_lpp_KlobucharModelParameter = -1;
static gint ett_lpp_KlobucharModel2Parameter_r16 = -1;
static gint ett_lpp_NeQuickModelParameter = -1;
static gint ett_lpp_GNSS_EarthOrientationParameters = -1;
static gint ett_lpp_GNSS_RTK_ReferenceStationInfo_r15 = -1;
static gint ett_lpp_AntennaDescription_r15 = -1;
static gint ett_lpp_AntennaReferencePointUnc_r15 = -1;
static gint ett_lpp_PhysicalReferenceStationInfo_r15 = -1;
static gint ett_lpp_EqualIntegerAmbiguityLevel_r16 = -1;
static gint ett_lpp_ReferenceStationList_r16 = -1;
static gint ett_lpp_GNSS_RTK_CommonObservationInfo_r15 = -1;
static gint ett_lpp_GNSS_RTK_AuxiliaryStationData_r15 = -1;
static gint ett_lpp_AuxiliaryStationList_r15 = -1;
static gint ett_lpp_AuxiliaryStationElement_r15 = -1;
static gint ett_lpp_Aux_ARP_Unc_r15 = -1;
static gint ett_lpp_GNSS_SSR_CorrectionPoints_r16 = -1;
static gint ett_lpp_T_correctionPoints_r16 = -1;
static gint ett_lpp_GNSS_SSR_ListOfCorrectionPoints_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_0_63_OF_RelativeLocationElement_r16 = -1;
static gint ett_lpp_RelativeLocationElement_r16 = -1;
static gint ett_lpp_GNSS_SSR_ArrayOfCorrectionPoints_r16 = -1;
static gint ett_lpp_GNSS_TimeModelList = -1;
static gint ett_lpp_GNSS_TimeModelElement = -1;
static gint ett_lpp_GNSS_DifferentialCorrections = -1;
static gint ett_lpp_DGNSS_SgnTypeList = -1;
static gint ett_lpp_DGNSS_SgnTypeElement = -1;
static gint ett_lpp_DGNSS_SatList = -1;
static gint ett_lpp_DGNSS_CorrectionsElement = -1;
static gint ett_lpp_GNSS_NavigationModel = -1;
static gint ett_lpp_GNSS_NavModelSatelliteList = -1;
static gint ett_lpp_GNSS_NavModelSatelliteElement = -1;
static gint ett_lpp_GNSS_ClockModel = -1;
static gint ett_lpp_GNSS_OrbitModel = -1;
static gint ett_lpp_StandardClockModelList = -1;
static gint ett_lpp_StandardClockModelElement = -1;
static gint ett_lpp_NAV_ClockModel = -1;
static gint ett_lpp_CNAV_ClockModel = -1;
static gint ett_lpp_GLONASS_ClockModel = -1;
static gint ett_lpp_SBAS_ClockModel = -1;
static gint ett_lpp_BDS_ClockModel_r12 = -1;
static gint ett_lpp_BDS_ClockModel2_r16 = -1;
static gint ett_lpp_NavIC_ClockModel_r16 = -1;
static gint ett_lpp_NavModelKeplerianSet = -1;
static gint ett_lpp_NavModelNAV_KeplerianSet = -1;
static gint ett_lpp_T_addNAVparam = -1;
static gint ett_lpp_T_ephemSF1Rsvd = -1;
static gint ett_lpp_NavModelCNAV_KeplerianSet = -1;
static gint ett_lpp_NavModel_GLONASS_ECEF = -1;
static gint ett_lpp_NavModel_SBAS_ECEF = -1;
static gint ett_lpp_NavModel_BDS_KeplerianSet_r12 = -1;
static gint ett_lpp_NavModel_BDS_KeplerianSet2_r16 = -1;
static gint ett_lpp_NavModel_NavIC_KeplerianSet_r16 = -1;
static gint ett_lpp_GNSS_RealTimeIntegrity = -1;
static gint ett_lpp_GNSS_BadSignalList = -1;
static gint ett_lpp_BadSignalElement = -1;
static gint ett_lpp_GNSS_DataBitAssistance = -1;
static gint ett_lpp_GNSS_DataBitsSatList = -1;
static gint ett_lpp_GNSS_DataBitsSatElement = -1;
static gint ett_lpp_GNSS_DataBitsSgnList = -1;
static gint ett_lpp_GNSS_DataBitsSgnElement = -1;
static gint ett_lpp_GNSS_AcquisitionAssistance = -1;
static gint ett_lpp_GNSS_AcquisitionAssistList = -1;
static gint ett_lpp_GNSS_AcquisitionAssistElement = -1;
static gint ett_lpp_GNSS_Almanac = -1;
static gint ett_lpp_GNSS_AlmanacList = -1;
static gint ett_lpp_GNSS_AlmanacElement = -1;
static gint ett_lpp_AlmanacKeplerianSet = -1;
static gint ett_lpp_AlmanacNAV_KeplerianSet = -1;
static gint ett_lpp_AlmanacReducedKeplerianSet = -1;
static gint ett_lpp_AlmanacMidiAlmanacSet = -1;
static gint ett_lpp_AlmanacGLONASS_AlmanacSet = -1;
static gint ett_lpp_AlmanacECEF_SBAS_AlmanacSet = -1;
static gint ett_lpp_AlmanacBDS_AlmanacSet_r12 = -1;
static gint ett_lpp_AlmanacNavIC_AlmanacSet_r16 = -1;
static gint ett_lpp_GNSS_UTC_Model = -1;
static gint ett_lpp_UTC_ModelSet1 = -1;
static gint ett_lpp_UTC_ModelSet2 = -1;
static gint ett_lpp_UTC_ModelSet3 = -1;
static gint ett_lpp_UTC_ModelSet4 = -1;
static gint ett_lpp_UTC_ModelSet5_r12 = -1;
static gint ett_lpp_GNSS_AuxiliaryInformation = -1;
static gint ett_lpp_GNSS_ID_GPS = -1;
static gint ett_lpp_GNSS_ID_GPS_SatElement = -1;
static gint ett_lpp_GNSS_ID_GLONASS = -1;
static gint ett_lpp_GNSS_ID_GLONASS_SatElement = -1;
static gint ett_lpp_GNSS_ID_BDS_r16 = -1;
static gint ett_lpp_GNSS_ID_BDS_SatElement_r16 = -1;
static gint ett_lpp_BDS_DifferentialCorrections_r12 = -1;
static gint ett_lpp_BDS_SgnTypeList_r12 = -1;
static gint ett_lpp_BDS_SgnTypeElement_r12 = -1;
static gint ett_lpp_DBDS_CorrectionList_r12 = -1;
static gint ett_lpp_DBDS_CorrectionElement_r12 = -1;
static gint ett_lpp_BDS_GridModelParameter_r12 = -1;
static gint ett_lpp_GridIonList_r12 = -1;
static gint ett_lpp_GridIonElement_r12 = -1;
static gint ett_lpp_GNSS_RTK_Observations_r15 = -1;
static gint ett_lpp_GNSS_ObservationList_r15 = -1;
static gint ett_lpp_GNSS_RTK_SatelliteDataElement_r15 = -1;
static gint ett_lpp_GNSS_RTK_SatelliteSignalDataList_r15 = -1;
static gint ett_lpp_GNSS_RTK_SatelliteSignalDataElement_r15 = -1;
static gint ett_lpp_GLO_RTK_BiasInformation_r15 = -1;
static gint ett_lpp_GNSS_RTK_MAC_CorrectionDifferences_r15 = -1;
static gint ett_lpp_RTK_CorrectionDifferencesList_r15 = -1;
static gint ett_lpp_RTK_CorrectionDifferencesElement_r15 = -1;
static gint ett_lpp_Geometric_Ionospheric_Corrections_Differences_r15 = -1;
static gint ett_lpp_Geometric_Ionospheric_Corrections_Differences_Element_r15 = -1;
static gint ett_lpp_GNSS_RTK_Residuals_r15 = -1;
static gint ett_lpp_RTK_Residuals_List_r15 = -1;
static gint ett_lpp_RTK_Residuals_Element_r15 = -1;
static gint ett_lpp_GNSS_RTK_FKP_Gradients_r15 = -1;
static gint ett_lpp_FKP_Gradients_List_r15 = -1;
static gint ett_lpp_FKP_Gradients_Element_r15 = -1;
static gint ett_lpp_GNSS_SSR_OrbitCorrections_r15 = -1;
static gint ett_lpp_SSR_OrbitCorrectionList_r15 = -1;
static gint ett_lpp_SSR_OrbitCorrectionSatelliteElement_r15 = -1;
static gint ett_lpp_GNSS_SSR_ClockCorrections_r15 = -1;
static gint ett_lpp_SSR_ClockCorrectionList_r15 = -1;
static gint ett_lpp_SSR_ClockCorrectionSatelliteElement_r15 = -1;
static gint ett_lpp_GNSS_SSR_CodeBias_r15 = -1;
static gint ett_lpp_SSR_CodeBiasSatList_r15 = -1;
static gint ett_lpp_SSR_CodeBiasSatElement_r15 = -1;
static gint ett_lpp_SSR_CodeBiasSignalList_r15 = -1;
static gint ett_lpp_SSR_CodeBiasSignalElement_r15 = -1;
static gint ett_lpp_GNSS_SSR_URA_r16 = -1;
static gint ett_lpp_SSR_URA_SatList_r16 = -1;
static gint ett_lpp_SSR_URA_SatElement_r16 = -1;
static gint ett_lpp_GNSS_SSR_PhaseBias_r16 = -1;
static gint ett_lpp_SSR_PhaseBiasSatList_r16 = -1;
static gint ett_lpp_SSR_PhaseBiasSatElement_r16 = -1;
static gint ett_lpp_SSR_PhaseBiasSignalList_r16 = -1;
static gint ett_lpp_SSR_PhaseBiasSignalElement_r16 = -1;
static gint ett_lpp_GNSS_SSR_STEC_Correction_r16 = -1;
static gint ett_lpp_STEC_SatList_r16 = -1;
static gint ett_lpp_STEC_SatElement_r16 = -1;
static gint ett_lpp_GNSS_SSR_GriddedCorrection_r16 = -1;
static gint ett_lpp_GridList_r16 = -1;
static gint ett_lpp_GridElement_r16 = -1;
static gint ett_lpp_TropospericDelayCorrection_r16 = -1;
static gint ett_lpp_STEC_ResidualSatList_r16 = -1;
static gint ett_lpp_STEC_ResidualSatElement_r16 = -1;
static gint ett_lpp_T_stecResidualCorrection_r16 = -1;
static gint ett_lpp_NavIC_DifferentialCorrections_r16 = -1;
static gint ett_lpp_NavIC_CorrectionListAutoNav_r16 = -1;
static gint ett_lpp_NavIC_CorrectionElementAutoNav_r16 = -1;
static gint ett_lpp_NavIC_EDC_r16 = -1;
static gint ett_lpp_NavIC_CDC_r16 = -1;
static gint ett_lpp_NavIC_GridModelParameter_r16 = -1;
static gint ett_lpp_RegionIgpList_r16 = -1;
static gint ett_lpp_RegionIgpElement_r16 = -1;
static gint ett_lpp_A_GNSS_RequestAssistanceData = -1;
static gint ett_lpp_GNSS_CommonAssistDataReq = -1;
static gint ett_lpp_GNSS_GenericAssistDataReq = -1;
static gint ett_lpp_GNSS_GenericAssistDataReqElement = -1;
static gint ett_lpp_GNSS_PeriodicAssistDataReq_r15 = -1;
static gint ett_lpp_GNSS_ReferenceTimeReq = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_8_OF_GNSS_ID = -1;
static gint ett_lpp_GNSS_ReferenceLocationReq = -1;
static gint ett_lpp_GNSS_IonosphericModelReq = -1;
static gint ett_lpp_GNSS_EarthOrientationParametersReq = -1;
static gint ett_lpp_GNSS_RTK_ReferenceStationInfoReq_r15 = -1;
static gint ett_lpp_GNSS_RTK_AuxiliaryStationDataReq_r15 = -1;
static gint ett_lpp_GNSS_SSR_CorrectionPointsReq_r16 = -1;
static gint ett_lpp_GNSS_TimeModelListReq = -1;
static gint ett_lpp_GNSS_TimeModelElementReq = -1;
static gint ett_lpp_GNSS_DifferentialCorrectionsReq = -1;
static gint ett_lpp_GNSS_NavigationModelReq = -1;
static gint ett_lpp_StoredNavListInfo = -1;
static gint ett_lpp_SatListRelatedDataList = -1;
static gint ett_lpp_SatListRelatedDataElement = -1;
static gint ett_lpp_ReqNavListInfo = -1;
static gint ett_lpp_T_clockModelID_PrefList = -1;
static gint ett_lpp_T_orbitModelID_PrefList = -1;
static gint ett_lpp_GNSS_RealTimeIntegrityReq = -1;
static gint ett_lpp_GNSS_DataBitAssistanceReq = -1;
static gint ett_lpp_GNSS_DataBitsReqSatList = -1;
static gint ett_lpp_GNSS_DataBitsReqSatElement = -1;
static gint ett_lpp_GNSS_AcquisitionAssistanceReq = -1;
static gint ett_lpp_GNSS_AlmanacReq = -1;
static gint ett_lpp_GNSS_UTC_ModelReq = -1;
static gint ett_lpp_GNSS_AuxiliaryInformationReq = -1;
static gint ett_lpp_BDS_DifferentialCorrectionsReq_r12 = -1;
static gint ett_lpp_BDS_GridModelReq_r12 = -1;
static gint ett_lpp_GNSS_RTK_ObservationsReq_r15 = -1;
static gint ett_lpp_GLO_RTK_BiasInformationReq_r15 = -1;
static gint ett_lpp_GNSS_RTK_MAC_CorrectionDifferencesReq_r15 = -1;
static gint ett_lpp_AUX_ReferenceStationList_r15 = -1;
static gint ett_lpp_AUX_ReferenceStationID_Element_r15 = -1;
static gint ett_lpp_GNSS_RTK_ResidualsReq_r15 = -1;
static gint ett_lpp_GNSS_RTK_FKP_GradientsReq_r15 = -1;
static gint ett_lpp_GNSS_SSR_OrbitCorrectionsReq_r15 = -1;
static gint ett_lpp_GNSS_SSR_ClockCorrectionsReq_r15 = -1;
static gint ett_lpp_GNSS_SSR_CodeBiasReq_r15 = -1;
static gint ett_lpp_GNSS_SSR_URA_Req_r16 = -1;
static gint ett_lpp_GNSS_SSR_PhaseBiasReq_r16 = -1;
static gint ett_lpp_GNSS_SSR_STEC_CorrectionReq_r16 = -1;
static gint ett_lpp_GNSS_SSR_GriddedCorrectionReq_r16 = -1;
static gint ett_lpp_NavIC_DifferentialCorrectionsReq_r16 = -1;
static gint ett_lpp_NavIC_GridModelReq_r16 = -1;
static gint ett_lpp_A_GNSS_ProvideLocationInformation = -1;
static gint ett_lpp_GNSS_SignalMeasurementInformation = -1;
static gint ett_lpp_MeasurementReferenceTime = -1;
static gint ett_lpp_T_networkTime = -1;
static gint ett_lpp_T_eUTRA_01 = -1;
static gint ett_lpp_T_uTRA_01 = -1;
static gint ett_lpp_T_mode_01 = -1;
static gint ett_lpp_T_fdd_01 = -1;
static gint ett_lpp_T_tdd_01 = -1;
static gint ett_lpp_T_gSM_01 = -1;
static gint ett_lpp_T_referenceFrame = -1;
static gint ett_lpp_T_nbIoT_r14 = -1;
static gint ett_lpp_T_nr_r15_01 = -1;
static gint ett_lpp_GNSS_MeasurementList = -1;
static gint ett_lpp_GNSS_MeasurementForOneGNSS = -1;
static gint ett_lpp_GNSS_SgnMeasList = -1;
static gint ett_lpp_GNSS_SgnMeasElement = -1;
static gint ett_lpp_GNSS_SatMeasList = -1;
static gint ett_lpp_GNSS_SatMeasElement = -1;
static gint ett_lpp_GNSS_LocationInformation = -1;
static gint ett_lpp_A_GNSS_RequestLocationInformation = -1;
static gint ett_lpp_GNSS_PositioningInstructions = -1;
static gint ett_lpp_A_GNSS_ProvideCapabilities = -1;
static gint ett_lpp_T_periodicAssistanceData_r15 = -1;
static gint ett_lpp_GNSS_SupportList = -1;
static gint ett_lpp_GNSS_SupportElement = -1;
static gint ett_lpp_T_fta_MeasSupport = -1;
static gint ett_lpp_AssistanceDataSupportList = -1;
static gint ett_lpp_GNSS_CommonAssistanceDataSupport = -1;
static gint ett_lpp_GNSS_ReferenceTimeSupport = -1;
static gint ett_lpp_GNSS_ReferenceLocationSupport = -1;
static gint ett_lpp_GNSS_IonosphericModelSupport = -1;
static gint ett_lpp_T_ionoModel = -1;
static gint ett_lpp_GNSS_EarthOrientationParametersSupport = -1;
static gint ett_lpp_GNSS_RTK_ReferenceStationInfoSupport_r15 = -1;
static gint ett_lpp_GNSS_RTK_AuxiliaryStationDataSupport_r15 = -1;
static gint ett_lpp_GNSS_GenericAssistanceDataSupport = -1;
static gint ett_lpp_GNSS_GenericAssistDataSupportElement = -1;
static gint ett_lpp_GNSS_TimeModelListSupport = -1;
static gint ett_lpp_GNSS_DifferentialCorrectionsSupport = -1;
static gint ett_lpp_GNSS_NavigationModelSupport = -1;
static gint ett_lpp_T_clockModel = -1;
static gint ett_lpp_T_orbitModel = -1;
static gint ett_lpp_GNSS_RealTimeIntegritySupport = -1;
static gint ett_lpp_GNSS_DataBitAssistanceSupport = -1;
static gint ett_lpp_GNSS_AcquisitionAssistanceSupport = -1;
static gint ett_lpp_GNSS_AlmanacSupport = -1;
static gint ett_lpp_T_almanacModel = -1;
static gint ett_lpp_GNSS_UTC_ModelSupport = -1;
static gint ett_lpp_T_utc_Model = -1;
static gint ett_lpp_GNSS_AuxiliaryInformationSupport = -1;
static gint ett_lpp_BDS_DifferentialCorrectionsSupport_r12 = -1;
static gint ett_lpp_BDS_GridModelSupport_r12 = -1;
static gint ett_lpp_GNSS_RTK_ObservationsSupport_r15 = -1;
static gint ett_lpp_GLO_RTK_BiasInformationSupport_r15 = -1;
static gint ett_lpp_GNSS_RTK_MAC_CorrectionDifferencesSupport_r15 = -1;
static gint ett_lpp_GNSS_RTK_ResidualsSupport_r15 = -1;
static gint ett_lpp_GNSS_RTK_FKP_GradientsSupport_r15 = -1;
static gint ett_lpp_GNSS_SSR_OrbitCorrectionsSupport_r15 = -1;
static gint ett_lpp_GNSS_SSR_ClockCorrectionsSupport_r15 = -1;
static gint ett_lpp_GNSS_SSR_CodeBiasSupport_r15 = -1;
static gint ett_lpp_GNSS_SSR_URA_Support_r16 = -1;
static gint ett_lpp_GNSS_SSR_PhaseBiasSupport_r16 = -1;
static gint ett_lpp_GNSS_SSR_STEC_CorrectionSupport_r16 = -1;
static gint ett_lpp_GNSS_SSR_GriddedCorrectionSupport_r16 = -1;
static gint ett_lpp_NavIC_DifferentialCorrectionsSupport_r16 = -1;
static gint ett_lpp_NavIC_GridModelSupport_r16 = -1;
static gint ett_lpp_A_GNSS_RequestCapabilities = -1;
static gint ett_lpp_A_GNSS_Error = -1;
static gint ett_lpp_GNSS_LocationServerErrorCauses = -1;
static gint ett_lpp_GNSS_TargetDeviceErrorCauses = -1;
static gint ett_lpp_GNSS_FrequencyID_r15 = -1;
static gint ett_lpp_GNSS_ID = -1;
static gint ett_lpp_GNSS_ID_Bitmap = -1;
static gint ett_lpp_T_gnss_ids = -1;
static gint ett_lpp_GNSS_Link_CombinationsList_r15 = -1;
static gint ett_lpp_GNSS_Link_Combinations_r15 = -1;
static gint ett_lpp_GNSS_NavListInfo_r15 = -1;
static gint ett_lpp_SatListElement_r15 = -1;
static gint ett_lpp_GNSS_NetworkID_r15 = -1;
static gint ett_lpp_GNSS_PeriodicControlParam_r15 = -1;
static gint ett_lpp_GNSS_ReferenceStationID_r15 = -1;
static gint ett_lpp_GNSS_SignalID = -1;
static gint ett_lpp_GNSS_SignalIDs = -1;
static gint ett_lpp_GNSS_SubNetworkID_r15 = -1;
static gint ett_lpp_SBAS_ID = -1;
static gint ett_lpp_SBAS_IDs = -1;
static gint ett_lpp_T_sbas_IDs = -1;
static gint ett_lpp_SV_ID = -1;
static gint ett_lpp_ECID_ProvideLocationInformation = -1;
static gint ett_lpp_ECID_SignalMeasurementInformation = -1;
static gint ett_lpp_MeasuredResultsList = -1;
static gint ett_lpp_MeasuredResultsElement = -1;
static gint ett_lpp_ECID_RequestLocationInformation = -1;
static gint ett_lpp_T_requestedMeasurements = -1;
static gint ett_lpp_ECID_ProvideCapabilities = -1;
static gint ett_lpp_T_ecid_MeasSupported = -1;
static gint ett_lpp_ECID_RequestCapabilities = -1;
static gint ett_lpp_ECID_Error = -1;
static gint ett_lpp_ECID_LocationServerErrorCauses = -1;
static gint ett_lpp_ECID_TargetDeviceErrorCauses = -1;
static gint ett_lpp_TBS_ProvideLocationInformation_r13 = -1;
static gint ett_lpp_TBS_MeasurementInformation_r13 = -1;
static gint ett_lpp_MBS_BeaconMeasList_r13 = -1;
static gint ett_lpp_MBS_BeaconMeasElement_r13 = -1;
static gint ett_lpp_TBS_RequestLocationInformation_r13 = -1;
static gint ett_lpp_T_mbsRequestedMeasurements_r14 = -1;
static gint ett_lpp_TBS_ProvideCapabilities_r13 = -1;
static gint ett_lpp_T_tbs_Modes_r13 = -1;
static gint ett_lpp_T_mbs_ConfigSupport_r14 = -1;
static gint ett_lpp_MBS_AssistanceDataSupportList_r14 = -1;
static gint ett_lpp_TBS_RequestCapabilities_r13 = -1;
static gint ett_lpp_TBS_Error_r13 = -1;
static gint ett_lpp_TBS_LocationServerErrorCauses_r13 = -1;
static gint ett_lpp_TBS_TargetDeviceErrorCauses_r13 = -1;
static gint ett_lpp_TBS_ProvideAssistanceData_r14 = -1;
static gint ett_lpp_TBS_AssistanceDataList_r14 = -1;
static gint ett_lpp_MBS_AssistanceDataList_r14 = -1;
static gint ett_lpp_MBS_AssistanceDataElement_r14 = -1;
static gint ett_lpp_MBS_AlmanacAssistance_r14 = -1;
static gint ett_lpp_MBS_AcquisitionAssistance_r14 = -1;
static gint ett_lpp_TBS_RequestAssistanceData_r14 = -1;
static gint ett_lpp_Sensor_ProvideLocationInformation_r13 = -1;
static gint ett_lpp_Sensor_MeasurementInformation_r13 = -1;
static gint ett_lpp_T_uncertainty_r14 = -1;
static gint ett_lpp_Sensor_MotionInformation_r15 = -1;
static gint ett_lpp_DisplacementInfoList_r15 = -1;
static gint ett_lpp_DisplacementInfoListElement_r15 = -1;
static gint ett_lpp_DisplacementTimeStamp_r15 = -1;
static gint ett_lpp_DeltaTime_r15 = -1;
static gint ett_lpp_SFN_r15 = -1;
static gint ett_lpp_Displacement_r15 = -1;
static gint ett_lpp_UTC_Time_r15 = -1;
static gint ett_lpp_Sensor_RequestLocationInformation_r13 = -1;
static gint ett_lpp_Sensor_ProvideCapabilities_r13 = -1;
static gint ett_lpp_T_sensor_Modes_r13 = -1;
static gint ett_lpp_Sensor_AssistanceDataSupportList_r14 = -1;
static gint ett_lpp_Sensor_RequestCapabilities_r13 = -1;
static gint ett_lpp_Sensor_Error_r13 = -1;
static gint ett_lpp_Sensor_LocationServerErrorCauses_r13 = -1;
static gint ett_lpp_Sensor_TargetDeviceErrorCauses_r13 = -1;
static gint ett_lpp_Sensor_ProvideAssistanceData_r14 = -1;
static gint ett_lpp_Sensor_AssistanceDataList_r14 = -1;
static gint ett_lpp_T_period_v1520 = -1;
static gint ett_lpp_T_area_v1520 = -1;
static gint ett_lpp_PressureValidityArea_v1520 = -1;
static gint ett_lpp_PressureValidityPeriod_v1520 = -1;
static gint ett_lpp_Sensor_RequestAssistanceData_r14 = -1;
static gint ett_lpp_WLAN_ProvideLocationInformation_r13 = -1;
static gint ett_lpp_WLAN_MeasurementInformation_r13 = -1;
static gint ett_lpp_WLAN_MeasurementList_r13 = -1;
static gint ett_lpp_WLAN_MeasurementElement_r13 = -1;
static gint ett_lpp_WLAN_AP_Identifier_r13 = -1;
static gint ett_lpp_WLAN_RTT_r13 = -1;
static gint ett_lpp_WLAN_RequestLocationInformation_r13 = -1;
static gint ett_lpp_T_requestedMeasurements_r13 = -1;
static gint ett_lpp_WLAN_ProvideCapabilities_r13 = -1;
static gint ett_lpp_T_wlan_Modes_r13 = -1;
static gint ett_lpp_T_wlan_MeasSupported_r13 = -1;
static gint ett_lpp_T_wlan_AP_AD_Supported_r14 = -1;
static gint ett_lpp_WLAN_RequestCapabilities_r13 = -1;
static gint ett_lpp_WLAN_Error_r13 = -1;
static gint ett_lpp_WLAN_LocationServerErrorCauses_r13 = -1;
static gint ett_lpp_WLAN_TargetDeviceErrorCauses_r13 = -1;
static gint ett_lpp_WLAN_ProvideAssistanceData_r14 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14 = -1;
static gint ett_lpp_WLAN_DataSet_r14 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14 = -1;
static gint ett_lpp_SupportedChannels_11a_r14 = -1;
static gint ett_lpp_SupportedChannels_11bg_r14 = -1;
static gint ett_lpp_WLAN_AP_Data_r14 = -1;
static gint ett_lpp_WLAN_AP_Location_r14 = -1;
static gint ett_lpp_LocationDataLCI_r14 = -1;
static gint ett_lpp_WLAN_RequestAssistanceData_r14 = -1;
static gint ett_lpp_T_requestedAD_r14 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13 = -1;
static gint ett_lpp_BT_ProvideLocationInformation_r13 = -1;
static gint ett_lpp_BT_MeasurementInformation_r13 = -1;
static gint ett_lpp_BT_MeasurementList_r13 = -1;
static gint ett_lpp_BT_MeasurementElement_r13 = -1;
static gint ett_lpp_BT_RequestLocationInformation_r13 = -1;
static gint ett_lpp_T_requestedMeasurements_r13_01 = -1;
static gint ett_lpp_BT_ProvideCapabilities_r13 = -1;
static gint ett_lpp_T_bt_Modes_r13 = -1;
static gint ett_lpp_T_bt_MeasSupported_r13 = -1;
static gint ett_lpp_BT_RequestCapabilities_r13 = -1;
static gint ett_lpp_BT_Error_r13 = -1;
static gint ett_lpp_BT_LocationServerErrorCauses_r13 = -1;
static gint ett_lpp_BT_TargetDeviceErrorCauses_r13 = -1;
static gint ett_lpp_NR_UL_ProvideCapabilities_r16 = -1;
static gint ett_lpp_NR_UL_RequestCapabilities_r16 = -1;
static gint ett_lpp_NR_ECID_ProvideLocationInformation_r16 = -1;
static gint ett_lpp_NR_ECID_SignalMeasurementInformation_r16 = -1;
static gint ett_lpp_NR_MeasuredResultsList_r16 = -1;
static gint ett_lpp_NR_MeasuredResultsElement_r16 = -1;
static gint ett_lpp_T_nr_ARFCN_r16 = -1;
static gint ett_lpp_MeasQuantityResults_r16 = -1;
static gint ett_lpp_ResultsPerSSB_IndexList_r16 = -1;
static gint ett_lpp_ResultsPerSSB_Index_r16 = -1;
static gint ett_lpp_ResultsPerCSI_RS_IndexList_r16 = -1;
static gint ett_lpp_ResultsPerCSI_RS_Index_r16 = -1;
static gint ett_lpp_NR_ECID_RequestLocationInformation_r16 = -1;
static gint ett_lpp_T_requestedMeasurements_r16 = -1;
static gint ett_lpp_NR_ECID_ProvideCapabilities_r16 = -1;
static gint ett_lpp_T_nr_ECID_MeasSupported_r16 = -1;
static gint ett_lpp_NR_ECID_RequestCapabilities_r16 = -1;
static gint ett_lpp_NR_ECID_Error_r16 = -1;
static gint ett_lpp_NR_ECID_LocationServerErrorCauses_r16 = -1;
static gint ett_lpp_NR_ECID_TargetDeviceErrorCauses_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_ProvideAssistanceData_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_RequestAssistanceData_r16 = -1;
static gint ett_lpp_T_nr_AdType_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_ProvideLocationInformation_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_SignalMeasurementInformation_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_MeasList_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_MeasElement_r16 = -1;
static gint ett_lpp_T_nr_RSTD_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_AdditionalMeasurements_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_AdditionalMeasurementElement_r16 = -1;
static gint ett_lpp_T_nr_RSTD_ResultDiff_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_LocationInformation_r16 = -1;
static gint ett_lpp_T_measurementReferenceTime_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_RequestLocationInformation_r16 = -1;
static gint ett_lpp_T_nr_RequestedMeasurements_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_ReportConfig_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_ProvideCapabilities_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_MeasurementCapability_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_RequestCapabilities_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_Error_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_LocationServerErrorCauses_r16 = -1;
static gint ett_lpp_NR_DL_TDOA_TargetDeviceErrorCauses_r16 = -1;
static gint ett_lpp_NR_DL_AoD_ProvideAssistanceData_r16 = -1;
static gint ett_lpp_NR_DL_AoD_RequestAssistanceData_r16 = -1;
static gint ett_lpp_T_nr_AdType_r16_01 = -1;
static gint ett_lpp_NR_DL_AoD_ProvideLocationInformation_r16 = -1;
static gint ett_lpp_NR_DL_AoD_SignalMeasurementInformation_r16 = -1;
static gint ett_lpp_NR_DL_AoD_MeasList_r16 = -1;
static gint ett_lpp_NR_DL_AoD_MeasElement_r16 = -1;
static gint ett_lpp_NR_DL_AoD_AdditionalMeasurements_r16 = -1;
static gint ett_lpp_NR_DL_AoD_AdditionalMeasurementElement_r16 = -1;
static gint ett_lpp_NR_DL_AoD_LocationInformation_r16 = -1;
static gint ett_lpp_T_measurementReferenceTime_r16_01 = -1;
static gint ett_lpp_NR_DL_AoD_RequestLocationInformation_r16 = -1;
static gint ett_lpp_NR_DL_AoD_ReportConfig_r16 = -1;
static gint ett_lpp_NR_DL_AoD_ProvideCapabilities_r16 = -1;
static gint ett_lpp_NR_DL_AoD_MeasurementCapability_r16 = -1;
static gint ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_AoD_MeasCapabilityPerBand_r16 = -1;
static gint ett_lpp_DL_AoD_MeasCapabilityPerBand_r16 = -1;
static gint ett_lpp_NR_DL_AoD_RequestCapabilities_r16 = -1;
static gint ett_lpp_NR_DL_AoD_Error_r16 = -1;
static gint ett_lpp_NR_DL_AoD_LocationServerErrorCauses_r16 = -1;
static gint ett_lpp_NR_DL_AoD_TargetDeviceErrorCauses_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_ProvideAssistanceData_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_RequestAssistanceData_r16 = -1;
static gint ett_lpp_T_nr_AdType_r16_02 = -1;
static gint ett_lpp_NR_Multi_RTT_ProvideLocationInformation_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_SignalMeasurementInformation_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_MeasList_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_MeasElement_r16 = -1;
static gint ett_lpp_T_nr_UE_RxTxTimeDiff_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_AdditionalMeasurements_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_AdditionalMeasurementElement_r16 = -1;
static gint ett_lpp_T_nr_UE_RxTxTimeDiffAdditional_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_RequestLocationInformation_r16 = -1;
static gint ett_lpp_T_nr_RequestedMeasurements_r16_01 = -1;
static gint ett_lpp_NR_Multi_RTT_ReportConfig_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_ProvideCapabilities_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_MeasurementCapability_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_RequestCapabilities_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_Error_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_LocationServerErrorCauses_r16 = -1;
static gint ett_lpp_NR_Multi_RTT_TargetDeviceErrorCauses_r16 = -1;
static gint ett_lpp_AssistanceDataSIBelement_r15 = -1;
static gint ett_lpp_CipheringKeyData_r15 = -1;
static gint ett_lpp_SegmentationInfo_r15 = -1;
static gint ett_lpp_OTDOA_UE_Assisted_r15 = -1;
static gint ett_lpp_NR_UEB_TRP_LocationData_r16 = -1;
static gint ett_lpp_NR_UEB_TRP_RTD_Info_r16 = -1;
/*--- End of included file: packet-lpp-ett.c ---*/
#line 61 "./asn1/lpp/packet-lpp-template.c"
/* Include constants */
/*--- Included file: packet-lpp-val.h ---*/
#line 1 "./asn1/lpp/packet-lpp-val.h"
#define maxEPDU 16
#define maxAddPRSconfig_r14 2
#define maxAvailNarrowBands_Minus1_r14 15
#define maxFreqLayers 3
#define maxCarrier_r14 5
#define maxCells_r14 72
#define maxPaths_r14 2
#define maxBands 64
#define maxFBI 64
#define maxFBI_Plus1 65
#define maxFBI2 256
#define maxEARFCN 65535
#define maxEARFCN_Plus1 65536
#define maxEARFCN2 262143
#define maxMBS_r14 64
#define maxWLAN_AP_r13 64
#define maxKnownAPs_r14 2048
#define maxVisibleAPs_r14 32
#define maxWLAN_AP_r14 128
#define maxWLAN_DataSets_r14 8
#define maxBT_Beacon_r13 32
#define nrMaxBands_r16 1024
#define nrMaxFreqLayers_r16 4
#define nrMaxFreqLayers_1_r16 3
#define nrMaxNumDL_PRS_ResourcesPerSet_1_r16 63
#define nrMaxNumDL_PRS_ResourceSetsPerTRP_1_r16 7
#define nrMaxResourceIDs_r16 64
#define nrMaxResourceOffsetValue_1_r16 511
#define nrMaxResourcesPerSet_r16 64
#define nrMaxSetsPerTrpPerFreqLayer_r16 2
#define nrMaxSetsPerTrpPerFreqLayer_1_r16 1
#define nrMaxTRPs_r16 256
#define nrMaxTRPsPerFreq_r16 64
#define nrMaxTRPsPerFreq_1_r16 63
#define maxSimultaneousBands_r16 4
#define maxBandComb_r16 1024
#define nrMaxConfiguredBands_r16 16
typedef enum _T_GNSS_ID_enum {
T_GNSS_ID_GPS = 0,
T_GNSS_ID_SBAS = 1,
T_GNSS_ID_QZSS = 2,
T_GNSS_ID_GALILEO = 3,
T_GNSS_ID_GLONASS = 4,
T_GNSS_ID_BDS = 5,
T_GNSS_ID_NAVIC_V1610 = 6
} T_GNSS_ID_enum;
/*--- End of included file: packet-lpp-val.h ---*/
#line 64 "./asn1/lpp/packet-lpp-template.c"
static const value_string lpp_ePDU_ID_vals[] = {
{ 1, "OMA LPP extensions (LPPe)"},
{ 0, NULL}
};
struct lpp_private_data {
lpp_pos_sib_type_t pos_sib_type;
gboolean is_ciphered;
gboolean is_segmented;
};
static struct lpp_private_data*
lpp_get_private_data(packet_info *pinfo)
{
struct lpp_private_data *lpp_data = (struct lpp_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_lpp, 0);
if (!lpp_data) {
lpp_data = wmem_new0(pinfo->pool, struct lpp_private_data);
p_add_proto_data(pinfo->pool, pinfo, proto_lpp, 0, lpp_data);
}
return lpp_data;
}
/* Forward declarations */
static int dissect_GNSS_ReferenceTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_ReferenceLocation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_IonosphericModel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_EarthOrientationParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_RTK_ReferenceStationInfo_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_RTK_CommonObservationInfo_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_RTK_AuxiliaryStationData_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_SSR_CorrectionPoints_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_TimeModelList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_DifferentialCorrections_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_NavigationModel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_RealTimeIntegrity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_DataBitAssistance_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_AcquisitionAssistance_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_Almanac_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_UTC_Model_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_AuxiliaryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_BDS_DifferentialCorrections_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_BDS_GridModelParameter_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_RTK_Observations_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GLO_RTK_BiasInformation_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_RTK_MAC_CorrectionDifferences_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_RTK_Residuals_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_RTK_FKP_Gradients_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_SSR_OrbitCorrections_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_SSR_ClockCorrections_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_SSR_CodeBias_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_SSR_URA_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_SSR_PhaseBias_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_SSR_STEC_Correction_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_GNSS_SSR_GriddedCorrection_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_NavIC_DifferentialCorrections_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_NavIC_GridModelParameter_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_OTDOA_UE_Assisted_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_Sensor_AssistanceDataList_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_TBS_AssistanceDataList_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_NR_DL_PRS_AssistanceData_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_NR_UEB_TRP_LocationData_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_NR_UEB_TRP_RTD_Info_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static void
lpp_degreesLatitude_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%u)",
((float)v/8388607.0)*90, v);
}
static void
lpp_degreesLongitude_fmt(gchar *s, guint32 v)
{
gint32 longitude = (gint32) v;
g_snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%d)",
((float)longitude/8388608.0)*180, longitude);
}
static void
lpp_uncertainty_fmt(gchar *s, guint32 v)
{
double uncertainty = 10*(pow(1.1, (double)v)-1);
if (uncertainty < 1000) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%fm (%u)", uncertainty, v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "%fkm (%u)", uncertainty/1000, v);
}
}
static void
lpp_angle_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%u degrees (%u)", 2*v, v);
}
static void
lpp_confidence_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "no information (0)");
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "%u%%", v);
}
}
static void
lpp_1_10_degrees_fmt(gchar *s, guint32 v)
{
double val = (double)v/10;
g_snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", val, v);
}
static void
lpp_1_100_m_fmt(gchar *s, guint32 v)
{
double val = (double)v/100;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%u)", val, v);
}
static void
lpp_measurementLimit_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%u octets (%u)", 100*v, v);
}
static void
lpp_altitude_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%um", v);
}
static void
lpp_uncertaintyAltitude_fmt(gchar *s, guint32 v)
{
double uncertainty = 45*(pow(1.025, (double)v)-1);
g_snprintf(s, ITEM_LABEL_LENGTH, "%fm (%u)", uncertainty, v);
}
static void
lpp_radius_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%um (%u)", 5*v, v);
}
static void
lpp_nr_LTE_fineTiming_Offset_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/2, v);
}
static void
lpp_expectedRSTD_fmt(gchar *s, guint32 v)
{
gint32 rstd = 3*((gint32)v-8192);
g_snprintf(s, ITEM_LABEL_LENGTH, "%dTs (%u)", rstd, v);
}
static void
lpp_expectedRSTD_Uncertainty_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%uTs (%u)", 3*v, v);
}
static void
lpp_rstd_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSTD < -15391Ts (0)");
} else if (v < 2260) {
g_snprintf(s, ITEM_LABEL_LENGTH, "-%uTs <= RSTD < -%uTs (%u)", 15391-5*(v-1), 15391-5*v, v);
} else if (v < 6355) {
g_snprintf(s, ITEM_LABEL_LENGTH, "-%uTs <= RSTD < -%uTs (%u)", 6356-v, 6355-v, v);
} else if (v == 6355) {
g_snprintf(s, ITEM_LABEL_LENGTH, "-1Ts <= RSTD <= 0Ts (6355)");
} else if (v < 10452) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%uTs < RSTD <= %uTs (%u)", v-6356, v-6355, v);
} else if (v < 12711) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%uTs < RSTD <= %uTs (%u)", 5*(v-1)-48159, 5*v-48159, v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "15391Ts < RSTD (12711)");
}
}
static const value_string lpp_error_Resolution_vals[] = {
{ 0, "5 meters"},
{ 1, "10 meters"},
{ 2, "20 meters"},
{ 3, "30 meters"},
{ 0, NULL}
};
static const value_string lpp_error_Value_vals[] = {
{ 0, "0 to (R*1-1) meters"},
{ 1, "R*1 to (R*2-1) meters"},
{ 2, "R*2 to (R*3-1) meters"},
{ 3, "R*3 to (R*4-1) meters"},
{ 4, "R*4 to (R*5-1) meters"},
{ 5, "R*5 to (R*6-1) meters"},
{ 6, "R*6 to (R*7-1) meters"},
{ 7, "R*7 to (R*8-1) meters"},
{ 8, "R*8 to (R*9-1) meters"},
{ 9, "R*9 to (R*10-1) meters"},
{ 10, "R*10 to (R*11-1) meters"},
{ 11, "R*11 to (R*12-1) meters"},
{ 12, "R*12 to (R*13-1) meters"},
{ 13, "R*13 to (R*14-1) meters"},
{ 14, "R*14 to (R*15-1) meters"},
{ 15, "R*15 to (R*16-1) meters"},
{ 16, "R*16 to (R*17-1) meters"},
{ 17, "R*17 to (R*18-1) meters"},
{ 18, "R*18 to (R*19-1) meters"},
{ 19, "R*19 to (R*20-1) meters"},
{ 20, "R*20 to (R*21-1) meters"},
{ 21, "R*21 to (R*22-1) meters"},
{ 22, "R*22 to (R*23-1) meters"},
{ 23, "R*23 to (R*24-1) meters"},
{ 24, "R*24 to (R*25-1) meters"},
{ 25, "R*25 to (R*26-1) meters"},
{ 26, "R*26 to (R*27-1) meters"},
{ 27, "R*27 to (R*28-1) meters"},
{ 28, "R*28 to (R*29-1) meters"},
{ 29, "R*29 to (R*30-1) meters"},
{ 30, "R*30 to (R*31-1) meters"},
{ 31, "R*31 meters or more"},
{ 0, NULL}
};
static value_string_ext lpp_error_Value_vals_ext = VALUE_STRING_EXT_INIT(lpp_error_Value_vals);
static const value_string lpp_error_NumSamples_vals[] = {
{ 0, "Not the baseline metric"},
{ 1, "5-9"},
{ 2, "10-14"},
{ 3, "15-24"},
{ 4, "25-34"},
{ 5, "35-44"},
{ 6, "45-54"},
{ 7, "55 or more"},
{ 0, NULL}
};
static void
lpp_relativeTimeDifference_fmt(gchar *s, guint32 v)
{
double rtd = (double)((gint32)v)*0.5;
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f Ts (%d)", rtd, (gint32)v);
}
static void
lpp_referenceTimeUnc_fmt(gchar *s, guint32 v)
{
double referenceTimeUnc = 0.5*(pow(1.14, (double)v)-1);
g_snprintf(s, ITEM_LABEL_LENGTH, "%fus (%u)", referenceTimeUnc, v);
}
static const value_string lpp_kp_vals[] = {
{ 0, "No UTC correction at the end of current quarter"},
{ 1, "UTC correction by plus (+1 s) in the end of current quarter"},
{ 3, "UTC correction by minus (-1 s) in the end of current quarter"},
{ 0, NULL}
};
static void
lpp_fractionalSecondsFromFrameStructureStart_fmt(gchar *s, guint32 v)
{
float frac = ((float)v)/4;
g_snprintf(s, ITEM_LABEL_LENGTH, "%fus (%u)", frac, v);
}
static void
lpp_frameDrift_fmt(gchar *s, guint32 v)
{
double drift = (double)((gint32)v)*pow(2, -30);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", drift, (gint32)v);
}
static const value_string lpp_dataID_vals[] = {
{ 0, "Parameters are applicable worldwide"},
{ 1, "Parameters have been generated by BDS"},
{ 3, "Parameters have been generated by QZSS"},
{ 0, NULL}
};
static void
lpp_alpha0_fmt(gchar *s, guint32 v)
{
double alpha = (double)((gint32)v)*pow(2, -30);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", alpha, (gint32)v);
}
static void
lpp_alpha1_fmt(gchar *s, guint32 v)
{
double alpha = (double)((gint32)v)*pow(2, -27);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", alpha, (gint32)v);
}
static void
lpp_alpha2_3_fmt(gchar *s, guint32 v)
{
double alpha = (double)((gint32)v)*pow(2, -24);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", alpha, (gint32)v);
}
static void
lpp_beta0_fmt(gchar *s, guint32 v)
{
double beta = (double)((gint32)v)*pow(2, 11);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", beta, (gint32)v);
}
static void
lpp_beta1_fmt(gchar *s, guint32 v)
{
double beta = (double)((gint32)v)*pow(2, 14);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", beta, (gint32)v);
}
static void
lpp_beta2_3_fmt(gchar *s, guint32 v)
{
double beta = (double)((gint32)v)*pow(2, 16);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", beta, (gint32)v);
}
static void
lpp_ai0_fmt(gchar *s, guint32 v)
{
double ai = (double)v*pow(2, -2);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gsfu (%u)", ai, v);
}
static void
lpp_ai1_fmt(gchar *s, guint32 v)
{
double ai = (double)v*pow(2, -8);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gsfu/degree (%u)", ai, v);
}
static void
lpp_ai2_fmt(gchar *s, guint32 v)
{
double ai = (double)v*pow(2, -15);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gsfu/degree2 (%u)", ai, v);
}
static void
lpp_teop_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v);
}
static void
lpp_pmX_Y_fmt(gchar *s, guint32 v)
{
double pm = (double)((gint32)v)*pow(2, -20);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g arc-seconds (%d)", pm, (gint32)v);
}
static void
lpp_pmX_Ydot_fmt(gchar *s, guint32 v)
{
double pmDot = (double)((gint32)v)*pow(2, -21);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g arc-seconds/day (%d)", pmDot, (gint32)v);
}
static void
lpp_deltaUT1_fmt(gchar *s, guint32 v)
{
double deltaUT1 = (double)((gint32)v)*pow(2, -24);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", deltaUT1, (gint32)v);
}
static void
lpp_deltaUT1dot_fmt(gchar *s, guint32 v)
{
double deltaUT1dot = (double)((gint32)v)*pow(2, -25);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/day (%d)", deltaUT1dot, (gint32)v);
}
static void
lpp_1_1000m_64_fmt(gchar *s, guint64 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%" G_GINT64_MODIFIER "d)", (double)v/1000, (gint64)v);
}
static void
lpp_1_1000m_32_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (double)v/1000, (gint32)v);
}
static const value_string lpp_clockSteeringIndicator_vals[] = {
{ 0, "Clock steering is not applied"},
{ 1, "Clock steering has been applied"},
{ 2, "Unknown clock steering status"},
{ 3, "Reserved"},
{ 0, NULL}
};
static const value_string lpp_externalClockIndicator_vals[] = {
{ 0, "Internal clock is used"},
{ 1, "External clock is used, clock status is \"locked\""},
{ 2, "External clock is used, clock status is \"not locked\", which may indicate external clock failure and that the transmitted data may not be reliable"},
{ 3, "Unknown clock is used"},
{ 0, NULL}
};
static const value_string lpp_smoothingIndicator_r15_vals[] = {
{ 0, "Other type of smoothing is used"},
{ 1, "Divergence-free smoothing is used"},
{ 0, NULL}
};
static const value_string lpp_smoothingInterval_r15_vals[] = {
{ 0, "No smoothing"},
{ 1, "< 30 s"},
{ 2, "30-60 s"},
{ 3, "1-2 min"},
{ 4, "2-4 min"},
{ 5, "4-8 min"},
{ 6, "> 8 min"},
{ 7, "Unlimited smoothing interval"},
{ 0, NULL}
};
static void
lpp_aux_master_delta_fmt(gchar *s, guint32 v)
{
double delta = (double)((gint32)v)*25*pow(10, -6);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%u)", delta, (gint32)v);
}
static void
lpp_gnss_TimeModelRefTime_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", v*16, v);
}
static void
lpp_tA0_fmt(gchar *s, guint32 v)
{
double tA0 = (double)((gint32)v)*pow(2, -35);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", tA0, (gint32)v);
}
static void
lpp_tA1_fmt(gchar *s, guint32 v)
{
double tA1 = (double)((gint32)v)*pow(2, -51);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", tA1, (gint32)v);
}
static void
lpp_tA2_fmt(gchar *s, guint32 v)
{
double tA2 = (double)((gint32)v)*pow(2, -68);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", tA2, (gint32)v);
}
static const value_string lpp_gnss_TO_ID_vals[] = {
{ 1, "GPS"},
{ 2, "Galileo"},
{ 3, "QZSS"},
{ 4, "GLONASS"},
{ 0, NULL}
};
static const value_string lpp_gnss_StatusHealth_vals[] = {
{ 0, "UDRE Scale Factor = 1.0"},
{ 1, "UDRE Scale Factor = 0.75"},
{ 2, "UDRE Scale Factor = 0.5"},
{ 3, "UDRE Scale Factor = 0.3"},
{ 4, "UDRE Scale Factor = 0.2"},
{ 5, "UDRE Scale Factor = 0.1"},
{ 6, "Reference Station Transmission Not Monitored"},
{ 7, "Data is invalid - disregard"},
{ 0, NULL}
};
static const value_string lpp_udre_vals[] = {
{ 0, "UDRE <= 1.0m"},
{ 1, "1.0m < UDRE <= 4.0m"},
{ 2, "4.0m < UDRE <= 8.0m"},
{ 3, "8.0m < UDRE"},
{ 0, NULL}
};
static void
lpp_pseudoRangeCor_fmt(gchar *s, guint32 v)
{
double pseudoRangeCor = ((double)(gint32)v)*0.32;
g_snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", pseudoRangeCor, (gint32)v);
}
static void
lpp_rangeRateCor_fmt(gchar *s, guint32 v)
{
double rangeRateCor = ((double)(gint32)v)*0.032;
g_snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", rangeRateCor, (gint32)v);
}
static const value_string lpp_udreGrowthRate_vals[] = {
{ 0, "1.5"},
{ 1, "2"},
{ 2, "4"},
{ 3, "6"},
{ 4, "8"},
{ 5, "10"},
{ 6, "12"},
{ 7, "16"},
{ 0, NULL}
};
static const value_string lpp_udreValidityTime_vals[] = {
{ 0, "20s"},
{ 1, "40s"},
{ 2, "80s"},
{ 3, "160s"},
{ 4, "320s"},
{ 5, "640s"},
{ 6, "1280s"},
{ 7, "2560s"},
{ 0, NULL}
};
static const value_string lpp_signal_health_status_vals[] = {
{ 0, "Signal OK"},
{ 1, "Signal out of service"},
{ 2, "Signal will be out of service"},
{ 3, "Signal Component currently in Test"},
{ 0, NULL}
};
static void
lpp_stanClockToc_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%um/s (%u)", 60*v, v);
}
static void
lpp_stanClockAF2_fmt(gchar *s, guint32 v)
{
double stanClockAF2 = (double)((gint32)v)*pow(2, -59);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", stanClockAF2, (gint32)v);
}
static void
lpp_stanClockAF1_fmt(gchar *s, guint32 v)
{
double stanClockAF1 = (double)((gint32)v)*pow(2, -46);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", stanClockAF1, (gint32)v);
}
static void
lpp_stanClockAF0_fmt(gchar *s, guint32 v)
{
double stanClockAF0 = (double)((gint32)v)*pow(2, -34);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", stanClockAF0, (gint32)v);
}
static void
lpp_stanClockTgd_fmt(gchar *s, guint32 v)
{
double stanClockTgd = (double)((gint32)v)*pow(2, -32);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", stanClockTgd, (gint32)v);
}
static void
lpp_sisa_fmt(gchar *s, guint32 v)
{
if (v < 50) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", v, v);
} else if (v < 75) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", 50+((v-50)*2), v);
} else if (v < 100) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", 100+((v-75)*4), v);
} else if (v < 126) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", 200+((v-100)*16), v);
} else if (v < 255) {
g_snprintf(s, ITEM_LABEL_LENGTH, "Spare (%u)", v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "No Accuracy Prediction Available (255)");
}
}
static const value_string lpp_stanModelID_vals[] = {
{ 0, "I/Nav"},
{ 1, "F/Nav"},
{ 0, NULL}
};
static void
lpp_navToc_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v);
}
static void
lpp_navaf2_fmt(gchar *s, guint32 v)
{
double navaf2 = (double)((gint32)v)*pow(2, -55);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", navaf2, (gint32)v);
}
static void
lpp_navaf1_fmt(gchar *s, guint32 v)
{
double navaf1 = (double)((gint32)v)*pow(2, -43);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navaf1, (gint32)v);
}
static void
lpp_navaf0_navTgd_fmt(gchar *s, guint32 v)
{
double navaf0_navTgd = (double)((gint32)v)*pow(2, -31);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navaf0_navTgd, (gint32)v);
}
static void
lpp_cnavToc_cnavTop_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 300*v, v);
}
static void
lpp_cnavAf2_fmt(gchar *s, guint32 v)
{
double cnavAf2 = (double)((gint32)v)*pow(2, -60);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", cnavAf2, (gint32)v);
}
static void
lpp_cnavAf1_fmt(gchar *s, guint32 v)
{
double cnavAf1 = (double)((gint32)v)*pow(2, -48);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", cnavAf1, (gint32)v);
}
static void
lpp_cnavX_fmt(gchar *s, guint32 v)
{
double cnavX = (double)((gint32)v)*pow(2, -35);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", cnavX, (gint32)v);
}
static void
lpp_gloTau_gloDeltaTau_fmt(gchar *s, guint32 v)
{
double gloTau_gloDeltaTau = (double)((gint32)v)*pow(2, -30);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gloTau_gloDeltaTau, (gint32)v);
}
static void
lpp_gloGamma_fmt(gchar *s, guint32 v)
{
double gloGamma = (double)((gint32)v)*pow(2, -40);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g (%d)", gloGamma, (gint32)v);
}
static void
lpp_sbasTo_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v);
}
static void
lpp_sbasAgfo_fmt(gchar *s, guint32 v)
{
double sbasAgfo = (double)((gint32)v)*pow(2, -31);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", sbasAgfo, (gint32)v);
}
static void
lpp_sbasAgf1_fmt(gchar *s, guint32 v)
{
double sbasAgf1 = (double)((gint32)v)*pow(2, -40);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", sbasAgf1, (gint32)v);
}
static void
lpp_bdsAODC_AODE_r12_fmt(gchar *s, guint32 v)
{
if (v < 25) {
g_snprintf(s, ITEM_LABEL_LENGTH, "Age of the satellite clock correction parameters is %u hours (%u)", v, v);
} else if (v < 31) {
g_snprintf(s, ITEM_LABEL_LENGTH, "Age of the satellite clock correction parameters is %u days (%u)", v-23, v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "Age of the satellite clock correction parameters is over 7 days (%u)", v);
}
}
static void
lpp_bdsToc_Toe_r12_fmt(gchar *s, guint32 v)
{
double bdsToc = (double)((gint32)v)*pow(2, 3);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsToc, (gint32)v);
}
static void
lpp_bdsA0_r12_fmt(gchar *s, guint32 v)
{
double bdsA0 = (double)((gint32)v)*pow(2, -33);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsA0, (gint32)v);
}
static void
lpp_bdsA1_r12_fmt(gchar *s, guint32 v)
{
double bdsA1 = (double)((gint32)v)*pow(2, -50);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", bdsA1, (gint32)v);
}
static void
lpp_bdsA2_r12_fmt(gchar *s, guint32 v)
{
double bdsA2 = (double)((gint32)v)*pow(2, -66);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", bdsA2, (gint32)v);
}
static void
lpp_bdsTgd1_r12_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%gns (%d)", (float)((gint32)v)*0.1, (gint32)v);
}
static void
lpp_keplerToe_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 60*v, v);
}
static void
lpp_keplerW_M0_I0_Omega0_fmt(gchar *s, guint32 v)
{
double keplerW_M0_I0_Omega0 = (double)((gint32)v)*pow(2, -31);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", keplerW_M0_I0_Omega0, (gint32)v);
}
static void
lpp_keplerDeltaN_OmegaDot_IDot_fmt(gchar *s, guint32 v)
{
double keplerDeltaN_OmegaDot_IDot = (double)((gint32)v)*pow(2, -43);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", keplerDeltaN_OmegaDot_IDot, (gint32)v);
}
static void
lpp_keplerE_fmt(gchar *s, guint32 v)
{
double keplerE = (double)v*pow(2, -33);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", keplerE, v);
}
static void
lpp_keplerAPowerHalf_fmt(gchar *s, guint32 v)
{
double keplerAPowerHalf = (double)v*pow(2, -19);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", keplerAPowerHalf, v);
}
static void
lpp_keplerCrs_Crc_fmt(gchar *s, guint32 v)
{
double keplerCrs_Crc = (double)((gint32)v)*pow(2, -5);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", keplerCrs_Crc, (gint32)v);
}
static void
lpp_keplerCx_fmt(gchar *s, guint32 v)
{
double keplerCx = (double)((gint32)v)*pow(2, -29);
g_snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", keplerCx, (gint32)v);
}
static void
lpp_navToe_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v);
}
static void
lpp_navOmega_M0_I0_OmegaA0_fmt(gchar *s, guint32 v)
{
double navOmega_M0_I0_OmegaA0 = (double)((gint32)v)*pow(2, -31);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navOmega_M0_I0_OmegaA0, (gint32)v);
}
static void
lpp_navDeltaN_OmegaADot_IDot_fmt(gchar *s, guint32 v)
{
double navDeltaN_OmegaADot_IDot = (double)((gint32)v)*pow(2, -43);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", navDeltaN_OmegaADot_IDot, (gint32)v);
}
static void
lpp_navE_fmt(gchar *s, guint32 v)
{
double navE = (double)v*pow(2, -33);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", navE, v);
}
static void
lpp_navAPowerHalf_fmt(gchar *s, guint32 v)
{
double navAPowerHalf = (double)v*pow(2, -19);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", navAPowerHalf, v);
}
static void
lpp_navCrs_Crc_fmt(gchar *s, guint32 v)
{
double navCrs_Crc = (double)((gint32)v)*pow(2, -5);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", navCrs_Crc, (gint32)v);
}
static void
lpp_navCx_fmt(gchar *s, guint32 v)
{
double navCx = (double)((gint32)v)*pow(2, -29);
g_snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", navCx, (gint32)v);
}
static void
lpp_cnavDeltaA_fmt(gchar *s, guint32 v)
{
double cnavDeltaA = (double)((gint32)v)*pow(2, -9);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", cnavDeltaA, (gint32)v);
}
static void
lpp_cnavAdot_fmt(gchar *s, guint32 v)
{
double cnavAdot = (double)((gint32)v)*pow(2, -21);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", cnavAdot, (gint32)v);
}
static void
lpp_cnavDeltaNo_fmt(gchar *s, guint32 v)
{
double cnavDeltaNo = (double)((gint32)v)*pow(2, -44);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", cnavDeltaNo, (gint32)v);
}
static void
lpp_cnavDeltaNoDot_fmt(gchar *s, guint32 v)
{
double cnavDeltaNoDot = (double)((gint32)v)*pow(2, -57);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s2 (%d)", cnavDeltaNoDot, (gint32)v);
}
static void
lpp_cnavDeltaOmegaDot_IoDot_fmt(gchar *s, guint32 v)
{
double cnavDeltaOmegaDot_IoDot = (double)((gint32)v)*pow(2, -44);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", cnavDeltaOmegaDot_IoDot, (gint32)v);
}
static void
lpp_cnavCx_fmt(gchar *s, guint32 v)
{
double cnavCx = (double)((gint32)v)*pow(2, -30);
g_snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", cnavCx, (gint32)v);
}
static void
lpp_cnavCrs_Crc_fmt(gchar *s, guint32 v)
{
double cnavCrs_Crc = (double)((gint32)v)*pow(2, -8);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", cnavCrs_Crc, (gint32)v);
}
static void
lpp_gloX_Y_Z_fmt(gchar *s, guint32 v)
{
double gloX_Y_Z = (double)((gint32)v)*pow(2, -11);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gkm (%d)", gloX_Y_Z, (gint32)v);
}
static void
lpp_gloXdot_Ydot_Zdot_fmt(gchar *s, guint32 v)
{
double gloXdot_Ydot_Zdot = (double)((gint32)v)*pow(2, -20);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gkm/s (%d)", gloXdot_Ydot_Zdot, (gint32)v);
}
static void
lpp_gloXdotdot_Ydotdot_Zdotdot_fmt(gchar *s, guint32 v)
{
double gloXdotdot_Ydotdot_Zdotdot = (double)((gint32)v)*pow(2, -30);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gkm/s2 (%d)", gloXdotdot_Ydotdot_Zdotdot, (gint32)v);
}
static void
lpp_sbasXg_Yg_fmt(gchar *s, guint32 v)
{
double sbasXg_Yg = (double)((gint32)v)*0.08;
g_snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", sbasXg_Yg, (gint32)v);
}
static void
lpp_sbasZg_fmt(gchar *s, guint32 v)
{
double sbasZg = (double)((gint32)v)*0.4;
g_snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", sbasZg, (gint32)v);
}
static void
lpp_sbasXgDot_YgDot_fmt(gchar *s, guint32 v)
{
double sbasXgDot_YgDot = (double)((gint32)v)*0.000625;
g_snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", sbasXgDot_YgDot, (gint32)v);
}
static void
lpp_sbasZgDot_fmt(gchar *s, guint32 v)
{
double sbasZgDot = (double)((gint32)v)*0.004;
g_snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", sbasZgDot, (gint32)v);
}
static void
lpp_sbasXgDotDot_YgDotDot_fmt(gchar *s, guint32 v)
{
double sbasXgDotDot_YgDotDot = (double)((gint32)v)*0.0000125;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", sbasXgDotDot_YgDotDot, (gint32)v);
}
static void
lpp_sbasZgDotDot_fmt(gchar *s, guint32 v)
{
double sbasZgDotDot = (double)((gint32)v)*0.0000625;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", sbasZgDotDot, (gint32)v);
}
static void
lpp_bdsAPowerHalf_r12_fmt(gchar *s, guint32 v)
{
double bdsAPowerHalf = (double)v*pow(2, -19);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", bdsAPowerHalf, v);
}
static void
lpp_bdsE_r12_fmt(gchar *s, guint32 v)
{
double bdsE = (double)v*pow(2, -33);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", bdsE, v);
}
static void
lpp_bdsW_M0_Omega0_I0_r12_fmt(gchar *s, guint32 v)
{
double bdsW_M0_Omega0_I0 = (double)((gint32)v)*pow(2, -31);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsW_M0_Omega0_I0, (gint32)v);
}
static void
lpp_bdsDeltaN_OmegaDot_IDot_r12_fmt(gchar *s, guint32 v)
{
double bdsDeltaN_OmegaDot_IDot = (double)((gint32)v)*pow(2, -43);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", bdsDeltaN_OmegaDot_IDot, (gint32)v);
}
static void
lpp_bdsCuc_Cus_Cic_Cis_r12_fmt(gchar *s, guint32 v)
{
double bdsCuc_Cus_Cic_Cis = (double)((gint32)v)*pow(2, -31);
g_snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", bdsCuc_Cus_Cic_Cis, (gint32)v);
}
static void
lpp_bdsCrc_Crs_r12_fmt(gchar *s, guint32 v)
{
double bdsCrc_Crs = (double)((gint32)v)*pow(2, -6);
g_snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", bdsCrc_Crs, (gint32)v);
}
static void
lpp_doppler0_fmt(gchar *s, guint32 v)
{
double doppler0 = (double)((gint32)v)*0.5;
g_snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", doppler0, (gint32)v);
}
static void
lpp_doppler1_fmt(gchar *s, guint32 v)
{
double doppler1 = (double)((gint32)(v-42))/210;
g_snprintf(s, ITEM_LABEL_LENGTH, "%fm/s2 (%u)", doppler1, v);
}
static const value_string lpp_dopplerUncertainty_vals[] = {
{ 0, "40m/s"},
{ 1, "20m/s"},
{ 2, "10m/s"},
{ 3, "5m/s"},
{ 4, "2.5m/s"},
{ 0, NULL}
};
static void
lpp_codePhase_fmt(gchar *s, guint32 v)
{
double codePhase = (double)v*pow(2, -10);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gms (%u)", codePhase, v);
}
static const value_string lpp_codePhaseSearchWindow_vals[] = {
{ 0, "No information"},
{ 1, "0.002ms"},
{ 2, "0.004ms"},
{ 3, "0.008ms"},
{ 4, "0.012ms"},
{ 5, "0.016ms"},
{ 6, "0.024ms"},
{ 7, "0.032ms"},
{ 8, "0.048ms"},
{ 9, "0.064ms"},
{ 10, "0.096ms"},
{ 11, "0.128ms"},
{ 12, "0.164ms"},
{ 13, "0.200ms"},
{ 14, "0.250ms"},
{ 15, "0.300ms"},
{ 16, "0.360ms"},
{ 17, "0.420ms"},
{ 18, "0.480ms"},
{ 19, "0.540ms"},
{ 20, "0.600ms"},
{ 21, "0.660ms"},
{ 22, "0.720ms"},
{ 23, "0.780ms"},
{ 24, "0.850ms"},
{ 25, "1.000ms"},
{ 26, "1.150ms"},
{ 27, "1.300ms"},
{ 28, "1.450ms"},
{ 29, "1.600ms"},
{ 30, "1.800ms"},
{ 31, "2.000ms"},
{ 0, NULL}
};
static value_string_ext lpp_codePhaseSearchWindow_vals_ext = VALUE_STRING_EXT_INIT(lpp_codePhaseSearchWindow_vals);
static void
lpp_azimuth_elevation_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%u)", (float)v*0.703125, v);
}
static void
lpp_kepAlmanacE_fmt(gchar *s, guint32 v)
{
double kepAlmanacE = (double)v*pow(2, -16);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", kepAlmanacE, v);
}
static void
lpp_kepAlmanacDeltaI_fmt(gchar *s, guint32 v)
{
double kepAlmanacDeltaI = (double)((gint32)v)*pow(2, -14);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", kepAlmanacDeltaI, (gint32)v);
}
static void
lpp_kepAlmanacOmegaDot_fmt(gchar *s, guint32 v)
{
double kepAlmanacOmegaDot = (double)((gint32)v)*pow(2, -33);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", kepAlmanacOmegaDot, (gint32)v);
}
static void
lpp_kepAlmanacAPowerHalf_fmt(gchar *s, guint32 v)
{
double kepAlmanacAPowerHalf = (double)((gint32)v)*pow(2, -9);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%d)", kepAlmanacAPowerHalf, (gint32)v);
}
static void
lpp_kepAlmanacOmega0_W_M0_fmt(gchar *s, guint32 v)
{
double kepAlmanacOmega0_W_M0 = (double)((gint32)v)*pow(2, -15);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", kepAlmanacOmega0_W_M0, (gint32)v);
}
static void
lpp_kepAlmanacAF0_fmt(gchar *s, guint32 v)
{
double kepAlmanacAF0 = (double)((gint32)v)*pow(2, -19);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", kepAlmanacAF0, (gint32)v);
}
static void
lpp_kepAlmanacAF1_fmt(gchar *s, guint32 v)
{
double kepAlmanacAF1 = (double)((gint32)v)*pow(2, -38);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", kepAlmanacAF1, (gint32)v);
}
static void
lpp_navAlmE_fmt(gchar *s, guint32 v)
{
double navAlmE = (double)v*pow(2, -21);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", navAlmE, v);
}
static void
lpp_navAlmDeltaI_fmt(gchar *s, guint32 v)
{
double navAlmDeltaI = (double)((gint32)v)*pow(2, -19);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navAlmDeltaI, (gint32)v);
}
static void
lpp_navAlmOMEGADOT_fmt(gchar *s, guint32 v)
{
double navAlmOMEGADOT = (double)((gint32)v)*pow(2, -38);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", navAlmOMEGADOT, (gint32)v);
}
static void
lpp_navAlmSqrtA_fmt(gchar *s, guint32 v)
{
double navAlmSqrtA = (double)v*pow(2, -11);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", navAlmSqrtA, v);
}
static void
lpp_navAlmOMEGAo_Omega_Mo_fmt(gchar *s, guint32 v)
{
double navAlmOMEGAo_Omega_Mo = (double)((gint32)v)*pow(2, -23);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navAlmOMEGAo_Omega_Mo, (gint32)v);
}
static void
lpp_navAlmaf0_fmt(gchar *s, guint32 v)
{
double navAlmaf0 = (double)((gint32)v)*pow(2, -20);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", navAlmaf0, (gint32)v);
}
static void
lpp_navAlmaf1_fmt(gchar *s, guint32 v)
{
double navAlmaf1 = (double)((gint32)v)*pow(2, -38);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navAlmaf1, (gint32)v);
}
static void
lpp_redAlmDeltaA_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%dm (%d)", 512*(gint)v, (gint)v);
}
static void
lpp_redAlmOmega0_Phi0_fmt(gchar *s, guint32 v)
{
double redAlmOmega0_Phi0 = (double)((gint32)v)*pow(2, -6);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", redAlmOmega0_Phi0, (gint32)v);
}
static void
lpp_midiAlmE_fmt(gchar *s, guint32 v)
{
double midiAlmE = (double)v*pow(2, -16);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", midiAlmE, v);
}
static void
lpp_midiAlmDeltaI_fmt(gchar *s, guint32 v)
{
double midiAlmDeltaI = (double)((gint32)v)*pow(2, -14);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", midiAlmDeltaI, (gint32)v);
}
static void
lpp_midiAlmOmegaDot_fmt(gchar *s, guint32 v)
{
double midiAlmOmegaDot = (double)((gint32)v)*pow(2, -33);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", midiAlmOmegaDot, (gint32)v);
}
static void
lpp_midiAlmSqrtA_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%fm1/2 (%u)", (float)v*0.0625, v);
}
static void
lpp_midiAlmOmega0_Omega_Mo_fmt(gchar *s, guint32 v)
{
double midiAlmOmega0_Omega_Mo = (double)((gint32)v)*pow(2, -15);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", midiAlmOmega0_Omega_Mo, (gint32)v);
}
static void
lpp_midiAlmaf0_fmt(gchar *s, guint32 v)
{
double midiAlmaf0 = (double)((gint32)v)*pow(2, -20);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", midiAlmaf0, (gint32)v);
}
static void
lpp_midiAlmaf1_fmt(gchar *s, guint32 v)
{
double midiAlmaf1 = (double)((gint32)v)*pow(2, -37);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", midiAlmaf1, (gint32)v);
}
static void
lpp_gloAlmLambdaA_DeltaIa_fmt(gchar *s, guint32 v)
{
double gloAlmLambdaA_DeltaIa = (double)((gint32)v)*pow(2, -20);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", gloAlmLambdaA_DeltaIa, (gint32)v);
}
static void
lpp_gloAlmtlambdaA_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%fs (%u)", (float)v*0.03125, v);
}
static void
lpp_gloAlmDeltaTA_fmt(gchar *s, guint32 v)
{
double gloAlmDeltaTA = (double)((gint32)v)*pow(2, -9);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/orbit period (%d)", gloAlmDeltaTA, (gint32)v);
}
static void
lpp_gloAlmDeltaTdotA_fmt(gchar *s, guint32 v)
{
double gloAlmDeltaTdotA = (double)((gint32)v)*pow(2, -14);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/orbit period (%d)", gloAlmDeltaTdotA, (gint32)v);
}
static void
lpp_gloAlmEpsilonA_fmt(gchar *s, guint32 v)
{
double gloAlmEpsilonA = (double)v*pow(2, -20);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", gloAlmEpsilonA, (gint32)v);
}
static void
lpp_gloAlmOmegaA_fmt(gchar *s, guint32 v)
{
double gloAlmOmegaA = (double)((gint32)v)*pow(2, -15);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", gloAlmOmegaA, (gint32)v);
}
static void
lpp_gloAlmTauA_fmt(gchar *s, guint32 v)
{
double gloAlmTauA = (double)((gint32)v)*pow(2, -18);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gloAlmTauA, (gint32)v);
}
static void
lpp_sbasAlmXg_Yg_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%fkm (%d)", (gint32)v*2.6, (gint32)v);
}
static void
lpp_sbasAlmZg_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%dkm (%d)", (gint32)v*26, (gint32)v);
}
static void
lpp_sbasAlmXgdot_YgDot_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%dm/s (%d)", (gint32)v*10, (gint32)v);
}
static void
lpp_sbasAlmZgDot_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", (gint32)v*40.96, (gint32)v);
}
static void
lpp_sbasAlmTo_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%um/s (%u)", v*64, v);
}
static void
lpp_bdsAlmToa_r12_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", v*4096, v);
}
static void
lpp_bdsAlmSqrtA_r12_fmt(gchar *s, guint32 v)
{
double bdsAlmSqrtA = (double)v*pow(2, -11);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", bdsAlmSqrtA, v);
}
static void
lpp_bdsAlmE_r12_fmt(gchar *s, guint32 v)
{
double bdsAlmE = (double)v*pow(2, -21);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", bdsAlmE, v);
}
static void
lpp_bdsAlmW_M0_Omega0_r12_fmt(gchar *s, guint32 v)
{
double bdsAlmW_M0_Omega0 = (double)((gint32)v)*pow(2, -23);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsAlmW_M0_Omega0, (gint32)v);
}
static void
lpp_bdsAlmOmegaDot_r12_fmt(gchar *s, guint32 v)
{
double bdsAlmOmegaDot = (double)((gint32)v)*pow(2, -38);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", bdsAlmOmegaDot, (gint32)v);
}
static void
lpp_bdsAlmDeltaI_r12_fmt(gchar *s, guint32 v)
{
double bdsAlmDeltaI = (double)((gint32)v)*pow(2, -19);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsAlmDeltaI, (gint32)v);
}
static void
lpp_bdsAlmA0_r12_fmt(gchar *s, guint32 v)
{
double bdsAlmA0 = (double)((gint32)v)*pow(2, -20);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsAlmA0, (gint32)v);
}
static void
lpp_bdsAlmA1_r12_fmt(gchar *s, guint32 v)
{
double bdsAlmA1 = (double)((gint32)v)*pow(2, -38);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", bdsAlmA1, (gint32)v);
}
static const true_false_string lpp_bdsSvHealth_r12_b1i_b2i_value = {
"OK",
"Weak"
};
static const true_false_string lpp_bdsSvHealth_r12_nav_value = {
"OK",
"Bad (IOD over limit)"
};
static void
lpp_gnss_Utc_A1_fmt(gchar *s, guint32 v)
{
double gnss_Utc_A1 = (double)((gint32)v)*pow(2, -50);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", gnss_Utc_A1, (gint32)v);
}
static void
lpp_gnss_Utc_A0_fmt(gchar *s, guint32 v)
{
double gnss_Utc_A0 = (double)((gint32)v)*pow(2, -30);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gnss_Utc_A0, (gint32)v);
}
static void
lpp_gnss_Utc_Tot_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", v*4096, v);
}
static const value_string lpp_bds_UDREI_vals[] = {
{ 0, "1 meter"},
{ 1, "1.5 meters"},
{ 2, "2 meters"},
{ 3, "3 meters"},
{ 4, "4 meters"},
{ 5, "5 meters"},
{ 6, "6 meters"},
{ 7, "8 meters"},
{ 8, "10 meters"},
{ 9, "15 meters"},
{ 10, "20 meters"},
{ 11, "50 meters"},
{ 12, "100 meters"},
{ 13, "150 meters"},
{ 14, "Not monitored"},
{ 15, "Not available"},
{ 0, NULL}
};
static value_string_ext lpp_bds_UDREI_vals_ext = VALUE_STRING_EXT_INIT(lpp_bds_UDREI_vals);
static const value_string lpp_bds_RURAI_vals[] = {
{ 0, "0.75 meter"},
{ 1, "1 meter"},
{ 2, "1.25 meters"},
{ 3, "1.75 meters"},
{ 4, "2.25 meters"},
{ 5, "3 meters"},
{ 6, "3.75 meters"},
{ 7, "4.5 meters"},
{ 8, "5.25 meters"},
{ 9, "6 meters"},
{ 10, "7.5 meters"},
{ 11, "15 meters"},
{ 12, "50 meters"},
{ 13, "150 meters"},
{ 14, "300 meters"},
{ 15, "> 300 meters"},
{ 0, NULL}
};
static value_string_ext lpp_bds_RURAI_vals_ext = VALUE_STRING_EXT_INIT(lpp_bds_RURAI_vals);
static void
lpp_bds_ECC_DeltaT_r12_fmt(gchar *s, guint32 v)
{
if ((gint32)v == -4096) {
g_snprintf(s, ITEM_LABEL_LENGTH, "Not available (%d)", (gint32)v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (float)((gint32)v)*0.1, (gint32)v);
}
}
static void
lpp_bds_GridIonElement_dt_r12_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (float)((gint32)v)*0.125, (gint32)v);
}
static const value_string lpp_bds_givei_vals[] = {
{ 0, "0.3 meter"},
{ 1, "0.6 meter"},
{ 2, "0.9 meter"},
{ 3, "1.2 meters"},
{ 4, "1.5 meters"},
{ 5, "1.8 meters"},
{ 6, "2.1 meters"},
{ 7, "2.4 meters"},
{ 8, "2.7 meters"},
{ 9, "3 meters"},
{ 10, "3.6 meters"},
{ 11, "4.5 meters"},
{ 12, "6 meters"},
{ 13, "9 meters"},
{ 14, "15 meters"},
{ 15, "45 meters"},
{ 0, NULL}
};
static value_string_ext lpp_bds_givei_vals_ext = VALUE_STRING_EXT_INIT(lpp_bds_givei_vals);
static void
lpp_fine_PseudoRange_r15_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)*pow(2, -29);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (gint32)v);
}
static void
lpp_fine_PhaseRange_r15_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)*pow(2, -31);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (gint32)v);
}
static void
lpp_carrier_to_noise_ratio_r15_fmt(gchar *s, guint32 v)
{
double val = (double)v*pow(2, -4);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gdB-Hz (%d)", val, v);
}
static void
lpp_fine_PhaseRangeRate_r15_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)/1000;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (gint32)v);
}
static void
lpp_cpBias_r15_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)/50;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v);
}
static const value_string lpp_ambiguityStatusFlag_r15_vals[] = {
{ 0, "Reserved for future use (artificial observations)"},
{ 1, "Correct Integer Ambiguity Level for L1 and L2"},
{ 2, "Correct Integer Ambiguity Level for L1-L2 widelane"},
{ 3, "Uncertain Integer Ambiguity Level. Only a likely guess is used"},
{ 0, NULL}
};
static void
lpp_1_2000m_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)/2000;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v);
}
static void
lpp_1_100ppm_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)/100;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gppm (%d)", val, (gint32)v);
}
static void
lpp_1_10ppm_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)/10;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gppm (%d)", val, (gint32)v);
}
static const value_string lpp_ssrUpdateInterval_r15_vals[] = {
{ 0, "1 second"},
{ 1, "2 seconds"},
{ 2, "5 seconds"},
{ 3, "10 seconds"},
{ 4, "15 seconds"},
{ 5, "30 seconds"},
{ 6, "60 seconds"},
{ 7, "120 seconds"},
{ 8, "240 seconds"},
{ 9, "300 seconds"},
{ 10, "600 seconds"},
{ 11, "900 seconds"},
{ 12, "1800 seconds"},
{ 13, "3600 seconds"},
{ 14, "7200 seconds"},
{ 15, "10800 seconds"},
{ 0, NULL}
};
static void
lpp_1_10000m_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)/10000;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v);
}
static void
lpp_4_10000m_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)/10000*4;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v);
}
static void
lpp_1_1000000m_s_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)/1000000;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", val, (gint32)v);
}
static void
lpp_4_1000000m_s_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)/1000000*4;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", val, (gint32)v);
}
static void
lpp_2_100000000m_s2_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)/100000000*2;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", val, (gint32)v);
}
static void
lpp_1_100000m_fmt(gchar *s, guint32 v)
{
double val = (double)((gint32)v)/100000;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v);
}
static void
lpp_tauC_fmt(gchar *s, guint32 v)
{
double tauC = (double)((gint32)v)*pow(2, -31);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", tauC, (gint32)v);
}
static void
lpp_b1_fmt(gchar *s, guint32 v)
{
double b1 = (double)((gint32)v)*pow(2, -10);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", b1, (gint32)v);
}
static void
lpp_b2_fmt(gchar *s, guint32 v)
{
double b2 = (double)((gint32)v)*pow(2, -16);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gs/msd (%d)", b2, (gint32)v);
}
static const value_string lpp_utcStandardID_vals[] = {
{ 0, "UTC as operated by the Communications Research Laboratory (CRL), Tokyo, Japan"},
{ 1, "UTC as operated by the National Institute of Standards and Technology (NIST)"},
{ 2, "UTC as operated by the U. S. Naval Observatory (USNO)"},
{ 3, "UTC as operated by the International Bureau of Weights and Measures (BIPM)"},
{ 0, NULL}
};
static const value_string lpp_dataBitInterval_vals[] = {
{ 0, "0.1"},
{ 1, "0.2"},
{ 2, "0.4"},
{ 3, "0.8"},
{ 4, "1.6"},
{ 5, "3.2"},
{ 6, "6.4"},
{ 7, "12.8"},
{ 8, "25.6"},
{ 9, "51.2"},
{ 10, "102.4"},
{ 11, "204.8"},
{ 12, "409.6"},
{ 13, "819.2"},
{ 14, "1638.4"},
{ 15, "Not specified"},
{ 0, NULL}
};
static value_string_ext lpp_dataBitInterval_vals_ext = VALUE_STRING_EXT_INIT(lpp_dataBitInterval_vals);
static const value_string lpp_carrierQualityInd_vals[] = {
{ 0, "Data direct, carrier phase not continuous"},
{ 1, "Data inverted, carrier phase not continuous"},
{ 2, "Data direct, carrier phase continuous"},
{ 3, "Data inverted, carrier phase continuous"},
{ 0, NULL}
};
static void
lpp_GNSS_SatMeas_codePhase_fmt(gchar *s, guint32 v)
{
double codePhase = (double)v*pow(2, -21);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gms (%u)", codePhase, v);
}
static void
lpp_codePhaseRMSError_fmt(gchar *s, guint32 v)
{
guint8 mantissa = v & 0x07;
guint8 exponent = (v & 0x38) >> 3;
guint8 mantissa_1 = (v - 1) & 0x07;
guint8 exponent_1 = ((v - 1) & 0x38) >> 3;
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "P < 0.5 (0)");
} else if (v < 63) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%f <= P < %f (%u)", 0.5*(1+mantissa_1/8)*pow(2, exponent_1),
0.5*(1+mantissa/8)*pow(2, exponent), v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "112 <= P (63)");
}
}
static void
lpp_transmitterLatitude_fmt(gchar *s, guint32 v)
{
double lat = ((double)v*4.0/pow(2, 20))-90.0;
g_snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", lat, v);
}
static void
lpp_transmitterLongitude_fmt(gchar *s, guint32 v)
{
double longitude = ((double)v*4.0/pow(2, 20))-180.0;
g_snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", longitude, v);
}
static void
lpp_transmitterAltitude_fmt(gchar *s, guint32 v)
{
double alt = ((double)v*0.29)-500.0;
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%u)", alt, v);
}
static void
lpp_refPressure_fmt(gchar *s, guint32 v)
{
gint32 pressure = (gint32)v;
g_snprintf(s, ITEM_LABEL_LENGTH, "%dPa (%d)", 101325+pressure, pressure);
}
static void
lpp_refTemperature_fmt(gchar *s, guint32 v)
{
gint32 temp = (gint32)v;
g_snprintf(s, ITEM_LABEL_LENGTH, "%dK (%d)", 273+temp, temp);
}
static void
lpp_referencePressureRate_v1520_fmt(gchar *s, guint32 v)
{
gint32 rate = (gint32)v;
g_snprintf(s, ITEM_LABEL_LENGTH, "%dPa/hour (%d)", 10*rate, rate);
}
static void
lpp_PressureValidityPeriod_v1520_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%umin (%u)", 15*v, v);
}
static void
lpp_doppler_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", (gint32)v*0.04, (gint32)v);
}
static void
lpp_adr_fmt(gchar *s, guint32 v)
{
double adr = (double)v*pow(2, -10);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%u)", adr, v);
}
static void
lpp_adrMSB_r15_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%um (%u)", v*32768, v);
}
static void
lpp_GNSS_SatMeas_delta_codePhase_r15_fmt(gchar *s, guint32 v)
{
double codePhase = (double)v*pow(2, -24);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gms (%u)", codePhase, v);
}
static void
lpp_deliveryAmount_r15_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", pow(2, v), v);
}
static void
lpp_rsrp_Result_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140dBm (0)");
} else if (v < 97) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%u)", v-141, v-140, v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= RSRP (97)");
}
}
static void
lpp_rsrq_Result_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)");
} else if (v < 34) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%u)", ((float)v/2)-20, (((float)v+1)/2)-20, v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)");
}
}
static void
lpp_nrsrp_Result_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "NRSRP < -156dBm (0)");
} else if (v < 113) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= NRSRP < %ddBm (%u)", v-157, v-156, v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= NRSRP (97)");
}
}
static void
lpp_nrsrq_Result_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "NRSRQ < -34dB (0)");
} else if (v < 74) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= NRSRQ < %.1fdB (%u)", (((float)v-1)/2)-34, ((float)v/2)-34, v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "2.5dB <= NRSRQ (%u)", v);
}
}
static void
lpp_rsrp_Result_v1470_fmt(gchar *s, guint32 v)
{
gint32 d = (gint32)v;
if (d == -17) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -157dBm (-17)");
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%d)", d-141, d-140, d);
}
}
static void
lpp_rsrq_Result_v1470_fmt(gchar *s, guint32 v)
{
gint32 d = (gint32)v;
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -34.5dB (-30)");
} else if (v < 46) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", ((float)d/2)-20, (((float)d+1)/2)-20, d);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "3dB <= RSRQ (46)");
}
}
static void
lpp_ue_RxTxTimeDiff_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "T < 2Ts (0)");
} else if (v < 2048) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%uTs <= T < %uTs (%u)", v*2, (v+1)*2, v);
} else if (v < 4095) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%uTs <= T < %uTs (%u)", (v*8)-12288, ((v+1)*8)-12288, v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "20472Ts <= T (4095)");
}
}
static void
lpp_mbs_beaconMeasElt_codePhase_fmt(gchar *s, guint32 v)
{
double codePhase = (double)v*pow(2, -21);
g_snprintf(s, ITEM_LABEL_LENGTH, "%gms (%u)", codePhase, v);
}
const unit_name_string units_dbhz = { "dB-Hz", NULL };
const unit_name_string units_pa = { "Pa", NULL };
/*--- Included file: packet-lpp-fn.c ---*/
#line 1 "./asn1/lpp/packet-lpp-fn.c"
static const value_string lpp_Initiator_vals[] = {
{ 0, "locationServer" },
{ 1, "targetDevice" },
{ 0, NULL }
};
static int
dissect_lpp_Initiator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_lpp_TransactionNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, NULL, FALSE);
return offset;
}
static const per_sequence_t LPP_TransactionID_sequence[] = {
{ &hf_lpp_initiator , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_Initiator },
{ &hf_lpp_transactionNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_TransactionNumber },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_LPP_TransactionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_LPP_TransactionID, LPP_TransactionID_sequence);
return offset;
}
static int
dissect_lpp_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
return offset;
}
static int
dissect_lpp_SequenceNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, NULL, FALSE);
return offset;
}
static const per_sequence_t Acknowledgement_sequence[] = {
{ &hf_lpp_ackRequested , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ackIndicator , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SequenceNumber },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Acknowledgement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Acknowledgement, Acknowledgement_sequence);
return offset;
}
static int * const T_lpp_message_segmentation_req_r14_bits[] = {
&hf_lpp_T_lpp_message_segmentation_req_r14_serverToTarget,
&hf_lpp_T_lpp_message_segmentation_req_r14_targetToServer,
NULL
};
static int
dissect_lpp_T_lpp_message_segmentation_req_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, T_lpp_message_segmentation_req_r14_bits, 2, NULL, NULL);
return offset;
}
static const per_sequence_t CommonIEsRequestCapabilities_eag_1_sequence[] = {
{ &hf_lpp_lpp_message_segmentation_req_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_lpp_message_segmentation_req_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsRequestCapabilities_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CommonIEsRequestCapabilities_eag_1_sequence);
return offset;
}
static const per_sequence_t CommonIEsRequestCapabilities_sequence[] = {
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsRequestCapabilities_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsRequestCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CommonIEsRequestCapabilities, CommonIEsRequestCapabilities_sequence);
return offset;
}
static const per_sequence_t A_GNSS_RequestCapabilities_sequence[] = {
{ &hf_lpp_gnss_SupportListReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_assistanceDataSupportListReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_locationVelocityTypesReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_A_GNSS_RequestCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_A_GNSS_RequestCapabilities, A_GNSS_RequestCapabilities_sequence);
return offset;
}
static const per_sequence_t OTDOA_RequestCapabilities_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_OTDOA_RequestCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_RequestCapabilities, OTDOA_RequestCapabilities_sequence);
return offset;
}
static const per_sequence_t ECID_RequestCapabilities_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_ECID_RequestCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ECID_RequestCapabilities, ECID_RequestCapabilities_sequence);
return offset;
}
static int
dissect_lpp_EPDU_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 149 "./asn1/lpp/lpp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 256U, &lpp_epdu_id, FALSE);
return offset;
}
static int
dissect_lpp_EPDU_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
1, 32, FALSE);
return offset;
}
static const per_sequence_t EPDU_Identifier_sequence[] = {
{ &hf_lpp_ePDU_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_EPDU_ID },
{ &hf_lpp_ePDU_Name , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Name },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_EPDU_Identifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_EPDU_Identifier, EPDU_Identifier_sequence);
return offset;
}
static int
dissect_lpp_EPDU_Body(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 155 "./asn1/lpp/lpp.cnf"
tvbuff_t *lppe_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &lppe_tvb);
switch(lpp_epdu_id){
case 1:
if (lppe_tvb && lppe_handle) {
call_dissector(lppe_handle, lppe_tvb, actx->pinfo, tree);
}
break;
default:
break;
}
lpp_epdu_id = -1;
return offset;
}
static const per_sequence_t EPDU_sequence[] = {
{ &hf_lpp_ePDU_Identifier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_EPDU_Identifier },
{ &hf_lpp_ePDU_Body , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_EPDU_Body },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_EPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_EPDU, EPDU_sequence);
return offset;
}
static const per_sequence_t EPDU_Sequence_sequence_of[1] = {
{ &hf_lpp_EPDU_Sequence_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_EPDU },
};
static int
dissect_lpp_EPDU_Sequence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_EPDU_Sequence, EPDU_Sequence_sequence_of,
1, maxEPDU, FALSE);
return offset;
}
static const per_sequence_t Sensor_RequestCapabilities_r13_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_Sensor_RequestCapabilities_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_RequestCapabilities_r13, Sensor_RequestCapabilities_r13_sequence);
return offset;
}
static const per_sequence_t TBS_RequestCapabilities_r13_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_TBS_RequestCapabilities_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TBS_RequestCapabilities_r13, TBS_RequestCapabilities_r13_sequence);
return offset;
}
static const per_sequence_t WLAN_RequestCapabilities_r13_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_WLAN_RequestCapabilities_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_RequestCapabilities_r13, WLAN_RequestCapabilities_r13_sequence);
return offset;
}
static const per_sequence_t BT_RequestCapabilities_r13_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_BT_RequestCapabilities_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BT_RequestCapabilities_r13, BT_RequestCapabilities_r13_sequence);
return offset;
}
static const per_sequence_t RequestCapabilities_r9_IEs_eag_1_sequence[] = {
{ &hf_lpp_sensor_RequestCapabilities_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Sensor_RequestCapabilities_r13 },
{ &hf_lpp_tbs_RequestCapabilities_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TBS_RequestCapabilities_r13 },
{ &hf_lpp_wlan_RequestCapabilities_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_WLAN_RequestCapabilities_r13 },
{ &hf_lpp_bt_RequestCapabilities_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BT_RequestCapabilities_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RequestCapabilities_r9_IEs_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RequestCapabilities_r9_IEs_eag_1_sequence);
return offset;
}
static const per_sequence_t NR_ECID_RequestCapabilities_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_NR_ECID_RequestCapabilities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_ECID_RequestCapabilities_r16, NR_ECID_RequestCapabilities_r16_sequence);
return offset;
}
static const per_sequence_t NR_Multi_RTT_RequestCapabilities_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_RequestCapabilities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_RequestCapabilities_r16, NR_Multi_RTT_RequestCapabilities_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_AoD_RequestCapabilities_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_RequestCapabilities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_RequestCapabilities_r16, NR_DL_AoD_RequestCapabilities_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_TDOA_RequestCapabilities_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_RequestCapabilities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_RequestCapabilities_r16, NR_DL_TDOA_RequestCapabilities_r16_sequence);
return offset;
}
static const per_sequence_t NR_UL_RequestCapabilities_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_NR_UL_RequestCapabilities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_UL_RequestCapabilities_r16, NR_UL_RequestCapabilities_r16_sequence);
return offset;
}
static const per_sequence_t RequestCapabilities_r9_IEs_eag_2_sequence[] = {
{ &hf_lpp_nr_ECID_RequestCapabilities_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_ECID_RequestCapabilities_r16 },
{ &hf_lpp_nr_Multi_RTT_RequestCapabilities_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_Multi_RTT_RequestCapabilities_r16 },
{ &hf_lpp_nr_DL_AoD_RequestCapabilities_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_RequestCapabilities_r16 },
{ &hf_lpp_nr_DL_TDOA_RequestCapabilities_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_RequestCapabilities_r16 },
{ &hf_lpp_nr_UL_RequestCapabilities_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_UL_RequestCapabilities_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RequestCapabilities_r9_IEs_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RequestCapabilities_r9_IEs_eag_2_sequence);
return offset;
}
static const per_sequence_t RequestCapabilities_r9_IEs_sequence[] = {
{ &hf_lpp_commonIEsRequestCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsRequestCapabilities },
{ &hf_lpp_a_gnss_RequestCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_RequestCapabilities },
{ &hf_lpp_otdoa_RequestCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_RequestCapabilities },
{ &hf_lpp_ecid_RequestCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECID_RequestCapabilities },
{ &hf_lpp_epdu_RequestCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_RequestCapabilities_r9_IEs_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_RequestCapabilities_r9_IEs_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RequestCapabilities_r9_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_RequestCapabilities_r9_IEs, RequestCapabilities_r9_IEs_sequence);
return offset;
}
static int
dissect_lpp_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
return offset;
}
static const value_string lpp_T_c1_01_vals[] = {
{ 0, "requestCapabilities-r9" },
{ 1, "spare3" },
{ 2, "spare2" },
{ 3, "spare1" },
{ 0, NULL }
};
static const per_choice_t T_c1_01_choice[] = {
{ 0, &hf_lpp_requestCapabilities_r9, ASN1_NO_EXTENSIONS , dissect_lpp_RequestCapabilities_r9_IEs },
{ 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_c1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_c1_01, T_c1_01_choice,
NULL);
return offset;
}
static const per_sequence_t T_criticalExtensionsFuture_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensionsFuture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensionsFuture, T_criticalExtensionsFuture_sequence);
return offset;
}
static const value_string lpp_T_criticalExtensions_vals[] = {
{ 0, "c1" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
static const per_choice_t T_criticalExtensions_choice[] = {
{ 0, &hf_lpp_c1_01 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_01 },
{ 1, &hf_lpp_criticalExtensionsFuture, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensions, T_criticalExtensions_choice,
NULL);
return offset;
}
static const per_sequence_t RequestCapabilities_sequence[] = {
{ &hf_lpp_criticalExtensions, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RequestCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 125 "./asn1/lpp/lpp.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Request Capabilities");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_RequestCapabilities, RequestCapabilities_sequence);
return offset;
}
static const value_string lpp_SegmentationInfo_r14_vals[] = {
{ 0, "noMoreMessages" },
{ 1, "moreMessagesOnTheWay" },
{ 0, NULL }
};
static int
dissect_lpp_SegmentationInfo_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static int * const T_lpp_message_segmentation_r14_bits[] = {
&hf_lpp_T_lpp_message_segmentation_r14_serverToTarget,
&hf_lpp_T_lpp_message_segmentation_r14_targetToServer,
NULL
};
static int
dissect_lpp_T_lpp_message_segmentation_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, T_lpp_message_segmentation_r14_bits, 2, NULL, NULL);
return offset;
}
static const per_sequence_t CommonIEsProvideCapabilities_eag_1_sequence[] = {
{ &hf_lpp_segmentationInfo_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SegmentationInfo_r14 },
{ &hf_lpp_lpp_message_segmentation_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_lpp_message_segmentation_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsProvideCapabilities_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CommonIEsProvideCapabilities_eag_1_sequence);
return offset;
}
static const per_sequence_t CommonIEsProvideCapabilities_sequence[] = {
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsProvideCapabilities_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CommonIEsProvideCapabilities, CommonIEsProvideCapabilities_sequence);
return offset;
}
static const value_string lpp_T_gnss_id_vals[] = {
{ T_GNSS_ID_GPS, "gps" },
{ T_GNSS_ID_SBAS, "sbas" },
{ T_GNSS_ID_QZSS, "qzss" },
{ T_GNSS_ID_GALILEO, "galileo" },
{ T_GNSS_ID_GLONASS, "glonass" },
{ T_GNSS_ID_BDS, "bds" },
{ T_GNSS_ID_NAVIC_V1610, "navic-v1610" },
{ 0, NULL }
};
static int
dissect_lpp_T_gnss_id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1633 "./asn1/lpp/lpp.cnf"
guint32 gnss_id;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5, &gnss_id, TRUE, 2, NULL);
actx->private_data = GUINT_TO_POINTER(gnss_id);
return offset;
}
static const per_sequence_t GNSS_ID_sequence[] = {
{ &hf_lpp_gnss_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_gnss_id },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_GNSS_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ID, GNSS_ID_sequence);
return offset;
}
static int * const T_sbas_IDs_bits[] = {
&hf_lpp_T_sbas_IDs_waas,
&hf_lpp_T_sbas_IDs_egnos,
&hf_lpp_T_sbas_IDs_msas,
&hf_lpp_T_sbas_IDs_gagan,
NULL
};
static int
dissect_lpp_T_sbas_IDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_sbas_IDs_bits, 4, NULL, NULL);
return offset;
}
static const per_sequence_t SBAS_IDs_sequence[] = {
{ &hf_lpp_sbas_IDs_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_sbas_IDs },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SBAS_IDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SBAS_IDs, SBAS_IDs_sequence);
return offset;
}
static int * const T_posModes_bits[] = {
&hf_lpp_T_posModes_standalone,
&hf_lpp_T_posModes_ue_based,
&hf_lpp_T_posModes_ue_assisted,
NULL
};
static int
dissect_lpp_T_posModes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_posModes_bits, 3, NULL, NULL);
return offset;
}
static const per_sequence_t PositioningModes_sequence[] = {
{ &hf_lpp_posModes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_posModes },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_PositioningModes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_PositioningModes, PositioningModes_sequence);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t GNSS_SignalIDs_eag_1_sequence[] = {
{ &hf_lpp_gnss_SignalIDs_Ext_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SignalIDs_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_SignalIDs_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_SignalIDs_sequence[] = {
{ &hf_lpp_gnss_SignalIDs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_8 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs_eag_1 },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_GNSS_SignalIDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SignalIDs, GNSS_SignalIDs_sequence);
return offset;
}
static int * const T_accessTypes_bits[] = {
&hf_lpp_T_accessTypes_eutra,
&hf_lpp_T_accessTypes_utra,
&hf_lpp_T_accessTypes_gsm,
&hf_lpp_T_accessTypes_nb_iot,
&hf_lpp_T_accessTypes_nr_v1510,
NULL
};
static int
dissect_lpp_T_accessTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_accessTypes_bits, 5, NULL, NULL);
return offset;
}
static const per_sequence_t AccessTypes_sequence[] = {
{ &hf_lpp_accessTypes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_accessTypes },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AccessTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AccessTypes, AccessTypes_sequence);
return offset;
}
static const per_sequence_t T_fta_MeasSupport_sequence[] = {
{ &hf_lpp_cellTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_AccessTypes },
{ &hf_lpp_mode_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_PositioningModes },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_fta_MeasSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_fta_MeasSupport, T_fta_MeasSupport_sequence);
return offset;
}
static const value_string lpp_T_adrEnhancementsSupport_r15_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_adrEnhancementsSupport_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t GNSS_SupportElement_eag_1_sequence[] = {
{ &hf_lpp_adrEnhancementsSupport_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_adrEnhancementsSupport_r15 },
{ &hf_lpp_ha_gnss_Modes_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SupportElement_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_SupportElement_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_SupportElement_sequence[] = {
{ &hf_lpp_gnss_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
{ &hf_lpp_sbas_IDs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SBAS_IDs },
{ &hf_lpp_agnss_Modes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_PositioningModes },
{ &hf_lpp_gnss_Signals , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ &hf_lpp_fta_MeasSupport , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_fta_MeasSupport },
{ &hf_lpp_adr_Support , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_velocityMeasurementSupport, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SupportElement_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SupportElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SupportElement, GNSS_SupportElement_sequence);
return offset;
}
static const per_sequence_t GNSS_SupportList_sequence_of[1] = {
{ &hf_lpp_GNSS_SupportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SupportElement },
};
static int
dissect_lpp_GNSS_SupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SupportList, GNSS_SupportList_sequence_of,
1, 16, FALSE);
return offset;
}
static int * const T_gnss_ids_bits[] = {
&hf_lpp_T_gnss_ids_gps,
&hf_lpp_T_gnss_ids_sbas,
&hf_lpp_T_gnss_ids_qzss,
&hf_lpp_T_gnss_ids_galileo,
&hf_lpp_T_gnss_ids_glonass,
&hf_lpp_T_gnss_ids_bds,
&hf_lpp_T_gnss_ids_navic_v1610,
NULL
};
static int
dissect_lpp_T_gnss_ids(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 16, FALSE, T_gnss_ids_bits, 7, NULL, NULL);
return offset;
}
static const per_sequence_t GNSS_ID_Bitmap_sequence[] = {
{ &hf_lpp_gnss_ids , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_gnss_ids },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_GNSS_ID_Bitmap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ID_Bitmap, GNSS_ID_Bitmap_sequence);
return offset;
}
static const per_sequence_t GNSS_ReferenceTimeSupport_sequence[] = {
{ &hf_lpp_gnss_SystemTime_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID_Bitmap },
{ &hf_lpp_fta_Support , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AccessTypes },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_ReferenceTimeSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ReferenceTimeSupport, GNSS_ReferenceTimeSupport_sequence);
return offset;
}
static const per_sequence_t GNSS_ReferenceLocationSupport_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_ReferenceLocationSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ReferenceLocationSupport, GNSS_ReferenceLocationSupport_sequence);
return offset;
}
static int * const T_ionoModel_bits[] = {
&hf_lpp_T_ionoModel_klobuchar,
&hf_lpp_T_ionoModel_neQuick,
&hf_lpp_T_ionoModel_klobuchar2_r16,
NULL
};
static int
dissect_lpp_T_ionoModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_ionoModel_bits, 3, NULL, NULL);
return offset;
}
static const per_sequence_t GNSS_IonosphericModelSupport_sequence[] = {
{ &hf_lpp_ionoModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_ionoModel },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_IonosphericModelSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_IonosphericModelSupport, GNSS_IonosphericModelSupport_sequence);
return offset;
}
static const per_sequence_t GNSS_EarthOrientationParametersSupport_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_EarthOrientationParametersSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_EarthOrientationParametersSupport, GNSS_EarthOrientationParametersSupport_sequence);
return offset;
}
static const per_sequence_t GNSS_RTK_ReferenceStationInfoSupport_r15_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_ReferenceStationInfoSupport_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_ReferenceStationInfoSupport_r15, GNSS_RTK_ReferenceStationInfoSupport_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_RTK_AuxiliaryStationDataSupport_r15_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_AuxiliaryStationDataSupport_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_AuxiliaryStationDataSupport_r15, GNSS_RTK_AuxiliaryStationDataSupport_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_CommonAssistanceDataSupport_eag_1_sequence[] = {
{ &hf_lpp_gnss_RTK_ReferenceStationInfoSupport_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_ReferenceStationInfoSupport_r15 },
{ &hf_lpp_gnss_RTK_AuxiliaryStationDataSupport_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_AuxiliaryStationDataSupport_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_CommonAssistanceDataSupport_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_CommonAssistanceDataSupport_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_CommonAssistanceDataSupport_sequence[] = {
{ &hf_lpp_gnss_ReferenceTimeSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceTimeSupport },
{ &hf_lpp_gnss_ReferenceLocationSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceLocationSupport },
{ &hf_lpp_gnss_IonosphericModelSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_IonosphericModelSupport },
{ &hf_lpp_gnss_EarthOrientationParametersSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_EarthOrientationParametersSupport },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistanceDataSupport_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_CommonAssistanceDataSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_CommonAssistanceDataSupport, GNSS_CommonAssistanceDataSupport_sequence);
return offset;
}
static const value_string lpp_T_sbas_id_vals[] = {
{ 0, "waas" },
{ 1, "egnos" },
{ 2, "msas" },
{ 3, "gagan" },
{ 0, NULL }
};
static int
dissect_lpp_T_sbas_id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t SBAS_ID_sequence[] = {
{ &hf_lpp_sbas_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_sbas_id },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SBAS_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SBAS_ID, SBAS_ID_sequence);
return offset;
}
static const per_sequence_t GNSS_TimeModelListSupport_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_TimeModelListSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_TimeModelListSupport, GNSS_TimeModelListSupport_sequence);
return offset;
}
static const per_sequence_t GNSS_DifferentialCorrectionsSupport_sequence[] = {
{ &hf_lpp_gnssSignalIDs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ &hf_lpp_dgnss_ValidityTimeSup, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_DifferentialCorrectionsSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_DifferentialCorrectionsSupport, GNSS_DifferentialCorrectionsSupport_sequence);
return offset;
}
static int * const T_clockModel_bits[] = {
&hf_lpp_T_clockModel_model_1,
&hf_lpp_T_clockModel_model_2,
&hf_lpp_T_clockModel_model_3,
&hf_lpp_T_clockModel_model_4,
&hf_lpp_T_clockModel_model_5,
&hf_lpp_T_clockModel_model_6,
&hf_lpp_T_clockModel_model_7_r16,
&hf_lpp_T_clockModel_model_8_r16,
NULL
};
static int
dissect_lpp_T_clockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_clockModel_bits, 8, NULL, NULL);
return offset;
}
static int * const T_orbitModel_bits[] = {
&hf_lpp_T_orbitModel_model_1,
&hf_lpp_T_orbitModel_model_2,
&hf_lpp_T_orbitModel_model_3,
&hf_lpp_T_orbitModel_model_4,
&hf_lpp_T_orbitModel_model_5,
&hf_lpp_T_orbitModel_model_6,
&hf_lpp_T_orbitModel_model_7_r16,
&hf_lpp_T_orbitModel_model_8_r16,
NULL
};
static int
dissect_lpp_T_orbitModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_orbitModel_bits, 8, NULL, NULL);
return offset;
}
static const per_sequence_t GNSS_NavigationModelSupport_sequence[] = {
{ &hf_lpp_clockModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_clockModel },
{ &hf_lpp_orbitModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_orbitModel },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_NavigationModelSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_NavigationModelSupport, GNSS_NavigationModelSupport_sequence);
return offset;
}
static const per_sequence_t GNSS_RealTimeIntegritySupport_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_RealTimeIntegritySupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RealTimeIntegritySupport, GNSS_RealTimeIntegritySupport_sequence);
return offset;
}
static const per_sequence_t GNSS_DataBitAssistanceSupport_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_DataBitAssistanceSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_DataBitAssistanceSupport, GNSS_DataBitAssistanceSupport_sequence);
return offset;
}
static const value_string lpp_T_confidenceSupport_r10_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_confidenceSupport_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_dopplerUncertaintyExtSupport_r10_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_dopplerUncertaintyExtSupport_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t GNSS_AcquisitionAssistanceSupport_sequence[] = {
{ &hf_lpp_confidenceSupport_r10, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_confidenceSupport_r10 },
{ &hf_lpp_dopplerUncertaintyExtSupport_r10, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_dopplerUncertaintyExtSupport_r10 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_AcquisitionAssistanceSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_AcquisitionAssistanceSupport, GNSS_AcquisitionAssistanceSupport_sequence);
return offset;
}
static int * const T_almanacModel_bits[] = {
&hf_lpp_T_almanacModel_model_1,
&hf_lpp_T_almanacModel_model_2,
&hf_lpp_T_almanacModel_model_3,
&hf_lpp_T_almanacModel_model_4,
&hf_lpp_T_almanacModel_model_5,
&hf_lpp_T_almanacModel_model_6,
&hf_lpp_T_almanacModel_model_7,
NULL
};
static int
dissect_lpp_T_almanacModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_almanacModel_bits, 7, NULL, NULL);
return offset;
}
static const per_sequence_t GNSS_AlmanacSupport_sequence[] = {
{ &hf_lpp_almanacModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_almanacModel },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_AlmanacSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_AlmanacSupport, GNSS_AlmanacSupport_sequence);
return offset;
}
static int * const T_utc_Model_bits[] = {
&hf_lpp_T_utc_Model_model_1,
&hf_lpp_T_utc_Model_model_2,
&hf_lpp_T_utc_Model_model_3,
&hf_lpp_T_utc_Model_model_4,
&hf_lpp_T_utc_Model_model_5,
NULL
};
static int
dissect_lpp_T_utc_Model(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_utc_Model_bits, 5, NULL, NULL);
return offset;
}
static const per_sequence_t GNSS_UTC_ModelSupport_sequence[] = {
{ &hf_lpp_utc_Model , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_utc_Model },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_UTC_ModelSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_UTC_ModelSupport, GNSS_UTC_ModelSupport_sequence);
return offset;
}
static const per_sequence_t GNSS_AuxiliaryInformationSupport_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_AuxiliaryInformationSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_AuxiliaryInformationSupport, GNSS_AuxiliaryInformationSupport_sequence);
return offset;
}
static const per_sequence_t BDS_DifferentialCorrectionsSupport_r12_sequence[] = {
{ &hf_lpp_gnssSignalIDs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BDS_DifferentialCorrectionsSupport_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BDS_DifferentialCorrectionsSupport_r12, BDS_DifferentialCorrectionsSupport_r12_sequence);
return offset;
}
static const per_sequence_t BDS_GridModelSupport_r12_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_BDS_GridModelSupport_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BDS_GridModelSupport_r12, BDS_GridModelSupport_r12_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataSupportElement_eag_1_sequence[] = {
{ &hf_lpp_bds_DifferentialCorrectionsSupport_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BDS_DifferentialCorrectionsSupport_r12 },
{ &hf_lpp_bds_GridModelSupport_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BDS_GridModelSupport_r12 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_GenericAssistDataSupportElement_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_GenericAssistDataSupportElement_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_RTK_ObservationsSupport_r15_sequence[] = {
{ &hf_lpp_gnssSignalIDs_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_ObservationsSupport_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_ObservationsSupport_r15, GNSS_RTK_ObservationsSupport_r15_sequence);
return offset;
}
static const per_sequence_t GLO_RTK_BiasInformationSupport_r15_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GLO_RTK_BiasInformationSupport_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GLO_RTK_BiasInformationSupport_r15, GLO_RTK_BiasInformationSupport_r15_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 7U, NULL, FALSE);
return offset;
}
static const per_sequence_t GNSS_FrequencyID_r15_sequence[] = {
{ &hf_lpp_gnss_FrequencyID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_7 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_FrequencyID_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_FrequencyID_r15, GNSS_FrequencyID_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_Link_Combinations_r15_sequence[] = {
{ &hf_lpp_l1_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_FrequencyID_r15 },
{ &hf_lpp_l2_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_FrequencyID_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_Link_Combinations_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_Link_Combinations_r15, GNSS_Link_Combinations_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_Link_CombinationsList_r15_sequence_of[1] = {
{ &hf_lpp_GNSS_Link_CombinationsList_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_Link_Combinations_r15 },
};
static int
dissect_lpp_GNSS_Link_CombinationsList_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_Link_CombinationsList_r15, GNSS_Link_CombinationsList_r15_sequence_of,
1, 8, FALSE);
return offset;
}
static const per_sequence_t GNSS_RTK_MAC_CorrectionDifferencesSupport_r15_sequence[] = {
{ &hf_lpp_link_combinations_support_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_Link_CombinationsList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_MAC_CorrectionDifferencesSupport_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_MAC_CorrectionDifferencesSupport_r15, GNSS_RTK_MAC_CorrectionDifferencesSupport_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_RTK_ResidualsSupport_r15_sequence[] = {
{ &hf_lpp_link_combinations_support_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_Link_CombinationsList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_ResidualsSupport_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_ResidualsSupport_r15, GNSS_RTK_ResidualsSupport_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_RTK_FKP_GradientsSupport_r15_sequence[] = {
{ &hf_lpp_link_combinations_support_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_Link_CombinationsList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_FKP_GradientsSupport_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_FKP_GradientsSupport_r15, GNSS_RTK_FKP_GradientsSupport_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_OrbitCorrectionsSupport_r15_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_OrbitCorrectionsSupport_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_OrbitCorrectionsSupport_r15, GNSS_SSR_OrbitCorrectionsSupport_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_ClockCorrectionsSupport_r15_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_ClockCorrectionsSupport_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_ClockCorrectionsSupport_r15, GNSS_SSR_ClockCorrectionsSupport_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_CodeBiasSupport_r15_sequence[] = {
{ &hf_lpp_signal_and_tracking_mode_ID_Sup_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_CodeBiasSupport_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_CodeBiasSupport_r15, GNSS_SSR_CodeBiasSupport_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataSupportElement_eag_2_sequence[] = {
{ &hf_lpp_gnss_RTK_ObservationsSupport_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_ObservationsSupport_r15 },
{ &hf_lpp_glo_RTK_BiasInformationSupport_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GLO_RTK_BiasInformationSupport_r15 },
{ &hf_lpp_gnss_RTK_MAC_CorrectionDifferencesSupport_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_MAC_CorrectionDifferencesSupport_r15 },
{ &hf_lpp_gnss_RTK_ResidualsSupport_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_ResidualsSupport_r15 },
{ &hf_lpp_gnss_RTK_FKP_GradientsSupport_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_FKP_GradientsSupport_r15 },
{ &hf_lpp_gnss_SSR_OrbitCorrectionsSupport_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_OrbitCorrectionsSupport_r15 },
{ &hf_lpp_gnss_SSR_ClockCorrectionsSupport_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_ClockCorrectionsSupport_r15 },
{ &hf_lpp_gnss_SSR_CodeBiasSupport_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_CodeBiasSupport_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_GenericAssistDataSupportElement_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_GenericAssistDataSupportElement_eag_2_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_URA_Support_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_URA_Support_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_URA_Support_r16, GNSS_SSR_URA_Support_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_PhaseBiasSupport_r16_sequence[] = {
{ &hf_lpp_signal_and_tracking_mode_ID_Sup_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_PhaseBiasSupport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_PhaseBiasSupport_r16, GNSS_SSR_PhaseBiasSupport_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_STEC_CorrectionSupport_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_STEC_CorrectionSupport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_STEC_CorrectionSupport_r16, GNSS_SSR_STEC_CorrectionSupport_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_GriddedCorrectionSupport_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_GriddedCorrectionSupport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_GriddedCorrectionSupport_r16, GNSS_SSR_GriddedCorrectionSupport_r16_sequence);
return offset;
}
static const per_sequence_t NavIC_DifferentialCorrectionsSupport_r16_sequence[] = {
{ &hf_lpp_gnssSignalIDs_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavIC_DifferentialCorrectionsSupport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavIC_DifferentialCorrectionsSupport_r16, NavIC_DifferentialCorrectionsSupport_r16_sequence);
return offset;
}
static const per_sequence_t NavIC_GridModelSupport_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_NavIC_GridModelSupport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavIC_GridModelSupport_r16, NavIC_GridModelSupport_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataSupportElement_eag_3_sequence[] = {
{ &hf_lpp_gnss_SSR_URA_Support_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_URA_Support_r16 },
{ &hf_lpp_gnss_SSR_PhaseBiasSupport_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_PhaseBiasSupport_r16 },
{ &hf_lpp_gnss_SSR_STEC_CorrectionSupport_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_STEC_CorrectionSupport_r16 },
{ &hf_lpp_gnss_SSR_GriddedCorrectionSupport_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_GriddedCorrectionSupport_r16 },
{ &hf_lpp_navic_DifferentialCorrectionsSupport_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NavIC_DifferentialCorrectionsSupport_r16 },
{ &hf_lpp_navic_GridModelSupport_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NavIC_GridModelSupport_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_GenericAssistDataSupportElement_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_GenericAssistDataSupportElement_eag_3_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataSupportElement_sequence[] = {
{ &hf_lpp_gnss_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
{ &hf_lpp_sbas_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SBAS_ID },
{ &hf_lpp_gnss_TimeModelsSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_TimeModelListSupport },
{ &hf_lpp_gnss_DifferentialCorrectionsSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DifferentialCorrectionsSupport },
{ &hf_lpp_gnss_NavigationModelSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_NavigationModelSupport },
{ &hf_lpp_gnss_RealTimeIntegritySupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_RealTimeIntegritySupport },
{ &hf_lpp_gnss_DataBitAssistanceSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DataBitAssistanceSupport },
{ &hf_lpp_gnss_AcquisitionAssistanceSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AcquisitionAssistanceSupport },
{ &hf_lpp_gnss_AlmanacSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AlmanacSupport },
{ &hf_lpp_gnss_UTC_ModelSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_UTC_ModelSupport },
{ &hf_lpp_gnss_AuxiliaryInformationSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AuxiliaryInformationSupport },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataSupportElement_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataSupportElement_eag_2 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataSupportElement_eag_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_GenericAssistDataSupportElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_GenericAssistDataSupportElement, GNSS_GenericAssistDataSupportElement_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistanceDataSupport_sequence_of[1] = {
{ &hf_lpp_GNSS_GenericAssistanceDataSupport_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataSupportElement },
};
static int
dissect_lpp_GNSS_GenericAssistanceDataSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_GenericAssistanceDataSupport, GNSS_GenericAssistanceDataSupport_sequence_of,
1, 16, FALSE);
return offset;
}
static const per_sequence_t AssistanceDataSupportList_sequence[] = {
{ &hf_lpp_gnss_CommonAssistanceDataSupport, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistanceDataSupport },
{ &hf_lpp_gnss_GenericAssistanceDataSupport, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistanceDataSupport },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AssistanceDataSupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AssistanceDataSupportList, AssistanceDataSupportList_sequence);
return offset;
}
static const per_sequence_t LocationCoordinateTypes_eag_1_sequence[] = {
{ &hf_lpp_highAccuracyEllipsoidPointWithUncertaintyEllipse_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ &hf_lpp_highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_LocationCoordinateTypes_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, LocationCoordinateTypes_eag_1_sequence);
return offset;
}
static const per_sequence_t LocationCoordinateTypes_sequence[] = {
{ &hf_lpp_ellipsoidPoint , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ellipsoidPointWithUncertaintyCircle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ellipsoidPointWithUncertaintyEllipse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_polygon , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ellipsoidPointWithAltitude, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ellipsoidArc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_LocationCoordinateTypes_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_LocationCoordinateTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_LocationCoordinateTypes, LocationCoordinateTypes_sequence);
return offset;
}
static const per_sequence_t VelocityTypes_sequence[] = {
{ &hf_lpp_horizontalVelocity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_horizontalWithVerticalVelocity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_horizontalVelocityWithUncertainty, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_horizontalWithVerticalVelocityAndUncertainty, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_VelocityTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_VelocityTypes, VelocityTypes_sequence);
return offset;
}
static const value_string lpp_T_idleStateForMeasurements_r14_01_vals[] = {
{ 0, "required" },
{ 0, NULL }
};
static int
dissect_lpp_T_idleStateForMeasurements_r14_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t A_GNSS_ProvideCapabilities_eag_1_sequence[] = {
{ &hf_lpp_periodicalReportingNotSupported_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
{ &hf_lpp_idleStateForMeasurements_r14_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_idleStateForMeasurements_r14_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_A_GNSS_ProvideCapabilities_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, A_GNSS_ProvideCapabilities_eag_1_sequence);
return offset;
}
static int * const T_periodicAssistanceData_r15_bits[] = {
&hf_lpp_T_periodicAssistanceData_r15_solicited,
&hf_lpp_T_periodicAssistanceData_r15_unsolicited,
NULL
};
static int
dissect_lpp_T_periodicAssistanceData_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_periodicAssistanceData_r15_bits, 2, NULL, NULL);
return offset;
}
static const per_sequence_t A_GNSS_ProvideCapabilities_eag_2_sequence[] = {
{ &hf_lpp_periodicAssistanceData_r15_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_periodicAssistanceData_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_A_GNSS_ProvideCapabilities_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, A_GNSS_ProvideCapabilities_eag_2_sequence);
return offset;
}
static const per_sequence_t A_GNSS_ProvideCapabilities_sequence[] = {
{ &hf_lpp_gnss_SupportList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_SupportList },
{ &hf_lpp_assistanceDataSupportList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AssistanceDataSupportList },
{ &hf_lpp_locationCoordinateTypes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationCoordinateTypes },
{ &hf_lpp_velocityTypes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_VelocityTypes },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_A_GNSS_ProvideCapabilities_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_A_GNSS_ProvideCapabilities_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_A_GNSS_ProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_A_GNSS_ProvideCapabilities, A_GNSS_ProvideCapabilities_sequence);
return offset;
}
static int * const T_otdoa_Mode_bits[] = {
&hf_lpp_T_otdoa_Mode_ue_assisted,
&hf_lpp_T_otdoa_Mode_ue_assisted_NB_r14,
&hf_lpp_T_otdoa_Mode_ue_assisted_NB_TDD_r15,
NULL
};
static int
dissect_lpp_T_otdoa_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_otdoa_Mode_bits, 3, NULL, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_1_maxFBI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, maxFBI, NULL, FALSE);
return offset;
}
static const per_sequence_t SupportedBandEUTRA_sequence[] = {
{ &hf_lpp_bandEUTRA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_maxFBI },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SupportedBandEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SupportedBandEUTRA, SupportedBandEUTRA_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_sequence_of[1] = {
{ &hf_lpp_supportedBandListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SupportedBandEUTRA },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA, SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_sequence_of,
1, maxBands, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_maxFBI_Plus1_maxFBI2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
maxFBI_Plus1, maxFBI2, NULL, FALSE);
return offset;
}
static const per_sequence_t SupportedBandEUTRA_v9a0_sequence[] = {
{ &hf_lpp_bandEUTRA_v9a0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_maxFBI_Plus1_maxFBI2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SupportedBandEUTRA_v9a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SupportedBandEUTRA_v9a0, SupportedBandEUTRA_v9a0_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0_sequence_of[1] = {
{ &hf_lpp_supportedBandListEUTRA_v9a0_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SupportedBandEUTRA_v9a0 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0, SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0_sequence_of,
1, maxBands, FALSE);
return offset;
}
static const value_string lpp_T_interFreqRSTDmeasurement_r10_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_interFreqRSTDmeasurement_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_additionalNeighbourCellInfoList_r10_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_additionalNeighbourCellInfoList_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_prs_id_r14_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_prs_id_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_tp_separation_via_muting_r14_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_tp_separation_via_muting_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_additional_prs_config_r14_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_additional_prs_config_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_prs_based_tbs_r14_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_prs_based_tbs_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_additionalPathsReport_r14_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_additionalPathsReport_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_densePrsConfig_r14_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_densePrsConfig_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_maxSupportedPrsBandwidth_r14_vals[] = {
{ 0, "n6" },
{ 1, "n15" },
{ 2, "n25" },
{ 3, "n50" },
{ 4, "n75" },
{ 5, "n100" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxSupportedPrsBandwidth_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_prsOccGroup_r14_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_prsOccGroup_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_prsFrequencyHopping_r14_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_prsFrequencyHopping_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_maxSupportedPrsConfigs_r14_vals[] = {
{ 0, "c2" },
{ 1, "c3" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxSupportedPrsConfigs_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_periodicalReporting_r14_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_periodicalReporting_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_multiPrbNprs_r14_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_multiPrbNprs_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_idleStateForMeasurements_r14_vals[] = {
{ 0, "required" },
{ 0, NULL }
};
static int
dissect_lpp_T_idleStateForMeasurements_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_numberOfRXantennas_r14_vals[] = {
{ 0, "rx1" },
{ 0, NULL }
};
static int
dissect_lpp_T_numberOfRXantennas_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_motionMeasurements_r15_01_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_motionMeasurements_r15_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_interRAT_RSTDmeasurement_r15_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_interRAT_RSTDmeasurement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t OTDOA_ProvideCapabilities_sequence[] = {
{ &hf_lpp_otdoa_Mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_otdoa_Mode },
{ &hf_lpp_supportedBandListEUTRA, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA },
{ &hf_lpp_supportedBandListEUTRA_v9a0, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0 },
{ &hf_lpp_interFreqRSTDmeasurement_r10, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_interFreqRSTDmeasurement_r10 },
{ &hf_lpp_additionalNeighbourCellInfoList_r10, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_additionalNeighbourCellInfoList_r10 },
{ &hf_lpp_prs_id_r14 , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_prs_id_r14 },
{ &hf_lpp_tp_separation_via_muting_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_tp_separation_via_muting_r14 },
{ &hf_lpp_additional_prs_config_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_additional_prs_config_r14 },
{ &hf_lpp_prs_based_tbs_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_prs_based_tbs_r14 },
{ &hf_lpp_additionalPathsReport_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_additionalPathsReport_r14 },
{ &hf_lpp_densePrsConfig_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_densePrsConfig_r14 },
{ &hf_lpp_maxSupportedPrsBandwidth_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_maxSupportedPrsBandwidth_r14 },
{ &hf_lpp_prsOccGroup_r14 , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_prsOccGroup_r14 },
{ &hf_lpp_prsFrequencyHopping_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_prsFrequencyHopping_r14 },
{ &hf_lpp_maxSupportedPrsConfigs_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_maxSupportedPrsConfigs_r14 },
{ &hf_lpp_periodicalReporting_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_periodicalReporting_r14 },
{ &hf_lpp_multiPrbNprs_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_multiPrbNprs_r14 },
{ &hf_lpp_idleStateForMeasurements_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_idleStateForMeasurements_r14 },
{ &hf_lpp_numberOfRXantennas_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_numberOfRXantennas_r14 },
{ &hf_lpp_motionMeasurements_r15_01, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_motionMeasurements_r15_01 },
{ &hf_lpp_interRAT_RSTDmeasurement_r15, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_interRAT_RSTDmeasurement_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_ProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_ProvideCapabilities, OTDOA_ProvideCapabilities_sequence);
return offset;
}
static int * const T_ecid_MeasSupported_bits[] = {
&hf_lpp_T_ecid_MeasSupported_rsrpSup,
&hf_lpp_T_ecid_MeasSupported_rsrqSup,
&hf_lpp_T_ecid_MeasSupported_ueRxTxSup,
&hf_lpp_T_ecid_MeasSupported_nrsrpSup_r14,
&hf_lpp_T_ecid_MeasSupported_nrsrqSup_r14,
NULL
};
static int
dissect_lpp_T_ecid_MeasSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_ecid_MeasSupported_bits, 5, NULL, NULL);
return offset;
}
static const value_string lpp_T_ueRxTxSupTDD_r13_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_ueRxTxSupTDD_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t ECID_ProvideCapabilities_eag_1_sequence[] = {
{ &hf_lpp_ueRxTxSupTDD_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ueRxTxSupTDD_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ECID_ProvideCapabilities_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ECID_ProvideCapabilities_eag_1_sequence);
return offset;
}
static const value_string lpp_T_periodicalReporting_r14_01_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_periodicalReporting_r14_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_triggeredReporting_r14_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_triggeredReporting_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_idleStateForMeasurements_r14_02_vals[] = {
{ 0, "required" },
{ 0, NULL }
};
static int
dissect_lpp_T_idleStateForMeasurements_r14_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t ECID_ProvideCapabilities_eag_2_sequence[] = {
{ &hf_lpp_periodicalReporting_r14_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_periodicalReporting_r14_01 },
{ &hf_lpp_triggeredReporting_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_triggeredReporting_r14 },
{ &hf_lpp_idleStateForMeasurements_r14_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_idleStateForMeasurements_r14_02 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ECID_ProvideCapabilities_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ECID_ProvideCapabilities_eag_2_sequence);
return offset;
}
static const per_sequence_t ECID_ProvideCapabilities_sequence[] = {
{ &hf_lpp_ecid_MeasSupported, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_ecid_MeasSupported },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ECID_ProvideCapabilities_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ECID_ProvideCapabilities_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ECID_ProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ECID_ProvideCapabilities, ECID_ProvideCapabilities_sequence);
return offset;
}
static int * const T_sensor_Modes_r13_bits[] = {
&hf_lpp_T_sensor_Modes_r13_standalone,
&hf_lpp_T_sensor_Modes_r13_ue_assisted,
&hf_lpp_T_sensor_Modes_r13_ue_based,
NULL
};
static int
dissect_lpp_T_sensor_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_sensor_Modes_r13_bits, 3, NULL, NULL);
return offset;
}
static const value_string lpp_T_validityPeriodSupported_v1520_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_validityPeriodSupported_v1520(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_validityAreaSupported_v1520_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_validityAreaSupported_v1520(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t Sensor_AssistanceDataSupportList_r14_eag_1_sequence[] = {
{ &hf_lpp_validityPeriodSupported_v1520, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_validityPeriodSupported_v1520 },
{ &hf_lpp_validityAreaSupported_v1520, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_validityAreaSupported_v1520 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_AssistanceDataSupportList_r14_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_AssistanceDataSupportList_r14_eag_1_sequence);
return offset;
}
static const per_sequence_t Sensor_AssistanceDataSupportList_r14_sequence[] = {
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_AssistanceDataSupportList_r14_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_AssistanceDataSupportList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_AssistanceDataSupportList_r14, Sensor_AssistanceDataSupportList_r14_sequence);
return offset;
}
static const value_string lpp_T_idleStateForMeasurements_r14_03_vals[] = {
{ 0, "required" },
{ 0, NULL }
};
static int
dissect_lpp_T_idleStateForMeasurements_r14_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t Sensor_ProvideCapabilities_r13_eag_1_sequence[] = {
{ &hf_lpp_sensor_AssistanceDataSupportList_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Sensor_AssistanceDataSupportList_r14 },
{ &hf_lpp_periodicalReportingSupported_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
{ &hf_lpp_idleStateForMeasurements_r14_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_idleStateForMeasurements_r14_03 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_ProvideCapabilities_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_ProvideCapabilities_r13_eag_1_sequence);
return offset;
}
static const value_string lpp_T_sensor_MotionInformationSup_r15_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_sensor_MotionInformationSup_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t Sensor_ProvideCapabilities_r13_eag_2_sequence[] = {
{ &hf_lpp_sensor_MotionInformationSup_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_sensor_MotionInformationSup_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_ProvideCapabilities_r13_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_ProvideCapabilities_r13_eag_2_sequence);
return offset;
}
static const value_string lpp_T_adjustmentSupported_r16_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_adjustmentSupported_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t Sensor_ProvideCapabilities_r13_eag_3_sequence[] = {
{ &hf_lpp_adjustmentSupported_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_adjustmentSupported_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_ProvideCapabilities_r13_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_ProvideCapabilities_r13_eag_3_sequence);
return offset;
}
static const per_sequence_t Sensor_ProvideCapabilities_r13_sequence[] = {
{ &hf_lpp_sensor_Modes_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_sensor_Modes_r13 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_ProvideCapabilities_r13_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_ProvideCapabilities_r13_eag_2 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_ProvideCapabilities_r13_eag_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_ProvideCapabilities_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_ProvideCapabilities_r13, Sensor_ProvideCapabilities_r13_sequence);
return offset;
}
static int * const T_tbs_Modes_r13_bits[] = {
&hf_lpp_T_tbs_Modes_r13_standalone,
&hf_lpp_T_tbs_Modes_r13_ue_assisted,
&hf_lpp_T_tbs_Modes_r13_ue_based,
NULL
};
static int
dissect_lpp_T_tbs_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_tbs_Modes_r13_bits, 3, NULL, NULL);
return offset;
}
static const per_sequence_t MBS_AssistanceDataSupportList_r14_sequence[] = {
{ &hf_lpp_mbs_AcquisitionAssistanceDataSupport_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_mbs_AlmanacAssistanceDataSupport_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MBS_AssistanceDataSupportList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_MBS_AssistanceDataSupportList_r14, MBS_AssistanceDataSupportList_r14_sequence);
return offset;
}
static int * const T_mbs_ConfigSupport_r14_bits[] = {
&hf_lpp_T_mbs_ConfigSupport_r14_tb1,
&hf_lpp_T_mbs_ConfigSupport_r14_tb2,
&hf_lpp_T_mbs_ConfigSupport_r14_tb3,
&hf_lpp_T_mbs_ConfigSupport_r14_tb4,
NULL
};
static int
dissect_lpp_T_mbs_ConfigSupport_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_mbs_ConfigSupport_r14_bits, 4, NULL, NULL);
return offset;
}
static const value_string lpp_T_mbs_IdleStateForMeasurements_r14_vals[] = {
{ 0, "required" },
{ 0, NULL }
};
static int
dissect_lpp_T_mbs_IdleStateForMeasurements_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t TBS_ProvideCapabilities_r13_eag_1_sequence[] = {
{ &hf_lpp_mbs_AssistanceDataSupportList_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_MBS_AssistanceDataSupportList_r14 },
{ &hf_lpp_periodicalReportingSupported_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
{ &hf_lpp_mbs_ConfigSupport_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_mbs_ConfigSupport_r14 },
{ &hf_lpp_mbs_IdleStateForMeasurements_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_mbs_IdleStateForMeasurements_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TBS_ProvideCapabilities_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, TBS_ProvideCapabilities_r13_eag_1_sequence);
return offset;
}
static const per_sequence_t TBS_ProvideCapabilities_r13_sequence[] = {
{ &hf_lpp_tbs_Modes_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_tbs_Modes_r13 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_TBS_ProvideCapabilities_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TBS_ProvideCapabilities_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TBS_ProvideCapabilities_r13, TBS_ProvideCapabilities_r13_sequence);
return offset;
}
static int * const T_wlan_Modes_r13_bits[] = {
&hf_lpp_T_wlan_Modes_r13_standalone,
&hf_lpp_T_wlan_Modes_r13_ue_assisted,
&hf_lpp_T_wlan_Modes_r13_ue_based,
NULL
};
static int
dissect_lpp_T_wlan_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_wlan_Modes_r13_bits, 3, NULL, NULL);
return offset;
}
static int * const T_wlan_MeasSupported_r13_bits[] = {
&hf_lpp_T_wlan_MeasSupported_r13_rssi_r13,
&hf_lpp_T_wlan_MeasSupported_r13_rtt_r13,
NULL
};
static int
dissect_lpp_T_wlan_MeasSupported_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_wlan_MeasSupported_r13_bits, 2, NULL, NULL);
return offset;
}
static int * const T_wlan_AP_AD_Supported_r14_bits[] = {
&hf_lpp_T_wlan_AP_AD_Supported_r14_ap_identifier,
&hf_lpp_T_wlan_AP_AD_Supported_r14_ap_location,
NULL
};
static int
dissect_lpp_T_wlan_AP_AD_Supported_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_wlan_AP_AD_Supported_r14_bits, 2, NULL, NULL);
return offset;
}
static const value_string lpp_T_idleStateForMeasurements_r14_04_vals[] = {
{ 0, "required" },
{ 0, NULL }
};
static int
dissect_lpp_T_idleStateForMeasurements_r14_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t WLAN_ProvideCapabilities_r13_eag_1_sequence[] = {
{ &hf_lpp_wlan_AP_AD_Supported_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_wlan_AP_AD_Supported_r14 },
{ &hf_lpp_periodicalReportingSupported_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
{ &hf_lpp_idleStateForMeasurements_r14_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_idleStateForMeasurements_r14_04 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_ProvideCapabilities_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, WLAN_ProvideCapabilities_r13_eag_1_sequence);
return offset;
}
static const per_sequence_t WLAN_ProvideCapabilities_r13_sequence[] = {
{ &hf_lpp_wlan_Modes_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_wlan_Modes_r13 },
{ &hf_lpp_wlan_MeasSupported_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_wlan_MeasSupported_r13 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_ProvideCapabilities_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_ProvideCapabilities_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_ProvideCapabilities_r13, WLAN_ProvideCapabilities_r13_sequence);
return offset;
}
static int * const T_bt_Modes_r13_bits[] = {
&hf_lpp_T_bt_Modes_r13_standalone,
&hf_lpp_T_bt_Modes_r13_ue_assisted,
NULL
};
static int
dissect_lpp_T_bt_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_bt_Modes_r13_bits, 2, NULL, NULL);
return offset;
}
static int * const T_bt_MeasSupported_r13_bits[] = {
&hf_lpp_T_bt_MeasSupported_r13_rssi_r13,
NULL
};
static int
dissect_lpp_T_bt_MeasSupported_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_bt_MeasSupported_r13_bits, 1, NULL, NULL);
return offset;
}
static const value_string lpp_T_idleStateForMeasurements_r14_05_vals[] = {
{ 0, "required" },
{ 0, NULL }
};
static int
dissect_lpp_T_idleStateForMeasurements_r14_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t BT_ProvideCapabilities_r13_eag_1_sequence[] = {
{ &hf_lpp_idleStateForMeasurements_r14_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_idleStateForMeasurements_r14_05 },
{ &hf_lpp_periodicalReportingSupported_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BT_ProvideCapabilities_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BT_ProvideCapabilities_r13_eag_1_sequence);
return offset;
}
static const per_sequence_t BT_ProvideCapabilities_r13_sequence[] = {
{ &hf_lpp_bt_Modes_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_bt_Modes_r13 },
{ &hf_lpp_bt_MeasSupported_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_bt_MeasSupported_r13 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_BT_ProvideCapabilities_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BT_ProvideCapabilities_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BT_ProvideCapabilities_r13, BT_ProvideCapabilities_r13_sequence);
return offset;
}
static const per_sequence_t ProvideCapabilities_r9_IEs_eag_1_sequence[] = {
{ &hf_lpp_sensor_ProvideCapabilities_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Sensor_ProvideCapabilities_r13 },
{ &hf_lpp_tbs_ProvideCapabilities_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TBS_ProvideCapabilities_r13 },
{ &hf_lpp_wlan_ProvideCapabilities_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_WLAN_ProvideCapabilities_r13 },
{ &hf_lpp_bt_ProvideCapabilities_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BT_ProvideCapabilities_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ProvideCapabilities_r9_IEs_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ProvideCapabilities_r9_IEs_eag_1_sequence);
return offset;
}
static int * const T_nr_ECID_MeasSupported_r16_bits[] = {
&hf_lpp_T_nr_ECID_MeasSupported_r16_ssrsrpSup,
&hf_lpp_T_nr_ECID_MeasSupported_r16_ssrsrqSup,
&hf_lpp_T_nr_ECID_MeasSupported_r16_csirsrpSup,
&hf_lpp_T_nr_ECID_MeasSupported_r16_csirsrqSup,
NULL
};
static int
dissect_lpp_T_nr_ECID_MeasSupported_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_nr_ECID_MeasSupported_r16_bits, 4, NULL, NULL);
return offset;
}
static const value_string lpp_T_periodicalReporting_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_periodicalReporting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_triggeredReporting_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_triggeredReporting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t NR_ECID_ProvideCapabilities_r16_sequence[] = {
{ &hf_lpp_nr_ECID_MeasSupported_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_ECID_MeasSupported_r16 },
{ &hf_lpp_periodicalReporting_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_periodicalReporting_r16 },
{ &hf_lpp_triggeredReporting_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_triggeredReporting_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_ECID_ProvideCapabilities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_ECID_ProvideCapabilities_r16, NR_ECID_ProvideCapabilities_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_1_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 2U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_maxNrOfTRP_AcrossFreqs_r16_vals[] = {
{ 0, "n4" },
{ 1, "n6" },
{ 2, "n12" },
{ 3, "n16" },
{ 4, "n32" },
{ 5, "n64" },
{ 6, "n128" },
{ 7, "n256" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxNrOfTRP_AcrossFreqs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_1_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 4U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_FreqBandIndicatorNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 1024U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_maxNrOfDL_PRS_ResourcesPerResourceSet_r16_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
{ 2, "n4" },
{ 3, "n8" },
{ 4, "n16" },
{ 5, "n32" },
{ 6, "n64" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxNrOfDL_PRS_ResourcesPerResourceSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_maxNrOfDL_PRS_ResourcesPerPositioningFrequencylayer_r16_vals[] = {
{ 0, "n6" },
{ 1, "n24" },
{ 2, "n32" },
{ 3, "n64" },
{ 4, "n96" },
{ 5, "n128" },
{ 6, "n256" },
{ 7, "n512" },
{ 8, "n1024" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxNrOfDL_PRS_ResourcesPerPositioningFrequencylayer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t DL_PRS_ResourcesCapabilityPerBand_r16_sequence[] = {
{ &hf_lpp_freqBandIndicatorNR_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_FreqBandIndicatorNR_r16 },
{ &hf_lpp_maxNrOfDL_PRS_ResourcesPerResourceSet_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maxNrOfDL_PRS_ResourcesPerResourceSet_r16 },
{ &hf_lpp_maxNrOfDL_PRS_ResourcesPerPositioningFrequencylayer_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maxNrOfDL_PRS_ResourcesPerPositioningFrequencylayer_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DL_PRS_ResourcesCapabilityPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_ResourcesCapabilityPerBand_r16, DL_PRS_ResourcesCapabilityPerBand_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_ResourcesCapabilityPerBand_r16_sequence_of[1] = {
{ &hf_lpp_dl_PRS_ResourcesCapabilityBandList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_ResourcesCapabilityPerBand_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_ResourcesCapabilityPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_ResourcesCapabilityPerBand_r16, SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_ResourcesCapabilityPerBand_r16_sequence_of,
1, nrMaxBands_r16, FALSE);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_r16_OF_FreqBandIndicatorNR_r16_sequence_of[1] = {
{ &hf_lpp_bandList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_FreqBandIndicatorNR_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_maxSimultaneousBands_r16_OF_FreqBandIndicatorNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_maxSimultaneousBands_r16_OF_FreqBandIndicatorNR_r16, SEQUENCE_SIZE_1_maxSimultaneousBands_r16_OF_FreqBandIndicatorNR_r16_sequence_of,
1, maxSimultaneousBands_r16, FALSE);
return offset;
}
static const value_string lpp_T_fr1_Only_r16_vals[] = {
{ 0, "n6" },
{ 1, "n24" },
{ 2, "n64" },
{ 3, "n128" },
{ 4, "n192" },
{ 5, "n256" },
{ 6, "n512" },
{ 7, "n1024" },
{ 8, "n2048" },
{ 0, NULL }
};
static int
dissect_lpp_T_fr1_Only_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_fr2_Only_r16_vals[] = {
{ 0, "n24" },
{ 1, "n64" },
{ 2, "n96" },
{ 3, "n128" },
{ 4, "n192" },
{ 5, "n256" },
{ 6, "n512" },
{ 7, "n1024" },
{ 8, "n2048" },
{ 0, NULL }
};
static int
dissect_lpp_T_fr2_Only_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_fr1_r16_vals[] = {
{ 0, "n6" },
{ 1, "n24" },
{ 2, "n64" },
{ 3, "n96" },
{ 4, "n128" },
{ 5, "n192" },
{ 6, "n256" },
{ 7, "n512" },
{ 8, "n1024" },
{ 9, "n2048" },
{ 0, NULL }
};
static int
dissect_lpp_T_fr1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_fr2_r16_vals[] = {
{ 0, "n24" },
{ 1, "n64" },
{ 2, "n96" },
{ 3, "n128" },
{ 4, "n192" },
{ 5, "n256" },
{ 6, "n512" },
{ 7, "n1024" },
{ 8, "n2048" },
{ 0, NULL }
};
static int
dissect_lpp_T_fr2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t T_fr1_FR2Mix_r16_sequence[] = {
{ &hf_lpp_fr1_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_fr1_r16 },
{ &hf_lpp_fr2_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_fr2_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_fr1_FR2Mix_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_fr1_FR2Mix_r16, T_fr1_FR2Mix_r16_sequence);
return offset;
}
static const value_string lpp_T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16_vals[] = {
{ 0, "fr1-Only-r16" },
{ 1, "fr2-Only-r16" },
{ 2, "fr1-FR2Mix-r16" },
{ 0, NULL }
};
static const per_choice_t T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16_choice[] = {
{ 0, &hf_lpp_fr1_Only_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_T_fr1_Only_r16 },
{ 1, &hf_lpp_fr2_Only_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_T_fr2_Only_r16 },
{ 2, &hf_lpp_fr1_FR2Mix_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_T_fr1_FR2Mix_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16, T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16_choice,
NULL);
return offset;
}
static const per_sequence_t DL_PRS_ResourcesBandCombination_r16_sequence[] = {
{ &hf_lpp_bandList_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_maxSimultaneousBands_r16_OF_FreqBandIndicatorNR_r16 },
{ &hf_lpp_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DL_PRS_ResourcesBandCombination_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_ResourcesBandCombination_r16, DL_PRS_ResourcesBandCombination_r16_sequence);
return offset;
}
static const per_sequence_t DL_PRS_ResourcesBandCombinationList_r16_sequence_of[1] = {
{ &hf_lpp_DL_PRS_ResourcesBandCombinationList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_ResourcesBandCombination_r16 },
};
static int
dissect_lpp_DL_PRS_ResourcesBandCombinationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_ResourcesBandCombinationList_r16, DL_PRS_ResourcesBandCombinationList_r16_sequence_of,
1, maxBandComb_r16, FALSE);
return offset;
}
static const per_sequence_t NR_DL_PRS_ResourcesCapability_r16_sequence[] = {
{ &hf_lpp_maxNrOfDL_PRS_ResourceSetPerTrpPerFrequencyLayer_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_2 },
{ &hf_lpp_maxNrOfTRP_AcrossFreqs_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maxNrOfTRP_AcrossFreqs_r16 },
{ &hf_lpp_maxNrOfPosLayer_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_4 },
{ &hf_lpp_dl_PRS_ResourcesCapabilityBandList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_ResourcesCapabilityPerBand_r16 },
{ &hf_lpp_dl_PRS_ResourcesBandCombinationList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_ResourcesBandCombinationList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_ResourcesCapability_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_ResourcesCapability_r16, NR_DL_PRS_ResourcesCapability_r16_sequence);
return offset;
}
static const value_string lpp_T_supportOfRSRP_MeasFR1_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_supportOfRSRP_MeasFR1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_supportOfRSRP_MeasFR2_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_supportOfRSRP_MeasFR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_srs_AssocPRS_MultiLayersFR1_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_srs_AssocPRS_MultiLayersFR1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_srs_AssocPRS_MultiLayersFR2_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_srs_AssocPRS_MultiLayersFR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t NR_Multi_RTT_MeasurementCapability_r16_sequence[] = {
{ &hf_lpp_maxNrOfRx_TX_MeasFR1_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_4 },
{ &hf_lpp_maxNrOfRx_TX_MeasFR2_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_4 },
{ &hf_lpp_supportOfRSRP_MeasFR1_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_supportOfRSRP_MeasFR1_r16 },
{ &hf_lpp_supportOfRSRP_MeasFR2_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_supportOfRSRP_MeasFR2_r16 },
{ &hf_lpp_srs_AssocPRS_MultiLayersFR1_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_srs_AssocPRS_MultiLayersFR1_r16 },
{ &hf_lpp_srs_AssocPRS_MultiLayersFR2_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_srs_AssocPRS_MultiLayersFR2_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_MeasurementCapability_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_MeasurementCapability_r16, NR_Multi_RTT_MeasurementCapability_r16_sequence);
return offset;
}
static const value_string lpp_T_ssb_FromNeighCellAsQCL_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_ssb_FromNeighCellAsQCL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_prs_FromServNeighCellAsQCL_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_prs_FromServNeighCellAsQCL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t DL_PRS_QCL_ProcessingCapabilityPerBand_r16_sequence[] = {
{ &hf_lpp_freqBandIndicatorNR_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_FreqBandIndicatorNR_r16 },
{ &hf_lpp_ssb_FromNeighCellAsQCL_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_ssb_FromNeighCellAsQCL_r16 },
{ &hf_lpp_prs_FromServNeighCellAsQCL_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_prs_FromServNeighCellAsQCL_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DL_PRS_QCL_ProcessingCapabilityPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_QCL_ProcessingCapabilityPerBand_r16, DL_PRS_QCL_ProcessingCapabilityPerBand_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_QCL_ProcessingCapabilityPerBand_r16_sequence_of[1] = {
{ &hf_lpp_dl_PRS_QCL_ProcessingCapabilityBandList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_QCL_ProcessingCapabilityPerBand_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_QCL_ProcessingCapabilityPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_QCL_ProcessingCapabilityPerBand_r16, SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_QCL_ProcessingCapabilityPerBand_r16_sequence_of,
1, nrMaxBands_r16, FALSE);
return offset;
}
static const per_sequence_t NR_DL_PRS_QCL_ProcessingCapability_r16_sequence[] = {
{ &hf_lpp_dl_PRS_QCL_ProcessingCapabilityBandList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_QCL_ProcessingCapabilityPerBand_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_QCL_ProcessingCapability_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_QCL_ProcessingCapability_r16, NR_DL_PRS_QCL_ProcessingCapability_r16_sequence);
return offset;
}
static const value_string lpp_T_fr1_vals[] = {
{ 0, "mhz5" },
{ 1, "mhz10" },
{ 2, "mhz20" },
{ 3, "mhz40" },
{ 4, "mhz50" },
{ 5, "mhz80" },
{ 6, "mhz100" },
{ 0, NULL }
};
static int
dissect_lpp_T_fr1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_fr2_vals[] = {
{ 0, "mhz50" },
{ 1, "mhz100" },
{ 2, "mhz200" },
{ 3, "mhz400" },
{ 0, NULL }
};
static int
dissect_lpp_T_fr2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_supportedBandwidthPRS_r16_vals[] = {
{ 0, "fr1" },
{ 1, "fr2" },
{ 0, NULL }
};
static const per_choice_t T_supportedBandwidthPRS_r16_choice[] = {
{ 0, &hf_lpp_fr1 , ASN1_EXTENSION_ROOT , dissect_lpp_T_fr1 },
{ 1, &hf_lpp_fr2 , ASN1_EXTENSION_ROOT , dissect_lpp_T_fr2 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_supportedBandwidthPRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_supportedBandwidthPRS_r16, T_supportedBandwidthPRS_r16_choice,
NULL);
return offset;
}
static const value_string lpp_T_dl_PRS_BufferType_r16_vals[] = {
{ 0, "type1" },
{ 1, "type2" },
{ 0, NULL }
};
static int
dissect_lpp_T_dl_PRS_BufferType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_durationOfPRS_ProcessingSymbols_r16_vals[] = {
{ 0, "nDot125" },
{ 1, "nDot25" },
{ 2, "nDot5" },
{ 3, "n1" },
{ 4, "n2" },
{ 5, "n4" },
{ 6, "n6" },
{ 7, "n8" },
{ 8, "n12" },
{ 9, "n16" },
{ 10, "n20" },
{ 11, "n25" },
{ 12, "n30" },
{ 13, "n32" },
{ 14, "n35" },
{ 15, "n40" },
{ 16, "n45" },
{ 17, "n50" },
{ 0, NULL }
};
static int
dissect_lpp_T_durationOfPRS_ProcessingSymbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
18, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_durationOfPRS_ProcessingSymbolsInEveryTms_r16_vals[] = {
{ 0, "n8" },
{ 1, "n16" },
{ 2, "n20" },
{ 3, "n30" },
{ 4, "n40" },
{ 5, "n80" },
{ 6, "n160" },
{ 7, "n320" },
{ 8, "n640" },
{ 9, "n1280" },
{ 0, NULL }
};
static int
dissect_lpp_T_durationOfPRS_ProcessingSymbolsInEveryTms_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t T_durationOfPRS_Processing_r16_sequence[] = {
{ &hf_lpp_durationOfPRS_ProcessingSymbols_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_durationOfPRS_ProcessingSymbols_r16 },
{ &hf_lpp_durationOfPRS_ProcessingSymbolsInEveryTms_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_durationOfPRS_ProcessingSymbolsInEveryTms_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_durationOfPRS_Processing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_durationOfPRS_Processing_r16, T_durationOfPRS_Processing_r16_sequence);
return offset;
}
static const value_string lpp_T_scs15_r16_01_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
{ 2, "n4" },
{ 3, "n8" },
{ 4, "n16" },
{ 5, "n24" },
{ 6, "n32" },
{ 7, "n48" },
{ 8, "n64" },
{ 0, NULL }
};
static int
dissect_lpp_T_scs15_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_scs30_r16_01_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
{ 2, "n4" },
{ 3, "n8" },
{ 4, "n16" },
{ 5, "n24" },
{ 6, "n32" },
{ 7, "n48" },
{ 8, "n64" },
{ 0, NULL }
};
static int
dissect_lpp_T_scs30_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_scs60_r16_01_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
{ 2, "n4" },
{ 3, "n8" },
{ 4, "n16" },
{ 5, "n24" },
{ 6, "n32" },
{ 7, "n48" },
{ 8, "n64" },
{ 0, NULL }
};
static int
dissect_lpp_T_scs60_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_scs120_r16_01_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
{ 2, "n4" },
{ 3, "n8" },
{ 4, "n16" },
{ 5, "n24" },
{ 6, "n32" },
{ 7, "n48" },
{ 8, "n64" },
{ 0, NULL }
};
static int
dissect_lpp_T_scs120_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
9, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t T_maxNumOfDL_PRS_ResProcessedPerSlot_r16_sequence[] = {
{ &hf_lpp_scs15_r16_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs15_r16_01 },
{ &hf_lpp_scs30_r16_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs30_r16_01 },
{ &hf_lpp_scs60_r16_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs60_r16_01 },
{ &hf_lpp_scs120_r16_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs120_r16_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_maxNumOfDL_PRS_ResProcessedPerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_maxNumOfDL_PRS_ResProcessedPerSlot_r16, T_maxNumOfDL_PRS_ResProcessedPerSlot_r16_sequence);
return offset;
}
static const per_sequence_t PRS_ProcessingCapabilityPerBand_r16_sequence[] = {
{ &hf_lpp_freqBandIndicatorNR_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_FreqBandIndicatorNR_r16 },
{ &hf_lpp_supportedBandwidthPRS_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_supportedBandwidthPRS_r16 },
{ &hf_lpp_dl_PRS_BufferType_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_dl_PRS_BufferType_r16 },
{ &hf_lpp_durationOfPRS_Processing_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_durationOfPRS_Processing_r16 },
{ &hf_lpp_maxNumOfDL_PRS_ResProcessedPerSlot_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maxNumOfDL_PRS_ResProcessedPerSlot_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_PRS_ProcessingCapabilityPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_PRS_ProcessingCapabilityPerBand_r16, PRS_ProcessingCapabilityPerBand_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxBands_r16_OF_PRS_ProcessingCapabilityPerBand_r16_sequence_of[1] = {
{ &hf_lpp_prs_ProcessingCapabilityBandList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_PRS_ProcessingCapabilityPerBand_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_PRS_ProcessingCapabilityPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_PRS_ProcessingCapabilityPerBand_r16, SEQUENCE_SIZE_1_nrMaxBands_r16_OF_PRS_ProcessingCapabilityPerBand_r16_sequence_of,
1, nrMaxBands_r16, FALSE);
return offset;
}
static const value_string lpp_T_simulLTE_NR_PRS_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_simulLTE_NR_PRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t NR_DL_PRS_ProcessingCapability_r16_sequence[] = {
{ &hf_lpp_prs_ProcessingCapabilityBandList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_PRS_ProcessingCapabilityPerBand_r16 },
{ &hf_lpp_maxSupportedFreqLayers_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_4 },
{ &hf_lpp_simulLTE_NR_PRS_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_simulLTE_NR_PRS_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_ProcessingCapability_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_ProcessingCapability_r16, NR_DL_PRS_ProcessingCapability_r16_sequence);
return offset;
}
static const value_string lpp_T_olpc_SRS_PosBasedOnPRS_Serving_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_olpc_SRS_PosBasedOnPRS_Serving_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_olpc_SRS_PosBasedOnSSB_Neigh_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_olpc_SRS_PosBasedOnSSB_Neigh_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_olpc_SRS_PosBasedOnPRS_Neigh_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_olpc_SRS_PosBasedOnPRS_Neigh_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_maxNumberPathLossEstimatePerServing_r16_vals[] = {
{ 0, "n1" },
{ 1, "n4" },
{ 2, "n8" },
{ 3, "n16" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxNumberPathLossEstimatePerServing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t OLPC_SRS_Pos_r16_sequence[] = {
{ &hf_lpp_olpc_SRS_PosBasedOnPRS_Serving_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_olpc_SRS_PosBasedOnPRS_Serving_r16 },
{ &hf_lpp_olpc_SRS_PosBasedOnSSB_Neigh_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_olpc_SRS_PosBasedOnSSB_Neigh_r16 },
{ &hf_lpp_olpc_SRS_PosBasedOnPRS_Neigh_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_olpc_SRS_PosBasedOnPRS_Neigh_r16 },
{ &hf_lpp_maxNumberPathLossEstimatePerServing_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumberPathLossEstimatePerServing_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OLPC_SRS_Pos_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OLPC_SRS_Pos_r16, OLPC_SRS_Pos_r16_sequence);
return offset;
}
static const value_string lpp_T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_spatialRelation_SRS_PosBasedOnSRS_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_spatialRelation_SRS_PosBasedOnSRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t SpatialRelationsSRS_Pos_r16_sequence[] = {
{ &hf_lpp_spatialRelation_SRS_PosBasedOnSSB_Serving_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16 },
{ &hf_lpp_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16 },
{ &hf_lpp_spatialRelation_SRS_PosBasedOnPRS_Serving_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16 },
{ &hf_lpp_spatialRelation_SRS_PosBasedOnSRS_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_spatialRelation_SRS_PosBasedOnSRS_r16 },
{ &hf_lpp_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16 },
{ &hf_lpp_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SpatialRelationsSRS_Pos_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SpatialRelationsSRS_Pos_r16, SpatialRelationsSRS_Pos_r16_sequence);
return offset;
}
static const per_sequence_t SRS_CapabilityPerBand_r16_sequence[] = {
{ &hf_lpp_freqBandIndicatorNR_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_FreqBandIndicatorNR_r16 },
{ &hf_lpp_olpc_SRS_Pos_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OLPC_SRS_Pos_r16 },
{ &hf_lpp_spatialRelationsSRS_Pos_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SpatialRelationsSRS_Pos_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SRS_CapabilityPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SRS_CapabilityPerBand_r16, SRS_CapabilityPerBand_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxBands_r16_OF_SRS_CapabilityPerBand_r16_sequence_of[1] = {
{ &hf_lpp_srs_CapabilityBandList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SRS_CapabilityPerBand_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_SRS_CapabilityPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_SRS_CapabilityPerBand_r16, SEQUENCE_SIZE_1_nrMaxBands_r16_OF_SRS_CapabilityPerBand_r16_sequence_of,
1, nrMaxBands_r16, FALSE);
return offset;
}
static const value_string lpp_T_maxNumberSRS_PosResourceSetsPerBWP_r16_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
{ 2, "n4" },
{ 3, "n8" },
{ 4, "n12" },
{ 5, "n16" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxNumberSRS_PosResourceSetsPerBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_maxNumberSRS_PosResourcesPerBWP_r16_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
{ 2, "n4" },
{ 3, "n8" },
{ 4, "n16" },
{ 5, "n32" },
{ 6, "n64" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxNumberSRS_PosResourcesPerBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
{ 2, "n4" },
{ 3, "n8" },
{ 4, "n16" },
{ 5, "n32" },
{ 6, "n64" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_maxNumberAP_SRS_PosResourcesPerBWP_r16_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
{ 2, "n4" },
{ 3, "n8" },
{ 4, "n16" },
{ 5, "n32" },
{ 6, "n64" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxNumberAP_SRS_PosResourcesPerBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_maxNumberSP_SRS_PosResourcesPerBWP_r16_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
{ 2, "n4" },
{ 3, "n8" },
{ 4, "n16" },
{ 5, "n32" },
{ 6, "n64" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxNumberSP_SRS_PosResourcesPerBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t SRS_PosResourcesPerBand_r16_sequence[] = {
{ &hf_lpp_freqBandIndicatorNR_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_FreqBandIndicatorNR_r16 },
{ &hf_lpp_maxNumberSRS_PosResourceSetsPerBWP_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maxNumberSRS_PosResourceSetsPerBWP_r16 },
{ &hf_lpp_maxNumberSRS_PosResourcesPerBWP_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maxNumberSRS_PosResourcesPerBWP_r16 },
{ &hf_lpp_maxNumberPeriodicSRS_PosResourcesPerBWP_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16 },
{ &hf_lpp_maxNumberAP_SRS_PosResourcesPerBWP_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumberAP_SRS_PosResourcesPerBWP_r16 },
{ &hf_lpp_maxNumberSP_SRS_PosResourcesPerBWP_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumberSP_SRS_PosResourcesPerBWP_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SRS_PosResourcesPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SRS_PosResourcesPerBand_r16, SRS_PosResourcesPerBand_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxConfiguredBands_r16_OF_SRS_PosResourcesPerBand_r16_sequence_of[1] = {
{ &hf_lpp_srs_PosResourceConfigCA_BandList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SRS_PosResourcesPerBand_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxConfiguredBands_r16_OF_SRS_PosResourcesPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxConfiguredBands_r16_OF_SRS_PosResourcesPerBand_r16, SEQUENCE_SIZE_1_nrMaxConfiguredBands_r16_OF_SRS_PosResourcesPerBand_r16_sequence_of,
1, nrMaxConfiguredBands_r16, FALSE);
return offset;
}
static const value_string lpp_T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16_vals[] = {
{ 0, "n1" },
{ 1, "n4" },
{ 2, "n8" },
{ 3, "n16" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16_vals[] = {
{ 0, "n0" },
{ 1, "n1" },
{ 2, "n2" },
{ 3, "n4" },
{ 4, "n8" },
{ 5, "n16" },
{ 0, NULL }
};
static int
dissect_lpp_T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t NR_UL_SRS_Capability_r16_sequence[] = {
{ &hf_lpp_srs_CapabilityBandList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_SRS_CapabilityPerBand_r16 },
{ &hf_lpp_srs_PosResourceConfigCA_BandList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxConfiguredBands_r16_OF_SRS_PosResourcesPerBand_r16 },
{ &hf_lpp_maxNumberSRS_PosPathLossEstimateAllServingCells_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16 },
{ &hf_lpp_maxNumberSRS_PosSpatialRelationsAllServingCells_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_UL_SRS_Capability_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_UL_SRS_Capability_r16, NR_UL_SRS_Capability_r16_sequence);
return offset;
}
static const value_string lpp_T_additionalPathsReport_r16_01_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_additionalPathsReport_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_periodicalReporting_r16_01_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_periodicalReporting_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t NR_Multi_RTT_ProvideCapabilities_r16_sequence[] = {
{ &hf_lpp_nr_Multi_RTT_PRS_Capability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ResourcesCapability_r16 },
{ &hf_lpp_nr_Multi_RTT_MeasurementCapability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_MeasurementCapability_r16 },
{ &hf_lpp_nr_DL_PRS_QCL_ProcessingCapability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_QCL_ProcessingCapability_r16 },
{ &hf_lpp_nr_DL_PRS_ProcessingCapability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ProcessingCapability_r16 },
{ &hf_lpp_nr_UL_SRS_Capability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_UL_SRS_Capability_r16 },
{ &hf_lpp_additionalPathsReport_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_additionalPathsReport_r16_01 },
{ &hf_lpp_periodicalReporting_r16_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_periodicalReporting_r16_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_ProvideCapabilities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_ProvideCapabilities_r16, NR_Multi_RTT_ProvideCapabilities_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 8U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_simul_NR_DL_AoD_DL_TDOA_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_simul_NR_DL_AoD_DL_TDOA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_simul_NR_DL_AoD_Multi_RTT_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_simul_NR_DL_AoD_Multi_RTT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t DL_AoD_MeasCapabilityPerBand_r16_sequence[] = {
{ &hf_lpp_freqBandIndicatorNR_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_FreqBandIndicatorNR_r16 },
{ &hf_lpp_simul_NR_DL_AoD_DL_TDOA_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_simul_NR_DL_AoD_DL_TDOA_r16 },
{ &hf_lpp_simul_NR_DL_AoD_Multi_RTT_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_simul_NR_DL_AoD_Multi_RTT_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DL_AoD_MeasCapabilityPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_AoD_MeasCapabilityPerBand_r16, DL_AoD_MeasCapabilityPerBand_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_AoD_MeasCapabilityPerBand_r16_sequence_of[1] = {
{ &hf_lpp_dl_AoD_MeasCapabilityBandList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_AoD_MeasCapabilityPerBand_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_AoD_MeasCapabilityPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_AoD_MeasCapabilityPerBand_r16, SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_AoD_MeasCapabilityPerBand_r16_sequence_of,
1, nrMaxBands_r16, FALSE);
return offset;
}
static const per_sequence_t NR_DL_AoD_MeasurementCapability_r16_sequence[] = {
{ &hf_lpp_maxDL_PRS_RSRP_MeasurementFR1_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_8 },
{ &hf_lpp_maxDL_PRS_RSRP_MeasurementFR2_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_8 },
{ &hf_lpp_dl_AoD_MeasCapabilityBandList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_AoD_MeasCapabilityPerBand_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_MeasurementCapability_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_MeasurementCapability_r16, NR_DL_AoD_MeasurementCapability_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_AoD_ProvideCapabilities_r16_sequence[] = {
{ &hf_lpp_nr_DL_AoD_Mode_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_PositioningModes },
{ &hf_lpp_nr_DL_AoD_PRS_Capability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ResourcesCapability_r16 },
{ &hf_lpp_nr_DL_AoD_MeasurementCapability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_MeasurementCapability_r16 },
{ &hf_lpp_nr_DL_PRS_QCL_ProcessingCapability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_QCL_ProcessingCapability_r16 },
{ &hf_lpp_nr_DL_PRS_ProcessingCapability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ProcessingCapability_r16 },
{ &hf_lpp_periodicalReporting_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_ProvideCapabilities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_ProvideCapabilities_r16, NR_DL_AoD_ProvideCapabilities_r16_sequence);
return offset;
}
static const value_string lpp_T_supportOfDL_PRS_RSRP_MeasFR1_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_supportOfDL_PRS_RSRP_MeasFR1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_supportOfDL_PRS_RSRP_MeasFR2_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_supportOfDL_PRS_RSRP_MeasFR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t NR_DL_TDOA_MeasurementCapability_r16_sequence[] = {
{ &hf_lpp_dl_RSTD_MeasurementPerPairOfTRP_FR1_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_4 },
{ &hf_lpp_dl_RSTD_MeasurementPerPairOfTRP_FR2_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_4 },
{ &hf_lpp_supportOfDL_PRS_RSRP_MeasFR1_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_supportOfDL_PRS_RSRP_MeasFR1_r16 },
{ &hf_lpp_supportOfDL_PRS_RSRP_MeasFR2_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_supportOfDL_PRS_RSRP_MeasFR2_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_MeasurementCapability_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_MeasurementCapability_r16, NR_DL_TDOA_MeasurementCapability_r16_sequence);
return offset;
}
static const value_string lpp_T_additionalPathsReport_r16_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_lpp_T_additionalPathsReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t NR_DL_TDOA_ProvideCapabilities_r16_sequence[] = {
{ &hf_lpp_nr_DL_TDOA_Mode_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_PositioningModes },
{ &hf_lpp_nr_DL_TDOA_PRS_Capability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ResourcesCapability_r16 },
{ &hf_lpp_nr_DL_TDOA_MeasurementCapability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_MeasurementCapability_r16 },
{ &hf_lpp_nr_DL_PRS_QCL_ProcessingCapability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_QCL_ProcessingCapability_r16 },
{ &hf_lpp_nr_DL_PRS_ProcessingCapability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ProcessingCapability_r16 },
{ &hf_lpp_additionalPathsReport_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_additionalPathsReport_r16 },
{ &hf_lpp_periodicalReporting_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_ProvideCapabilities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_ProvideCapabilities_r16, NR_DL_TDOA_ProvideCapabilities_r16_sequence);
return offset;
}
static const per_sequence_t NR_UL_ProvideCapabilities_r16_sequence[] = {
{ &hf_lpp_nr_UL_SRS_Capability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_UL_SRS_Capability_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_UL_ProvideCapabilities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_UL_ProvideCapabilities_r16, NR_UL_ProvideCapabilities_r16_sequence);
return offset;
}
static const per_sequence_t ProvideCapabilities_r9_IEs_eag_2_sequence[] = {
{ &hf_lpp_nr_ECID_ProvideCapabilities_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_ECID_ProvideCapabilities_r16 },
{ &hf_lpp_nr_Multi_RTT_ProvideCapabilities_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_Multi_RTT_ProvideCapabilities_r16 },
{ &hf_lpp_nr_DL_AoD_ProvideCapabilities_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_ProvideCapabilities_r16 },
{ &hf_lpp_nr_DL_TDOA_ProvideCapabilities_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_ProvideCapabilities_r16 },
{ &hf_lpp_nr_UL_ProvideCapabilities_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_UL_ProvideCapabilities_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ProvideCapabilities_r9_IEs_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ProvideCapabilities_r9_IEs_eag_2_sequence);
return offset;
}
static const per_sequence_t ProvideCapabilities_r9_IEs_sequence[] = {
{ &hf_lpp_commonIEsProvideCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsProvideCapabilities },
{ &hf_lpp_a_gnss_ProvideCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_ProvideCapabilities },
{ &hf_lpp_otdoa_ProvideCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_ProvideCapabilities },
{ &hf_lpp_ecid_ProvideCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECID_ProvideCapabilities },
{ &hf_lpp_epdu_ProvideCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ProvideCapabilities_r9_IEs_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ProvideCapabilities_r9_IEs_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ProvideCapabilities_r9_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ProvideCapabilities_r9_IEs, ProvideCapabilities_r9_IEs_sequence);
return offset;
}
static const value_string lpp_T_c1_02_vals[] = {
{ 0, "provideCapabilities-r9" },
{ 1, "spare3" },
{ 2, "spare2" },
{ 3, "spare1" },
{ 0, NULL }
};
static const per_choice_t T_c1_02_choice[] = {
{ 0, &hf_lpp_provideCapabilities_r9, ASN1_NO_EXTENSIONS , dissect_lpp_ProvideCapabilities_r9_IEs },
{ 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_c1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_c1_02, T_c1_02_choice,
NULL);
return offset;
}
static const per_sequence_t T_criticalExtensionsFuture_01_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensionsFuture_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensionsFuture_01, T_criticalExtensionsFuture_01_sequence);
return offset;
}
static const value_string lpp_T_criticalExtensions_01_vals[] = {
{ 0, "c1" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
static const per_choice_t T_criticalExtensions_01_choice[] = {
{ 0, &hf_lpp_c1_02 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_02 },
{ 1, &hf_lpp_criticalExtensionsFuture_01, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_01 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensions_01, T_criticalExtensions_01_choice,
NULL);
return offset;
}
static const per_sequence_t ProvideCapabilities_sequence[] = {
{ &hf_lpp_criticalExtensions_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 128 "./asn1/lpp/lpp.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Provide Capabilities");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ProvideCapabilities, ProvideCapabilities_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 9U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_mcc_02_sequence_of[1] = {
{ &hf_lpp_mcc_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
};
static int
dissect_lpp_T_mcc_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_T_mcc_02, T_mcc_02_sequence_of,
3, 3, FALSE);
return offset;
}
static const per_sequence_t T_mnc_02_sequence_of[1] = {
{ &hf_lpp_mnc_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
};
static int
dissect_lpp_T_mnc_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_T_mnc_02, T_mnc_02_sequence_of,
2, 3, FALSE);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
28, 28, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t ECGI_sequence[] = {
{ &hf_lpp_mcc_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mcc_02 },
{ &hf_lpp_mnc_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mnc_02 },
{ &hf_lpp_cellidentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_28 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ECGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ECGI, ECGI_sequence);
return offset;
}
static const per_sequence_t CommonIEsRequestAssistanceData_eag_1_sequence[] = {
{ &hf_lpp_segmentationInfo_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SegmentationInfo_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsRequestAssistanceData_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CommonIEsRequestAssistanceData_eag_1_sequence);
return offset;
}
static const value_string lpp_T_periodicSessionInitiator_r15_vals[] = {
{ 0, "locationServer" },
{ 1, "targetDevice" },
{ 0, NULL }
};
static int
dissect_lpp_T_periodicSessionInitiator_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, NULL, FALSE);
return offset;
}
static const per_sequence_t PeriodicSessionID_r15_sequence[] = {
{ &hf_lpp_periodicSessionInitiator_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_periodicSessionInitiator_r15 },
{ &hf_lpp_periodicSessionNumber_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_PeriodicSessionID_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_PeriodicSessionID_r15, PeriodicSessionID_r15_sequence);
return offset;
}
static int * const UpdateCapabilities_r15_bits[] = {
&hf_lpp_UpdateCapabilities_r15_primaryCellID_r15,
NULL
};
static int
dissect_lpp_UpdateCapabilities_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, UpdateCapabilities_r15_bits, 1, NULL, NULL);
return offset;
}
static const per_sequence_t PeriodicAssistanceDataControlParameters_r15_eag_1_sequence[] = {
{ &hf_lpp_updateCapabilities_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_UpdateCapabilities_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_PeriodicAssistanceDataControlParameters_r15_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PeriodicAssistanceDataControlParameters_r15_eag_1_sequence);
return offset;
}
static const per_sequence_t PeriodicAssistanceDataControlParameters_r15_sequence[] = {
{ &hf_lpp_periodicSessionID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_PeriodicSessionID_r15 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_PeriodicAssistanceDataControlParameters_r15_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_PeriodicAssistanceDataControlParameters_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_PeriodicAssistanceDataControlParameters_r15, PeriodicAssistanceDataControlParameters_r15_sequence);
return offset;
}
static const per_sequence_t T_mcc_r15_sequence_of[1] = {
{ &hf_lpp_mcc_r15_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
};
static int
dissect_lpp_T_mcc_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_T_mcc_r15, T_mcc_r15_sequence_of,
3, 3, FALSE);
return offset;
}
static const per_sequence_t T_mnc_r15_sequence_of[1] = {
{ &hf_lpp_mnc_r15_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
};
static int
dissect_lpp_T_mnc_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_T_mnc_r15, T_mnc_r15_sequence_of,
2, 3, FALSE);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
36, 36, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t NCGI_r15_sequence[] = {
{ &hf_lpp_mcc_r15 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mcc_r15 },
{ &hf_lpp_mnc_r15 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mnc_r15 },
{ &hf_lpp_nr_cellidentity_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_36 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NCGI_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NCGI_r15, NCGI_r15_sequence);
return offset;
}
static const per_sequence_t CommonIEsRequestAssistanceData_eag_2_sequence[] = {
{ &hf_lpp_periodicAssistanceDataReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicAssistanceDataControlParameters_r15 },
{ &hf_lpp_primaryCellID_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsRequestAssistanceData_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CommonIEsRequestAssistanceData_eag_2_sequence);
return offset;
}
static const per_sequence_t CommonIEsRequestAssistanceData_sequence[] = {
{ &hf_lpp_primaryCellID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsRequestAssistanceData_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsRequestAssistanceData_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsRequestAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CommonIEsRequestAssistanceData, CommonIEsRequestAssistanceData_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_8_OF_GNSS_ID_sequence_of[1] = {
{ &hf_lpp_gnss_TimeReqPrefList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_8_OF_GNSS_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_8_OF_GNSS_ID, SEQUENCE_SIZE_1_8_OF_GNSS_ID_sequence_of,
1, 8, FALSE);
return offset;
}
static const per_sequence_t GNSS_ReferenceTimeReq_sequence[] = {
{ &hf_lpp_gnss_TimeReqPrefList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_8_OF_GNSS_ID },
{ &hf_lpp_gps_TOW_assistReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ &hf_lpp_notOfLeapSecReq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_ReferenceTimeReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ReferenceTimeReq, GNSS_ReferenceTimeReq_sequence);
return offset;
}
static const per_sequence_t GNSS_ReferenceLocationReq_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_ReferenceLocationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ReferenceLocationReq, GNSS_ReferenceLocationReq_sequence);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2, 2, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t GNSS_IonosphericModelReq_eag_1_sequence[] = {
{ &hf_lpp_klobucharModel2Req_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NULL },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_IonosphericModelReq_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_IonosphericModelReq_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_IonosphericModelReq_sequence[] = {
{ &hf_lpp_klobucharModelReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_2 },
{ &hf_lpp_neQuickModelReq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_IonosphericModelReq_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_IonosphericModelReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_IonosphericModelReq, GNSS_IonosphericModelReq_sequence);
return offset;
}
static const per_sequence_t GNSS_EarthOrientationParametersReq_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_EarthOrientationParametersReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_EarthOrientationParametersReq, GNSS_EarthOrientationParametersReq_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_VisibleString_SIZE_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
1, 32, FALSE);
return offset;
}
static const per_sequence_t GNSS_ReferenceStationID_r15_sequence[] = {
{ &hf_lpp_referenceStationID_r15_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_providerName_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_VisibleString_SIZE_1_32 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_ReferenceStationID_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ReferenceStationID_r15, GNSS_ReferenceStationID_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_RTK_ReferenceStationInfoReq_r15_sequence[] = {
{ &hf_lpp_antennaDescriptionReq_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_antennaHeightReq_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_physicalReferenceStationReq_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_stationID_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceStationID_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_ReferenceStationInfoReq_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_ReferenceStationInfoReq_r15, GNSS_RTK_ReferenceStationInfoReq_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_RTK_AuxiliaryStationDataReq_r15_sequence[] = {
{ &hf_lpp_master_referenceStationID_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceStationID_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_AuxiliaryStationDataReq_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_AuxiliaryStationDataReq_r15, GNSS_RTK_AuxiliaryStationDataReq_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_CommonAssistDataReq_eag_1_sequence[] = {
{ &hf_lpp_gnss_RTK_ReferenceStationInfoReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_ReferenceStationInfoReq_r15 },
{ &hf_lpp_gnss_RTK_AuxiliaryStationDataReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_AuxiliaryStationDataReq_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_CommonAssistDataReq_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_CommonAssistDataReq_eag_1_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 16383U, NULL, FALSE);
return offset;
}
static const per_sequence_t GNSS_SSR_CorrectionPointsReq_r16_sequence[] = {
{ &hf_lpp_correctionPointSetID_Req_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_16383 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_CorrectionPointsReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_CorrectionPointsReq_r16, GNSS_SSR_CorrectionPointsReq_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_CommonAssistDataReq_eag_2_sequence[] = {
{ &hf_lpp_gnss_SSR_CorrectionPointsReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_CorrectionPointsReq_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_CommonAssistDataReq_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_CommonAssistDataReq_eag_2_sequence);
return offset;
}
static const per_sequence_t GNSS_CommonAssistDataReq_sequence[] = {
{ &hf_lpp_gnss_ReferenceTimeReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceTimeReq },
{ &hf_lpp_gnss_ReferenceLocationReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceLocationReq },
{ &hf_lpp_gnss_IonosphericModelReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_IonosphericModelReq },
{ &hf_lpp_gnss_EarthOrientationParametersReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_EarthOrientationParametersReq },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistDataReq_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistDataReq_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_CommonAssistDataReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_CommonAssistDataReq, GNSS_CommonAssistDataReq_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 15U, NULL, FALSE);
return offset;
}
static const per_sequence_t GNSS_TimeModelElementReq_sequence[] = {
{ &hf_lpp_gnss_TO_IDsReq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_15 },
{ &hf_lpp_deltaTreq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_TimeModelElementReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_TimeModelElementReq, GNSS_TimeModelElementReq_sequence);
return offset;
}
static const per_sequence_t GNSS_TimeModelListReq_sequence_of[1] = {
{ &hf_lpp_GNSS_TimeModelListReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_TimeModelElementReq },
};
static int
dissect_lpp_GNSS_TimeModelListReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_TimeModelListReq, GNSS_TimeModelListReq_sequence_of,
1, 15, FALSE);
return offset;
}
static const per_sequence_t GNSS_DifferentialCorrectionsReq_sequence[] = {
{ &hf_lpp_dgnss_SignalsReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ &hf_lpp_dgnss_ValidityTimeReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_DifferentialCorrectionsReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_DifferentialCorrectionsReq, GNSS_DifferentialCorrectionsReq_sequence);
return offset;
}
static int
dissect_lpp_T_gnss_WeekOrDay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4095U, NULL, FALSE);
#line 1570 "./asn1/lpp/lpp.cnf"
proto_item_append_text(actx->created_item, " (days for glonass, weeks otherwise)");
return offset;
}
static int
dissect_lpp_T_gnss_Toe(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, NULL, FALSE);
#line 1573 "./asn1/lpp/lpp.cnf"
proto_item_append_text(actx->created_item, " (units of 15 mns for glonass, hours otherwise)");
return offset;
}
static int
dissect_lpp_T_t_toeLimit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 15U, NULL, FALSE);
#line 1576 "./asn1/lpp/lpp.cnf"
proto_item_append_text(actx->created_item, " (units of 30 mns for glonass, hours otherwise)");
return offset;
}
static int
dissect_lpp_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 63U, NULL, FALSE);
return offset;
}
static const per_sequence_t SV_ID_sequence[] = {
{ &hf_lpp_satellite_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_SV_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SV_ID, SV_ID_sequence);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
11, 11, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t SatListRelatedDataElement_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_iod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_11 },
{ &hf_lpp_clockModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_8 },
{ &hf_lpp_orbitModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_8 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SatListRelatedDataElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SatListRelatedDataElement, SatListRelatedDataElement_sequence);
return offset;
}
static const per_sequence_t SatListRelatedDataList_sequence_of[1] = {
{ &hf_lpp_SatListRelatedDataList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SatListRelatedDataElement },
};
static int
dissect_lpp_SatListRelatedDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SatListRelatedDataList, SatListRelatedDataList_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t StoredNavListInfo_sequence[] = {
{ &hf_lpp_gnss_WeekOrDay , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_gnss_WeekOrDay },
{ &hf_lpp_gnss_Toe , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_gnss_Toe },
{ &hf_lpp_t_toeLimit , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_t_toeLimit },
{ &hf_lpp_satListRelatedDataList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SatListRelatedDataList },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_StoredNavListInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_StoredNavListInfo, StoredNavListInfo_sequence);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
64, 64, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t T_clockModelID_PrefList_sequence_of[1] = {
{ &hf_lpp_clockModelID_PrefList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_8 },
};
static int
dissect_lpp_T_clockModelID_PrefList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_T_clockModelID_PrefList, T_clockModelID_PrefList_sequence_of,
1, 8, FALSE);
return offset;
}
static const per_sequence_t T_orbitModelID_PrefList_sequence_of[1] = {
{ &hf_lpp_orbitModelID_PrefList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_8 },
};
static int
dissect_lpp_T_orbitModelID_PrefList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_T_orbitModelID_PrefList, T_orbitModelID_PrefList_sequence_of,
1, 8, FALSE);
return offset;
}
static const per_sequence_t ReqNavListInfo_sequence[] = {
{ &hf_lpp_svReqList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_64 },
{ &hf_lpp_clockModelID_PrefList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_clockModelID_PrefList },
{ &hf_lpp_orbitModelID_PrefList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_orbitModelID_PrefList },
{ &hf_lpp_addNavparamReq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ReqNavListInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ReqNavListInfo, ReqNavListInfo_sequence);
return offset;
}
static const value_string lpp_GNSS_NavigationModelReq_vals[] = {
{ 0, "storedNavList" },
{ 1, "reqNavList" },
{ 0, NULL }
};
static const per_choice_t GNSS_NavigationModelReq_choice[] = {
{ 0, &hf_lpp_storedNavList , ASN1_EXTENSION_ROOT , dissect_lpp_StoredNavListInfo },
{ 1, &hf_lpp_reqNavList , ASN1_EXTENSION_ROOT , dissect_lpp_ReqNavListInfo },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_GNSS_NavigationModelReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_NavigationModelReq, GNSS_NavigationModelReq_choice,
NULL);
return offset;
}
static const per_sequence_t GNSS_RealTimeIntegrityReq_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_RealTimeIntegrityReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RealTimeIntegrityReq, GNSS_RealTimeIntegrityReq_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_3599(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 3599U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 999U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 15U, NULL, FALSE);
return offset;
}
static const per_sequence_t GNSS_DataBitsReqSatElement_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_DataBitsReqSatElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_DataBitsReqSatElement, GNSS_DataBitsReqSatElement_sequence);
return offset;
}
static const per_sequence_t GNSS_DataBitsReqSatList_sequence_of[1] = {
{ &hf_lpp_GNSS_DataBitsReqSatList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_DataBitsReqSatElement },
};
static int
dissect_lpp_GNSS_DataBitsReqSatList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_DataBitsReqSatList, GNSS_DataBitsReqSatList_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_DataBitAssistanceReq_sequence[] = {
{ &hf_lpp_gnss_TOD_Req , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3599 },
{ &hf_lpp_gnss_TOD_FracReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_999 },
{ &hf_lpp_dataBitInterval , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_gnss_SignalType_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ &hf_lpp_gnss_DataBitsReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DataBitsReqSatList },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_DataBitAssistanceReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_DataBitAssistanceReq, GNSS_DataBitAssistanceReq_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_8_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8U, 23U, NULL, FALSE);
return offset;
}
static const per_sequence_t GNSS_SignalID_eag_1_sequence[] = {
{ &hf_lpp_gnss_SignalID_Ext_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_8_23 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SignalID_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_SignalID_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_SignalID_sequence[] = {
{ &hf_lpp_gnss_SignalID_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_7 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID_eag_1 },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_GNSS_SignalID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SignalID, GNSS_SignalID_sequence);
return offset;
}
static const per_sequence_t GNSS_AcquisitionAssistanceReq_sequence[] = {
{ &hf_lpp_gnss_SignalID_Req, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_AcquisitionAssistanceReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_AcquisitionAssistanceReq, GNSS_AcquisitionAssistanceReq_sequence);
return offset;
}
static const per_sequence_t GNSS_AlmanacReq_sequence[] = {
{ &hf_lpp_modelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_8 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_AlmanacReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_AlmanacReq, GNSS_AlmanacReq_sequence);
return offset;
}
static const per_sequence_t GNSS_UTC_ModelReq_sequence[] = {
{ &hf_lpp_modelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_8 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_UTC_ModelReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_UTC_ModelReq, GNSS_UTC_ModelReq_sequence);
return offset;
}
static const per_sequence_t GNSS_AuxiliaryInformationReq_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_AuxiliaryInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_AuxiliaryInformationReq, GNSS_AuxiliaryInformationReq_sequence);
return offset;
}
static const per_sequence_t BDS_DifferentialCorrectionsReq_r12_sequence[] = {
{ &hf_lpp_dgnss_SignalsReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BDS_DifferentialCorrectionsReq_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BDS_DifferentialCorrectionsReq_r12, BDS_DifferentialCorrectionsReq_r12_sequence);
return offset;
}
static const per_sequence_t BDS_GridModelReq_r12_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_BDS_GridModelReq_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BDS_GridModelReq_r12, BDS_GridModelReq_r12_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataReqElement_eag_1_sequence[] = {
{ &hf_lpp_bds_DifferentialCorrectionsReq_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BDS_DifferentialCorrectionsReq_r12 },
{ &hf_lpp_bds_GridModelReq_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BDS_GridModelReq_r12 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_GenericAssistDataReqElement_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_GenericAssistDataReqElement_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_RTK_ObservationsReq_r15_sequence[] = {
{ &hf_lpp_gnss_RTK_SignalsReq_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ &hf_lpp_gnss_RTK_Integer_ms_Req_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_gnss_RTK_PhaseRangeRateReq_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_gnss_RTK_CNR_Req_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_stationID_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceStationID_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_ObservationsReq_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_ObservationsReq_r15, GNSS_RTK_ObservationsReq_r15_sequence);
return offset;
}
static const per_sequence_t GLO_RTK_BiasInformationReq_r15_sequence[] = {
{ &hf_lpp_stationID_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceStationID_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GLO_RTK_BiasInformationReq_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GLO_RTK_BiasInformationReq_r15, GLO_RTK_BiasInformationReq_r15_sequence);
return offset;
}
static const per_sequence_t AUX_ReferenceStationID_Element_r15_sequence[] = {
{ &hf_lpp_aux_stationID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceStationID_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AUX_ReferenceStationID_Element_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AUX_ReferenceStationID_Element_r15, AUX_ReferenceStationID_Element_r15_sequence);
return offset;
}
static const per_sequence_t AUX_ReferenceStationList_r15_sequence_of[1] = {
{ &hf_lpp_AUX_ReferenceStationList_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_AUX_ReferenceStationID_Element_r15 },
};
static int
dissect_lpp_AUX_ReferenceStationList_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_AUX_ReferenceStationList_r15, AUX_ReferenceStationList_r15_sequence_of,
1, 32, FALSE);
return offset;
}
static const per_sequence_t GNSS_RTK_MAC_CorrectionDifferencesReq_r15_sequence[] = {
{ &hf_lpp_master_ReferenceStationID_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_aux_ReferenceStationList_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AUX_ReferenceStationList_r15 },
{ &hf_lpp_linkCombinations_PrefList_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_Link_CombinationsList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_MAC_CorrectionDifferencesReq_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_MAC_CorrectionDifferencesReq_r15, GNSS_RTK_MAC_CorrectionDifferencesReq_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_RTK_ResidualsReq_r15_sequence[] = {
{ &hf_lpp_stationID_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_linkCombinations_PrefList_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_Link_CombinationsList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_ResidualsReq_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_ResidualsReq_r15, GNSS_RTK_ResidualsReq_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_RTK_FKP_GradientsReq_r15_sequence[] = {
{ &hf_lpp_stationID_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_linkCombinations_PrefList_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_Link_CombinationsList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_FKP_GradientsReq_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_FKP_GradientsReq_r15, GNSS_RTK_FKP_GradientsReq_r15_sequence);
return offset;
}
static const per_sequence_t SatListElement_r15_sequence[] = {
{ &hf_lpp_svID_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_iod_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_11 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SatListElement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SatListElement_r15, SatListElement_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_NavListInfo_r15_sequence_of[1] = {
{ &hf_lpp_GNSS_NavListInfo_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SatListElement_r15 },
};
static int
dissect_lpp_GNSS_NavListInfo_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_NavListInfo_r15, GNSS_NavListInfo_r15_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_SSR_OrbitCorrectionsReq_r15_sequence[] = {
{ &hf_lpp_storedNavList_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_NavListInfo_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_OrbitCorrectionsReq_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_OrbitCorrectionsReq_r15, GNSS_SSR_OrbitCorrectionsReq_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_ClockCorrectionsReq_r15_sequence[] = {
{ &hf_lpp_storedNavList_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_NavListInfo_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_ClockCorrectionsReq_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_ClockCorrectionsReq_r15, GNSS_SSR_ClockCorrectionsReq_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_CodeBiasReq_r15_sequence[] = {
{ &hf_lpp_signal_and_tracking_mode_ID_Map_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ &hf_lpp_storedNavList_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_NavListInfo_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_CodeBiasReq_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_CodeBiasReq_r15, GNSS_SSR_CodeBiasReq_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataReqElement_eag_2_sequence[] = {
{ &hf_lpp_gnss_RTK_ObservationsReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_ObservationsReq_r15 },
{ &hf_lpp_glo_RTK_BiasInformationReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GLO_RTK_BiasInformationReq_r15 },
{ &hf_lpp_gnss_RTK_MAC_CorrectionDifferencesReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_MAC_CorrectionDifferencesReq_r15 },
{ &hf_lpp_gnss_RTK_ResidualsReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_ResidualsReq_r15 },
{ &hf_lpp_gnss_RTK_FKP_GradientsReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_FKP_GradientsReq_r15 },
{ &hf_lpp_gnss_SSR_OrbitCorrectionsReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_OrbitCorrectionsReq_r15 },
{ &hf_lpp_gnss_SSR_ClockCorrectionsReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_ClockCorrectionsReq_r15 },
{ &hf_lpp_gnss_SSR_CodeBiasReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_CodeBiasReq_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_GenericAssistDataReqElement_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_GenericAssistDataReqElement_eag_2_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_URA_Req_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_URA_Req_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_URA_Req_r16, GNSS_SSR_URA_Req_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_PhaseBiasReq_r16_sequence[] = {
{ &hf_lpp_signal_and_tracking_mode_ID_Map_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ &hf_lpp_storedNavList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_NavListInfo_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_PhaseBiasReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_PhaseBiasReq_r16, GNSS_SSR_PhaseBiasReq_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_STEC_CorrectionReq_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_STEC_CorrectionReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_STEC_CorrectionReq_r16, GNSS_SSR_STEC_CorrectionReq_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_SSR_GriddedCorrectionReq_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_GriddedCorrectionReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_GriddedCorrectionReq_r16, GNSS_SSR_GriddedCorrectionReq_r16_sequence);
return offset;
}
static const per_sequence_t NavIC_DifferentialCorrectionsReq_r16_sequence[] = {
{ &hf_lpp_dgnss_SignalsReq_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavIC_DifferentialCorrectionsReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavIC_DifferentialCorrectionsReq_r16, NavIC_DifferentialCorrectionsReq_r16_sequence);
return offset;
}
static const per_sequence_t NavIC_GridModelReq_r16_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_NavIC_GridModelReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavIC_GridModelReq_r16, NavIC_GridModelReq_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataReqElement_eag_3_sequence[] = {
{ &hf_lpp_gnss_SSR_URA_Req_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_URA_Req_r16 },
{ &hf_lpp_gnss_SSR_PhaseBiasReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_PhaseBiasReq_r16 },
{ &hf_lpp_gnss_SSR_STEC_CorrectionReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_STEC_CorrectionReq_r16 },
{ &hf_lpp_gnss_SSR_GriddedCorrectionReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_GriddedCorrectionReq_r16 },
{ &hf_lpp_navic_DifferentialCorrectionsReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NavIC_DifferentialCorrectionsReq_r16 },
{ &hf_lpp_navic_GridModelReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NavIC_GridModelReq_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_GenericAssistDataReqElement_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_GenericAssistDataReqElement_eag_3_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataReqElement_sequence[] = {
{ &hf_lpp_gnss_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
{ &hf_lpp_sbas_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SBAS_ID },
{ &hf_lpp_gnss_TimeModelsReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_TimeModelListReq },
{ &hf_lpp_gnss_DifferentialCorrectionsReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DifferentialCorrectionsReq },
{ &hf_lpp_gnss_NavigationModelReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_NavigationModelReq },
{ &hf_lpp_gnss_RealTimeIntegrityReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_RealTimeIntegrityReq },
{ &hf_lpp_gnss_DataBitAssistanceReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DataBitAssistanceReq },
{ &hf_lpp_gnss_AcquisitionAssistanceReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AcquisitionAssistanceReq },
{ &hf_lpp_gnss_AlmanacReq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AlmanacReq },
{ &hf_lpp_gnss_UTCModelReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_UTC_ModelReq },
{ &hf_lpp_gnss_AuxiliaryInformationReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AuxiliaryInformationReq },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataReqElement_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataReqElement_eag_2 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataReqElement_eag_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_GenericAssistDataReqElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_GenericAssistDataReqElement, GNSS_GenericAssistDataReqElement_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataReq_sequence_of[1] = {
{ &hf_lpp_GNSS_GenericAssistDataReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataReqElement },
};
static int
dissect_lpp_GNSS_GenericAssistDataReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_GenericAssistDataReq, GNSS_GenericAssistDataReq_sequence_of,
1, 16, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 32U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_1_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 64U, NULL, FALSE);
return offset;
}
static const per_sequence_t GNSS_PeriodicControlParam_r15_sequence[] = {
{ &hf_lpp_deliveryAmount_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_32 },
{ &hf_lpp_deliveryInterval_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_64 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_PeriodicControlParam_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_PeriodicControlParam_r15, GNSS_PeriodicControlParam_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_PeriodicAssistDataReq_r15_eag_1_sequence[] = {
{ &hf_lpp_gnss_SSR_PeriodicURA_Req_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_SSR_PeriodicPhaseBiasReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_SSR_PeriodicSTEC_CorrectionReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_SSR_PeriodicGriddedCorrectionReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_PeriodicAssistDataReq_r15_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_PeriodicAssistDataReq_r15_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_PeriodicAssistDataReq_r15_sequence[] = {
{ &hf_lpp_gnss_RTK_PeriodicObservationsReq_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_glo_RTK_PeriodicBiasInformationReq_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_RTK_MAC_PeriodicCorrectionDifferencesReq_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_RTK_PeriodicResidualsReq_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_RTK_FKP_PeriodicGradientsReq_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_SSR_PeriodicOrbitCorrectionsReq_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_SSR_PeriodicClockCorrectionsReq_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_SSR_PeriodicCodeBiasReq_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_PeriodicAssistDataReq_r15_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_PeriodicAssistDataReq_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_PeriodicAssistDataReq_r15, GNSS_PeriodicAssistDataReq_r15_sequence);
return offset;
}
static const per_sequence_t A_GNSS_RequestAssistanceData_eag_1_sequence[] = {
{ &hf_lpp_gnss_PeriodicAssistDataReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicAssistDataReq_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_A_GNSS_RequestAssistanceData_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, A_GNSS_RequestAssistanceData_eag_1_sequence);
return offset;
}
static const per_sequence_t A_GNSS_RequestAssistanceData_sequence[] = {
{ &hf_lpp_gnss_CommonAssistDataReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_CommonAssistDataReq },
{ &hf_lpp_gnss_GenericAssistDataReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_GenericAssistDataReq },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_A_GNSS_RequestAssistanceData_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_A_GNSS_RequestAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_A_GNSS_RequestAssistanceData, A_GNSS_RequestAssistanceData_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_503(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 503U, NULL, FALSE);
return offset;
}
static int * const T_adType_r14_bits[] = {
&hf_lpp_T_adType_r14_prs,
&hf_lpp_T_adType_r14_nprs,
NULL
};
static int
dissect_lpp_T_adType_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_adType_r14_bits, 2, NULL, NULL);
return offset;
}
static const per_sequence_t OTDOA_RequestAssistanceData_eag_1_sequence[] = {
{ &hf_lpp_adType_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_adType_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_RequestAssistanceData_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_RequestAssistanceData_eag_1_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_1007(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1007U, NULL, FALSE);
return offset;
}
static const per_sequence_t OTDOA_RequestAssistanceData_eag_2_sequence[] = {
{ &hf_lpp_nrPhysCellId_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1007 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_RequestAssistanceData_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_RequestAssistanceData_eag_2_sequence);
return offset;
}
static const per_sequence_t OTDOA_RequestAssistanceData_sequence[] = {
{ &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_RequestAssistanceData_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_RequestAssistanceData_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_RequestAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_RequestAssistanceData, OTDOA_RequestAssistanceData_sequence);
return offset;
}
static const per_sequence_t Sensor_RequestAssistanceData_r14_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_lpp_Sensor_RequestAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_RequestAssistanceData_r14, Sensor_RequestAssistanceData_r14_sequence);
return offset;
}
static const per_sequence_t TBS_RequestAssistanceData_r14_sequence[] = {
{ &hf_lpp_mbs_AlmanacAssistanceDataReq_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_mbs_AcquisitionAssistanceDataReq_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TBS_RequestAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TBS_RequestAssistanceData_r14, TBS_RequestAssistanceData_r14_sequence);
return offset;
}
static int * const T_requestedAD_r14_bits[] = {
&hf_lpp_T_requestedAD_r14_ap_identifier,
&hf_lpp_T_requestedAD_r14_ap_location,
NULL
};
static int
dissect_lpp_T_requestedAD_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_requestedAD_r14_bits, 2, NULL, NULL);
return offset;
}
static int
dissect_lpp_OCTET_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6, 6, FALSE, NULL);
return offset;
}
static int
dissect_lpp_T_ssid_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1779 "./asn1/lpp/lpp.cnf"
tvbuff_t *ssid_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
1, 32, FALSE, &ssid_tvb);
actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA);
return offset;
}
static const per_sequence_t WLAN_AP_Identifier_r13_sequence[] = {
{ &hf_lpp_bssid_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_OCTET_STRING_SIZE_6 },
{ &hf_lpp_ssid_r13 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_ssid_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_AP_Identifier_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_AP_Identifier_r13, WLAN_AP_Identifier_r13_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13_sequence_of[1] = {
{ &hf_lpp_visibleAPs_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_AP_Identifier_r13 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13, SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13_sequence_of,
1, maxVisibleAPs_r14, FALSE);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13_sequence_of[1] = {
{ &hf_lpp_wlan_AP_StoredData_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_AP_Identifier_r13 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13, SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13_sequence_of,
1, maxKnownAPs_r14, FALSE);
return offset;
}
static const per_sequence_t WLAN_RequestAssistanceData_r14_sequence[] = {
{ &hf_lpp_requestedAD_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_requestedAD_r14 },
{ &hf_lpp_visibleAPs_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13 },
{ &hf_lpp_wlan_AP_StoredData_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_RequestAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_RequestAssistanceData_r14, WLAN_RequestAssistanceData_r14_sequence);
return offset;
}
static const per_sequence_t RequestAssistanceData_r9_IEs_eag_1_sequence[] = {
{ &hf_lpp_sensor_RequestAssistanceData_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Sensor_RequestAssistanceData_r14 },
{ &hf_lpp_tbs_RequestAssistanceData_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TBS_RequestAssistanceData_r14 },
{ &hf_lpp_wlan_RequestAssistanceData_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_WLAN_RequestAssistanceData_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RequestAssistanceData_r9_IEs_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RequestAssistanceData_r9_IEs_eag_1_sequence);
return offset;
}
static int
dissect_lpp_NR_PhysCellID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1007U, NULL, FALSE);
return offset;
}
static int * const T_nr_AdType_r16_02_bits[] = {
&hf_lpp_T_nr_AdType_r16_02_dl_prs,
&hf_lpp_T_nr_AdType_r16_02_ul_srs,
NULL
};
static int
dissect_lpp_T_nr_AdType_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_nr_AdType_r16_02_bits, 2, NULL, NULL);
return offset;
}
static const per_sequence_t NR_Multi_RTT_RequestAssistanceData_r16_sequence[] = {
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_AdType_r16_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_AdType_r16_02 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_RequestAssistanceData_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_RequestAssistanceData_r16, NR_Multi_RTT_RequestAssistanceData_r16_sequence);
return offset;
}
static int * const T_nr_AdType_r16_01_bits[] = {
&hf_lpp_T_nr_AdType_r16_01_dl_prs,
&hf_lpp_T_nr_AdType_r16_01_posCalc,
NULL
};
static int
dissect_lpp_T_nr_AdType_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_nr_AdType_r16_01_bits, 2, NULL, NULL);
return offset;
}
static const per_sequence_t NR_DL_AoD_RequestAssistanceData_r16_sequence[] = {
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_AdType_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_AdType_r16_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_RequestAssistanceData_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_RequestAssistanceData_r16, NR_DL_AoD_RequestAssistanceData_r16_sequence);
return offset;
}
static int * const T_nr_AdType_r16_bits[] = {
&hf_lpp_T_nr_AdType_r16_dl_prs,
&hf_lpp_T_nr_AdType_r16_posCalc,
NULL
};
static int
dissect_lpp_T_nr_AdType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_nr_AdType_r16_bits, 2, NULL, NULL);
return offset;
}
static const per_sequence_t NR_DL_TDOA_RequestAssistanceData_r16_sequence[] = {
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_AdType_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_AdType_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_RequestAssistanceData_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_RequestAssistanceData_r16, NR_DL_TDOA_RequestAssistanceData_r16_sequence);
return offset;
}
static const per_sequence_t RequestAssistanceData_r9_IEs_eag_2_sequence[] = {
{ &hf_lpp_nr_Multi_RTT_RequestAssistanceData_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_Multi_RTT_RequestAssistanceData_r16 },
{ &hf_lpp_nr_DL_AoD_RequestAssistanceData_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_RequestAssistanceData_r16 },
{ &hf_lpp_nr_DL_TDOA_RequestAssistanceData_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_RequestAssistanceData_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RequestAssistanceData_r9_IEs_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RequestAssistanceData_r9_IEs_eag_2_sequence);
return offset;
}
static const per_sequence_t RequestAssistanceData_r9_IEs_sequence[] = {
{ &hf_lpp_commonIEsRequestAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsRequestAssistanceData },
{ &hf_lpp_a_gnss_RequestAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_RequestAssistanceData },
{ &hf_lpp_otdoa_RequestAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_RequestAssistanceData },
{ &hf_lpp_epdu_RequestAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_RequestAssistanceData_r9_IEs_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_RequestAssistanceData_r9_IEs_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RequestAssistanceData_r9_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_RequestAssistanceData_r9_IEs, RequestAssistanceData_r9_IEs_sequence);
return offset;
}
static const value_string lpp_T_c1_03_vals[] = {
{ 0, "requestAssistanceData-r9" },
{ 1, "spare3" },
{ 2, "spare2" },
{ 3, "spare1" },
{ 0, NULL }
};
static const per_choice_t T_c1_03_choice[] = {
{ 0, &hf_lpp_requestAssistanceData_r9, ASN1_NO_EXTENSIONS , dissect_lpp_RequestAssistanceData_r9_IEs },
{ 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_c1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_c1_03, T_c1_03_choice,
NULL);
return offset;
}
static const per_sequence_t T_criticalExtensionsFuture_02_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensionsFuture_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensionsFuture_02, T_criticalExtensionsFuture_02_sequence);
return offset;
}
static const value_string lpp_T_criticalExtensions_02_vals[] = {
{ 0, "c1" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
static const per_choice_t T_criticalExtensions_02_choice[] = {
{ 0, &hf_lpp_c1_03 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_03 },
{ 1, &hf_lpp_criticalExtensionsFuture_02, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_02 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensions_02, T_criticalExtensions_02_choice,
NULL);
return offset;
}
static const per_sequence_t RequestAssistanceData_sequence[] = {
{ &hf_lpp_criticalExtensions_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions_02 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RequestAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 131 "./asn1/lpp/lpp.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Request Assistance Data");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_RequestAssistanceData, RequestAssistanceData_sequence);
return offset;
}
static const per_sequence_t CommonIEsProvideAssistanceData_eag_1_sequence[] = {
{ &hf_lpp_segmentationInfo_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SegmentationInfo_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsProvideAssistanceData_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CommonIEsProvideAssistanceData_eag_1_sequence);
return offset;
}
static const per_sequence_t CommonIEsProvideAssistanceData_eag_2_sequence[] = {
{ &hf_lpp_periodicAssistanceData_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicAssistanceDataControlParameters_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsProvideAssistanceData_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CommonIEsProvideAssistanceData_eag_2_sequence);
return offset;
}
static const per_sequence_t CommonIEsProvideAssistanceData_sequence[] = {
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsProvideAssistanceData_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsProvideAssistanceData_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsProvideAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CommonIEsProvideAssistanceData, CommonIEsProvideAssistanceData_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 32767U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_86399(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 86399U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_T_notificationOfLeapSecond(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 405 "./asn1/lpp/lpp.cnf"
tvbuff_t *notificationOfLeapSecond_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, NULL, 0, &notificationOfLeapSecond_tvb, NULL);
#line 409 "./asn1/lpp/lpp.cnf"
if (notificationOfLeapSecond_tvb) {
guint bitvalue = tvb_get_bits8(notificationOfLeapSecond_tvb, 0, 2);
actx->created_item = proto_tree_add_uint(tree, hf_index, notificationOfLeapSecond_tvb, 0, 1, bitvalue);
}
return offset;
}
static int
dissect_lpp_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 3U, NULL, FALSE);
return offset;
}
static const per_sequence_t GPS_TOW_AssistElement_sequence[] = {
{ &hf_lpp_satelliteID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_64 },
{ &hf_lpp_tlmWord , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 },
{ &hf_lpp_antiSpoof , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
{ &hf_lpp_alert , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
{ &hf_lpp_tlmRsvdBits , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GPS_TOW_AssistElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GPS_TOW_AssistElement, GPS_TOW_AssistElement_sequence);
return offset;
}
static const per_sequence_t GPS_TOW_Assist_sequence_of[1] = {
{ &hf_lpp_GPS_TOW_Assist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GPS_TOW_AssistElement },
};
static int
dissect_lpp_GPS_TOW_Assist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GPS_TOW_Assist, GPS_TOW_Assist_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_SystemTime_sequence[] = {
{ &hf_lpp_gnss_TimeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
{ &hf_lpp_gnss_DayNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_32767 },
{ &hf_lpp_gnss_TimeOfDay , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_86399 },
{ &hf_lpp_gnss_TimeOfDayFrac_msec, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_999 },
{ &hf_lpp_notificationOfLeapSecond, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_notificationOfLeapSecond },
{ &hf_lpp_gps_TOW_Assist , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GPS_TOW_Assist },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_GNSS_SystemTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SystemTime, GNSS_SystemTime_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 127U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_12533(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 12533U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_3999999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 3999999U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M64_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-64, 63U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_mcc_sequence_of[1] = {
{ &hf_lpp_mcc_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
};
static int
dissect_lpp_T_mcc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_T_mcc, T_mcc_sequence_of,
3, 3, FALSE);
return offset;
}
static const per_sequence_t T_mnc_sequence_of[1] = {
{ &hf_lpp_mnc_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
};
static int
dissect_lpp_T_mnc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_T_mnc, T_mnc_sequence_of,
2, 3, FALSE);
return offset;
}
static const per_sequence_t T_plmn_Identity_sequence[] = {
{ &hf_lpp_mcc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mcc },
{ &hf_lpp_mnc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mnc },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_plmn_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_plmn_Identity, T_plmn_Identity_sequence);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
32, 32, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const value_string lpp_T_cellIdentity_vals[] = {
{ 0, "eutra" },
{ 1, "utra" },
{ 0, NULL }
};
static const per_choice_t T_cellIdentity_choice[] = {
{ 0, &hf_lpp_eutra , ASN1_NO_EXTENSIONS , dissect_lpp_BIT_STRING_SIZE_28 },
{ 1, &hf_lpp_utra , ASN1_NO_EXTENSIONS , dissect_lpp_BIT_STRING_SIZE_32 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_cellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_cellIdentity, T_cellIdentity_choice,
NULL);
return offset;
}
static const per_sequence_t CellGlobalIdEUTRA_AndUTRA_sequence[] = {
{ &hf_lpp_plmn_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_plmn_Identity },
{ &hf_lpp_cellIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cellIdentity },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_CellGlobalIdEUTRA_AndUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CellGlobalIdEUTRA_AndUTRA, CellGlobalIdEUTRA_AndUTRA_sequence);
return offset;
}
int
dissect_lpp_ARFCN_ValueEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, maxEARFCN, NULL, FALSE);
return offset;
}
int
dissect_lpp_ARFCN_ValueEUTRA_v9a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
maxEARFCN_Plus1, maxEARFCN2, NULL, FALSE);
return offset;
}
static const per_sequence_t T_eag_1_01_sequence[] = {
{ &hf_lpp_earfcn_v9a0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_v9a0 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_eag_1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_01_sequence);
return offset;
}
static const per_sequence_t T_eUTRA_sequence[] = {
{ &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalIdEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA },
{ &hf_lpp_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueEUTRA },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_T_eag_1_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_eUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_eUTRA, T_eUTRA_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 511U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_fdd_sequence[] = {
{ &hf_lpp_primary_CPICH_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_fdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_fdd, T_fdd_sequence);
return offset;
}
static const per_sequence_t T_tdd_sequence[] = {
{ &hf_lpp_cellParameters , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_tdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_tdd, T_tdd_sequence);
return offset;
}
static const value_string lpp_T_mode_vals[] = {
{ 0, "fdd" },
{ 1, "tdd" },
{ 0, NULL }
};
static const per_choice_t T_mode_choice[] = {
{ 0, &hf_lpp_fdd , ASN1_NO_EXTENSIONS , dissect_lpp_T_fdd },
{ 1, &hf_lpp_tdd , ASN1_NO_EXTENSIONS , dissect_lpp_T_tdd },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_mode, T_mode_choice,
NULL);
return offset;
}
int
dissect_lpp_ARFCN_ValueUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 16383U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_uTRA_sequence[] = {
{ &hf_lpp_mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_mode },
{ &hf_lpp_cellGlobalIdUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA },
{ &hf_lpp_uarfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueUTRA },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_uTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_uTRA, T_uTRA_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1023U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_mcc_01_sequence_of[1] = {
{ &hf_lpp_mcc_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
};
static int
dissect_lpp_T_mcc_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_T_mcc_01, T_mcc_01_sequence_of,
3, 3, FALSE);
return offset;
}
static const per_sequence_t T_mnc_01_sequence_of[1] = {
{ &hf_lpp_mnc_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
};
static int
dissect_lpp_T_mnc_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_T_mnc_01, T_mnc_01_sequence_of,
2, 3, FALSE);
return offset;
}
static const per_sequence_t T_plmn_Identity_01_sequence[] = {
{ &hf_lpp_mcc_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mcc_01 },
{ &hf_lpp_mnc_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mnc_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_plmn_Identity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_plmn_Identity_01, T_plmn_Identity_01_sequence);
return offset;
}
static const per_sequence_t CellGlobalIdGERAN_sequence[] = {
{ &hf_lpp_plmn_Identity_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_plmn_Identity_01 },
{ &hf_lpp_locationAreaCode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_16 },
{ &hf_lpp_cellGlobalIdGERAN_cellIdentity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_16 },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_CellGlobalIdGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CellGlobalIdGERAN, CellGlobalIdGERAN_sequence);
return offset;
}
static const per_sequence_t T_gSM_sequence[] = {
{ &hf_lpp_bcchCarrier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
{ &hf_lpp_bsic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ &hf_lpp_cellGlobalIdGERAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdGERAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_gSM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_gSM, T_gSM_sequence);
return offset;
}
static int
dissect_lpp_ARFCN_ValueEUTRA_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, maxEARFCN2, NULL, FALSE);
return offset;
}
static const value_string lpp_CarrierFreqOffsetNB_r14_vals[] = {
{ 0, "v-10" },
{ 1, "v-9" },
{ 2, "v-8" },
{ 3, "v-7" },
{ 4, "v-6" },
{ 5, "v-5" },
{ 6, "v-4" },
{ 7, "v-3" },
{ 8, "v-2" },
{ 9, "v-1" },
{ 10, "v-0dot5" },
{ 11, "v0" },
{ 12, "v1" },
{ 13, "v2" },
{ 14, "v3" },
{ 15, "v4" },
{ 16, "v5" },
{ 17, "v6" },
{ 18, "v7" },
{ 19, "v8" },
{ 20, "v9" },
{ 0, NULL }
};
static value_string_ext lpp_CarrierFreqOffsetNB_r14_vals_ext = VALUE_STRING_EXT_INIT(lpp_CarrierFreqOffsetNB_r14_vals);
static int
dissect_lpp_CarrierFreqOffsetNB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
21, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t CarrierFreq_NB_r14_sequence[] = {
{ &hf_lpp_carrierFreq_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueEUTRA_r14 },
{ &hf_lpp_carrierFreqOffset_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CarrierFreqOffsetNB_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CarrierFreq_NB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CarrierFreq_NB_r14, CarrierFreq_NB_r14_sequence);
return offset;
}
static const per_sequence_t T_nBIoT_r14_sequence[] = {
{ &hf_lpp_nbPhysCellId_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_nbCellGlobalId_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
{ &hf_lpp_nbCarrierFreq_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_CarrierFreq_NB_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_nBIoT_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nBIoT_r14, T_nBIoT_r14_sequence);
return offset;
}
static int
dissect_lpp_ARFCN_ValueNR_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 3279165U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_nr_r15_sequence[] = {
{ &hf_lpp_nrPhysCellId_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1007 },
{ &hf_lpp_nrCellGlobalID_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ &hf_lpp_nrARFCN_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueNR_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_nr_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nr_r15, T_nr_r15_sequence);
return offset;
}
static const value_string lpp_T_cellID_vals[] = {
{ 0, "eUTRA" },
{ 1, "uTRA" },
{ 2, "gSM" },
{ 3, "nBIoT-r14" },
{ 4, "nr-r15" },
{ 0, NULL }
};
static const per_choice_t T_cellID_choice[] = {
{ 0, &hf_lpp_eUTRA , ASN1_EXTENSION_ROOT , dissect_lpp_T_eUTRA },
{ 1, &hf_lpp_uTRA , ASN1_EXTENSION_ROOT , dissect_lpp_T_uTRA },
{ 2, &hf_lpp_gSM , ASN1_EXTENSION_ROOT , dissect_lpp_T_gSM },
{ 3, &hf_lpp_nBIoT_r14 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_T_nBIoT_r14 },
{ 4, &hf_lpp_nr_r15 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_T_nr_r15 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_cellID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_cellID, T_cellID_choice,
NULL);
return offset;
}
static const per_sequence_t NetworkTime_sequence[] = {
{ &hf_lpp_secondsFromFrameStructureStart, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_12533 },
{ &hf_lpp_fractionalSecondsFromFrameStructureStart, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3999999 },
{ &hf_lpp_frameDrift , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M64_63 },
{ &hf_lpp_cellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cellID },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_NetworkTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NetworkTime, NetworkTime_sequence);
return offset;
}
static const value_string lpp_T_bsAlign_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_bsAlign(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t GNSS_ReferenceTimeForOneCell_sequence[] = {
{ &hf_lpp_networkTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NetworkTime },
{ &hf_lpp_referenceTimeUnc, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_bsAlign , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_bsAlign },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_ReferenceTimeForOneCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ReferenceTimeForOneCell, GNSS_ReferenceTimeForOneCell_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell_sequence_of[1] = {
{ &hf_lpp_gnss_ReferenceTimeForCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceTimeForOneCell },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell, SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell_sequence_of,
1, 16, FALSE);
return offset;
}
static const per_sequence_t GNSS_ReferenceTime_sequence[] = {
{ &hf_lpp_gnss_SystemTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_referenceTimeUnc, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_gnss_ReferenceTimeForCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_ReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ReferenceTime, GNSS_ReferenceTime_sequence);
return offset;
}
static const value_string lpp_T_latitudeSign_04_vals[] = {
{ 0, "north" },
{ 1, "south" },
{ 0, NULL }
};
static int
dissect_lpp_T_latitudeSign_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 8388607U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M8388608_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-8388608, 8388607U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_altitudeDirection_01_vals[] = {
{ 0, "height" },
{ 1, "depth" },
{ 0, NULL }
};
static int
dissect_lpp_T_altitudeDirection_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_179(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 179U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 100U, NULL, FALSE);
return offset;
}
static const per_sequence_t EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_sequence[] = {
{ &hf_lpp_latitudeSign_04 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign_04 },
{ &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
{ &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_altitudeDirection_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_altitudeDirection_01 },
{ &hf_lpp_altitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_32767 },
{ &hf_lpp_uncertaintySemiMajor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_uncertaintySemiMinor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_orientationMajorAxis, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 },
{ &hf_lpp_uncertaintyAltitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_confidence , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_sequence);
return offset;
}
static const per_sequence_t GNSS_ReferenceLocation_sequence[] = {
{ &hf_lpp_threeDlocation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_ReferenceLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ReferenceLocation, GNSS_ReferenceLocation_sequence);
return offset;
}
static int
dissect_lpp_T_dataID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 424 "./asn1/lpp/lpp.cnf"
tvbuff_t *dataID_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, NULL, 0, &dataID_tvb, NULL);
#line 428 "./asn1/lpp/lpp.cnf"
if (dataID_tvb) {
guint bitvalue = tvb_get_bits8(dataID_tvb, 0, 2);
actx->created_item = proto_tree_add_uint(tree, hf_index, dataID_tvb, 0, 1, bitvalue);
}
return offset;
}
static int
dissect_lpp_INTEGER_M128_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-128, 127U, NULL, FALSE);
return offset;
}
static const per_sequence_t KlobucharModelParameter_sequence[] = {
{ &hf_lpp_dataID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_dataID },
{ &hf_lpp_alfa0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_alfa1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_alfa2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_alfa3 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_beta0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_beta1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_beta2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_beta3 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_KlobucharModelParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_KlobucharModelParameter, KlobucharModelParameter_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 2047U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M1024_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-1024, 1023U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M8192_8191(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-8192, 8191U, NULL, FALSE);
return offset;
}
static const per_sequence_t NeQuickModelParameter_sequence[] = {
{ &hf_lpp_ai0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
{ &hf_lpp_ai1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_ai2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
{ &hf_lpp_ionoStormFlag1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1 },
{ &hf_lpp_ionoStormFlag2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1 },
{ &hf_lpp_ionoStormFlag3 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1 },
{ &hf_lpp_ionoStormFlag4 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1 },
{ &hf_lpp_ionoStormFlag5 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NeQuickModelParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NeQuickModelParameter, NeQuickModelParameter_sequence);
return offset;
}
static const per_sequence_t KlobucharModel2Parameter_r16_sequence[] = {
{ &hf_lpp_alfa1_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
{ &hf_lpp_alfa2_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_alfa3_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_alfa4_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_alfa5_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_alfa6_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_alfa7_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_alfa8_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_alfa9_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_KlobucharModel2Parameter_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_KlobucharModel2Parameter_r16, KlobucharModel2Parameter_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_IonosphericModel_eag_1_sequence[] = {
{ &hf_lpp_klobucharModel2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_KlobucharModel2Parameter_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_IonosphericModel_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_IonosphericModel_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_IonosphericModel_sequence[] = {
{ &hf_lpp_klobucharModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_KlobucharModelParameter },
{ &hf_lpp_neQuickModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NeQuickModelParameter },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_IonosphericModel_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_IonosphericModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_IonosphericModel, GNSS_IonosphericModel_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M1048576_1048575(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-1048576, 1048575U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M16384_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-16384, 16383U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M1073741824_1073741823(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-1073741824, 1073741823U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M262144_262143(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-262144, 262143U, NULL, FALSE);
return offset;
}
static const per_sequence_t GNSS_EarthOrientationParameters_sequence[] = {
{ &hf_lpp_teop , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_pmX , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
{ &hf_lpp_pmXdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
{ &hf_lpp_pmY , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
{ &hf_lpp_pmYdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
{ &hf_lpp_deltaUT1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1073741824_1073741823 },
{ &hf_lpp_deltaUT1dot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M262144_262143 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_EarthOrientationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_EarthOrientationParameters, GNSS_EarthOrientationParameters_sequence);
return offset;
}
static const value_string lpp_T_referenceStationIndicator_r15_vals[] = {
{ 0, "physical" },
{ 1, "non-physical" },
{ 0, NULL }
};
static int
dissect_lpp_T_referenceStationIndicator_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_M137438953472_137438953471(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
G_GINT64_CONSTANT(-137438953472), G_GUINT64_CONSTANT(137438953471), NULL, FALSE);
return offset;
}
static int
dissect_lpp_VisibleString_SIZE_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
1, 256, FALSE);
return offset;
}
static const value_string lpp_T_antennaSetUpID_r15_vals[] = {
{ 0, "non-zero" },
{ 0, NULL }
};
static int
dissect_lpp_T_antennaSetUpID_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t AntennaDescription_r15_sequence[] = {
{ &hf_lpp_antennaDescriptor_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_VisibleString_SIZE_1_256 },
{ &hf_lpp_antennaSetUpID_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_antennaSetUpID_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AntennaDescription_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AntennaDescription_r15, AntennaDescription_r15_sequence);
return offset;
}
static const per_sequence_t AntennaReferencePointUnc_r15_sequence[] = {
{ &hf_lpp_uncertainty_X_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_confidence_X_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ &hf_lpp_uncertainty_Y_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_confidence_Y_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ &hf_lpp_uncertainty_Z_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_confidence_Z_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AntennaReferencePointUnc_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AntennaReferencePointUnc_r15, AntennaReferencePointUnc_r15_sequence);
return offset;
}
static const per_sequence_t PhysicalReferenceStationInfo_r15_sequence[] = {
{ &hf_lpp_physicalReferenceStationID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_physical_ARP_ECEF_X_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M137438953472_137438953471 },
{ &hf_lpp_physical_ARP_ECEF_Y_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M137438953472_137438953471 },
{ &hf_lpp_physical_ARP_ECEF_Z_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M137438953472_137438953471 },
{ &hf_lpp_physical_ARP_unc_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AntennaReferencePointUnc_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_PhysicalReferenceStationInfo_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_PhysicalReferenceStationInfo_r15, PhysicalReferenceStationInfo_r15_sequence);
return offset;
}
static const per_sequence_t ReferenceStationList_r16_sequence_of[1] = {
{ &hf_lpp_ReferenceStationList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceStationID_r15 },
};
static int
dissect_lpp_ReferenceStationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_ReferenceStationList_r16, ReferenceStationList_r16_sequence_of,
1, 16, FALSE);
return offset;
}
static const value_string lpp_EqualIntegerAmbiguityLevel_r16_vals[] = {
{ 0, "allReferenceStations-r16" },
{ 1, "referenceStationList-r16" },
{ 0, NULL }
};
static const per_choice_t EqualIntegerAmbiguityLevel_r16_choice[] = {
{ 0, &hf_lpp_allReferenceStations_r16, ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 1, &hf_lpp_referenceStationList_r16, ASN1_NO_EXTENSIONS , dissect_lpp_ReferenceStationList_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_EqualIntegerAmbiguityLevel_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_EqualIntegerAmbiguityLevel_r16, EqualIntegerAmbiguityLevel_r16_choice,
NULL);
return offset;
}
static const per_sequence_t GNSS_RTK_ReferenceStationInfo_r15_eag_1_sequence[] = {
{ &hf_lpp_equalIntegerAmbiguityLevel_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_EqualIntegerAmbiguityLevel_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_ReferenceStationInfo_r15_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_RTK_ReferenceStationInfo_r15_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_RTK_ReferenceStationInfo_r15_sequence[] = {
{ &hf_lpp_referenceStationID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_referenceStationIndicator_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_referenceStationIndicator_r15 },
{ &hf_lpp_antenna_reference_point_ECEF_X_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M137438953472_137438953471 },
{ &hf_lpp_antenna_reference_point_ECEF_Y_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M137438953472_137438953471 },
{ &hf_lpp_antenna_reference_point_ECEF_Z_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M137438953472_137438953471 },
{ &hf_lpp_antennaHeight_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_antennaDescription_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AntennaDescription_r15 },
{ &hf_lpp_antenna_reference_point_unc_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AntennaReferencePointUnc_r15 },
{ &hf_lpp_physical_reference_station_info_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PhysicalReferenceStationInfo_r15 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_RTK_ReferenceStationInfo_r15_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_ReferenceStationInfo_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_ReferenceStationInfo_r15, GNSS_RTK_ReferenceStationInfo_r15_sequence);
return offset;
}
static int
dissect_lpp_T_smoothingIndicator_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 530 "./asn1/lpp/lpp.cnf"
tvbuff_t *param_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
1, 1, FALSE, NULL, 0, &param_tvb, NULL);
#line 534 "./asn1/lpp/lpp.cnf"
if (param_tvb) {
guint bitvalue = tvb_get_bits8(param_tvb, 0, 1);
actx->created_item = proto_tree_add_uint(tree, hf_index, param_tvb, 0, 1, bitvalue);
}
return offset;
}
static int
dissect_lpp_T_smoothingInterval_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 543 "./asn1/lpp/lpp.cnf"
tvbuff_t *param_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
3, 3, FALSE, NULL, 0, &param_tvb, NULL);
#line 547 "./asn1/lpp/lpp.cnf"
if (param_tvb) {
guint bitvalue = tvb_get_bits8(param_tvb, 0, 3);
actx->created_item = proto_tree_add_uint(tree, hf_index, param_tvb, 0, 1, bitvalue);
}
return offset;
}
static const per_sequence_t GNSS_RTK_CommonObservationInfo_r15_sequence[] = {
{ &hf_lpp_referenceStationID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_clockSteeringIndicator_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
{ &hf_lpp_externalClockIndicator_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
{ &hf_lpp_smoothingIndicator_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_smoothingIndicator_r15 },
{ &hf_lpp_smoothingInterval_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_smoothingInterval_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_CommonObservationInfo_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_CommonObservationInfo_r15, GNSS_RTK_CommonObservationInfo_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_NetworkID_r15_sequence[] = {
{ &hf_lpp_networkID_r15_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_NetworkID_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_NetworkID_r15, GNSS_NetworkID_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_SubNetworkID_r15_sequence[] = {
{ &hf_lpp_subNetworkID_r15_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SubNetworkID_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SubNetworkID_r15, GNSS_SubNetworkID_r15_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M524288_524287(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-524288, 524287U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M4194304_4194303(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-4194304, 4194303U, NULL, FALSE);
return offset;
}
static const per_sequence_t Aux_ARP_Unc_r15_sequence[] = {
{ &hf_lpp_horizontalUncertainty_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_horizontalConfidence_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ &hf_lpp_verticalUncertainty_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_verticalConfidence_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Aux_ARP_Unc_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Aux_ARP_Unc_r15, Aux_ARP_Unc_r15_sequence);
return offset;
}
static const per_sequence_t AuxiliaryStationElement_r15_sequence[] = {
{ &hf_lpp_aux_referenceStationID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_aux_master_delta_latitude_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M524288_524287 },
{ &hf_lpp_aux_master_delta_longitude_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
{ &hf_lpp_aux_master_delta_height_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4194304_4194303 },
{ &hf_lpp_aux_ARP_unc_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Aux_ARP_Unc_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AuxiliaryStationElement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AuxiliaryStationElement_r15, AuxiliaryStationElement_r15_sequence);
return offset;
}
static const per_sequence_t AuxiliaryStationList_r15_sequence_of[1] = {
{ &hf_lpp_AuxiliaryStationList_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_AuxiliaryStationElement_r15 },
};
static int
dissect_lpp_AuxiliaryStationList_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_AuxiliaryStationList_r15, AuxiliaryStationList_r15_sequence_of,
1, 32, FALSE);
return offset;
}
static const per_sequence_t GNSS_RTK_AuxiliaryStationData_r15_sequence[] = {
{ &hf_lpp_networkID_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_NetworkID_r15 },
{ &hf_lpp_subNetworkID_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_SubNetworkID_r15 },
{ &hf_lpp_master_referenceStationID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_auxiliaryStationList_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_AuxiliaryStationList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_AuxiliaryStationData_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_AuxiliaryStationData_r15, GNSS_RTK_AuxiliaryStationData_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_CommonAssistData_eag_1_sequence[] = {
{ &hf_lpp_gnss_RTK_ReferenceStationInfo_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_ReferenceStationInfo_r15 },
{ &hf_lpp_gnss_RTK_CommonObservationInfo_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_CommonObservationInfo_r15 },
{ &hf_lpp_gnss_RTK_AuxiliaryStationData_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_AuxiliaryStationData_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_CommonAssistData_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_CommonAssistData_eag_1_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M32768_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-32768, 32767U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M512_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-512, 511U, NULL, FALSE);
return offset;
}
static const per_sequence_t RelativeLocationElement_r16_sequence[] = {
{ &hf_lpp_deltaLatitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
{ &hf_lpp_deltaLongitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RelativeLocationElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_RelativeLocationElement_r16, RelativeLocationElement_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_0_63_OF_RelativeLocationElement_r16_sequence_of[1] = {
{ &hf_lpp_relativeLocationsList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_RelativeLocationElement_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_0_63_OF_RelativeLocationElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_0_63_OF_RelativeLocationElement_r16, SEQUENCE_SIZE_0_63_OF_RelativeLocationElement_r16_sequence_of,
0, 63, FALSE);
return offset;
}
static const per_sequence_t GNSS_SSR_ListOfCorrectionPoints_r16_sequence[] = {
{ &hf_lpp_referencePointLatitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
{ &hf_lpp_referencePointLongitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_relativeLocationsList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_0_63_OF_RelativeLocationElement_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_ListOfCorrectionPoints_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_ListOfCorrectionPoints_r16, GNSS_SSR_ListOfCorrectionPoints_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_1_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 511U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_1_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 1023U, NULL, FALSE);
return offset;
}
static const per_sequence_t GNSS_SSR_ArrayOfCorrectionPoints_r16_sequence[] = {
{ &hf_lpp_referencePointLatitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
{ &hf_lpp_referencePointLongitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_numberOfStepsLatitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ &hf_lpp_numberOfStepsLongitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ &hf_lpp_stepOfLatitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_511 },
{ &hf_lpp_stepOfLongitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_1023 },
{ &hf_lpp_bitmaskOfGrids_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_64 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_ArrayOfCorrectionPoints_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_ArrayOfCorrectionPoints_r16, GNSS_SSR_ArrayOfCorrectionPoints_r16_sequence);
return offset;
}
static const value_string lpp_T_correctionPoints_r16_vals[] = {
{ 0, "listOfCorrectionPoints-r16" },
{ 1, "arrayOfCorrectionPoints-r16" },
{ 0, NULL }
};
static const per_choice_t T_correctionPoints_r16_choice[] = {
{ 0, &hf_lpp_listOfCorrectionPoints_r16, ASN1_NO_EXTENSIONS , dissect_lpp_GNSS_SSR_ListOfCorrectionPoints_r16 },
{ 1, &hf_lpp_arrayOfCorrectionPoints_r16, ASN1_NO_EXTENSIONS , dissect_lpp_GNSS_SSR_ArrayOfCorrectionPoints_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_correctionPoints_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_correctionPoints_r16, T_correctionPoints_r16_choice,
NULL);
return offset;
}
static const per_sequence_t GNSS_SSR_CorrectionPoints_r16_sequence[] = {
{ &hf_lpp_correctionPointSetID_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 },
{ &hf_lpp_correctionPoints_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_correctionPoints_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_CorrectionPoints_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_CorrectionPoints_r16, GNSS_SSR_CorrectionPoints_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_CommonAssistData_eag_2_sequence[] = {
{ &hf_lpp_gnss_SSR_CorrectionPoints_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_CorrectionPoints_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_CommonAssistData_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_CommonAssistData_eag_2_sequence);
return offset;
}
static const per_sequence_t GNSS_CommonAssistData_sequence[] = {
{ &hf_lpp_gnss_ReferenceTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceTime },
{ &hf_lpp_gnss_ReferenceLocation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceLocation },
{ &hf_lpp_gnss_IonosphericModel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_IonosphericModel },
{ &hf_lpp_gnss_EarthOrientationParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_EarthOrientationParameters },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistData_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistData_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_CommonAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_CommonAssistData, GNSS_CommonAssistData_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M67108864_67108863(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-67108864, 67108863U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M4096_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-4096, 4095U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_8191(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 8191U, NULL, FALSE);
return offset;
}
static const per_sequence_t GNSS_TimeModelElement_sequence[] = {
{ &hf_lpp_gnss_TimeModelRefTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_tA0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M67108864_67108863 },
{ &hf_lpp_tA1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
{ &hf_lpp_tA2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M64_63 },
{ &hf_lpp_gnss_TO_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_15 },
{ &hf_lpp_weekNumber , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_8191 },
{ &hf_lpp_deltaT , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M128_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_TimeModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_TimeModelElement, GNSS_TimeModelElement_sequence);
return offset;
}
static const per_sequence_t GNSS_TimeModelList_sequence_of[1] = {
{ &hf_lpp_GNSS_TimeModelList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_TimeModelElement },
};
static int
dissect_lpp_GNSS_TimeModelList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_TimeModelList, GNSS_TimeModelList_sequence_of,
1, 15, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M2047_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-2047, 2047U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M127_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-127, 127U, NULL, FALSE);
return offset;
}
static const per_sequence_t DGNSS_CorrectionsElement_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_iod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_11 },
{ &hf_lpp_udre , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
{ &hf_lpp_pseudoRangeCor , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2047_2047 },
{ &hf_lpp_rangeRateCor , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M127_127 },
{ &hf_lpp_udreGrowthRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_7 },
{ &hf_lpp_udreValidityTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_7 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DGNSS_CorrectionsElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DGNSS_CorrectionsElement, DGNSS_CorrectionsElement_sequence);
return offset;
}
static const per_sequence_t DGNSS_SatList_sequence_of[1] = {
{ &hf_lpp_DGNSS_SatList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DGNSS_CorrectionsElement },
};
static int
dissect_lpp_DGNSS_SatList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_DGNSS_SatList, DGNSS_SatList_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t DGNSS_SgnTypeElement_sequence[] = {
{ &hf_lpp_gnss_SignalID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
{ &hf_lpp_gnss_StatusHealth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_7 },
{ &hf_lpp_dgnss_SatList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_DGNSS_SatList },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DGNSS_SgnTypeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DGNSS_SgnTypeElement, DGNSS_SgnTypeElement_sequence);
return offset;
}
static const per_sequence_t DGNSS_SgnTypeList_sequence_of[1] = {
{ &hf_lpp_DGNSS_SgnTypeList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DGNSS_SgnTypeElement },
};
static int
dissect_lpp_DGNSS_SgnTypeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_DGNSS_SgnTypeList, DGNSS_SgnTypeList_sequence_of,
1, 3, FALSE);
return offset;
}
static const per_sequence_t GNSS_DifferentialCorrections_sequence[] = {
{ &hf_lpp_dgnss_RefTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3599 },
{ &hf_lpp_dgnss_SgnTypeList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_DGNSS_SgnTypeList },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_DifferentialCorrections(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_DifferentialCorrections, GNSS_DifferentialCorrections_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M32_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-32, 31U, NULL, FALSE);
return offset;
}
static const per_sequence_t StandardClockModelElement_sequence[] = {
{ &hf_lpp_stanClockToc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 },
{ &hf_lpp_stanClockAF2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32_31 },
{ &hf_lpp_stanClockAF1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
{ &hf_lpp_stanClockAF0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1073741824_1073741823 },
{ &hf_lpp_stanClockTgd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M512_511 },
{ &hf_lpp_sisa , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_stanModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_StandardClockModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_StandardClockModelElement, StandardClockModelElement_sequence);
return offset;
}
static const per_sequence_t StandardClockModelList_sequence_of[1] = {
{ &hf_lpp_StandardClockModelList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_StandardClockModelElement },
};
static int
dissect_lpp_StandardClockModelList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_StandardClockModelList, StandardClockModelList_sequence_of,
1, 2, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_37799(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 37799U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M2097152_2097151(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-2097152, 2097151U, NULL, FALSE);
return offset;
}
static const per_sequence_t NAV_ClockModel_sequence[] = {
{ &hf_lpp_navToc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_37799 },
{ &hf_lpp_navaf2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_navaf1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navaf0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2097152_2097151 },
{ &hf_lpp_navTgd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NAV_ClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NAV_ClockModel, NAV_ClockModel_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_2015(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 2015U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M16_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-16, 15U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M33554432_33554431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-33554432, 33554431U, NULL, FALSE);
return offset;
}
static const per_sequence_t CNAV_ClockModel_sequence[] = {
{ &hf_lpp_cnavToc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2015 },
{ &hf_lpp_cnavTop , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2015 },
{ &hf_lpp_cnavURA0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16_15 },
{ &hf_lpp_cnavURA1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_7 },
{ &hf_lpp_cnavURA2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_7 },
{ &hf_lpp_cnavAf2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
{ &hf_lpp_cnavAf1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M524288_524287 },
{ &hf_lpp_cnavAf0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M33554432_33554431 },
{ &hf_lpp_cnavTgd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4096_4095 },
{ &hf_lpp_cnavISCl1cp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
{ &hf_lpp_cnavISCl1cd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
{ &hf_lpp_cnavISCl1ca , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
{ &hf_lpp_cnavISCl2c , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
{ &hf_lpp_cnavISCl5i5 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
{ &hf_lpp_cnavISCl5q5 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CNAV_ClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CNAV_ClockModel, CNAV_ClockModel_sequence);
return offset;
}
static const per_sequence_t GLONASS_ClockModel_sequence[] = {
{ &hf_lpp_gloTau , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2097152_2097151 },
{ &hf_lpp_gloGamma , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_gloDeltaTau , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M16_15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GLONASS_ClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GLONASS_ClockModel, GLONASS_ClockModel_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_5399(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 5399U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M2048_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-2048, 2047U, NULL, FALSE);
return offset;
}
static const per_sequence_t SBAS_ClockModel_sequence[] = {
{ &hf_lpp_sbasTo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_5399 },
{ &hf_lpp_sbasAgfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2048_2047 },
{ &hf_lpp_sbasAgf1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SBAS_ClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SBAS_ClockModel, SBAS_ClockModel_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 31U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_131071(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 131071U, NULL, FALSE);
return offset;
}
static const per_sequence_t BDS_ClockModel_r12_sequence[] = {
{ &hf_lpp_bdsAODC_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_31 },
{ &hf_lpp_bdsToc_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_131071 },
{ &hf_lpp_bdsA0_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_bdsA1_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2097152_2097151 },
{ &hf_lpp_bdsA2_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_bdsTgd1_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BDS_ClockModel_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BDS_ClockModel_r12, BDS_ClockModel_r12_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M16777216_16777215(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-16777216, 16777215U, NULL, FALSE);
return offset;
}
static const per_sequence_t BDS_ClockModel2_r16_sequence[] = {
{ &hf_lpp_bdsToc_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
{ &hf_lpp_bdsA0_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16777216_16777215 },
{ &hf_lpp_bdsA1_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2097152_2097151 },
{ &hf_lpp_bdsA2_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_bdsTgdB1Cp_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2048_2047 },
{ &hf_lpp_bdsIscB1Cd_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2048_2047 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BDS_ClockModel2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BDS_ClockModel2_r16, BDS_ClockModel2_r16_sequence);
return offset;
}
static const per_sequence_t NavIC_ClockModel_r16_sequence[] = {
{ &hf_lpp_navic_Toc_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_navic_af2_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_navic_af1_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navic_af0_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2097152_2097151 },
{ &hf_lpp_navic_Tgd_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavIC_ClockModel_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavIC_ClockModel_r16, NavIC_ClockModel_r16_sequence);
return offset;
}
static const value_string lpp_GNSS_ClockModel_vals[] = {
{ 0, "standardClockModelList" },
{ 1, "nav-ClockModel" },
{ 2, "cnav-ClockModel" },
{ 3, "glonass-ClockModel" },
{ 4, "sbas-ClockModel" },
{ 5, "bds-ClockModel-r12" },
{ 6, "bds-ClockModel2-r16" },
{ 7, "navic-ClockModel-r16" },
{ 0, NULL }
};
static const per_choice_t GNSS_ClockModel_choice[] = {
{ 0, &hf_lpp_standardClockModelList, ASN1_EXTENSION_ROOT , dissect_lpp_StandardClockModelList },
{ 1, &hf_lpp_nav_ClockModel , ASN1_EXTENSION_ROOT , dissect_lpp_NAV_ClockModel },
{ 2, &hf_lpp_cnav_ClockModel , ASN1_EXTENSION_ROOT , dissect_lpp_CNAV_ClockModel },
{ 3, &hf_lpp_glonass_ClockModel, ASN1_EXTENSION_ROOT , dissect_lpp_GLONASS_ClockModel },
{ 4, &hf_lpp_sbas_ClockModel , ASN1_EXTENSION_ROOT , dissect_lpp_SBAS_ClockModel },
{ 5, &hf_lpp_bds_ClockModel_r12, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BDS_ClockModel_r12 },
{ 6, &hf_lpp_bds_ClockModel2_r16, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BDS_ClockModel2_r16 },
{ 7, &hf_lpp_navic_ClockModel_r16, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_NavIC_ClockModel_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_GNSS_ClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ClockModel, GNSS_ClockModel_choice,
NULL);
return offset;
}
static int
dissect_lpp_INTEGER_M2147483648_2147483647(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
G_MININT32, 2147483647U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4294967295U, NULL, FALSE);
return offset;
}
static const per_sequence_t NavModelKeplerianSet_sequence[] = {
{ &hf_lpp_keplerToe , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 },
{ &hf_lpp_keplerW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_keplerDeltaN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_keplerM0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_keplerOmegaDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_keplerE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4294967295 },
{ &hf_lpp_keplerIDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
{ &hf_lpp_keplerAPowerHalf, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4294967295 },
{ &hf_lpp_keplerI0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_keplerOmega0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_keplerCrs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_keplerCis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_keplerCus , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_keplerCrc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_keplerCic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_keplerCuc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavModelKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavModelKeplerianSet, NavModelKeplerianSet_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_16777215(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 16777215U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_ephemSF1Rsvd_sequence[] = {
{ &hf_lpp_reserved1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
{ &hf_lpp_reserved2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16777215 },
{ &hf_lpp_reserved3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16777215 },
{ &hf_lpp_reserved4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_ephemSF1Rsvd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_ephemSF1Rsvd, T_ephemSF1Rsvd_sequence);
return offset;
}
static const per_sequence_t T_addNAVparam_sequence[] = {
{ &hf_lpp_ephemCodeOnL2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
{ &hf_lpp_ephemL2Pflag , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
{ &hf_lpp_ephemSF1Rsvd , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_ephemSF1Rsvd },
{ &hf_lpp_ephemAODA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_31 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_addNAVparam(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_addNAVparam, T_addNAVparam_sequence);
return offset;
}
static const per_sequence_t NavModelNAV_KeplerianSet_sequence[] = {
{ &hf_lpp_navURA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_navFitFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
{ &hf_lpp_navToe , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_37799 },
{ &hf_lpp_navOmega , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_navDeltaN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navM0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_navOmegaADot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_navE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4294967295 },
{ &hf_lpp_navIDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
{ &hf_lpp_navAPowerHalf , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4294967295 },
{ &hf_lpp_navI0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_navOmegaA0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_navCrs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navCis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navCus , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navCrc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navCic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navCuc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_addNAVparam , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_addNAVparam },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavModelNAV_KeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavModelNAV_KeplerianSet, NavModelNAV_KeplerianSet_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M65536_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-65536, 65535U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_T_cnavMo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 838 "./asn1/lpp/lpp.cnf"
gint64 cnavMo;
int curr_offset = offset;
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
G_GINT64_CONSTANT(-4294967296), 4294967295U, &cnavMo, FALSE);
#line 843 "./asn1/lpp/lpp.cnf"
proto_item_set_hidden(actx->created_item);
actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
cnavMo, "%g semi-circles (%"G_GINT64_MODIFIER"d)",
(double)cnavMo*pow(2, -32), cnavMo);
return offset;
}
static int
dissect_lpp_T_cnavE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 849 "./asn1/lpp/lpp.cnf"
guint64 cnavE;
int curr_offset = offset;
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
0U, G_GUINT64_CONSTANT(8589934591), &cnavE, FALSE);
#line 854 "./asn1/lpp/lpp.cnf"
proto_item_set_hidden(actx->created_item);
actx->created_item = proto_tree_add_uint64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
cnavE, "%g (%"G_GINT64_MODIFIER"u)",
(double)cnavE*pow(2, -34), cnavE);
return offset;
}
static int
dissect_lpp_T_cnavOmega(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 860 "./asn1/lpp/lpp.cnf"
gint64 cnavOmega;
int curr_offset = offset;
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
G_GINT64_CONSTANT(-4294967296), 4294967295U, &cnavOmega, FALSE);
#line 865 "./asn1/lpp/lpp.cnf"
proto_item_set_hidden(actx->created_item);
actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
cnavOmega, "%g semi-circles (%"G_GINT64_MODIFIER"d)",
(double)cnavOmega*pow(2, -32), cnavOmega);
return offset;
}
static int
dissect_lpp_T_cnavOMEGA0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 871 "./asn1/lpp/lpp.cnf"
gint64 cnavOMEGA0;
int curr_offset = offset;
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
G_GINT64_CONSTANT(-4294967296), 4294967295U, &cnavOMEGA0, FALSE);
#line 876 "./asn1/lpp/lpp.cnf"
proto_item_set_hidden(actx->created_item);
actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
cnavOMEGA0, "%g semi-circles (%"G_GINT64_MODIFIER"d)",
(double)cnavOMEGA0*pow(2, -32), cnavOMEGA0);
return offset;
}
static int
dissect_lpp_T_cnavIo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 885 "./asn1/lpp/lpp.cnf"
gint64 cnavIo;
int curr_offset = offset;
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
G_GINT64_CONSTANT(-4294967296), 4294967295U, &cnavIo, FALSE);
#line 890 "./asn1/lpp/lpp.cnf"
proto_item_set_hidden(actx->created_item);
actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
cnavIo, "%g semi-circles (%"G_GINT64_MODIFIER"d)",
(double)cnavIo*pow(2, -32), cnavIo);
return offset;
}
static const per_sequence_t NavModelCNAV_KeplerianSet_sequence[] = {
{ &hf_lpp_cnavTop , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2015 },
{ &hf_lpp_cnavURAindex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16_15 },
{ &hf_lpp_cnavDeltaA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M33554432_33554431 },
{ &hf_lpp_cnavAdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16777216_16777215 },
{ &hf_lpp_cnavDeltaNo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
{ &hf_lpp_cnavDeltaNoDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4194304_4194303 },
{ &hf_lpp_cnavMo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cnavMo },
{ &hf_lpp_cnavE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cnavE },
{ &hf_lpp_cnavOmega , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cnavOmega },
{ &hf_lpp_cnavOMEGA0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cnavOMEGA0 },
{ &hf_lpp_cnavDeltaOmegaDot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
{ &hf_lpp_cnavIo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cnavIo },
{ &hf_lpp_cnavIoDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
{ &hf_lpp_cnavCis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_cnavCic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_cnavCrs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_cnavCrc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_cnavCus , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
{ &hf_lpp_cnavCuc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavModelCNAV_KeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavModelCNAV_KeplerianSet, NavModelCNAV_KeplerianSet_sequence);
return offset;
}
static int
dissect_lpp_T_gloP1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 920 "./asn1/lpp/lpp.cnf"
tvbuff_t *gloP1_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, NULL, 0, &gloP1_tvb, NULL);
#line 924 "./asn1/lpp/lpp.cnf"
if (gloP1_tvb) {
guint bitvalue = tvb_get_bits8(gloP1_tvb, 0, 2);
actx->created_item = proto_tree_add_uint(tree, hf_index, gloP1_tvb, 0, 1, bitvalue);
}
return offset;
}
static const per_sequence_t NavModel_GLONASS_ECEF_sequence[] = {
{ &hf_lpp_gloEn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_31 },
{ &hf_lpp_gloP1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_gloP1 },
{ &hf_lpp_gloP2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_gloM , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
{ &hf_lpp_gloX , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M67108864_67108863 },
{ &hf_lpp_gloXdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_gloXdotdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16_15 },
{ &hf_lpp_gloY , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M67108864_67108863 },
{ &hf_lpp_gloYdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_gloYdotdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16_15 },
{ &hf_lpp_gloZ , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M67108864_67108863 },
{ &hf_lpp_gloZdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_gloZdotdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16_15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavModel_GLONASS_ECEF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavModel_GLONASS_ECEF, NavModel_GLONASS_ECEF_sequence);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_M536870912_536870911(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-536870912, 536870911U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M131072_131071(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-131072, 131071U, NULL, FALSE);
return offset;
}
static const per_sequence_t NavModel_SBAS_ECEF_sequence[] = {
{ &hf_lpp_sbasTo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_5399 },
{ &hf_lpp_sbasAccuracy , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_4 },
{ &hf_lpp_sbasXg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M536870912_536870911 },
{ &hf_lpp_sbasYg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M536870912_536870911 },
{ &hf_lpp_sbasZg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16777216_16777215 },
{ &hf_lpp_sbasXgDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
{ &hf_lpp_sbasYgDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
{ &hf_lpp_sbasZgDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M131072_131071 },
{ &hf_lpp_sbasXgDotDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
{ &hf_lpp_sbagYgDotDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
{ &hf_lpp_sbasZgDotDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavModel_SBAS_ECEF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavModel_SBAS_ECEF, NavModel_SBAS_ECEF_sequence);
return offset;
}
static const per_sequence_t NavModel_BDS_KeplerianSet_r12_sequence[] = {
{ &hf_lpp_bdsAODE_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_31 },
{ &hf_lpp_bdsURAI_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_bdsToe_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_131071 },
{ &hf_lpp_bdsAPowerHalf_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4294967295 },
{ &hf_lpp_bdsE_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4294967295 },
{ &hf_lpp_bdsW_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_bdsDeltaN_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_bdsM0_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_bdsOmega0_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_bdsOmegaDot_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_bdsI0_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_bdsIDot_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
{ &hf_lpp_bdsCuc_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M131072_131071 },
{ &hf_lpp_bdsCus_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M131072_131071 },
{ &hf_lpp_bdsCrc_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M131072_131071 },
{ &hf_lpp_bdsCrs_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M131072_131071 },
{ &hf_lpp_bdsCic_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M131072_131071 },
{ &hf_lpp_bdsCis_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M131072_131071 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavModel_BDS_KeplerianSet_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavModel_BDS_KeplerianSet_r12, NavModel_BDS_KeplerianSet_r12_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M16777216_16777216(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-16777216, 16777216U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M4294967296_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
G_GINT64_CONSTANT(-4294967296), 4294967295U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_8589934591(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
0U, G_GUINT64_CONSTANT(8589934591), NULL, FALSE);
return offset;
}
static const per_sequence_t NavModel_BDS_KeplerianSet2_r16_sequence[] = {
{ &hf_lpp_bdsIODE_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_bdsToe_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
{ &hf_lpp_bdsDeltaA_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M33554432_33554431 },
{ &hf_lpp_bdsAdot_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16777216_16777216 },
{ &hf_lpp_bdsDeltaN0_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
{ &hf_lpp_bdsDeltaN0dot_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4194304_4194303 },
{ &hf_lpp_bdsM0_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4294967296_4294967295 },
{ &hf_lpp_bdsE_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8589934591 },
{ &hf_lpp_bdsOmega_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4294967296_4294967295 },
{ &hf_lpp_bdsOmega0_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4294967296_4294967295 },
{ &hf_lpp_bdsI0_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4294967296_4294967295 },
{ &hf_lpp_bdsOmegaDot_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M262144_262143 },
{ &hf_lpp_bdsI0Dot_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
{ &hf_lpp_bdsCuc_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
{ &hf_lpp_bdsCus_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
{ &hf_lpp_bdsCrc_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_bdsCrs_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_bdsCic_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_bdsCis_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavModel_BDS_KeplerianSet2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavModel_BDS_KeplerianSet2_r16, NavModel_BDS_KeplerianSet2_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_65536(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65536U, NULL, FALSE);
return offset;
}
static const per_sequence_t NavModel_NavIC_KeplerianSet_r16_sequence[] = {
{ &hf_lpp_navic_Toe_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65536 },
{ &hf_lpp_navic_URAI_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_navic_W_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_navic_DeltaN_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2097152_2097151 },
{ &hf_lpp_navic_M0_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_navic_OmegaDot_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_navic_E_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4294967295 },
{ &hf_lpp_navic_IDot_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
{ &hf_lpp_navic_APowerHalf_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4294967295 },
{ &hf_lpp_navic_I0_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_navic_Omega0_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_navic_Crs_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navic_Cis_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navic_Cus_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navic_Crc_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navic_Cic_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navic_Cuc_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavModel_NavIC_KeplerianSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavModel_NavIC_KeplerianSet_r16, NavModel_NavIC_KeplerianSet_r16_sequence);
return offset;
}
static const value_string lpp_GNSS_OrbitModel_vals[] = {
{ 0, "keplerianSet" },
{ 1, "nav-KeplerianSet" },
{ 2, "cnav-KeplerianSet" },
{ 3, "glonass-ECEF" },
{ 4, "sbas-ECEF" },
{ 5, "bds-KeplerianSet-r12" },
{ 6, "bds-KeplerianSet2-r16" },
{ 7, "navic-KeplerianSet-r16" },
{ 0, NULL }
};
static const per_choice_t GNSS_OrbitModel_choice[] = {
{ 0, &hf_lpp_keplerianSet , ASN1_EXTENSION_ROOT , dissect_lpp_NavModelKeplerianSet },
{ 1, &hf_lpp_nav_KeplerianSet, ASN1_EXTENSION_ROOT , dissect_lpp_NavModelNAV_KeplerianSet },
{ 2, &hf_lpp_cnav_KeplerianSet, ASN1_EXTENSION_ROOT , dissect_lpp_NavModelCNAV_KeplerianSet },
{ 3, &hf_lpp_glonass_ECEF , ASN1_EXTENSION_ROOT , dissect_lpp_NavModel_GLONASS_ECEF },
{ 4, &hf_lpp_sbas_ECEF , ASN1_EXTENSION_ROOT , dissect_lpp_NavModel_SBAS_ECEF },
{ 5, &hf_lpp_bds_KeplerianSet_r12, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_NavModel_BDS_KeplerianSet_r12 },
{ 6, &hf_lpp_bds_KeplerianSet2_r16, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_NavModel_BDS_KeplerianSet2_r16 },
{ 7, &hf_lpp_navic_KeplerianSet_r16, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_NavModel_NavIC_KeplerianSet_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_GNSS_OrbitModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_OrbitModel, GNSS_OrbitModel_choice,
NULL);
return offset;
}
static int
dissect_lpp_T_svHealthExt_v1240(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 607 "./asn1/lpp/lpp.cnf"
tvbuff_t *svHealthExt_tvb = NULL;
proto_tree *subtree;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, NULL, 0, &svHealthExt_tvb, NULL);
#line 612 "./asn1/lpp/lpp.cnf"
if (svHealthExt_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_lpp_svHealthExt_v1240);
proto_tree_add_bits_item(subtree, hf_lpp_svHealthExt_v1240_e5bhs, svHealthExt_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lpp_svHealthExt_v1240_e1_bhs, svHealthExt_tvb, 2, 2, ENC_BIG_ENDIAN);
}
return offset;
}
static const per_sequence_t GNSS_NavModelSatelliteElement_eag_1_sequence[] = {
{ &hf_lpp_svHealthExt_v1240, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_svHealthExt_v1240 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_NavModelSatelliteElement_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_NavModelSatelliteElement_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_NavModelSatelliteElement_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_svHealth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_8 },
{ &hf_lpp_iod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_11 },
{ &hf_lpp_gnss_ClockModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ClockModel },
{ &hf_lpp_gnss_OrbitModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_OrbitModel },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_NavModelSatelliteElement_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_NavModelSatelliteElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_NavModelSatelliteElement, GNSS_NavModelSatelliteElement_sequence);
return offset;
}
static const per_sequence_t GNSS_NavModelSatelliteList_sequence_of[1] = {
{ &hf_lpp_GNSS_NavModelSatelliteList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_NavModelSatelliteElement },
};
static int
dissect_lpp_GNSS_NavModelSatelliteList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_NavModelSatelliteList, GNSS_NavModelSatelliteList_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_NavigationModel_sequence[] = {
{ &hf_lpp_nonBroadcastIndFlag, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
{ &hf_lpp_gnss_SatelliteList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_NavModelSatelliteList },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_NavigationModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_NavigationModel, GNSS_NavigationModel_sequence);
return offset;
}
static const per_sequence_t BadSignalElement_sequence[] = {
{ &hf_lpp_badSVID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_badSignalID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_SignalIDs },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BadSignalElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BadSignalElement, BadSignalElement_sequence);
return offset;
}
static const per_sequence_t GNSS_BadSignalList_sequence_of[1] = {
{ &hf_lpp_GNSS_BadSignalList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BadSignalElement },
};
static int
dissect_lpp_GNSS_BadSignalList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_BadSignalList, GNSS_BadSignalList_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_RealTimeIntegrity_sequence[] = {
{ &hf_lpp_gnss_BadSignalList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_BadSignalList },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RealTimeIntegrity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RealTimeIntegrity, GNSS_RealTimeIntegrity_sequence);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_1_1024(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 1024, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t GNSS_DataBitsSgnElement_sequence[] = {
{ &hf_lpp_gnss_SignalType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
{ &hf_lpp_gnss_DataBits , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_1_1024 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_DataBitsSgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_DataBitsSgnElement, GNSS_DataBitsSgnElement_sequence);
return offset;
}
static const per_sequence_t GNSS_DataBitsSgnList_sequence_of[1] = {
{ &hf_lpp_GNSS_DataBitsSgnList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_DataBitsSgnElement },
};
static int
dissect_lpp_GNSS_DataBitsSgnList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_DataBitsSgnList, GNSS_DataBitsSgnList_sequence_of,
1, 8, FALSE);
return offset;
}
static const per_sequence_t GNSS_DataBitsSatElement_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_gnss_DataBitsSgnList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_DataBitsSgnList },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_DataBitsSatElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_DataBitsSatElement, GNSS_DataBitsSatElement_sequence);
return offset;
}
static const per_sequence_t GNSS_DataBitsSatList_sequence_of[1] = {
{ &hf_lpp_GNSS_DataBitsSatList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_DataBitsSatElement },
};
static int
dissect_lpp_GNSS_DataBitsSatList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_DataBitsSatList, GNSS_DataBitsSatList_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_DataBitAssistance_sequence[] = {
{ &hf_lpp_gnss_TOD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3599 },
{ &hf_lpp_gnss_TODfrac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_999 },
{ &hf_lpp_gnss_DataBitsSatList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_DataBitsSatList },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_DataBitAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_DataBitAssistance, GNSS_DataBitAssistance_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_1022(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1022U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_dopplerUncertaintyExt_r10_vals[] = {
{ 0, "d60" },
{ 1, "d80" },
{ 2, "d100" },
{ 3, "d120" },
{ 4, "noInformation" },
{ 0, NULL }
};
static int
dissect_lpp_T_dopplerUncertaintyExt_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t GNSS_AcquisitionAssistElement_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_doppler0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2048_2047 },
{ &hf_lpp_doppler1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ &hf_lpp_dopplerUncertainty, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4 },
{ &hf_lpp_codePhase , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1022 },
{ &hf_lpp_intCodePhase , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_codePhaseSearchWindow, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_31 },
{ &hf_lpp_azimuth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_elevation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_codePhase1023 , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ &hf_lpp_dopplerUncertaintyExt_r10, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_dopplerUncertaintyExt_r10 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_AcquisitionAssistElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_AcquisitionAssistElement, GNSS_AcquisitionAssistElement_sequence);
return offset;
}
static const per_sequence_t GNSS_AcquisitionAssistList_sequence_of[1] = {
{ &hf_lpp_GNSS_AcquisitionAssistList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_AcquisitionAssistElement },
};
static int
dissect_lpp_GNSS_AcquisitionAssistList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_AcquisitionAssistList, GNSS_AcquisitionAssistList_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_AcquisitionAssistance_sequence[] = {
{ &hf_lpp_gnss_SignalID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
{ &hf_lpp_gnss_AcquisitionAssistList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_AcquisitionAssistList },
{ &hf_lpp_confidence_r10 , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_AcquisitionAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_AcquisitionAssistance, GNSS_AcquisitionAssistance_sequence);
return offset;
}
static int
dissect_lpp_T_toa(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1077 "./asn1/lpp/lpp.cnf"
guint32 toa, val;
int len, old_offset = offset;
T_GNSS_ID_enum gnss_id = (T_GNSS_ID_enum)GPOINTER_TO_UINT(actx->private_data);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, &toa, FALSE);
#line 1083 "./asn1/lpp/lpp.cnf"
len = (offset-old_offset) >> 3 ? (offset-old_offset) >> 3 : 1;
val = (gnss_id == T_GNSS_ID_GALILEO) ? 600*toa : 4096*toa;
actx->created_item = proto_tree_add_uint_format_value(tree, hf_lpp_toa, tvb, old_offset, len,
toa, "%u s (%u)", val, toa);
return offset;
}
static int
dissect_lpp_T_kepSV_StatusINAV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1110 "./asn1/lpp/lpp.cnf"
tvbuff_t *statusINAV_tvb = NULL;
proto_tree *subtree;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, NULL, 0, &statusINAV_tvb, NULL);
#line 1115 "./asn1/lpp/lpp.cnf"
if (statusINAV_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_kepSV_StatusINAV);
proto_tree_add_bits_item(subtree, hf_lpp_kepSV_StatusINAV_e5bhs, statusINAV_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lpp_kepSV_StatusINAV_e1_bhs, statusINAV_tvb, 2, 2, ENC_BIG_ENDIAN);
}
return offset;
}
static int
dissect_lpp_T_kepSV_StatusFNAV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1122 "./asn1/lpp/lpp.cnf"
tvbuff_t *statusFNAV_tvb = NULL;
proto_tree *subtree;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2, 2, FALSE, NULL, 0, &statusFNAV_tvb, NULL);
#line 1127 "./asn1/lpp/lpp.cnf"
if (statusFNAV_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_kepSV_StatusFNAV);
proto_tree_add_bits_item(subtree, hf_lpp_kepSV_StatusFNAV_e5ahs, statusFNAV_tvb, 0, 2, ENC_BIG_ENDIAN);
}
return offset;
}
static const per_sequence_t AlmanacKeplerianSet_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_kepAlmanacE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
{ &hf_lpp_kepAlmanacDeltaI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_kepAlmanacOmegaDot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_kepSV_StatusINAV, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_kepSV_StatusINAV },
{ &hf_lpp_kepSV_StatusFNAV, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_kepSV_StatusFNAV },
{ &hf_lpp_kepAlmanacAPowerHalf, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4096_4095 },
{ &hf_lpp_kepAlmanacOmega0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_kepAlmanacW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_kepAlmanacM0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_kepAlmanacAF0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_kepAlmanacAF1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4096_4095 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AlmanacKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AlmanacKeplerianSet, AlmanacKeplerianSet_sequence);
return offset;
}
static const per_sequence_t AlmanacNAV_KeplerianSet_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_navAlmE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_navAlmDeltaI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navAlmOMEGADOT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navAlmSVHealth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_navAlmSqrtA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16777215 },
{ &hf_lpp_navAlmOMEGAo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_navAlmOmega , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_navAlmMo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_navAlmaf0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_navAlmaf1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AlmanacNAV_KeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AlmanacNAV_KeplerianSet, AlmanacNAV_KeplerianSet_sequence);
return offset;
}
static const per_sequence_t AlmanacReducedKeplerianSet_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_redAlmDeltaA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_redAlmOmega0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M64_63 },
{ &hf_lpp_redAlmPhi0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M64_63 },
{ &hf_lpp_redAlmL1Health , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_redAlmL2Health , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_redAlmL5Health , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AlmanacReducedKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AlmanacReducedKeplerianSet, AlmanacReducedKeplerianSet_sequence);
return offset;
}
static const per_sequence_t AlmanacMidiAlmanacSet_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_midiAlmE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
{ &hf_lpp_midiAlmDeltaI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_midiAlmOmegaDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_midiAlmSqrtA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_131071 },
{ &hf_lpp_midiAlmOmega0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_midiAlmOmega , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_midiAlmMo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_midiAlmaf0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_midiAlmaf1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
{ &hf_lpp_midiAlmL1Health , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_midiAlmL2Health , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_midiAlmL5Health , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AlmanacMidiAlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AlmanacMidiAlmanacSet, AlmanacMidiAlmanacSet_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_1_1461(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 1461U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_1_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 24U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_2097151(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 2097151U, NULL, FALSE);
return offset;
}
static const per_sequence_t AlmanacGLONASS_AlmanacSet_sequence[] = {
{ &hf_lpp_gloAlm_NA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_1461 },
{ &hf_lpp_gloAlmnA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_24 },
{ &hf_lpp_gloAlmHA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_31 },
{ &hf_lpp_gloAlmLambdaA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
{ &hf_lpp_gloAlmtlambdaA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2097151 },
{ &hf_lpp_gloAlmDeltaIa , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M131072_131071 },
{ &hf_lpp_gloAlmDeltaTA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2097152_2097151 },
{ &hf_lpp_gloAlmDeltaTdotA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M64_63 },
{ &hf_lpp_gloAlmEpsilonA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_32767 },
{ &hf_lpp_gloAlmOmegaA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_gloAlmTauA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
{ &hf_lpp_gloAlmCA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
{ &hf_lpp_gloAlmMA , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AlmanacGLONASS_AlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AlmanacGLONASS_AlmanacSet, AlmanacGLONASS_AlmanacSet_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M256_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-256, 255U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M4_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-4, 3U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M8_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-8, 7U, NULL, FALSE);
return offset;
}
static const per_sequence_t AlmanacECEF_SBAS_AlmanacSet_sequence[] = {
{ &hf_lpp_sbasAlmDataID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_sbasAlmHealth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_8 },
{ &hf_lpp_sbasAlmXg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
{ &hf_lpp_sbasAlmYg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
{ &hf_lpp_sbasAlmZg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M256_255 },
{ &hf_lpp_sbasAlmXgdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4_3 },
{ &hf_lpp_sbasAlmYgDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4_3 },
{ &hf_lpp_sbasAlmZgDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8_7 },
{ &hf_lpp_sbasAlmTo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AlmanacECEF_SBAS_AlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AlmanacECEF_SBAS_AlmanacSet, AlmanacECEF_SBAS_AlmanacSet_sequence);
return offset;
}
static int
dissect_lpp_T_bdsSvHealth_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1289 "./asn1/lpp/lpp.cnf"
tvbuff_t *bdsSvHealth_tvb = NULL;
proto_tree *subtree;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
9, 9, FALSE, NULL, 0, &bdsSvHealth_tvb, NULL);
#line 1294 "./asn1/lpp/lpp.cnf"
if (bdsSvHealth_tvb) {
guint16 bits;
subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bdsSvHealth_r12);
bits = tvb_get_bits16(bdsSvHealth_tvb, 0, 9,ENC_BIG_ENDIAN);
if (bits == 0x1ff) {
proto_tree_add_boolean_bits_format_value(subtree, hf_lpp_bdsSvHealth_r12_sat_clock, bdsSvHealth_tvb, 0, 1, 1,
"Satellite is in failure or permanently shut off (1)");
} else if (bits == 0x100) {
proto_tree_add_boolean_bits_format_value(subtree, hf_lpp_bdsSvHealth_r12_sat_clock, bdsSvHealth_tvb, 0, 1, 1,
"Satellite clock is unavailable (1)");
} else {
proto_tree_add_bits_item(subtree, hf_lpp_bdsSvHealth_r12_sat_clock, bdsSvHealth_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lpp_bdsSvHealth_r12_b1i, bdsSvHealth_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lpp_bdsSvHealth_r12_b2i, bdsSvHealth_tvb, 2, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lpp_bdsSvHealth_r12_nav, bdsSvHealth_tvb, 7, 1, ENC_BIG_ENDIAN);
}
}
return offset;
}
static const per_sequence_t AlmanacBDS_AlmanacSet_r12_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_bdsAlmToa_r12 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_bdsAlmSqrtA_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16777215 },
{ &hf_lpp_bdsAlmE_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_131071 },
{ &hf_lpp_bdsAlmW_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_bdsAlmM0_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_bdsAlmOmega0_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_bdsAlmOmegaDot_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
{ &hf_lpp_bdsAlmDeltaI_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_bdsAlmA0_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_bdsAlmA1_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_bdsSvHealth_r12 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_bdsSvHealth_r12 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AlmanacBDS_AlmanacSet_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AlmanacBDS_AlmanacSet_r12, AlmanacBDS_AlmanacSet_r12_sequence);
return offset;
}
static const per_sequence_t AlmanacNavIC_AlmanacSet_r16_sequence[] = {
{ &hf_lpp_svID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_navic_AlmToa_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_navic_AlmE_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_navic_AlmOMEGADOT_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_navic_AlmSqrtA_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16777215 },
{ &hf_lpp_navic_AlmOMEGAo_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_navic_AlmOmega_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_navic_AlmMo_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_navic_Almaf0_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_navic_Almaf1_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AlmanacNavIC_AlmanacSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AlmanacNavIC_AlmanacSet_r16, AlmanacNavIC_AlmanacSet_r16_sequence);
return offset;
}
static const value_string lpp_GNSS_AlmanacElement_vals[] = {
{ 0, "keplerianAlmanacSet" },
{ 1, "keplerianNAV-Almanac" },
{ 2, "keplerianReducedAlmanac" },
{ 3, "keplerianMidiAlmanac" },
{ 4, "keplerianGLONASS" },
{ 5, "ecef-SBAS-Almanac" },
{ 6, "keplerianBDS-Almanac-r12" },
{ 7, "keplerianNavIC-Almanac-r16" },
{ 0, NULL }
};
static const per_choice_t GNSS_AlmanacElement_choice[] = {
{ 0, &hf_lpp_keplerianAlmanacSet, ASN1_EXTENSION_ROOT , dissect_lpp_AlmanacKeplerianSet },
{ 1, &hf_lpp_keplerianNAV_Almanac, ASN1_EXTENSION_ROOT , dissect_lpp_AlmanacNAV_KeplerianSet },
{ 2, &hf_lpp_keplerianReducedAlmanac, ASN1_EXTENSION_ROOT , dissect_lpp_AlmanacReducedKeplerianSet },
{ 3, &hf_lpp_keplerianMidiAlmanac, ASN1_EXTENSION_ROOT , dissect_lpp_AlmanacMidiAlmanacSet },
{ 4, &hf_lpp_keplerianGLONASS, ASN1_EXTENSION_ROOT , dissect_lpp_AlmanacGLONASS_AlmanacSet },
{ 5, &hf_lpp_ecef_SBAS_Almanac, ASN1_EXTENSION_ROOT , dissect_lpp_AlmanacECEF_SBAS_AlmanacSet },
{ 6, &hf_lpp_keplerianBDS_Almanac_r12, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_AlmanacBDS_AlmanacSet_r12 },
{ 7, &hf_lpp_keplerianNavIC_Almanac_r16, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_AlmanacNavIC_AlmanacSet_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_GNSS_AlmanacElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_AlmanacElement, GNSS_AlmanacElement_choice,
NULL);
return offset;
}
static const per_sequence_t GNSS_AlmanacList_sequence_of[1] = {
{ &hf_lpp_GNSS_AlmanacList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_AlmanacElement },
};
static int
dissect_lpp_GNSS_AlmanacList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_AlmanacList, GNSS_AlmanacList_sequence_of,
1, 64, FALSE);
return offset;
}
static int
dissect_lpp_T_toa_ext_v1240(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1089 "./asn1/lpp/lpp.cnf"
guint32 toa_ext, val;
int len, old_offset = offset;
T_GNSS_ID_enum gnss_id = (T_GNSS_ID_enum)GPOINTER_TO_UINT(actx->private_data);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
256U, 1023U, &toa_ext, FALSE);
#line 1095 "./asn1/lpp/lpp.cnf"
len = (offset-old_offset) >> 3 ? (offset-old_offset) >> 3 : 1;
val = (gnss_id == T_GNSS_ID_GALILEO) ? 600*toa_ext : 4096*toa_ext;
actx->created_item = proto_tree_add_uint_format_value(tree, hf_lpp_toa_ext_v1240, tvb, old_offset, len,
toa_ext, "%u s (%u)", val, toa_ext);
return offset;
}
static int
dissect_lpp_INTEGER_4_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4U, 15U, NULL, FALSE);
return offset;
}
static const per_sequence_t GNSS_Almanac_eag_1_sequence[] = {
{ &hf_lpp_toa_ext_v1240 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_toa_ext_v1240 },
{ &hf_lpp_ioda_ext_v1240 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_4_15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_Almanac_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_Almanac_eag_1_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_256_8191(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
256U, 8191U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_256_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
256U, 65535U, NULL, FALSE);
return offset;
}
static const per_sequence_t GNSS_Almanac_eag_2_sequence[] = {
{ &hf_lpp_weekNumber_ext_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_256_8191 },
{ &hf_lpp_toa_ext2_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_256_65535 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_Almanac_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_Almanac_eag_2_sequence);
return offset;
}
static const per_sequence_t GNSS_Almanac_sequence[] = {
{ &hf_lpp_weekNumber_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_toa , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_toa },
{ &hf_lpp_ioda , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3 },
{ &hf_lpp_completeAlmanacProvided, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_gnss_AlmanacList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_AlmanacList },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_Almanac_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_Almanac_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_Almanac(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_Almanac, GNSS_Almanac_sequence);
return offset;
}
static const per_sequence_t UTC_ModelSet1_sequence[] = {
{ &hf_lpp_gnss_Utc_A1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_gnss_Utc_A0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_gnss_Utc_Tot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_gnss_Utc_WNt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_gnss_Utc_DeltaTls, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_gnss_Utc_WNlsf , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_gnss_Utc_DN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_gnss_Utc_DeltaTlsf, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_UTC_ModelSet1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_UTC_ModelSet1, UTC_ModelSet1_sequence);
return offset;
}
static int
dissect_lpp_T_utcDN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1358 "./asn1/lpp/lpp.cnf"
tvbuff_t *utcDN_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
4, 4, FALSE, NULL, 0, &utcDN_tvb, NULL);
#line 1362 "./asn1/lpp/lpp.cnf"
if (utcDN_tvb) {
guint bitvalue = tvb_get_bits8(utcDN_tvb, 0, 4);
actx->created_item = proto_tree_add_uint(tree, hf_index, utcDN_tvb, 0, 1, bitvalue);
}
return offset;
}
static const per_sequence_t UTC_ModelSet2_eag_1_sequence[] = {
{ &hf_lpp_utcWNlsf_ext_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_256_8191 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_UTC_ModelSet2_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, UTC_ModelSet2_eag_1_sequence);
return offset;
}
static const per_sequence_t UTC_ModelSet2_sequence[] = {
{ &hf_lpp_utcA0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_utcA1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4096_4095 },
{ &hf_lpp_utcA2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M64_63 },
{ &hf_lpp_utcDeltaTls , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_utcTot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_utcWNot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8191 },
{ &hf_lpp_utcWNlsf , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_utcDN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_utcDN },
{ &hf_lpp_utcDeltaTlsf , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_UTC_ModelSet2_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_UTC_ModelSet2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_UTC_ModelSet2, UTC_ModelSet2_sequence);
return offset;
}
static int
dissect_lpp_T_kp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1386 "./asn1/lpp/lpp.cnf"
tvbuff_t *kp_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, NULL, 0, &kp_tvb, NULL);
#line 1390 "./asn1/lpp/lpp.cnf"
if (kp_tvb) {
guint bitvalue = tvb_get_bits8(kp_tvb, 0, 2);
actx->created_item = proto_tree_add_uint(tree, hf_index, kp_tvb, 0, 1, bitvalue);
}
return offset;
}
static const per_sequence_t UTC_ModelSet3_sequence[] = {
{ &hf_lpp_nA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_1461 },
{ &hf_lpp_tauC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_b1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_b2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M512_511 },
{ &hf_lpp_kp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_kp },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_UTC_ModelSet3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_UTC_ModelSet3, UTC_ModelSet3_sequence);
return offset;
}
static const per_sequence_t UTC_ModelSet4_sequence[] = {
{ &hf_lpp_utcA1wnt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_utcA0wnt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_utcTot_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_utcWNt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_utcDeltaTls , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_utcWNlsf , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_UTC_ModelSet4_utcDN, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_utcDeltaTlsf , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_utcStandardID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_7 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_UTC_ModelSet4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_UTC_ModelSet4, UTC_ModelSet4_sequence);
return offset;
}
static const per_sequence_t UTC_ModelSet5_r12_sequence[] = {
{ &hf_lpp_utcA0_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_utcA1_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_utcDeltaTls_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ &hf_lpp_utcWNlsf_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_utcDN_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_utcDeltaTlsf_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_UTC_ModelSet5_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_UTC_ModelSet5_r12, UTC_ModelSet5_r12_sequence);
return offset;
}
static const value_string lpp_GNSS_UTC_Model_vals[] = {
{ 0, "utcModel1" },
{ 1, "utcModel2" },
{ 2, "utcModel3" },
{ 3, "utcModel4" },
{ 4, "utcModel5-r12" },
{ 0, NULL }
};
static const per_choice_t GNSS_UTC_Model_choice[] = {
{ 0, &hf_lpp_utcModel1 , ASN1_EXTENSION_ROOT , dissect_lpp_UTC_ModelSet1 },
{ 1, &hf_lpp_utcModel2 , ASN1_EXTENSION_ROOT , dissect_lpp_UTC_ModelSet2 },
{ 2, &hf_lpp_utcModel3 , ASN1_EXTENSION_ROOT , dissect_lpp_UTC_ModelSet3 },
{ 3, &hf_lpp_utcModel4 , ASN1_EXTENSION_ROOT , dissect_lpp_UTC_ModelSet4 },
{ 4, &hf_lpp_utcModel5_r12 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_UTC_ModelSet5_r12 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_GNSS_UTC_Model(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_UTC_Model, GNSS_UTC_Model_choice,
NULL);
return offset;
}
static const per_sequence_t GNSS_ID_GPS_SatElement_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_signalsAvailable, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_ID_GPS_SatElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ID_GPS_SatElement, GNSS_ID_GPS_SatElement_sequence);
return offset;
}
static const per_sequence_t GNSS_ID_GPS_sequence_of[1] = {
{ &hf_lpp_GNSS_ID_GPS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID_GPS_SatElement },
};
static int
dissect_lpp_GNSS_ID_GPS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ID_GPS, GNSS_ID_GPS_sequence_of,
1, 64, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M7_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-7, 13U, NULL, FALSE);
return offset;
}
static const per_sequence_t GNSS_ID_GLONASS_SatElement_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_signalsAvailable, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
{ &hf_lpp_channelNumber , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M7_13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_ID_GLONASS_SatElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ID_GLONASS_SatElement, GNSS_ID_GLONASS_SatElement_sequence);
return offset;
}
static const per_sequence_t GNSS_ID_GLONASS_sequence_of[1] = {
{ &hf_lpp_GNSS_ID_GLONASS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID_GLONASS_SatElement },
};
static int
dissect_lpp_GNSS_ID_GLONASS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ID_GLONASS, GNSS_ID_GLONASS_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_ID_BDS_SatElement_r16_sequence[] = {
{ &hf_lpp_svID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_satType_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_ID_BDS_SatElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ID_BDS_SatElement_r16, GNSS_ID_BDS_SatElement_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_ID_BDS_r16_sequence_of[1] = {
{ &hf_lpp_GNSS_ID_BDS_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID_BDS_SatElement_r16 },
};
static int
dissect_lpp_GNSS_ID_BDS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ID_BDS_r16, GNSS_ID_BDS_r16_sequence_of,
1, 64, FALSE);
return offset;
}
static const value_string lpp_GNSS_AuxiliaryInformation_vals[] = {
{ 0, "gnss-ID-GPS" },
{ 1, "gnss-ID-GLONASS" },
{ 2, "gnss-ID-BDS-r16" },
{ 0, NULL }
};
static const per_choice_t GNSS_AuxiliaryInformation_choice[] = {
{ 0, &hf_lpp_gnss_ID_GPS , ASN1_EXTENSION_ROOT , dissect_lpp_GNSS_ID_GPS },
{ 1, &hf_lpp_gnss_ID_GLONASS , ASN1_EXTENSION_ROOT , dissect_lpp_GNSS_ID_GLONASS },
{ 2, &hf_lpp_gnss_ID_BDS_r16 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_GNSS_ID_BDS_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_GNSS_AuxiliaryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_AuxiliaryInformation, GNSS_AuxiliaryInformation_choice,
NULL);
return offset;
}
static const per_sequence_t DBDS_CorrectionElement_r12_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_bds_UDREI_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_bds_RURAI_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_bds_ECC_DeltaT_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4096_4095 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DBDS_CorrectionElement_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DBDS_CorrectionElement_r12, DBDS_CorrectionElement_r12_sequence);
return offset;
}
static const per_sequence_t DBDS_CorrectionList_r12_sequence_of[1] = {
{ &hf_lpp_DBDS_CorrectionList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DBDS_CorrectionElement_r12 },
};
static int
dissect_lpp_DBDS_CorrectionList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_DBDS_CorrectionList_r12, DBDS_CorrectionList_r12_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t BDS_SgnTypeElement_r12_sequence[] = {
{ &hf_lpp_gnss_SignalID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_SignalID },
{ &hf_lpp_dbds_CorrectionList_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_DBDS_CorrectionList_r12 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BDS_SgnTypeElement_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BDS_SgnTypeElement_r12, BDS_SgnTypeElement_r12_sequence);
return offset;
}
static const per_sequence_t BDS_SgnTypeList_r12_sequence_of[1] = {
{ &hf_lpp_BDS_SgnTypeList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BDS_SgnTypeElement_r12 },
};
static int
dissect_lpp_BDS_SgnTypeList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_BDS_SgnTypeList_r12, BDS_SgnTypeList_r12_sequence_of,
1, 3, FALSE);
return offset;
}
static const per_sequence_t BDS_DifferentialCorrections_r12_sequence[] = {
{ &hf_lpp_dbds_RefTime_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3599 },
{ &hf_lpp_bds_SgnTypeList_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BDS_SgnTypeList_r12 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BDS_DifferentialCorrections_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BDS_DifferentialCorrections_r12, BDS_DifferentialCorrections_r12_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_1_320(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 320U, NULL, FALSE);
return offset;
}
static const per_sequence_t GridIonElement_r12_sequence[] = {
{ &hf_lpp_igp_ID_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_320 },
{ &hf_lpp_dt_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GridIonElement_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GridIonElement_r12, GridIonElement_r12_sequence);
return offset;
}
static const per_sequence_t GridIonList_r12_sequence_of[1] = {
{ &hf_lpp_GridIonList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GridIonElement_r12 },
};
static int
dissect_lpp_GridIonList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GridIonList_r12, GridIonList_r12_sequence_of,
1, 320, FALSE);
return offset;
}
static const per_sequence_t BDS_GridModelParameter_r12_sequence[] = {
{ &hf_lpp_bds_RefTime_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3599 },
{ &hf_lpp_gridIonList_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GridIonList_r12 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BDS_GridModelParameter_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BDS_GridModelParameter_r12, BDS_GridModelParameter_r12_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataElement_eag_1_sequence[] = {
{ &hf_lpp_bds_DifferentialCorrections_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BDS_DifferentialCorrections_r12 },
{ &hf_lpp_bds_GridModel_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BDS_GridModelParameter_r12 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_GenericAssistDataElement_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_GenericAssistDataElement_eag_1_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_254(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 254U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 1, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t GNSS_RTK_SatelliteSignalDataElement_r15_sequence[] = {
{ &hf_lpp_gnss_SignalID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
{ &hf_lpp_fine_PseudoRange_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M524288_524287 },
{ &hf_lpp_fine_PhaseRange_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_lockTimeIndicator_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
{ &hf_lpp_halfCycleAmbiguityIndicator_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_1 },
{ &hf_lpp_carrier_to_noise_ratio_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1023 },
{ &hf_lpp_fine_PhaseRangeRate_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M16384_16383 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_SatelliteSignalDataElement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_SatelliteSignalDataElement_r15, GNSS_RTK_SatelliteSignalDataElement_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_RTK_SatelliteSignalDataList_r15_sequence_of[1] = {
{ &hf_lpp_GNSS_RTK_SatelliteSignalDataList_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_RTK_SatelliteSignalDataElement_r15 },
};
static int
dissect_lpp_GNSS_RTK_SatelliteSignalDataList_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_SatelliteSignalDataList_r15, GNSS_RTK_SatelliteSignalDataList_r15_sequence_of,
1, 24, FALSE);
return offset;
}
static const per_sequence_t GNSS_RTK_SatelliteDataElement_r15_sequence[] = {
{ &hf_lpp_svID_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_integer_ms_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_254 },
{ &hf_lpp_rough_range_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
{ &hf_lpp_rough_phase_range_rate_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M8192_8191 },
{ &hf_lpp_gnss_rtk_SatelliteSignalDataList_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_RTK_SatelliteSignalDataList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_SatelliteDataElement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_SatelliteDataElement_r15, GNSS_RTK_SatelliteDataElement_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_ObservationList_r15_sequence_of[1] = {
{ &hf_lpp_GNSS_ObservationList_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_RTK_SatelliteDataElement_r15 },
};
static int
dissect_lpp_GNSS_ObservationList_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_ObservationList_r15, GNSS_ObservationList_r15_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_RTK_Observations_r15_sequence[] = {
{ &hf_lpp_epochTime_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_gnss_ObservationList_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ObservationList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_Observations_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_Observations_r15, GNSS_RTK_Observations_r15_sequence);
return offset;
}
static const per_sequence_t GLO_RTK_BiasInformation_r15_sequence[] = {
{ &hf_lpp_referenceStationID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_cpbIndicator_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_1 },
{ &hf_lpp_l1_ca_cpBias_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_l1_p_cpBias_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_l2_ca_cpBias_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_l2_p_cpBias_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M32768_32767 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GLO_RTK_BiasInformation_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GLO_RTK_BiasInformation_r15, GLO_RTK_BiasInformation_r15_sequence);
return offset;
}
static const per_sequence_t Geometric_Ionospheric_Corrections_Differences_Element_r15_sequence[] = {
{ &hf_lpp_svID_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_ambiguityStatusFlag_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
{ &hf_lpp_non_synch_count_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_7 },
{ &hf_lpp_geometricCarrierPhaseCorrectionDifference_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
{ &hf_lpp_iod_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_11 },
{ &hf_lpp_ionosphericCarrierPhaseCorrectionDifference_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Geometric_Ionospheric_Corrections_Differences_Element_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Geometric_Ionospheric_Corrections_Differences_Element_r15, Geometric_Ionospheric_Corrections_Differences_Element_r15_sequence);
return offset;
}
static const per_sequence_t Geometric_Ionospheric_Corrections_Differences_r15_sequence_of[1] = {
{ &hf_lpp_Geometric_Ionospheric_Corrections_Differences_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_Geometric_Ionospheric_Corrections_Differences_Element_r15 },
};
static int
dissect_lpp_Geometric_Ionospheric_Corrections_Differences_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_Geometric_Ionospheric_Corrections_Differences_r15, Geometric_Ionospheric_Corrections_Differences_r15_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t RTK_CorrectionDifferencesElement_r15_sequence[] = {
{ &hf_lpp_epochTime_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_auxiliary_referenceStationID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_geometric_ionospheric_corrections_differences_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_Geometric_Ionospheric_Corrections_Differences_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RTK_CorrectionDifferencesElement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_RTK_CorrectionDifferencesElement_r15, RTK_CorrectionDifferencesElement_r15_sequence);
return offset;
}
static const per_sequence_t RTK_CorrectionDifferencesList_r15_sequence_of[1] = {
{ &hf_lpp_RTK_CorrectionDifferencesList_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_RTK_CorrectionDifferencesElement_r15 },
};
static int
dissect_lpp_RTK_CorrectionDifferencesList_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_RTK_CorrectionDifferencesList_r15, RTK_CorrectionDifferencesList_r15_sequence_of,
1, 32, FALSE);
return offset;
}
static const per_sequence_t GNSS_RTK_MAC_CorrectionDifferences_r15_sequence[] = {
{ &hf_lpp_networkID_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_NetworkID_r15 },
{ &hf_lpp_subNetworkID_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_SubNetworkID_r15 },
{ &hf_lpp_master_ReferenceStationID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_l1_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_FrequencyID_r15 },
{ &hf_lpp_l2_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_FrequencyID_r15 },
{ &hf_lpp_rtkCorrectionDifferencesList_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_RTK_CorrectionDifferencesList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_MAC_CorrectionDifferences_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_MAC_CorrectionDifferences_r15, GNSS_RTK_MAC_CorrectionDifferences_r15_sequence);
return offset;
}
static const per_sequence_t RTK_Residuals_Element_r15_sequence[] = {
{ &hf_lpp_svID_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_s_oc_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_s_od_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_s_oh_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ &hf_lpp_s_lc_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
{ &hf_lpp_s_ld_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RTK_Residuals_Element_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_RTK_Residuals_Element_r15, RTK_Residuals_Element_r15_sequence);
return offset;
}
static const per_sequence_t RTK_Residuals_List_r15_sequence_of[1] = {
{ &hf_lpp_RTK_Residuals_List_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_RTK_Residuals_Element_r15 },
};
static int
dissect_lpp_RTK_Residuals_List_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_RTK_Residuals_List_r15, RTK_Residuals_List_r15_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_RTK_Residuals_r15_sequence[] = {
{ &hf_lpp_epochTime_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_referenceStationID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_n_Refs_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_l1_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_FrequencyID_r15 },
{ &hf_lpp_l2_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_FrequencyID_r15 },
{ &hf_lpp_rtk_residuals_list_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_RTK_Residuals_List_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_Residuals_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_Residuals_r15, GNSS_RTK_Residuals_r15_sequence);
return offset;
}
static const per_sequence_t FKP_Gradients_Element_r15_sequence[] = {
{ &hf_lpp_svID_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_iod_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_11 },
{ &hf_lpp_north_geometric_gradient_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2048_2047 },
{ &hf_lpp_east_geometric_gradient_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2048_2047 },
{ &hf_lpp_north_ionospheric_gradient_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
{ &hf_lpp_east_ionospheric_gradient_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_FKP_Gradients_Element_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_FKP_Gradients_Element_r15, FKP_Gradients_Element_r15_sequence);
return offset;
}
static const per_sequence_t FKP_Gradients_List_r15_sequence_of[1] = {
{ &hf_lpp_FKP_Gradients_List_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_FKP_Gradients_Element_r15 },
};
static int
dissect_lpp_FKP_Gradients_List_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_FKP_Gradients_List_r15, FKP_Gradients_List_r15_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_RTK_FKP_Gradients_r15_sequence[] = {
{ &hf_lpp_referenceStationID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceStationID_r15 },
{ &hf_lpp_epochTime_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_l1_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_FrequencyID_r15 },
{ &hf_lpp_l2_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_FrequencyID_r15 },
{ &hf_lpp_fkp_gradients_list_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_FKP_Gradients_List_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_RTK_FKP_Gradients_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_RTK_FKP_Gradients_r15, GNSS_RTK_FKP_Gradients_r15_sequence);
return offset;
}
static const value_string lpp_T_satelliteReferenceDatum_r15_vals[] = {
{ 0, "itrf" },
{ 1, "regional" },
{ 0, NULL }
};
static int
dissect_lpp_T_satelliteReferenceDatum_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t SSR_OrbitCorrectionSatelliteElement_r15_sequence[] = {
{ &hf_lpp_svID_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_iod_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_11 },
{ &hf_lpp_delta_radial_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2097152_2097151 },
{ &hf_lpp_delta_AlongTrack_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M524288_524287 },
{ &hf_lpp_delta_CrossTrack_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M524288_524287 },
{ &hf_lpp_dot_delta_radial_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M1048576_1048575 },
{ &hf_lpp_dot_delta_AlongTrack_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M262144_262143 },
{ &hf_lpp_dot_delta_CrossTrack_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M262144_262143 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SSR_OrbitCorrectionSatelliteElement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_OrbitCorrectionSatelliteElement_r15, SSR_OrbitCorrectionSatelliteElement_r15_sequence);
return offset;
}
static const per_sequence_t SSR_OrbitCorrectionList_r15_sequence_of[1] = {
{ &hf_lpp_SSR_OrbitCorrectionList_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_OrbitCorrectionSatelliteElement_r15 },
};
static int
dissect_lpp_SSR_OrbitCorrectionList_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_OrbitCorrectionList_r15, SSR_OrbitCorrectionList_r15_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_SSR_OrbitCorrections_r15_sequence[] = {
{ &hf_lpp_epochTime_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_ssrUpdateInterval_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_satelliteReferenceDatum_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_satelliteReferenceDatum_r15 },
{ &hf_lpp_iod_ssr_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_ssr_OrbitCorrectionList_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_OrbitCorrectionList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_OrbitCorrections_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_OrbitCorrections_r15, GNSS_SSR_OrbitCorrections_r15_sequence);
return offset;
}
static const per_sequence_t SSR_ClockCorrectionSatelliteElement_r15_sequence[] = {
{ &hf_lpp_svID_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_delta_Clock_C0_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2097152_2097151 },
{ &hf_lpp_delta_Clock_C1_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M1048576_1048575 },
{ &hf_lpp_delta_Clock_C2_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M67108864_67108863 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SSR_ClockCorrectionSatelliteElement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_ClockCorrectionSatelliteElement_r15, SSR_ClockCorrectionSatelliteElement_r15_sequence);
return offset;
}
static const per_sequence_t SSR_ClockCorrectionList_r15_sequence_of[1] = {
{ &hf_lpp_SSR_ClockCorrectionList_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_ClockCorrectionSatelliteElement_r15 },
};
static int
dissect_lpp_SSR_ClockCorrectionList_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_ClockCorrectionList_r15, SSR_ClockCorrectionList_r15_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_SSR_ClockCorrections_r15_sequence[] = {
{ &hf_lpp_epochTime_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_ssrUpdateInterval_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_iod_ssr_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_ssr_ClockCorrectionList_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_ClockCorrectionList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_ClockCorrections_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_ClockCorrections_r15, GNSS_SSR_ClockCorrections_r15_sequence);
return offset;
}
static const per_sequence_t SSR_CodeBiasSignalElement_r15_sequence[] = {
{ &hf_lpp_signal_and_tracking_mode_ID_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
{ &hf_lpp_codeBias_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SSR_CodeBiasSignalElement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_CodeBiasSignalElement_r15, SSR_CodeBiasSignalElement_r15_sequence);
return offset;
}
static const per_sequence_t SSR_CodeBiasSignalList_r15_sequence_of[1] = {
{ &hf_lpp_SSR_CodeBiasSignalList_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_CodeBiasSignalElement_r15 },
};
static int
dissect_lpp_SSR_CodeBiasSignalList_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_CodeBiasSignalList_r15, SSR_CodeBiasSignalList_r15_sequence_of,
1, 16, FALSE);
return offset;
}
static const per_sequence_t SSR_CodeBiasSatElement_r15_sequence[] = {
{ &hf_lpp_svID_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_ssr_CodeBiasSignalList_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_CodeBiasSignalList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SSR_CodeBiasSatElement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_CodeBiasSatElement_r15, SSR_CodeBiasSatElement_r15_sequence);
return offset;
}
static const per_sequence_t SSR_CodeBiasSatList_r15_sequence_of[1] = {
{ &hf_lpp_SSR_CodeBiasSatList_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_CodeBiasSatElement_r15 },
};
static int
dissect_lpp_SSR_CodeBiasSatList_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_CodeBiasSatList_r15, SSR_CodeBiasSatList_r15_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_SSR_CodeBias_r15_sequence[] = {
{ &hf_lpp_epochTime_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_ssrUpdateInterval_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_iod_ssr_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_ssr_CodeBiasSatList_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_CodeBiasSatList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_CodeBias_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_CodeBias_r15, GNSS_SSR_CodeBias_r15_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataElement_eag_2_sequence[] = {
{ &hf_lpp_gnss_RTK_Observations_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_Observations_r15 },
{ &hf_lpp_glo_RTK_BiasInformation_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GLO_RTK_BiasInformation_r15 },
{ &hf_lpp_gnss_RTK_MAC_CorrectionDifferences_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_MAC_CorrectionDifferences_r15 },
{ &hf_lpp_gnss_RTK_Residuals_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_Residuals_r15 },
{ &hf_lpp_gnss_RTK_FKP_Gradients_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_RTK_FKP_Gradients_r15 },
{ &hf_lpp_gnss_SSR_OrbitCorrections_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_OrbitCorrections_r15 },
{ &hf_lpp_gnss_SSR_ClockCorrections_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_ClockCorrections_r15 },
{ &hf_lpp_gnss_SSR_CodeBias_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_CodeBias_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_GenericAssistDataElement_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_GenericAssistDataElement_eag_2_sequence);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6, 6, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t SSR_URA_SatElement_r16_sequence[] = {
{ &hf_lpp_svID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_ssr_URA_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_6 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SSR_URA_SatElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_URA_SatElement_r16, SSR_URA_SatElement_r16_sequence);
return offset;
}
static const per_sequence_t SSR_URA_SatList_r16_sequence_of[1] = {
{ &hf_lpp_SSR_URA_SatList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_URA_SatElement_r16 },
};
static int
dissect_lpp_SSR_URA_SatList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_URA_SatList_r16, SSR_URA_SatList_r16_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_SSR_URA_r16_sequence[] = {
{ &hf_lpp_epochTime_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_ssrUpdateInterval_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_iod_ssr_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_ssr_URA_SatList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_URA_SatList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_URA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_URA_r16, GNSS_SSR_URA_r16_sequence);
return offset;
}
static const per_sequence_t SSR_PhaseBiasSignalElement_r16_sequence[] = {
{ &hf_lpp_signal_and_tracking_mode_ID_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
{ &hf_lpp_phaseBias_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
{ &hf_lpp_phaseDiscontinuityIndicator_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
{ &hf_lpp_phaseBiasIntegerIndicator_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SSR_PhaseBiasSignalElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_PhaseBiasSignalElement_r16, SSR_PhaseBiasSignalElement_r16_sequence);
return offset;
}
static const per_sequence_t SSR_PhaseBiasSignalList_r16_sequence_of[1] = {
{ &hf_lpp_SSR_PhaseBiasSignalList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_PhaseBiasSignalElement_r16 },
};
static int
dissect_lpp_SSR_PhaseBiasSignalList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_PhaseBiasSignalList_r16, SSR_PhaseBiasSignalList_r16_sequence_of,
1, 16, FALSE);
return offset;
}
static const per_sequence_t SSR_PhaseBiasSatElement_r16_sequence[] = {
{ &hf_lpp_svID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_ssr_PhaseBiasSignalList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_PhaseBiasSignalList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SSR_PhaseBiasSatElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_PhaseBiasSatElement_r16, SSR_PhaseBiasSatElement_r16_sequence);
return offset;
}
static const per_sequence_t SSR_PhaseBiasSatList_r16_sequence_of[1] = {
{ &hf_lpp_SSR_PhaseBiasSatList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_PhaseBiasSatElement_r16 },
};
static int
dissect_lpp_SSR_PhaseBiasSatList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SSR_PhaseBiasSatList_r16, SSR_PhaseBiasSatList_r16_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_SSR_PhaseBias_r16_sequence[] = {
{ &hf_lpp_epochTime_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_ssrUpdateInterval_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_iod_ssr_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_ssr_PhaseBiasSatList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_PhaseBiasSatList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_PhaseBias_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_PhaseBias_r16, GNSS_SSR_PhaseBias_r16_sequence);
return offset;
}
static const per_sequence_t STEC_SatElement_r16_sequence[] = {
{ &hf_lpp_svID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_stecQualityIndicator_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_6 },
{ &hf_lpp_stec_C00_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
{ &hf_lpp_stec_C01_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M2048_2047 },
{ &hf_lpp_stec_C10_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M2048_2047 },
{ &hf_lpp_stec_C11_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M512_511 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_STEC_SatElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_STEC_SatElement_r16, STEC_SatElement_r16_sequence);
return offset;
}
static const per_sequence_t STEC_SatList_r16_sequence_of[1] = {
{ &hf_lpp_STEC_SatList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_STEC_SatElement_r16 },
};
static int
dissect_lpp_STEC_SatList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_STEC_SatList_r16, STEC_SatList_r16_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_SSR_STEC_Correction_r16_sequence[] = {
{ &hf_lpp_epochTime_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_ssrUpdateInterval_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_iod_ssr_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_correctionPointSetID_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 },
{ &hf_lpp_stec_SatList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_STEC_SatList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_STEC_Correction_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_STEC_Correction_r16, GNSS_SSR_STEC_Correction_r16_sequence);
return offset;
}
static const per_sequence_t TropospericDelayCorrection_r16_sequence[] = {
{ &hf_lpp_tropoHydroStaticVerticalDelay_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M256_255 },
{ &hf_lpp_tropoWetVerticalDelay_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TropospericDelayCorrection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TropospericDelayCorrection_r16, TropospericDelayCorrection_r16_sequence);
return offset;
}
static const value_string lpp_T_stecResidualCorrection_r16_vals[] = {
{ 0, "b7-r16" },
{ 1, "b16-r16" },
{ 0, NULL }
};
static const per_choice_t T_stecResidualCorrection_r16_choice[] = {
{ 0, &hf_lpp_b7_r16 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_M64_63 },
{ 1, &hf_lpp_b16_r16 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_M32768_32767 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_stecResidualCorrection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_stecResidualCorrection_r16, T_stecResidualCorrection_r16_choice,
NULL);
return offset;
}
static const per_sequence_t STEC_ResidualSatElement_r16_sequence[] = {
{ &hf_lpp_svID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_stecResidualCorrection_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_stecResidualCorrection_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_STEC_ResidualSatElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_STEC_ResidualSatElement_r16, STEC_ResidualSatElement_r16_sequence);
return offset;
}
static const per_sequence_t STEC_ResidualSatList_r16_sequence_of[1] = {
{ &hf_lpp_STEC_ResidualSatList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_STEC_ResidualSatElement_r16 },
};
static int
dissect_lpp_STEC_ResidualSatList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_STEC_ResidualSatList_r16, STEC_ResidualSatList_r16_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GridElement_r16_sequence[] = {
{ &hf_lpp_tropospericDelayCorrection_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_TropospericDelayCorrection_r16 },
{ &hf_lpp_stec_ResidualSatList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_STEC_ResidualSatList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GridElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GridElement_r16, GridElement_r16_sequence);
return offset;
}
static const per_sequence_t GridList_r16_sequence_of[1] = {
{ &hf_lpp_GridList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GridElement_r16 },
};
static int
dissect_lpp_GridList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GridList_r16, GridList_r16_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_SSR_GriddedCorrection_r16_sequence[] = {
{ &hf_lpp_epochTime_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_ssrUpdateInterval_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_iod_ssr_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_troposphericDelayQualityIndicator_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_6 },
{ &hf_lpp_correctionPointSetID_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 },
{ &hf_lpp_gridList_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GridList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SSR_GriddedCorrection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SSR_GriddedCorrection_r16, GNSS_SSR_GriddedCorrection_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_50400(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 50400U, NULL, FALSE);
return offset;
}
static const per_sequence_t NavIC_EDC_r16_sequence[] = {
{ &hf_lpp_navic_AlphaEDC_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
{ &hf_lpp_navic_BetaEDC_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
{ &hf_lpp_navic_GammaEDC_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
{ &hf_lpp_navic_AoIcorrection_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2048_2047 },
{ &hf_lpp_navic_AoRAcorrection_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2048_2047 },
{ &hf_lpp_navic_SemiMajorcorrection_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2048_2047 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavIC_EDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavIC_EDC_r16, NavIC_EDC_r16_sequence);
return offset;
}
static const per_sequence_t NavIC_CDC_r16_sequence[] = {
{ &hf_lpp_navic_ClockBiasCorrection_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4096_4095 },
{ &hf_lpp_navic_ClockDriftCorrection_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavIC_CDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavIC_CDC_r16, NavIC_CDC_r16_sequence);
return offset;
}
static const per_sequence_t NavIC_CorrectionElementAutoNav_r16_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_navic_Tod_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_navic_iodec_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_navic_UDRAI_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16_15 },
{ &hf_lpp_navic_UDRArateI_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16_15 },
{ &hf_lpp_navic_EDC_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NavIC_EDC_r16 },
{ &hf_lpp_navic_CDC_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NavIC_CDC_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavIC_CorrectionElementAutoNav_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavIC_CorrectionElementAutoNav_r16, NavIC_CorrectionElementAutoNav_r16_sequence);
return offset;
}
static const per_sequence_t NavIC_CorrectionListAutoNav_r16_sequence_of[1] = {
{ &hf_lpp_NavIC_CorrectionListAutoNav_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NavIC_CorrectionElementAutoNav_r16 },
};
static int
dissect_lpp_NavIC_CorrectionListAutoNav_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NavIC_CorrectionListAutoNav_r16, NavIC_CorrectionListAutoNav_r16_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t NavIC_DifferentialCorrections_r16_sequence[] = {
{ &hf_lpp_navic_RefTOWC_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_50400 },
{ &hf_lpp_navic_CorrectionListAutoNav_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NavIC_CorrectionListAutoNav_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavIC_DifferentialCorrections_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavIC_DifferentialCorrections_r16, NavIC_DifferentialCorrections_r16_sequence);
return offset;
}
static const per_sequence_t RegionIgpElement_r16_sequence[] = {
{ &hf_lpp_regionID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givei1_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd1_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei2_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd2_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei3_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd3_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei4_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd4_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei5_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd5_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei6_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd6_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei7_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd7_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei8_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd8_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei9_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd9_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei10_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd10_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei11_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd11_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei12_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd12_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei13_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd13_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei14_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd14_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ &hf_lpp_givei15_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_givd15_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RegionIgpElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_RegionIgpElement_r16, RegionIgpElement_r16_sequence);
return offset;
}
static const per_sequence_t RegionIgpList_r16_sequence_of[1] = {
{ &hf_lpp_RegionIgpList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_RegionIgpElement_r16 },
};
static int
dissect_lpp_RegionIgpList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_RegionIgpList_r16, RegionIgpList_r16_sequence_of,
1, 16, FALSE);
return offset;
}
static const per_sequence_t NavIC_GridModelParameter_r16_sequence[] = {
{ &hf_lpp_navic_RefTOWC_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_50400 },
{ &hf_lpp_regionMasked_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
{ &hf_lpp_regionIgpList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_RegionIgpList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NavIC_GridModelParameter_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NavIC_GridModelParameter_r16, NavIC_GridModelParameter_r16_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataElement_eag_3_sequence[] = {
{ &hf_lpp_gnss_SSR_URA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_URA_r16 },
{ &hf_lpp_gnss_SSR_PhaseBias_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_PhaseBias_r16 },
{ &hf_lpp_gnss_SSR_STEC_Correction_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_STEC_Correction_r16 },
{ &hf_lpp_gnss_SSR_GriddedCorrection_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_GriddedCorrection_r16 },
{ &hf_lpp_navic_DifferentialCorrections_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NavIC_DifferentialCorrections_r16 },
{ &hf_lpp_navic_GridModel_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NavIC_GridModelParameter_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_GenericAssistDataElement_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_GenericAssistDataElement_eag_3_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistDataElement_sequence[] = {
{ &hf_lpp_gnss_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
{ &hf_lpp_sbas_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SBAS_ID },
{ &hf_lpp_gnss_TimeModels , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_TimeModelList },
{ &hf_lpp_gnss_DifferentialCorrections, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DifferentialCorrections },
{ &hf_lpp_gnss_NavigationModel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_NavigationModel },
{ &hf_lpp_gnss_RealTimeIntegrity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_RealTimeIntegrity },
{ &hf_lpp_gnss_DataBitAssistance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DataBitAssistance },
{ &hf_lpp_gnss_AcquisitionAssistance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AcquisitionAssistance },
{ &hf_lpp_gnss_Almanac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_Almanac },
{ &hf_lpp_gnss_UTC_Model , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_UTC_Model },
{ &hf_lpp_gnss_AuxiliaryInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AuxiliaryInformation },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataElement_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataElement_eag_2 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataElement_eag_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_GenericAssistDataElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_GenericAssistDataElement, GNSS_GenericAssistDataElement_sequence);
return offset;
}
static const per_sequence_t GNSS_GenericAssistData_sequence_of[1] = {
{ &hf_lpp_GNSS_GenericAssistData_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataElement },
};
static int
dissect_lpp_GNSS_GenericAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_GenericAssistData, GNSS_GenericAssistData_sequence_of,
1, 16, FALSE);
return offset;
}
static const value_string lpp_T_cause_02_vals[] = {
{ 0, "undefined" },
{ 1, "undeliveredAssistanceDataIsNotSupportedByServer" },
{ 2, "undeliveredAssistanceDataIsSupportedButCurrentlyNotAvailableByServer" },
{ 3, "undeliveredAssistanceDataIsPartlyNotSupportedAndPartlyNotAvailableByServer" },
{ 4, "unconfirmedPeriodicAssistanceDataIsNotSupported-v1510" },
{ 5, "unconfirmedPeriodicAssistanceDataIsSupportedButCurrentlyNotAvailable-v1510" },
{ 6, "unconfirmedPeriodicAssistanceDataIsPartlyNotSupportedAndPartlyNotAvailable-v1510" },
{ 7, "undeliveredPeriodicAssistanceDataIsCurrentlyNotAvailable-v1510" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 4, NULL);
return offset;
}
static const per_sequence_t GNSS_LocationServerErrorCauses_sequence[] = {
{ &hf_lpp_cause_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_02 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_LocationServerErrorCauses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_LocationServerErrorCauses, GNSS_LocationServerErrorCauses_sequence);
return offset;
}
static const value_string lpp_T_cause_03_vals[] = {
{ 0, "undefined" },
{ 1, "thereWereNotEnoughSatellitesReceived" },
{ 2, "assistanceDataMissing" },
{ 3, "notAllRequestedMeasurementsPossible" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t GNSS_TargetDeviceErrorCauses_sequence[] = {
{ &hf_lpp_cause_03 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_03 },
{ &hf_lpp_fineTimeAssistanceMeasurementsNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &hf_lpp_adrMeasurementsNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &hf_lpp_multiFrequencyMeasurementsNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_TargetDeviceErrorCauses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_TargetDeviceErrorCauses, GNSS_TargetDeviceErrorCauses_sequence);
return offset;
}
static const value_string lpp_A_GNSS_Error_vals[] = {
{ 0, "locationServerErrorCauses" },
{ 1, "targetDeviceErrorCauses" },
{ 0, NULL }
};
static const per_choice_t A_GNSS_Error_choice[] = {
{ 0, &hf_lpp_locationServerErrorCauses_01, ASN1_EXTENSION_ROOT , dissect_lpp_GNSS_LocationServerErrorCauses },
{ 1, &hf_lpp_targetDeviceErrorCauses_01, ASN1_EXTENSION_ROOT , dissect_lpp_GNSS_TargetDeviceErrorCauses },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_A_GNSS_Error(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_A_GNSS_Error, A_GNSS_Error_choice,
NULL);
return offset;
}
static const per_sequence_t GNSS_PeriodicAssistData_r15_eag_1_sequence[] = {
{ &hf_lpp_gnss_SSR_PeriodicURA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_SSR_PeriodicPhaseBias_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_SSR_PeriodicSTEC_Correction_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_SSR_PeriodicGriddedCorrection_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_PeriodicAssistData_r15_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_PeriodicAssistData_r15_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_PeriodicAssistData_r15_sequence[] = {
{ &hf_lpp_gnss_RTK_PeriodicObservations_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_glo_RTK_PeriodicBiasInformation_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_RTK_MAC_PeriodicCorrectionDifferences_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_RTK_PeriodicResiduals_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_RTK_FKP_PeriodicGradients_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_SSR_PeriodicOrbitCorrections_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_SSR_PeriodicClockCorrections_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &hf_lpp_gnss_SSR_PeriodicCodeBias_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_PeriodicAssistData_r15_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_PeriodicAssistData_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_PeriodicAssistData_r15, GNSS_PeriodicAssistData_r15_sequence);
return offset;
}
static const per_sequence_t A_GNSS_ProvideAssistanceData_eag_1_sequence[] = {
{ &hf_lpp_gnss_PeriodicAssistData_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicAssistData_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_A_GNSS_ProvideAssistanceData_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, A_GNSS_ProvideAssistanceData_eag_1_sequence);
return offset;
}
static const per_sequence_t A_GNSS_ProvideAssistanceData_sequence[] = {
{ &hf_lpp_gnss_CommonAssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_CommonAssistData },
{ &hf_lpp_gnss_GenericAssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_GenericAssistData },
{ &hf_lpp_gnss_Error , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_Error },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_A_GNSS_ProvideAssistanceData_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_A_GNSS_ProvideAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_A_GNSS_ProvideAssistanceData, A_GNSS_ProvideAssistanceData_sequence);
return offset;
}
static const value_string lpp_T_antennaPortConfig_vals[] = {
{ 0, "ports1-or-2" },
{ 1, "ports4" },
{ 0, NULL }
};
static int
dissect_lpp_T_antennaPortConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_cpLength_vals[] = {
{ 0, "normal" },
{ 1, "extended" },
{ 0, NULL }
};
static int
dissect_lpp_T_cpLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_prs_Bandwidth_vals[] = {
{ 0, "n6" },
{ 1, "n15" },
{ 2, "n25" },
{ 3, "n50" },
{ 4, "n75" },
{ 5, "n100" },
{ 0, NULL }
};
static int
dissect_lpp_T_prs_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4095U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_numDL_Frames_vals[] = {
{ 0, "sf-1" },
{ 1, "sf-2" },
{ 2, "sf-4" },
{ 3, "sf-6" },
{ 4, "sf-add-v1420" },
{ 0, NULL }
};
static int
dissect_lpp_T_numDL_Frames(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 1, NULL);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
128, 128, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
256, 256, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
512, 512, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_1024(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1024, 1024, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const value_string lpp_T_prs_MutingInfo_r9_vals[] = {
{ 0, "po2-r9" },
{ 1, "po4-r9" },
{ 2, "po8-r9" },
{ 3, "po16-r9" },
{ 4, "po32-v1420" },
{ 5, "po64-v1420" },
{ 6, "po128-v1420" },
{ 7, "po256-v1420" },
{ 8, "po512-v1420" },
{ 9, "po1024-v1420" },
{ 0, NULL }
};
static const per_choice_t T_prs_MutingInfo_r9_choice[] = {
{ 0, &hf_lpp_po2_r9 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_2 },
{ 1, &hf_lpp_po4_r9 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_4 },
{ 2, &hf_lpp_po8_r9 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_8 },
{ 3, &hf_lpp_po16_r9 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_16 },
{ 4, &hf_lpp_po32_v1420 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BIT_STRING_SIZE_32 },
{ 5, &hf_lpp_po64_v1420 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BIT_STRING_SIZE_64 },
{ 6, &hf_lpp_po128_v1420 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BIT_STRING_SIZE_128 },
{ 7, &hf_lpp_po256_v1420 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BIT_STRING_SIZE_256 },
{ 8, &hf_lpp_po512_v1420 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BIT_STRING_SIZE_512 },
{ 9, &hf_lpp_po1024_v1420 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BIT_STRING_SIZE_1024 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_prs_MutingInfo_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_prs_MutingInfo_r9, T_prs_MutingInfo_r9_choice,
NULL);
return offset;
}
static int
dissect_lpp_INTEGER_1_160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 160U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_prsOccGroupLen_r14_vals[] = {
{ 0, "g2" },
{ 1, "g4" },
{ 2, "g8" },
{ 3, "g16" },
{ 4, "g32" },
{ 5, "g64" },
{ 6, "g128" },
{ 0, NULL }
};
static int
dissect_lpp_T_prsOccGroupLen_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_maxAvailNarrowBands_Minus1_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, maxAvailNarrowBands_Minus1_r14, NULL, FALSE);
return offset;
}
static const per_sequence_t T_nb4_r14_sequence_of[1] = {
{ &hf_lpp_nb4_r14_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_maxAvailNarrowBands_Minus1_r14 },
};
static int
dissect_lpp_T_nb4_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nb4_r14, T_nb4_r14_sequence_of,
3, 3, FALSE);
return offset;
}
static const value_string lpp_T_prsHoppingInfo_r14_vals[] = {
{ 0, "nb2-r14" },
{ 1, "nb4-r14" },
{ 0, NULL }
};
static const per_choice_t T_prsHoppingInfo_r14_choice[] = {
{ 0, &hf_lpp_nb2_r14 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_maxAvailNarrowBands_Minus1_r14 },
{ 1, &hf_lpp_nb4_r14 , ASN1_NO_EXTENSIONS , dissect_lpp_T_nb4_r14 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_prsHoppingInfo_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_prsHoppingInfo_r14, T_prsHoppingInfo_r14_choice,
NULL);
return offset;
}
static const per_sequence_t PRS_Info_eag_1_sequence[] = {
{ &hf_lpp_prsID_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_add_numDL_Frames_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_160 },
{ &hf_lpp_prsOccGroupLen_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prsOccGroupLen_r14 },
{ &hf_lpp_prsHoppingInfo_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prsHoppingInfo_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_PRS_Info_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PRS_Info_eag_1_sequence);
return offset;
}
static const per_sequence_t PRS_Info_sequence[] = {
{ &hf_lpp_prs_Bandwidth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_prs_Bandwidth },
{ &hf_lpp_prs_ConfigurationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_numDL_Frames , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_numDL_Frames },
{ &hf_lpp_prs_MutingInfo_r9, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_prs_MutingInfo_r9 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_PRS_Info_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_PRS_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_PRS_Info, PRS_Info_sequence);
return offset;
}
static const per_sequence_t OTDOA_ReferenceCellInfo_eag_1_sequence[] = {
{ &hf_lpp_earfcnRef_v9a0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_v9a0 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_ReferenceCellInfo_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_ReferenceCellInfo_eag_1_sequence);
return offset;
}
static const value_string lpp_T_cpLengthCRS_r14_vals[] = {
{ 0, "normal" },
{ 1, "extended" },
{ 0, NULL }
};
static int
dissect_lpp_T_cpLengthCRS_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_dlBandwidth_r14_vals[] = {
{ 0, "n6" },
{ 1, "n15" },
{ 2, "n25" },
{ 3, "n50" },
{ 4, "n75" },
{ 5, "n100" },
{ 0, NULL }
};
static int
dissect_lpp_T_dlBandwidth_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info_sequence_of[1] = {
{ &hf_lpp_addPRSconfigRef_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_PRS_Info },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info, SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info_sequence_of,
1, maxAddPRSconfig_r14, FALSE);
return offset;
}
static const per_sequence_t OTDOA_ReferenceCellInfo_eag_2_sequence[] = {
{ &hf_lpp_tpId_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_cpLengthCRS_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_cpLengthCRS_r14 },
{ &hf_lpp_sameMBSFNconfigRef_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ &hf_lpp_dlBandwidth_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_dlBandwidth_r14 },
{ &hf_lpp_addPRSconfigRef_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_ReferenceCellInfo_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_ReferenceCellInfo_eag_2_sequence);
return offset;
}
static const per_sequence_t OTDOA_ReferenceCellInfo_eag_3_sequence[] = {
{ &hf_lpp_nr_LTE_SFN_Offset_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1023 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_ReferenceCellInfo_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_ReferenceCellInfo_eag_3_sequence);
return offset;
}
static const value_string lpp_T_subframeAssignment_v1520_vals[] = {
{ 0, "sa0" },
{ 1, "sa1" },
{ 2, "sa2" },
{ 3, "sa3" },
{ 4, "sa4" },
{ 5, "sa5" },
{ 6, "sa6" },
{ 0, NULL }
};
static int
dissect_lpp_T_subframeAssignment_v1520(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t TDD_Config_v1520_sequence[] = {
{ &hf_lpp_subframeAssignment_v1520, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_subframeAssignment_v1520 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TDD_Config_v1520(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TDD_Config_v1520, TDD_Config_v1520_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 19U, NULL, FALSE);
return offset;
}
static const per_sequence_t OTDOA_ReferenceCellInfo_eag_4_sequence[] = {
{ &hf_lpp_tdd_config_v1520, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TDD_Config_v1520 },
{ &hf_lpp_nr_LTE_fineTiming_Offset_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_19 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_ReferenceCellInfo_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_ReferenceCellInfo_eag_4_sequence);
return offset;
}
static const per_sequence_t OTDOA_ReferenceCellInfo_sequence[] = {
{ &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
{ &hf_lpp_earfcnRef , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA },
{ &hf_lpp_antennaPortConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_antennaPortConfig },
{ &hf_lpp_cpLength , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cpLength },
{ &hf_lpp_prsInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PRS_Info },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ReferenceCellInfo_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ReferenceCellInfo_eag_2 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ReferenceCellInfo_eag_3 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ReferenceCellInfo_eag_4 },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_OTDOA_ReferenceCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_ReferenceCellInfo, OTDOA_ReferenceCellInfo_sequence);
return offset;
}
static const value_string lpp_T_cpLength_01_vals[] = {
{ 0, "normal" },
{ 1, "extended" },
{ 0, NULL }
};
static int
dissect_lpp_T_cpLength_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_antennaPortConfig_01_vals[] = {
{ 0, "ports-1-or-2" },
{ 1, "ports-4" },
{ 0, NULL }
};
static int
dissect_lpp_T_antennaPortConfig_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_1279(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1279U, NULL, FALSE);
return offset;
}
static const per_sequence_t OTDOA_NeighbourCellInfoElement_eag_1_sequence[] = {
{ &hf_lpp_earfcn_v9a0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_v9a0 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_NeighbourCellInfoElement_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_NeighbourCellInfoElement_eag_1_sequence);
return offset;
}
static const value_string lpp_T_prs_only_tp_r14_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_prs_only_tp_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_cpLengthCRS_r14_01_vals[] = {
{ 0, "normal" },
{ 1, "extended" },
{ 0, NULL }
};
static int
dissect_lpp_T_cpLengthCRS_r14_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_dlBandwidth_r14_01_vals[] = {
{ 0, "n6" },
{ 1, "n15" },
{ 2, "n25" },
{ 3, "n50" },
{ 4, "n75" },
{ 5, "n100" },
{ 0, NULL }
};
static int
dissect_lpp_T_dlBandwidth_r14_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t Add_PRSconfigNeighbourElement_r14_sequence[] = {
{ &hf_lpp_add_prsInfo_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PRS_Info },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Add_PRSconfigNeighbourElement_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Add_PRSconfigNeighbourElement_r14, Add_PRSconfigNeighbourElement_r14_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14_sequence_of[1] = {
{ &hf_lpp_addPRSconfigNeighbour_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_Add_PRSconfigNeighbourElement_r14 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14, SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14_sequence_of,
1, maxAddPRSconfig_r14, FALSE);
return offset;
}
static const per_sequence_t OTDOA_NeighbourCellInfoElement_eag_2_sequence[] = {
{ &hf_lpp_tpId_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_prs_only_tp_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prs_only_tp_r14 },
{ &hf_lpp_cpLengthCRS_r14_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_cpLengthCRS_r14_01 },
{ &hf_lpp_sameMBSFNconfigNeighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ &hf_lpp_dlBandwidth_r14_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_dlBandwidth_r14_01 },
{ &hf_lpp_addPRSconfigNeighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_NeighbourCellInfoElement_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_NeighbourCellInfoElement_eag_2_sequence);
return offset;
}
static const per_sequence_t OTDOA_NeighbourCellInfoElement_eag_3_sequence[] = {
{ &hf_lpp_tdd_config_v1520, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TDD_Config_v1520 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_NeighbourCellInfoElement_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_NeighbourCellInfoElement_eag_3_sequence);
return offset;
}
static const per_sequence_t OTDOA_NeighbourCellInfoElement_sequence[] = {
{ &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
{ &hf_lpp_earfcn , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA },
{ &hf_lpp_cpLength_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_cpLength_01 },
{ &hf_lpp_prsInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PRS_Info },
{ &hf_lpp_antennaPortConfig_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_antennaPortConfig_01 },
{ &hf_lpp_slotNumberOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_19 },
{ &hf_lpp_prs_SubframeOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1279 },
{ &hf_lpp_expectedRSTD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 },
{ &hf_lpp_expectedRSTD_Uncertainty, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoElement_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoElement_eag_2 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoElement_eag_3 },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_OTDOA_NeighbourCellInfoElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_NeighbourCellInfoElement, OTDOA_NeighbourCellInfoElement_sequence);
return offset;
}
static const per_sequence_t OTDOA_NeighbourFreqInfo_sequence_of[1] = {
{ &hf_lpp_OTDOA_NeighbourFreqInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoElement },
};
static int
dissect_lpp_OTDOA_NeighbourFreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_NeighbourFreqInfo, OTDOA_NeighbourFreqInfo_sequence_of,
1, 24, FALSE);
return offset;
}
static const per_sequence_t OTDOA_NeighbourCellInfoList_sequence_of[1] = {
{ &hf_lpp_OTDOA_NeighbourCellInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourFreqInfo },
};
static int
dissect_lpp_OTDOA_NeighbourCellInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_NeighbourCellInfoList, OTDOA_NeighbourCellInfoList_sequence_of,
1, maxFreqLayers, FALSE);
return offset;
}
static const value_string lpp_T_cause_vals[] = {
{ 0, "undefined" },
{ 1, "assistanceDataNotSupportedByServer" },
{ 2, "assistanceDataSupportedButCurrentlyNotAvailableByServer" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t OTDOA_LocationServerErrorCauses_sequence[] = {
{ &hf_lpp_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_LocationServerErrorCauses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_LocationServerErrorCauses, OTDOA_LocationServerErrorCauses_sequence);
return offset;
}
static const value_string lpp_T_cause_01_vals[] = {
{ 0, "undefined" },
{ 1, "assistance-data-missing" },
{ 2, "unableToMeasureReferenceCell" },
{ 3, "unableToMeasureAnyNeighbourCell" },
{ 4, "attemptedButUnableToMeasureSomeNeighbourCells" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t OTDOA_TargetDeviceErrorCauses_sequence[] = {
{ &hf_lpp_cause_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_TargetDeviceErrorCauses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_TargetDeviceErrorCauses, OTDOA_TargetDeviceErrorCauses_sequence);
return offset;
}
static const value_string lpp_OTDOA_Error_vals[] = {
{ 0, "locationServerErrorCauses" },
{ 1, "targetDeviceErrorCauses" },
{ 0, NULL }
};
static const per_choice_t OTDOA_Error_choice[] = {
{ 0, &hf_lpp_locationServerErrorCauses, ASN1_EXTENSION_ROOT , dissect_lpp_OTDOA_LocationServerErrorCauses },
{ 1, &hf_lpp_targetDeviceErrorCauses, ASN1_EXTENSION_ROOT , dissect_lpp_OTDOA_TargetDeviceErrorCauses },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_OTDOA_Error(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_Error, OTDOA_Error_choice,
NULL);
return offset;
}
static const value_string lpp_T_eutra_NumCRS_Ports_r14_vals[] = {
{ 0, "ports1-or-2" },
{ 1, "ports4" },
{ 0, NULL }
};
static int
dissect_lpp_T_eutra_NumCRS_Ports_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_otdoa_SIB1_NB_repetitions_r14_vals[] = {
{ 0, "r4" },
{ 1, "r8" },
{ 2, "r16" },
{ 0, NULL }
};
static int
dissect_lpp_T_otdoa_SIB1_NB_repetitions_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_operationModeInfoNPRS_r14_vals[] = {
{ 0, "inband" },
{ 1, "standalone" },
{ 0, NULL }
};
static int
dissect_lpp_T_operationModeInfoNPRS_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_174(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 174U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
10, 10, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
40, 40, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const value_string lpp_T_nprsBitmap_r14_vals[] = {
{ 0, "subframePattern10-r14" },
{ 1, "subframePattern40-r14" },
{ 0, NULL }
};
static const per_choice_t T_nprsBitmap_r14_choice[] = {
{ 0, &hf_lpp_subframePattern10_r14, ASN1_NO_EXTENSIONS , dissect_lpp_BIT_STRING_SIZE_10 },
{ 1, &hf_lpp_subframePattern40_r14, ASN1_NO_EXTENSIONS , dissect_lpp_BIT_STRING_SIZE_40 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_nprsBitmap_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nprsBitmap_r14, T_nprsBitmap_r14_choice,
NULL);
return offset;
}
static const value_string lpp_T_nprs_MutingInfoA_r14_vals[] = {
{ 0, "po2-r14" },
{ 1, "po4-r14" },
{ 2, "po8-r14" },
{ 3, "po16-r14" },
{ 0, NULL }
};
static const per_choice_t T_nprs_MutingInfoA_r14_choice[] = {
{ 0, &hf_lpp_po2_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_2 },
{ 1, &hf_lpp_po4_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_4 },
{ 2, &hf_lpp_po8_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_8 },
{ 3, &hf_lpp_po16_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_nprs_MutingInfoA_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nprs_MutingInfoA_r14, T_nprs_MutingInfoA_r14_choice,
NULL);
return offset;
}
static const per_sequence_t T_partA_r14_sequence[] = {
{ &hf_lpp_nprsBitmap_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nprsBitmap_r14 },
{ &hf_lpp_nprs_MutingInfoA_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nprs_MutingInfoA_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_partA_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_partA_r14, T_partA_r14_sequence);
return offset;
}
static const value_string lpp_T_nprs_Period_r14_vals[] = {
{ 0, "ms160" },
{ 1, "ms320" },
{ 2, "ms640" },
{ 3, "ms1280" },
{ 4, "ms2560-v1510" },
{ 0, NULL }
};
static int
dissect_lpp_T_nprs_Period_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 1, NULL);
return offset;
}
static const value_string lpp_T_nprs_startSF_r14_vals[] = {
{ 0, "zero" },
{ 1, "one-eighth" },
{ 2, "two-eighths" },
{ 3, "three-eighths" },
{ 4, "four-eighths" },
{ 5, "five-eighths" },
{ 6, "six-eighths" },
{ 7, "seven-eighths" },
{ 0, NULL }
};
static int
dissect_lpp_T_nprs_startSF_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_nprs_NumSF_r14_vals[] = {
{ 0, "sf10" },
{ 1, "sf20" },
{ 2, "sf40" },
{ 3, "sf80" },
{ 4, "sf160" },
{ 5, "sf320" },
{ 6, "sf640" },
{ 7, "sf1280" },
{ 8, "sf2560-v1510" },
{ 0, NULL }
};
static int
dissect_lpp_T_nprs_NumSF_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8, NULL, TRUE, 1, NULL);
return offset;
}
static const value_string lpp_T_nprs_MutingInfoB_r14_vals[] = {
{ 0, "po2-r14" },
{ 1, "po4-r14" },
{ 2, "po8-r14" },
{ 3, "po16-r14" },
{ 0, NULL }
};
static const per_choice_t T_nprs_MutingInfoB_r14_choice[] = {
{ 0, &hf_lpp_po2_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_2 },
{ 1, &hf_lpp_po4_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_4 },
{ 2, &hf_lpp_po8_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_8 },
{ 3, &hf_lpp_po16_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_nprs_MutingInfoB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nprs_MutingInfoB_r14, T_nprs_MutingInfoB_r14_choice,
NULL);
return offset;
}
static const value_string lpp_T_sib1_SF_TDD_r15_vals[] = {
{ 0, "sf0" },
{ 1, "sf4" },
{ 2, "sf0and5" },
{ 0, NULL }
};
static int
dissect_lpp_T_sib1_SF_TDD_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t T_eag_1_sequence[] = {
{ &hf_lpp_sib1_SF_TDD_r15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_sib1_SF_TDD_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_sequence);
return offset;
}
static const per_sequence_t T_partB_r14_sequence[] = {
{ &hf_lpp_nprs_Period_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nprs_Period_r14 },
{ &hf_lpp_nprs_startSF_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nprs_startSF_r14 },
{ &hf_lpp_nprs_NumSF_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nprs_NumSF_r14 },
{ &hf_lpp_nprs_MutingInfoB_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nprs_MutingInfoB_r14 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_T_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_partB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_partB_r14, T_partB_r14_sequence);
return offset;
}
static const value_string lpp_T_nprsBitmap_r15_vals[] = {
{ 0, "subframePattern10-TDD-r15" },
{ 1, "subframePattern40-TDD-r15" },
{ 0, NULL }
};
static const per_choice_t T_nprsBitmap_r15_choice[] = {
{ 0, &hf_lpp_subframePattern10_TDD_r15, ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_8 },
{ 1, &hf_lpp_subframePattern40_TDD_r15, ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_32 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_nprsBitmap_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nprsBitmap_r15, T_nprsBitmap_r15_choice,
NULL);
return offset;
}
static const value_string lpp_T_nprs_MutingInfoA_r15_vals[] = {
{ 0, "po2-r15" },
{ 1, "po4-r15" },
{ 2, "po8-r15" },
{ 3, "po16-r15" },
{ 0, NULL }
};
static const per_choice_t T_nprs_MutingInfoA_r15_choice[] = {
{ 0, &hf_lpp_po2_r15 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_2 },
{ 1, &hf_lpp_po4_r15 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_4 },
{ 2, &hf_lpp_po8_r15 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_8 },
{ 3, &hf_lpp_po16_r15 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_nprs_MutingInfoA_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nprs_MutingInfoA_r15, T_nprs_MutingInfoA_r15_choice,
NULL);
return offset;
}
static const per_sequence_t T_partA_TDD_r15_sequence[] = {
{ &hf_lpp_nprsBitmap_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nprsBitmap_r15 },
{ &hf_lpp_nprs_MutingInfoA_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nprs_MutingInfoA_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_partA_TDD_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_partA_TDD_r15, T_partA_TDD_r15_sequence);
return offset;
}
static const per_sequence_t NPRS_Info_r14_eag_1_sequence[] = {
{ &hf_lpp_partA_TDD_r15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_partA_TDD_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NPRS_Info_r14_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, NPRS_Info_r14_eag_1_sequence);
return offset;
}
static const per_sequence_t NPRS_Info_r14_sequence[] = {
{ &hf_lpp_operationModeInfoNPRS_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_operationModeInfoNPRS_r14 },
{ &hf_lpp_nprs_carrier_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CarrierFreq_NB_r14 },
{ &hf_lpp_nprsSequenceInfo_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_174 },
{ &hf_lpp_nprsID_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_partA_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_partA_r14 },
{ &hf_lpp_partB_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_partB_r14 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NPRS_Info_r14_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NPRS_Info_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NPRS_Info_r14, NPRS_Info_r14_sequence);
return offset;
}
static const per_sequence_t PRS_Info_NB_r14_sequence_of[1] = {
{ &hf_lpp_PRS_Info_NB_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NPRS_Info_r14 },
};
static int
dissect_lpp_PRS_Info_NB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_PRS_Info_NB_r14, PRS_Info_NB_r14_sequence_of,
1, maxCarrier_r14, FALSE);
return offset;
}
static const per_sequence_t OTDOA_ReferenceCellInfoNB_r14_eag_1_sequence[] = {
{ &hf_lpp_nprsInfo_Type2_v1470, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PRS_Info_NB_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_ReferenceCellInfoNB_r14_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_ReferenceCellInfoNB_r14_eag_1_sequence);
return offset;
}
static const per_sequence_t OTDOA_ReferenceCellInfoNB_r14_eag_2_sequence[] = {
{ &hf_lpp_tdd_config_r15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TDD_Config_v1520 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_ReferenceCellInfoNB_r14_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_ReferenceCellInfoNB_r14_eag_2_sequence);
return offset;
}
static const per_sequence_t OTDOA_ReferenceCellInfoNB_r14_sequence[] = {
{ &hf_lpp_physCellIdNB_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalIdNB_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
{ &hf_lpp_carrierFreqRef_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CarrierFreq_NB_r14 },
{ &hf_lpp_earfcn_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_r14 },
{ &hf_lpp_eutra_NumCRS_Ports_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_eutra_NumCRS_Ports_r14 },
{ &hf_lpp_otdoa_SIB1_NB_repetitions_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_otdoa_SIB1_NB_repetitions_r14 },
{ &hf_lpp_nprsInfo_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PRS_Info_NB_r14 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ReferenceCellInfoNB_r14_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ReferenceCellInfoNB_r14_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_ReferenceCellInfoNB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_ReferenceCellInfoNB_r14, OTDOA_ReferenceCellInfoNB_r14_sequence);
return offset;
}
static const value_string lpp_T_eutra_NumCRS_Ports_r14_01_vals[] = {
{ 0, "ports-1-or-2" },
{ 1, "ports-4" },
{ 0, NULL }
};
static int
dissect_lpp_T_eutra_NumCRS_Ports_r14_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_otdoa_SIB1_NB_repetitions_r14_01_vals[] = {
{ 0, "r4" },
{ 1, "r8" },
{ 2, "r16" },
{ 0, NULL }
};
static int
dissect_lpp_T_otdoa_SIB1_NB_repetitions_r14_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, FALSE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_1_72(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 72U, NULL, FALSE);
return offset;
}
static const per_sequence_t OTDOA_NeighbourCellInfoNB_r14_eag_1_sequence[] = {
{ &hf_lpp_nprsInfo_Type2_v1470, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PRS_Info_NB_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_NeighbourCellInfoNB_r14_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_NeighbourCellInfoNB_r14_eag_1_sequence);
return offset;
}
static const per_sequence_t OTDOA_NeighbourCellInfoNB_r14_eag_2_sequence[] = {
{ &hf_lpp_tdd_config_r15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TDD_Config_v1520 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_NeighbourCellInfoNB_r14_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_NeighbourCellInfoNB_r14_eag_2_sequence);
return offset;
}
static const per_sequence_t OTDOA_NeighbourCellInfoNB_r14_sequence[] = {
{ &hf_lpp_physCellIdNB_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalIdNB_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
{ &hf_lpp_carrierFreq_r14_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CarrierFreq_NB_r14 },
{ &hf_lpp_earfcn_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_r14 },
{ &hf_lpp_eutra_NumCRS_Ports_r14_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_eutra_NumCRS_Ports_r14_01 },
{ &hf_lpp_otdoa_SIB1_NB_repetitions_r14_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_otdoa_SIB1_NB_repetitions_r14_01 },
{ &hf_lpp_nprsInfo_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PRS_Info_NB_r14 },
{ &hf_lpp_nprs_slotNumberOffset_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_19 },
{ &hf_lpp_nprs_SFN_Offset_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_63 },
{ &hf_lpp_nprs_SubframeOffset_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1279 },
{ &hf_lpp_expectedRSTD_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_16383 },
{ &hf_lpp_expectedRSTD_Uncertainty_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1023 },
{ &hf_lpp_prsNeighbourCellIndex_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_72 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoNB_r14_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoNB_r14_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_NeighbourCellInfoNB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_NeighbourCellInfoNB_r14, OTDOA_NeighbourCellInfoNB_r14_sequence);
return offset;
}
static const per_sequence_t OTDOA_NeighbourCellInfoListNB_r14_sequence_of[1] = {
{ &hf_lpp_OTDOA_NeighbourCellInfoListNB_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoNB_r14 },
};
static int
dissect_lpp_OTDOA_NeighbourCellInfoListNB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_NeighbourCellInfoListNB_r14, OTDOA_NeighbourCellInfoListNB_r14_sequence_of,
1, maxCells_r14, FALSE);
return offset;
}
static const per_sequence_t OTDOA_ProvideAssistanceData_eag_1_sequence[] = {
{ &hf_lpp_otdoa_ReferenceCellInfoNB_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_OTDOA_ReferenceCellInfoNB_r14 },
{ &hf_lpp_otdoa_NeighbourCellInfoNB_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_OTDOA_NeighbourCellInfoListNB_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_ProvideAssistanceData_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_ProvideAssistanceData_eag_1_sequence);
return offset;
}
static const per_sequence_t OTDOA_ProvideAssistanceData_sequence[] = {
{ &hf_lpp_otdoa_ReferenceCellInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_ReferenceCellInfo },
{ &hf_lpp_otdoa_NeighbourCellInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_NeighbourCellInfoList },
{ &hf_lpp_otdoa_Error , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_Error },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ProvideAssistanceData_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_ProvideAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_ProvideAssistanceData, OTDOA_ProvideAssistanceData_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M20000_10000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-20000, 10000U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_2881(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 2881U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_1_2881(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 2881U, NULL, FALSE);
return offset;
}
static const per_sequence_t PressureValidityPeriod_v1520_sequence[] = {
{ &hf_lpp_beginTime_v1520 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
{ &hf_lpp_beginTimeAlt_v1520, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_2881 },
{ &hf_lpp_duration_v1520 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_2881 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_PressureValidityPeriod_v1520(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_PressureValidityPeriod_v1520, PressureValidityPeriod_v1520_sequence);
return offset;
}
static const per_sequence_t T_period_v1520_sequence[] = {
{ &hf_lpp_pressureValidityPeriod_v1520, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_PressureValidityPeriod_v1520 },
{ &hf_lpp_referencePressureRate_v1520, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M128_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_period_v1520(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_period_v1520, T_period_v1520_sequence);
return offset;
}
static const value_string lpp_T_latitudeSign_vals[] = {
{ 0, "north" },
{ 1, "south" },
{ 0, NULL }
};
static int
dissect_lpp_T_latitudeSign(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t Ellipsoid_Point_sequence[] = {
{ &hf_lpp_latitudeSign , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign },
{ &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
{ &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_Ellipsoid_Point(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Ellipsoid_Point, Ellipsoid_Point_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 128U, NULL, FALSE);
return offset;
}
static const per_sequence_t PressureValidityArea_v1520_sequence[] = {
{ &hf_lpp_centerPoint_v1520, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_Ellipsoid_Point },
{ &hf_lpp_validityAreaWidth_v1520, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_128 },
{ &hf_lpp_validityAreaHeight_v1520, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_128 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_PressureValidityArea_v1520(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_PressureValidityArea_v1520, PressureValidityArea_v1520_sequence);
return offset;
}
static int
dissect_lpp_T_gN_pressure_v1520(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-1024, 1023U, NULL, FALSE);
#line 1752 "./asn1/lpp/lpp.cnf"
proto_item_append_text(actx->created_item, "Pa/Km");
return offset;
}
static int
dissect_lpp_T_gE_pressure_v1520(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-1024, 1023U, NULL, FALSE);
#line 1755 "./asn1/lpp/lpp.cnf"
proto_item_append_text(actx->created_item, "Pa/Km");
return offset;
}
static const per_sequence_t T_area_v1520_sequence[] = {
{ &hf_lpp_pressureValidityArea_v1520, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_PressureValidityArea_v1520 },
{ &hf_lpp_gN_pressure_v1520, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_gN_pressure_v1520 },
{ &hf_lpp_gE_pressure_v1520, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_gE_pressure_v1520 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_area_v1520(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_area_v1520, T_area_v1520_sequence);
return offset;
}
static const per_sequence_t Sensor_AssistanceDataList_r14_eag_1_sequence[] = {
{ &hf_lpp_period_v1520 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_period_v1520 },
{ &hf_lpp_area_v1520 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_area_v1520 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_AssistanceDataList_r14_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_AssistanceDataList_r14_eag_1_sequence);
return offset;
}
static const per_sequence_t Sensor_AssistanceDataList_r14_sequence[] = {
{ &hf_lpp_refPressure_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M20000_10000 },
{ &hf_lpp_refPosition_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid },
{ &hf_lpp_refTemperature_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M64_63 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_AssistanceDataList_r14_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_AssistanceDataList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_AssistanceDataList_r14, Sensor_AssistanceDataList_r14_sequence);
return offset;
}
static const value_string lpp_T_cause_r13_02_vals[] = {
{ 0, "undefined" },
{ 1, "assistanceDataNotSupportedByServer-v1420" },
{ 2, "assistanceDataSupportedButCurrentlyNotAvailableByServer-v1420" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r13_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 2, NULL);
return offset;
}
static const per_sequence_t Sensor_LocationServerErrorCauses_r13_sequence[] = {
{ &hf_lpp_cause_r13_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_02 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_LocationServerErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_LocationServerErrorCauses_r13, Sensor_LocationServerErrorCauses_r13_sequence);
return offset;
}
static const value_string lpp_T_cause_r13_03_vals[] = {
{ 0, "undefined" },
{ 1, "assistanceDataMissing-v1420" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r13_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 1, NULL);
return offset;
}
static const per_sequence_t Sensor_TargetDeviceErrorCauses_r13_sequence[] = {
{ &hf_lpp_cause_r13_03 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_03 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_TargetDeviceErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_TargetDeviceErrorCauses_r13, Sensor_TargetDeviceErrorCauses_r13_sequence);
return offset;
}
static const value_string lpp_Sensor_Error_r13_vals[] = {
{ 0, "locationServerErrorCauses-r13" },
{ 1, "targetDeviceErrorCauses-r13" },
{ 0, NULL }
};
static const per_choice_t Sensor_Error_r13_choice[] = {
{ 0, &hf_lpp_locationServerErrorCauses_r13_01, ASN1_EXTENSION_ROOT , dissect_lpp_Sensor_LocationServerErrorCauses_r13 },
{ 1, &hf_lpp_targetDeviceErrorCauses_r13_01, ASN1_EXTENSION_ROOT , dissect_lpp_Sensor_TargetDeviceErrorCauses_r13 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_Sensor_Error_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_Error_r13, Sensor_Error_r13_choice,
NULL);
return offset;
}
static const per_sequence_t Sensor_ProvideAssistanceData_r14_sequence[] = {
{ &hf_lpp_sensor_AssistanceDataList_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Sensor_AssistanceDataList_r14 },
{ &hf_lpp_sensor_Error_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Sensor_Error_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_ProvideAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_ProvideAssistanceData_r14, Sensor_ProvideAssistanceData_r14_sequence);
return offset;
}
static int
dissect_lpp_T_transmitterLatitude_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1704 "./asn1/lpp/lpp.cnf"
tvbuff_t *transmitterLatitude_tvb = NULL;
guint32 val;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
26, 26, FALSE, NULL, 0, &transmitterLatitude_tvb, NULL);
val = tvb_get_bits32(transmitterLatitude_tvb, 0, 26, ENC_BIG_ENDIAN);
actx->created_item = proto_tree_add_uint(tree, hf_index, transmitterLatitude_tvb, 0, 4, val);
return offset;
}
static int
dissect_lpp_T_transmitterLongitude_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1715 "./asn1/lpp/lpp.cnf"
tvbuff_t *transmitterLongitude_tvb = NULL;
guint32 val;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
27, 27, FALSE, NULL, 0, &transmitterLongitude_tvb, NULL);
val = tvb_get_bits32(transmitterLongitude_tvb, 0, 27, ENC_BIG_ENDIAN);
actx->created_item = proto_tree_add_uint(tree, hf_index, transmitterLongitude_tvb, 0, 4, val);
return offset;
}
static int
dissect_lpp_T_transmitterAltitude_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1726 "./asn1/lpp/lpp.cnf"
tvbuff_t *transmitterAltitude_tvb = NULL;
guint32 val;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
15, 15, FALSE, NULL, 0, &transmitterAltitude_tvb, NULL);
val = tvb_get_bits16(transmitterAltitude_tvb, 0, 15, ENC_BIG_ENDIAN);
actx->created_item = proto_tree_add_uint(tree, hf_index, transmitterAltitude_tvb, 0, 2, val);
return offset;
}
static int
dissect_lpp_INTEGER_0_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 25U, NULL, FALSE);
return offset;
}
static const per_sequence_t MBS_AlmanacAssistance_r14_sequence[] = {
{ &hf_lpp_transmitterID_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_32767 },
{ &hf_lpp_transmitterLatitude_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_transmitterLatitude_r14 },
{ &hf_lpp_transmitterLongitude_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_transmitterLongitude_r14 },
{ &hf_lpp_transmitterAltitude_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_transmitterAltitude_r14 },
{ &hf_lpp_timeCorrection_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_25 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MBS_AlmanacAssistance_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_MBS_AlmanacAssistance_r14, MBS_AlmanacAssistance_r14_sequence);
return offset;
}
static const value_string lpp_T_mbsConfiguration_r14_vals[] = {
{ 0, "tb1" },
{ 1, "tb2" },
{ 2, "tb3" },
{ 3, "tb4" },
{ 0, NULL }
};
static int
dissect_lpp_T_mbsConfiguration_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_919750000_927250000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
919750000U, 927250000U, NULL, FALSE);
return offset;
}
static const per_sequence_t MBS_AcquisitionAssistance_r14_sequence[] = {
{ &hf_lpp_transmitterID_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_32767 },
{ &hf_lpp_mbsConfiguration_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_mbsConfiguration_r14 },
{ &hf_lpp_pnCodeIndex_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_128 },
{ &hf_lpp_freq_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_919750000_927250000 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MBS_AcquisitionAssistance_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_MBS_AcquisitionAssistance_r14, MBS_AcquisitionAssistance_r14_sequence);
return offset;
}
static const per_sequence_t MBS_AssistanceDataElement_r14_sequence[] = {
{ &hf_lpp_mbs_AlmanacAssistance_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_MBS_AlmanacAssistance_r14 },
{ &hf_lpp_mbs_AcquisitionAssistance_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_MBS_AcquisitionAssistance_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MBS_AssistanceDataElement_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_MBS_AssistanceDataElement_r14, MBS_AssistanceDataElement_r14_sequence);
return offset;
}
static const per_sequence_t MBS_AssistanceDataList_r14_sequence_of[1] = {
{ &hf_lpp_MBS_AssistanceDataList_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_MBS_AssistanceDataElement_r14 },
};
static int
dissect_lpp_MBS_AssistanceDataList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_MBS_AssistanceDataList_r14, MBS_AssistanceDataList_r14_sequence_of,
1, maxMBS_r14, FALSE);
return offset;
}
static const per_sequence_t TBS_AssistanceDataList_r14_sequence[] = {
{ &hf_lpp_mbs_AssistanceDataList_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_MBS_AssistanceDataList_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TBS_AssistanceDataList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TBS_AssistanceDataList_r14, TBS_AssistanceDataList_r14_sequence);
return offset;
}
static const value_string lpp_T_cause_r13_vals[] = {
{ 0, "undefined" },
{ 1, "assistanceDataNotSupportedByServer-v1420" },
{ 2, "assistanceDataSupportedButCurrentlyNotAvailableByServer-v1420" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 2, NULL);
return offset;
}
static const per_sequence_t TBS_LocationServerErrorCauses_r13_sequence[] = {
{ &hf_lpp_cause_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TBS_LocationServerErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TBS_LocationServerErrorCauses_r13, TBS_LocationServerErrorCauses_r13_sequence);
return offset;
}
static const value_string lpp_T_cause_r13_01_vals[] = {
{ 0, "undefined" },
{ 1, "thereWereNotEnoughMBSBeaconsReceived" },
{ 2, "assistanceDataMissing-v1420" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r13_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 1, NULL);
return offset;
}
static const per_sequence_t TBS_TargetDeviceErrorCauses_r13_sequence[] = {
{ &hf_lpp_cause_r13_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TBS_TargetDeviceErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TBS_TargetDeviceErrorCauses_r13, TBS_TargetDeviceErrorCauses_r13_sequence);
return offset;
}
static const value_string lpp_TBS_Error_r13_vals[] = {
{ 0, "locationServerErrorCauses-r13" },
{ 1, "targetDeviceErrorCauses-r13" },
{ 0, NULL }
};
static const per_choice_t TBS_Error_r13_choice[] = {
{ 0, &hf_lpp_locationServerErrorCauses_r13, ASN1_EXTENSION_ROOT , dissect_lpp_TBS_LocationServerErrorCauses_r13 },
{ 1, &hf_lpp_targetDeviceErrorCauses_r13, ASN1_EXTENSION_ROOT , dissect_lpp_TBS_TargetDeviceErrorCauses_r13 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_TBS_Error_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_TBS_Error_r13, TBS_Error_r13_choice,
NULL);
return offset;
}
static const per_sequence_t TBS_ProvideAssistanceData_r14_sequence[] = {
{ &hf_lpp_tbs_AssistanceDataList_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_TBS_AssistanceDataList_r14 },
{ &hf_lpp_tbs_Error_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_TBS_Error_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TBS_ProvideAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TBS_ProvideAssistanceData_r14, TBS_ProvideAssistanceData_r14_sequence);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
34, 34, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
30, 30, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t LocationDataLCI_r14_sequence[] = {
{ &hf_lpp_latitudeUncertainty_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_6 },
{ &hf_lpp_latitude_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_34 },
{ &hf_lpp_longitudeUncertainty_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_6 },
{ &hf_lpp_longitude_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_34 },
{ &hf_lpp_altitudeUncertainty_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_6 },
{ &hf_lpp_altitude_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_30 },
{ &hf_lpp_datum_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_8 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_LocationDataLCI_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_LocationDataLCI_r14, LocationDataLCI_r14_sequence);
return offset;
}
static const per_sequence_t WLAN_AP_Location_r14_sequence[] = {
{ &hf_lpp_locationDataLCI_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LocationDataLCI_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_AP_Location_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_AP_Location_r14, WLAN_AP_Location_r14_sequence);
return offset;
}
static const per_sequence_t WLAN_AP_Data_r14_sequence[] = {
{ &hf_lpp_wlan_AP_Identifier_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_AP_Identifier_r13 },
{ &hf_lpp_wlan_AP_Location_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_WLAN_AP_Location_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_AP_Data_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_AP_Data_r14, WLAN_AP_Data_r14_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14_sequence_of[1] = {
{ &hf_lpp_wlan_AP_List_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_AP_Data_r14 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14, SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14_sequence_of,
1, maxWLAN_AP_r14, FALSE);
return offset;
}
static const per_sequence_t SupportedChannels_11a_r14_sequence[] = {
{ &hf_lpp_ch34_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch36_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch38_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch40_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch42_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch44_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch46_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch48_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch52_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch56_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch60_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch64_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch149_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch153_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch157_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch161_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SupportedChannels_11a_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SupportedChannels_11a_r14, SupportedChannels_11a_r14_sequence);
return offset;
}
static const per_sequence_t SupportedChannels_11bg_r14_sequence[] = {
{ &hf_lpp_ch1_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch2_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch3_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch4_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch5_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch6_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch7_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch8_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch9_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch10_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch11_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch12_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch13_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_ch14_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SupportedChannels_11bg_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SupportedChannels_11bg_r14, SupportedChannels_11bg_r14_sequence);
return offset;
}
static const per_sequence_t WLAN_DataSet_r14_sequence[] = {
{ &hf_lpp_wlan_AP_List_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14 },
{ &hf_lpp_supportedChannels_11a_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SupportedChannels_11a_r14 },
{ &hf_lpp_supportedChannels_11bg_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SupportedChannels_11bg_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_DataSet_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_DataSet_r14, WLAN_DataSet_r14_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14_sequence_of[1] = {
{ &hf_lpp_wlan_DataSet_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_DataSet_r14 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14, SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14_sequence_of,
1, maxWLAN_DataSets_r14, FALSE);
return offset;
}
static const value_string lpp_T_cause_r13_04_vals[] = {
{ 0, "undefined" },
{ 1, "requestedADNotAvailable-v1420" },
{ 2, "notAllrequestedADAvailable-v1420" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r13_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 2, NULL);
return offset;
}
static const per_sequence_t WLAN_LocationServerErrorCauses_r13_eag_1_sequence[] = {
{ &hf_lpp_apLocationDataUnavailable_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NULL },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_LocationServerErrorCauses_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, WLAN_LocationServerErrorCauses_r13_eag_1_sequence);
return offset;
}
static const per_sequence_t WLAN_LocationServerErrorCauses_r13_sequence[] = {
{ &hf_lpp_cause_r13_04 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_04 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_LocationServerErrorCauses_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_LocationServerErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_LocationServerErrorCauses_r13, WLAN_LocationServerErrorCauses_r13_sequence);
return offset;
}
static const value_string lpp_T_cause_r13_05_vals[] = {
{ 0, "undefined" },
{ 1, "requestedMeasurementsNotAvailable" },
{ 2, "notAllrequestedMeasurementsPossible" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r13_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t WLAN_TargetDeviceErrorCauses_r13_sequence[] = {
{ &hf_lpp_cause_r13_05 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_05 },
{ &hf_lpp_wlan_AP_RSSI_MeasurementNotPossible_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &hf_lpp_wlan_AP_RTT_MeasurementNotPossible_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_TargetDeviceErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_TargetDeviceErrorCauses_r13, WLAN_TargetDeviceErrorCauses_r13_sequence);
return offset;
}
static const value_string lpp_WLAN_Error_r13_vals[] = {
{ 0, "locationServerErrorCauses-r13" },
{ 1, "targetDeviceErrorCauses-r13" },
{ 0, NULL }
};
static const per_choice_t WLAN_Error_r13_choice[] = {
{ 0, &hf_lpp_locationServerErrorCauses_r13_02, ASN1_EXTENSION_ROOT , dissect_lpp_WLAN_LocationServerErrorCauses_r13 },
{ 1, &hf_lpp_targetDeviceErrorCauses_r13_02, ASN1_EXTENSION_ROOT , dissect_lpp_WLAN_TargetDeviceErrorCauses_r13 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_WLAN_Error_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_Error_r13, WLAN_Error_r13_choice,
NULL);
return offset;
}
static const per_sequence_t WLAN_ProvideAssistanceData_r14_sequence[] = {
{ &hf_lpp_wlan_DataSet_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14 },
{ &hf_lpp_wlan_Error_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_WLAN_Error_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_ProvideAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_ProvideAssistanceData_r14, WLAN_ProvideAssistanceData_r14_sequence);
return offset;
}
static const per_sequence_t ProvideAssistanceData_r9_IEs_eag_1_sequence[] = {
{ &hf_lpp_sensor_ProvideAssistanceData_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Sensor_ProvideAssistanceData_r14 },
{ &hf_lpp_tbs_ProvideAssistanceData_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TBS_ProvideAssistanceData_r14 },
{ &hf_lpp_wlan_ProvideAssistanceData_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_WLAN_ProvideAssistanceData_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ProvideAssistanceData_r9_IEs_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ProvideAssistanceData_r9_IEs_eag_1_sequence);
return offset;
}
static int
dissect_lpp_NR_DL_PRS_ResourceID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, nrMaxNumDL_PRS_ResourcesPerSet_1_r16, NULL, FALSE);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxResourceIDs_r16_OF_NR_DL_PRS_ResourceID_r16_sequence_of[1] = {
{ &hf_lpp_nr_DL_PRS_ResourceID_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ResourceID_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxResourceIDs_r16_OF_NR_DL_PRS_ResourceID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxResourceIDs_r16_OF_NR_DL_PRS_ResourceID_r16, SEQUENCE_SIZE_1_nrMaxResourceIDs_r16_OF_NR_DL_PRS_ResourceID_r16_sequence_of,
1, nrMaxResourceIDs_r16, FALSE);
return offset;
}
static int
dissect_lpp_NR_DL_PRS_ResourceSetID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, nrMaxNumDL_PRS_ResourceSetsPerTRP_1_r16, NULL, FALSE);
return offset;
}
static const per_sequence_t DL_PRS_ID_Info_r16_sequence[] = {
{ &hf_lpp_dl_PRS_ID_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_nr_DL_PRS_ResourceID_List_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxResourceIDs_r16_OF_NR_DL_PRS_ResourceID_r16 },
{ &hf_lpp_nr_DL_PRS_ResourceSetID_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DL_PRS_ID_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_ID_Info_r16, DL_PRS_ID_Info_r16_sequence);
return offset;
}
static const value_string lpp_T_dl_PRS_SubcarrierSpacing_r16_vals[] = {
{ 0, "kHz15" },
{ 1, "kHz30" },
{ 2, "kHz60" },
{ 3, "kHz120" },
{ 0, NULL }
};
static int
dissect_lpp_T_dl_PRS_SubcarrierSpacing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_1_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 63U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_2176(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 2176U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_dl_PRS_CombSizeN_r16_vals[] = {
{ 0, "n2" },
{ 1, "n4" },
{ 2, "n6" },
{ 3, "n12" },
{ 0, NULL }
};
static int
dissect_lpp_T_dl_PRS_CombSizeN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_dl_PRS_CyclicPrefix_r16_vals[] = {
{ 0, "normal" },
{ 1, "extended" },
{ 0, NULL }
};
static int
dissect_lpp_T_dl_PRS_CyclicPrefix_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t NR_DL_PRS_PositioningFrequencyLayer_r16_sequence[] = {
{ &hf_lpp_dl_PRS_SubcarrierSpacing_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_dl_PRS_SubcarrierSpacing_r16 },
{ &hf_lpp_dl_PRS_ResourceBandwidth_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_63 },
{ &hf_lpp_dl_PRS_StartPRB_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2176 },
{ &hf_lpp_dl_PRS_PointA_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueNR_r15 },
{ &hf_lpp_dl_PRS_CombSizeN_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_dl_PRS_CombSizeN_r16 },
{ &hf_lpp_dl_PRS_CyclicPrefix_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_dl_PRS_CyclicPrefix_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_PositioningFrequencyLayer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_PositioningFrequencyLayer_r16, NR_DL_PRS_PositioningFrequencyLayer_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_PRS_SFN0_Offset_r16_sequence[] = {
{ &hf_lpp_sfn_Offset_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
{ &hf_lpp_integerSubframeOffset_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_SFN0_Offset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_SFN0_Offset_r16, NR_DL_PRS_SFN0_Offset_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M3841_3841(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-3841, 3841U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_246(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 246U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 39U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_79(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 79U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_159(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 159U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_319(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 319U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_639(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 639U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_2559(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 2559U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_5119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 5119U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_10239(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 10239U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_scs15_r16_vals[] = {
{ 0, "n4-r16" },
{ 1, "n5-r16" },
{ 2, "n8-r16" },
{ 3, "n10-r16" },
{ 4, "n16-r16" },
{ 5, "n20-r16" },
{ 6, "n32-r16" },
{ 7, "n40-r16" },
{ 8, "n64-r16" },
{ 9, "n80-r16" },
{ 10, "n160-r16" },
{ 11, "n320-r16" },
{ 12, "n640-r16" },
{ 13, "n1280-r16" },
{ 14, "n2560-r16" },
{ 15, "n5120-r16" },
{ 16, "n10240-r16" },
{ 0, NULL }
};
static const per_choice_t T_scs15_r16_choice[] = {
{ 0, &hf_lpp_n4_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_3 },
{ 1, &hf_lpp_n5_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_4 },
{ 2, &hf_lpp_n8_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_7 },
{ 3, &hf_lpp_n10_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_9 },
{ 4, &hf_lpp_n16_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_15 },
{ 5, &hf_lpp_n20_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_19 },
{ 6, &hf_lpp_n32_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_31 },
{ 7, &hf_lpp_n40_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_39 },
{ 8, &hf_lpp_n64_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_63 },
{ 9, &hf_lpp_n80_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_79 },
{ 10, &hf_lpp_n160_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_159 },
{ 11, &hf_lpp_n320_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_319 },
{ 12, &hf_lpp_n640_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_639 },
{ 13, &hf_lpp_n1280_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_1279 },
{ 14, &hf_lpp_n2560_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_2559 },
{ 15, &hf_lpp_n5120_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_5119 },
{ 16, &hf_lpp_n10240_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_10239 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_scs15_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_scs15_r16, T_scs15_r16_choice,
NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_20479(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 20479U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_scs30_r16_vals[] = {
{ 0, "n8-r16" },
{ 1, "n10-r16" },
{ 2, "n16-r16" },
{ 3, "n20-r16" },
{ 4, "n32-r16" },
{ 5, "n40-r16" },
{ 6, "n64-r16" },
{ 7, "n80-r16" },
{ 8, "n128-r16" },
{ 9, "n160-r16" },
{ 10, "n320-r16" },
{ 11, "n640-r16" },
{ 12, "n1280-r16" },
{ 13, "n2560-r16" },
{ 14, "n5120-r16" },
{ 15, "n10240-r16" },
{ 16, "n20480-r16" },
{ 0, NULL }
};
static const per_choice_t T_scs30_r16_choice[] = {
{ 0, &hf_lpp_n8_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_7 },
{ 1, &hf_lpp_n10_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_9 },
{ 2, &hf_lpp_n16_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_15 },
{ 3, &hf_lpp_n20_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_19 },
{ 4, &hf_lpp_n32_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_31 },
{ 5, &hf_lpp_n40_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_39 },
{ 6, &hf_lpp_n64_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_63 },
{ 7, &hf_lpp_n80_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_79 },
{ 8, &hf_lpp_n128_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_127 },
{ 9, &hf_lpp_n160_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_159 },
{ 10, &hf_lpp_n320_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_319 },
{ 11, &hf_lpp_n640_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_639 },
{ 12, &hf_lpp_n1280_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_1279 },
{ 13, &hf_lpp_n2560_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_2559 },
{ 14, &hf_lpp_n5120_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_5119 },
{ 15, &hf_lpp_n10240_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_10239 },
{ 16, &hf_lpp_n20480_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_20479 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_scs30_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_scs30_r16, T_scs30_r16_choice,
NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_40959(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 40959U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_scs60_r16_vals[] = {
{ 0, "n16-r16" },
{ 1, "n20-r16" },
{ 2, "n32-r16" },
{ 3, "n40-r16" },
{ 4, "n64-r16" },
{ 5, "n80-r16" },
{ 6, "n128-r16" },
{ 7, "n160-r16" },
{ 8, "n256-r16" },
{ 9, "n320-r16" },
{ 10, "n640-r16" },
{ 11, "n1280-r16" },
{ 12, "n2560-r16" },
{ 13, "n5120-r16" },
{ 14, "n10240-r16" },
{ 15, "n20480-r16" },
{ 16, "n40960-r16" },
{ 0, NULL }
};
static const per_choice_t T_scs60_r16_choice[] = {
{ 0, &hf_lpp_n16_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_15 },
{ 1, &hf_lpp_n20_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_19 },
{ 2, &hf_lpp_n32_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_31 },
{ 3, &hf_lpp_n40_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_39 },
{ 4, &hf_lpp_n64_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_63 },
{ 5, &hf_lpp_n80_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_79 },
{ 6, &hf_lpp_n128_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_127 },
{ 7, &hf_lpp_n160_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_159 },
{ 8, &hf_lpp_n256_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_255 },
{ 9, &hf_lpp_n320_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_319 },
{ 10, &hf_lpp_n640_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_639 },
{ 11, &hf_lpp_n1280_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_1279 },
{ 12, &hf_lpp_n2560_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_2559 },
{ 13, &hf_lpp_n5120_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_5119 },
{ 14, &hf_lpp_n10240_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_10239 },
{ 15, &hf_lpp_n20480_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_20479 },
{ 16, &hf_lpp_n40960_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_40959 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_scs60_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_scs60_r16, T_scs60_r16_choice,
NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_81919(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 81919U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_scs120_r16_vals[] = {
{ 0, "n32-r16" },
{ 1, "n40-r16" },
{ 2, "n64-r16" },
{ 3, "n80-r16" },
{ 4, "n128-r16" },
{ 5, "n160-r16" },
{ 6, "n256-r16" },
{ 7, "n320-r16" },
{ 8, "n512-r16" },
{ 9, "n640-r16" },
{ 10, "n1280-r16" },
{ 11, "n2560-r16" },
{ 12, "n5120-r16" },
{ 13, "n10240-r16" },
{ 14, "n20480-r16" },
{ 15, "n40960-r16" },
{ 16, "n81920-r16" },
{ 0, NULL }
};
static const per_choice_t T_scs120_r16_choice[] = {
{ 0, &hf_lpp_n32_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_31 },
{ 1, &hf_lpp_n40_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_39 },
{ 2, &hf_lpp_n64_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_63 },
{ 3, &hf_lpp_n80_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_79 },
{ 4, &hf_lpp_n128_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_127 },
{ 5, &hf_lpp_n160_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_159 },
{ 6, &hf_lpp_n256_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_255 },
{ 7, &hf_lpp_n320_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_319 },
{ 8, &hf_lpp_n512_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_511 },
{ 9, &hf_lpp_n640_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_639 },
{ 10, &hf_lpp_n1280_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_1279 },
{ 11, &hf_lpp_n2560_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_2559 },
{ 12, &hf_lpp_n5120_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_5119 },
{ 13, &hf_lpp_n10240_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_10239 },
{ 14, &hf_lpp_n20480_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_20479 },
{ 15, &hf_lpp_n40960_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_40959 },
{ 16, &hf_lpp_n81920_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_81919 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_scs120_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_scs120_r16, T_scs120_r16_choice,
NULL);
return offset;
}
static const value_string lpp_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16_vals[] = {
{ 0, "scs15-r16" },
{ 1, "scs30-r16" },
{ 2, "scs60-r16" },
{ 3, "scs120-r16" },
{ 0, NULL }
};
static const per_choice_t NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16_choice[] = {
{ 0, &hf_lpp_scs15_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_T_scs15_r16 },
{ 1, &hf_lpp_scs30_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_T_scs30_r16 },
{ 2, &hf_lpp_scs60_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_T_scs60_r16 },
{ 3, &hf_lpp_scs120_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_T_scs120_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16, NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16_choice,
NULL);
return offset;
}
static const value_string lpp_T_dl_PRS_ResourceRepetitionFactor_r16_vals[] = {
{ 0, "n2" },
{ 1, "n4" },
{ 2, "n6" },
{ 3, "n8" },
{ 4, "n16" },
{ 5, "n32" },
{ 0, NULL }
};
static int
dissect_lpp_T_dl_PRS_ResourceRepetitionFactor_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_dl_PRS_ResourceTimeGap_r16_vals[] = {
{ 0, "s1" },
{ 1, "s2" },
{ 2, "s4" },
{ 3, "s8" },
{ 4, "s16" },
{ 5, "s32" },
{ 0, NULL }
};
static int
dissect_lpp_T_dl_PRS_ResourceTimeGap_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_dl_PRS_NumSymbols_r16_vals[] = {
{ 0, "n2" },
{ 1, "n4" },
{ 2, "n6" },
{ 3, "n12" },
{ 0, NULL }
};
static int
dissect_lpp_T_dl_PRS_NumSymbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_dl_prs_MutingBitRepetitionFactor_r16_vals[] = {
{ 0, "n1" },
{ 1, "n2" },
{ 2, "n4" },
{ 3, "n8" },
{ 0, NULL }
};
static int
dissect_lpp_T_dl_prs_MutingBitRepetitionFactor_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_NR_MutingPattern_r16_vals[] = {
{ 0, "po2-r16" },
{ 1, "po4-r16" },
{ 2, "po6-r16" },
{ 3, "po8-r16" },
{ 4, "po16-r16" },
{ 5, "po32-r16" },
{ 0, NULL }
};
static const per_choice_t NR_MutingPattern_r16_choice[] = {
{ 0, &hf_lpp_po2_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_2 },
{ 1, &hf_lpp_po4_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_4 },
{ 2, &hf_lpp_po6_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_6 },
{ 3, &hf_lpp_po8_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_8 },
{ 4, &hf_lpp_po16_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_16 },
{ 5, &hf_lpp_po32_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_32 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_NR_MutingPattern_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_MutingPattern_r16, NR_MutingPattern_r16_choice,
NULL);
return offset;
}
static const per_sequence_t DL_PRS_MutingOption1_r16_sequence[] = {
{ &hf_lpp_dl_prs_MutingBitRepetitionFactor_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dl_prs_MutingBitRepetitionFactor_r16 },
{ &hf_lpp_nr_option1_muting_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_MutingPattern_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DL_PRS_MutingOption1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_MutingOption1_r16, DL_PRS_MutingOption1_r16_sequence);
return offset;
}
static const per_sequence_t DL_PRS_MutingOption2_r16_sequence[] = {
{ &hf_lpp_nr_option2_muting_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_MutingPattern_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DL_PRS_MutingOption2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_MutingOption2_r16, DL_PRS_MutingOption2_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M60_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-60, 50U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 5U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 11U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_dl_PRS_CombSizeN_AndReOffset_r16_vals[] = {
{ 0, "n2-r16" },
{ 1, "n4-r16" },
{ 2, "n6-r16" },
{ 3, "n12-r16" },
{ 0, NULL }
};
static const per_choice_t T_dl_PRS_CombSizeN_AndReOffset_r16_choice[] = {
{ 0, &hf_lpp_n2_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_1 },
{ 1, &hf_lpp_n4_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_3 },
{ 2, &hf_lpp_n6_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_5 },
{ 3, &hf_lpp_n12_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_11 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_dl_PRS_CombSizeN_AndReOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_dl_PRS_CombSizeN_AndReOffset_r16, T_dl_PRS_CombSizeN_AndReOffset_r16_choice,
NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_nrMaxResourceOffsetValue_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, nrMaxResourceOffsetValue_1_r16, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 12U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_rs_Type_r16_vals[] = {
{ 0, "typeC" },
{ 1, "typeD" },
{ 2, "typeC-plus-typeD" },
{ 0, NULL }
};
static int
dissect_lpp_T_rs_Type_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t T_ssb_r16_sequence[] = {
{ &hf_lpp_pci_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_ssb_Index_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ &hf_lpp_rs_Type_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_rs_Type_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_ssb_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_ssb_r16, T_ssb_r16_sequence);
return offset;
}
static const per_sequence_t T_dl_PRS_r16_sequence[] = {
{ &hf_lpp_qcl_DL_PRS_ResourceID_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ResourceID_r16 },
{ &hf_lpp_qcl_DL_PRS_ResourceSetID_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ResourceSetID_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_dl_PRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_dl_PRS_r16, T_dl_PRS_r16_sequence);
return offset;
}
static const value_string lpp_DL_PRS_QCL_Info_r16_vals[] = {
{ 0, "ssb-r16" },
{ 1, "dl-PRS-r16" },
{ 0, NULL }
};
static const per_choice_t DL_PRS_QCL_Info_r16_choice[] = {
{ 0, &hf_lpp_ssb_r16 , ASN1_NO_EXTENSIONS , dissect_lpp_T_ssb_r16 },
{ 1, &hf_lpp_dl_PRS_r16 , ASN1_NO_EXTENSIONS , dissect_lpp_T_dl_PRS_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_DL_PRS_QCL_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_QCL_Info_r16, DL_PRS_QCL_Info_r16_choice,
NULL);
return offset;
}
static const per_sequence_t NR_DL_PRS_Resource_r16_sequence[] = {
{ &hf_lpp_nr_DL_PRS_ResourceID_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ResourceID_r16 },
{ &hf_lpp_dl_PRS_SequenceID_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_dl_PRS_CombSizeN_AndReOffset_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_dl_PRS_CombSizeN_AndReOffset_r16 },
{ &hf_lpp_dl_PRS_ResourceSlotOffset_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_nrMaxResourceOffsetValue_1_r16 },
{ &hf_lpp_dl_PRS_ResourceSymbolOffset_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_12 },
{ &hf_lpp_dl_PRS_QCL_Info_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_DL_PRS_QCL_Info_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_Resource_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_Resource_r16, NR_DL_PRS_Resource_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_NR_DL_PRS_Resource_r16_sequence_of[1] = {
{ &hf_lpp_dl_PRS_ResourceList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_Resource_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_NR_DL_PRS_Resource_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_NR_DL_PRS_Resource_r16, SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_NR_DL_PRS_Resource_r16_sequence_of,
1, nrMaxResourcesPerSet_r16, FALSE);
return offset;
}
static const per_sequence_t NR_DL_PRS_ResourceSet_r16_sequence[] = {
{ &hf_lpp_nr_DL_PRS_ResourceSetID_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ResourceSetID_r16 },
{ &hf_lpp_dl_PRS_Periodicity_and_ResourceSetSlotOffset_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16 },
{ &hf_lpp_dl_PRS_ResourceRepetitionFactor_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dl_PRS_ResourceRepetitionFactor_r16 },
{ &hf_lpp_dl_PRS_ResourceTimeGap_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dl_PRS_ResourceTimeGap_r16 },
{ &hf_lpp_dl_PRS_NumSymbols_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_dl_PRS_NumSymbols_r16 },
{ &hf_lpp_dl_PRS_MutingOption1_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_DL_PRS_MutingOption1_r16 },
{ &hf_lpp_dl_PRS_MutingOption2_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_DL_PRS_MutingOption2_r16 },
{ &hf_lpp_dl_PRS_ResourcePower_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M60_50 },
{ &hf_lpp_dl_PRS_ResourceList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_NR_DL_PRS_Resource_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_ResourceSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_ResourceSet_r16, NR_DL_PRS_ResourceSet_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ResourceSet_r16_sequence_of[1] = {
{ &hf_lpp_nr_DL_PRS_ResourceSetList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ResourceSet_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ResourceSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ResourceSet_r16, SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ResourceSet_r16_sequence_of,
1, nrMaxSetsPerTrpPerFreqLayer_r16, FALSE);
return offset;
}
static const per_sequence_t NR_DL_PRS_Info_r16_sequence[] = {
{ &hf_lpp_nr_DL_PRS_ResourceSetList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ResourceSet_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_Info_r16, NR_DL_PRS_Info_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_PRS_AssistanceDataPerTRP_r16_sequence[] = {
{ &hf_lpp_dl_PRS_ID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_CellGlobalID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ &hf_lpp_nr_ARFCN_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 },
{ &hf_lpp_nr_DL_PRS_SFN0_Offset_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_SFN0_Offset_r16 },
{ &hf_lpp_nr_DL_PRS_ExpectedRSTD_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M3841_3841 },
{ &hf_lpp_nr_DL_PRS_ExpectedRSTD_Uncertainty_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_246 },
{ &hf_lpp_nr_DL_PRS_Info_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_Info_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_AssistanceDataPerTRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_AssistanceDataPerTRP_r16, NR_DL_PRS_AssistanceDataPerTRP_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_DL_PRS_AssistanceDataPerTRP_r16_sequence_of[1] = {
{ &hf_lpp_nr_DL_PRS_AssistanceDataPerFreq_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_AssistanceDataPerTRP_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_DL_PRS_AssistanceDataPerTRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_DL_PRS_AssistanceDataPerTRP_r16, SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_DL_PRS_AssistanceDataPerTRP_r16_sequence_of,
1, nrMaxTRPsPerFreq_r16, FALSE);
return offset;
}
static const per_sequence_t NR_DL_PRS_AssistanceDataPerFreq_r16_sequence[] = {
{ &hf_lpp_nr_DL_PRS_PositioningFrequencyLayer_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_PositioningFrequencyLayer_r16 },
{ &hf_lpp_nr_DL_PRS_AssistanceDataPerFreq_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_DL_PRS_AssistanceDataPerTRP_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_AssistanceDataPerFreq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_AssistanceDataPerFreq_r16, NR_DL_PRS_AssistanceDataPerFreq_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxFreqLayers_r16_OF_NR_DL_PRS_AssistanceDataPerFreq_r16_sequence_of[1] = {
{ &hf_lpp_nr_DL_PRS_AssistanceDataList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_AssistanceDataPerFreq_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxFreqLayers_r16_OF_NR_DL_PRS_AssistanceDataPerFreq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxFreqLayers_r16_OF_NR_DL_PRS_AssistanceDataPerFreq_r16, SEQUENCE_SIZE_1_nrMaxFreqLayers_r16_OF_NR_DL_PRS_AssistanceDataPerFreq_r16_sequence_of,
1, nrMaxFreqLayers_r16, FALSE);
return offset;
}
static const value_string lpp_T_ssb_periodicity_r16_vals[] = {
{ 0, "ms5" },
{ 1, "ms10" },
{ 2, "ms20" },
{ 3, "ms40" },
{ 4, "ms80" },
{ 5, "ms160" },
{ 0, NULL }
};
static int
dissect_lpp_T_ssb_periodicity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_ssb_PositionsInBurst_r16_vals[] = {
{ 0, "shortBitmap-r16" },
{ 1, "mediumBitmap-r16" },
{ 2, "longBitmap-r16" },
{ 0, NULL }
};
static const per_choice_t T_ssb_PositionsInBurst_r16_choice[] = {
{ 0, &hf_lpp_shortBitmap_r16 , ASN1_NO_EXTENSIONS , dissect_lpp_BIT_STRING_SIZE_4 },
{ 1, &hf_lpp_mediumBitmap_r16, ASN1_NO_EXTENSIONS , dissect_lpp_BIT_STRING_SIZE_8 },
{ 2, &hf_lpp_longBitmap_r16 , ASN1_NO_EXTENSIONS , dissect_lpp_BIT_STRING_SIZE_64 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_ssb_PositionsInBurst_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_ssb_PositionsInBurst_r16, T_ssb_PositionsInBurst_r16_choice,
NULL);
return offset;
}
static const value_string lpp_T_ssb_SubcarrierSpacing_r16_vals[] = {
{ 0, "kHz15" },
{ 1, "kHz30" },
{ 2, "kHz60" },
{ 3, "kHz120" },
{ 4, "kHz240" },
{ 0, NULL }
};
static int
dissect_lpp_T_ssb_SubcarrierSpacing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t NR_SSB_Config_r16_sequence[] = {
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_ARFCN_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueNR_r15 },
{ &hf_lpp_ss_PBCH_BlockPower_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M60_50 },
{ &hf_lpp_halfFrameIndex_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
{ &hf_lpp_ssb_periodicity_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_ssb_periodicity_r16 },
{ &hf_lpp_ssb_PositionsInBurst_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_ssb_PositionsInBurst_r16 },
{ &hf_lpp_ssb_SubcarrierSpacing_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_ssb_SubcarrierSpacing_r16 },
{ &hf_lpp_sfn_SSB_Offset_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_SSB_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_SSB_Config_r16, NR_SSB_Config_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxTRPs_r16_OF_NR_SSB_Config_r16_sequence_of[1] = {
{ &hf_lpp_nr_SSB_Config_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_SSB_Config_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxTRPs_r16_OF_NR_SSB_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPs_r16_OF_NR_SSB_Config_r16, SEQUENCE_SIZE_1_nrMaxTRPs_r16_OF_NR_SSB_Config_r16_sequence_of,
1, nrMaxTRPs_r16, FALSE);
return offset;
}
static const per_sequence_t NR_DL_PRS_AssistanceData_r16_sequence[] = {
{ &hf_lpp_nr_DL_PRS_ReferenceInfo_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_ID_Info_r16 },
{ &hf_lpp_nr_DL_PRS_AssistanceDataList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_nrMaxFreqLayers_r16_OF_NR_DL_PRS_AssistanceDataPerFreq_r16 },
{ &hf_lpp_nr_SSB_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxTRPs_r16_OF_NR_SSB_Config_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_AssistanceData_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_AssistanceData_r16, NR_DL_PRS_AssistanceData_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_nrMaxFreqLayers_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, nrMaxFreqLayers_1_r16, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_nrMaxTRPsPerFreq_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, nrMaxTRPsPerFreq_1_r16, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_nrMaxSetsPerTrpPerFreqLayer_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, nrMaxSetsPerTrpPerFreqLayer_1_r16, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_nrMaxNumDL_PRS_ResourcesPerSet_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, nrMaxNumDL_PRS_ResourcesPerSet_1_r16, NULL, FALSE);
return offset;
}
static const per_sequence_t DL_SelectedPRS_ResourceIndex_r16_sequence[] = {
{ &hf_lpp_nr_DL_SelectedPRS_ResourceIdIndex_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_nrMaxNumDL_PRS_ResourcesPerSet_1_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DL_SelectedPRS_ResourceIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_SelectedPRS_ResourceIndex_r16, DL_SelectedPRS_ResourceIndex_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_SelectedPRS_ResourceIndex_r16_sequence_of[1] = {
{ &hf_lpp_dl_SelectedPRS_ResourceIndexList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_SelectedPRS_ResourceIndex_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_SelectedPRS_ResourceIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_SelectedPRS_ResourceIndex_r16, SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_SelectedPRS_ResourceIndex_r16_sequence_of,
1, nrMaxResourcesPerSet_r16, FALSE);
return offset;
}
static const per_sequence_t DL_SelectedPRS_ResourceSetIndex_r16_sequence[] = {
{ &hf_lpp_nr_DL_SelectedPRS_ResourceSetIndex_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_nrMaxSetsPerTrpPerFreqLayer_1_r16 },
{ &hf_lpp_dl_SelectedPRS_ResourceIndexList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_SelectedPRS_ResourceIndex_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DL_SelectedPRS_ResourceSetIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_SelectedPRS_ResourceSetIndex_r16, DL_SelectedPRS_ResourceSetIndex_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_SelectedPRS_ResourceSetIndex_r16_sequence_of[1] = {
{ &hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_SelectedPRS_ResourceSetIndex_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_SelectedPRS_ResourceSetIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_SelectedPRS_ResourceSetIndex_r16, SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_SelectedPRS_ResourceSetIndex_r16_sequence_of,
1, nrMaxSetsPerTrpPerFreqLayer_r16, FALSE);
return offset;
}
static const per_sequence_t NR_SelectedDL_PRS_IndexPerTRP_r16_sequence[] = {
{ &hf_lpp_nr_SelectedTRP_Index_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_nrMaxTRPsPerFreq_1_r16 },
{ &hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_SelectedPRS_ResourceSetIndex_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_SelectedDL_PRS_IndexPerTRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_SelectedDL_PRS_IndexPerTRP_r16, NR_SelectedDL_PRS_IndexPerTRP_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r16_sequence_of[1] = {
{ &hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_SelectedDL_PRS_IndexPerTRP_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r16, SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r16_sequence_of,
1, nrMaxTRPsPerFreq_r16, FALSE);
return offset;
}
static const per_sequence_t NR_SelectedDL_PRS_PerFreq_r16_sequence[] = {
{ &hf_lpp_nr_SelectedDL_PRS_FrequencyLayerIndex_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_nrMaxFreqLayers_1_r16 },
{ &hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_SelectedDL_PRS_PerFreq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_SelectedDL_PRS_PerFreq_r16, NR_SelectedDL_PRS_PerFreq_r16_sequence);
return offset;
}
static const per_sequence_t NR_SelectedDL_PRS_IndexList_r16_sequence_of[1] = {
{ &hf_lpp_NR_SelectedDL_PRS_IndexList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_SelectedDL_PRS_PerFreq_r16 },
};
static int
dissect_lpp_NR_SelectedDL_PRS_IndexList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_SelectedDL_PRS_IndexList_r16, NR_SelectedDL_PRS_IndexList_r16_sequence_of,
1, nrMaxFreqLayers_r16, FALSE);
return offset;
}
static const value_string lpp_T_cause_r16_06_vals[] = {
{ 0, "undefined" },
{ 1, "assistanceDataNotSupportedByServer" },
{ 2, "assistanceDataSupportedButCurrentlyNotAvailableByServer" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r16_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t NR_Multi_RTT_LocationServerErrorCauses_r16_sequence[] = {
{ &hf_lpp_cause_r16_06 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r16_06 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_LocationServerErrorCauses_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_LocationServerErrorCauses_r16, NR_Multi_RTT_LocationServerErrorCauses_r16_sequence);
return offset;
}
static const value_string lpp_T_cause_r16_07_vals[] = {
{ 0, "undefined" },
{ 1, "dl-assistance-data-missing" },
{ 2, "unableToMeasureAnyTRP" },
{ 3, "attemptedButUnableToMeasureSomeNeighbourTRPs" },
{ 4, "ul-srs-configuration-missing" },
{ 5, "unableToTransmit-ul-srs" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r16_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t NR_Multi_RTT_TargetDeviceErrorCauses_r16_sequence[] = {
{ &hf_lpp_cause_r16_07 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r16_07 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_TargetDeviceErrorCauses_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_TargetDeviceErrorCauses_r16, NR_Multi_RTT_TargetDeviceErrorCauses_r16_sequence);
return offset;
}
static const value_string lpp_NR_Multi_RTT_Error_r16_vals[] = {
{ 0, "locationServerErrorCauses-r16" },
{ 1, "targetDeviceErrorCauses-r16" },
{ 0, NULL }
};
static const per_choice_t NR_Multi_RTT_Error_r16_choice[] = {
{ 0, &hf_lpp_locationServerErrorCauses_r16_03, ASN1_EXTENSION_ROOT , dissect_lpp_NR_Multi_RTT_LocationServerErrorCauses_r16 },
{ 1, &hf_lpp_targetDeviceErrorCauses_r16_03, ASN1_EXTENSION_ROOT , dissect_lpp_NR_Multi_RTT_TargetDeviceErrorCauses_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_Error_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_Error_r16, NR_Multi_RTT_Error_r16_choice,
NULL);
return offset;
}
static const per_sequence_t NR_Multi_RTT_ProvideAssistanceData_r16_sequence[] = {
{ &hf_lpp_nr_DL_PRS_AssistanceData_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_AssistanceData_r16 },
{ &hf_lpp_nr_SelectedDL_PRS_IndexList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_SelectedDL_PRS_IndexList_r16 },
{ &hf_lpp_nr_Multi_RTT_Error_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_Multi_RTT_Error_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_ProvideAssistanceData_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_ProvideAssistanceData_r16, NR_Multi_RTT_ProvideAssistanceData_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M64000_1280000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-64000, 1280000U, NULL, FALSE);
return offset;
}
static const per_sequence_t HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15_sequence[] = {
{ &hf_lpp_degreesLatitude_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_degreesLongitude_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_altitude_r15 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M64000_1280000 },
{ &hf_lpp_uncertaintySemiMajor_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_uncertaintySemiMinor_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_orientationMajorAxis_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 },
{ &hf_lpp_horizontalConfidence_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ &hf_lpp_uncertaintyAltitude_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_verticalConfidence_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15, HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15_sequence);
return offset;
}
static const value_string lpp_T_referencePointGeographicLocation_r16_vals[] = {
{ 0, "location3D-r16" },
{ 1, "ha-location3D-r16" },
{ 0, NULL }
};
static const per_choice_t T_referencePointGeographicLocation_r16_choice[] = {
{ 0, &hf_lpp_location3D_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid },
{ 1, &hf_lpp_ha_location3D_r16, ASN1_EXTENSION_ROOT , dissect_lpp_HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_referencePointGeographicLocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_referencePointGeographicLocation_r16, T_referencePointGeographicLocation_r16_choice,
NULL);
return offset;
}
static const per_sequence_t ReferencePoint_r16_sequence[] = {
{ &hf_lpp_referencePointGeographicLocation_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_referencePointGeographicLocation_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ReferencePoint_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ReferencePoint_r16, ReferencePoint_r16_sequence);
return offset;
}
static const value_string lpp_T_milli_arc_second_units_r16_vals[] = {
{ 0, "mas0-03" },
{ 1, "mas0-3" },
{ 2, "mas3" },
{ 3, "mas30" },
{ 0, NULL }
};
static int
dissect_lpp_T_milli_arc_second_units_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string lpp_T_height_units_r16_vals[] = {
{ 0, "mm" },
{ 1, "cm" },
{ 2, "m" },
{ 0, NULL }
};
static int
dissect_lpp_T_height_units_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t Delta_Latitude_r16_sequence[] = {
{ &hf_lpp_delta_Latitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_coarse_delta_Latitude_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Delta_Latitude_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Delta_Latitude_r16, Delta_Latitude_r16_sequence);
return offset;
}
static const per_sequence_t Delta_Longitude_r16_sequence[] = {
{ &hf_lpp_delta_Longitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_coarse_delta_Longitude_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Delta_Longitude_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Delta_Longitude_r16, Delta_Longitude_r16_sequence);
return offset;
}
static const per_sequence_t Delta_Height_r16_sequence[] = {
{ &hf_lpp_delta_Height_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
{ &hf_lpp_coarse_delta_Height_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Delta_Height_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Delta_Height_r16, Delta_Height_r16_sequence);
return offset;
}
static const per_sequence_t LocationUncertainty_r16_sequence[] = {
{ &hf_lpp_horizontalUncertainty_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_horizontalConfidence_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ &hf_lpp_verticalUncertainty_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_verticalConfidence_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_LocationUncertainty_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_LocationUncertainty_r16, LocationUncertainty_r16_sequence);
return offset;
}
static const per_sequence_t RelativeLocation_r16_sequence[] = {
{ &hf_lpp_milli_arc_second_units_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_milli_arc_second_units_r16 },
{ &hf_lpp_height_units_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_height_units_r16 },
{ &hf_lpp_delta_latitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_Delta_Latitude_r16 },
{ &hf_lpp_delta_longitude_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_Delta_Longitude_r16 },
{ &hf_lpp_delta_height_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_Delta_Height_r16 },
{ &hf_lpp_locationUNC_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationUncertainty_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RelativeLocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_RelativeLocation_r16, RelativeLocation_r16_sequence);
return offset;
}
static const per_sequence_t DL_PRS_Resource_ARP_Element_r16_sequence[] = {
{ &hf_lpp_dl_PRS_Resource_ARP_location_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_RelativeLocation_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DL_PRS_Resource_ARP_Element_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_Resource_ARP_Element_r16, DL_PRS_Resource_ARP_Element_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_Resource_ARP_Element_r16_sequence_of[1] = {
{ &hf_lpp_dl_PRS_Resource_ARP_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_Resource_ARP_Element_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_Resource_ARP_Element_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_Resource_ARP_Element_r16, SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_Resource_ARP_Element_r16_sequence_of,
1, nrMaxResourcesPerSet_r16, FALSE);
return offset;
}
static const per_sequence_t DL_PRS_ResourceSets_TRP_Element_r16_sequence[] = {
{ &hf_lpp_dl_PRS_ResourceSetARP_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_RelativeLocation_r16 },
{ &hf_lpp_dl_PRS_Resource_ARP_List_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_Resource_ARP_Element_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DL_PRS_ResourceSets_TRP_Element_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_ResourceSets_TRP_Element_r16, DL_PRS_ResourceSets_TRP_Element_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_ResourceSets_TRP_Element_r16_sequence_of[1] = {
{ &hf_lpp_trp_DL_PRS_ResourceSets_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_ResourceSets_TRP_Element_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_ResourceSets_TRP_Element_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_ResourceSets_TRP_Element_r16, SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_ResourceSets_TRP_Element_r16_sequence_of,
1, nrMaxSetsPerTrpPerFreqLayer_r16, FALSE);
return offset;
}
static const per_sequence_t TRP_LocationInfoElement_r16_sequence[] = {
{ &hf_lpp_dl_PRS_ID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_CellGlobalID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ &hf_lpp_nr_ARFCN_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 },
{ &hf_lpp_associated_DL_PRS_ID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_trp_Location_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_RelativeLocation_r16 },
{ &hf_lpp_trp_DL_PRS_ResourceSets_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_ResourceSets_TRP_Element_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TRP_LocationInfoElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TRP_LocationInfoElement_r16, TRP_LocationInfoElement_r16_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_TRP_LocationInfoElement_r16_sequence_of[1] = {
{ &hf_lpp_trp_LocationInfoList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_TRP_LocationInfoElement_r16 },
};
static int
dissect_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_TRP_LocationInfoElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_TRP_LocationInfoElement_r16, SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_TRP_LocationInfoElement_r16_sequence_of,
1, nrMaxTRPsPerFreq_r16, FALSE);
return offset;
}
static const per_sequence_t NR_TRP_LocationInfoPerFreqLayer_r16_sequence[] = {
{ &hf_lpp_referencePoint_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ReferencePoint_r16 },
{ &hf_lpp_trp_LocationInfoList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_TRP_LocationInfoElement_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_TRP_LocationInfoPerFreqLayer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_TRP_LocationInfoPerFreqLayer_r16, NR_TRP_LocationInfoPerFreqLayer_r16_sequence);
return offset;
}
static const per_sequence_t NR_TRP_LocationInfo_r16_sequence_of[1] = {
{ &hf_lpp_NR_TRP_LocationInfo_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TRP_LocationInfoPerFreqLayer_r16 },
};
static int
dissect_lpp_NR_TRP_LocationInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_TRP_LocationInfo_r16, NR_TRP_LocationInfo_r16_sequence_of,
1, nrMaxFreqLayers_r16, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_359(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 359U, NULL, FALSE);
return offset;
}
static const per_sequence_t LCS_GCS_TranslationParameter_r16_sequence[] = {
{ &hf_lpp_alpha_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 },
{ &hf_lpp_alpha_fine_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_9 },
{ &hf_lpp_beta_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 },
{ &hf_lpp_beta_fine_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_9 },
{ &hf_lpp_gamma_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 },
{ &hf_lpp_gamma_fine_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_9 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_LCS_GCS_TranslationParameter_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_LCS_GCS_TranslationParameter_r16, LCS_GCS_TranslationParameter_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_180(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 180U, NULL, FALSE);
return offset;
}
static const per_sequence_t DL_PRS_BeamInfoElement_r16_sequence[] = {
{ &hf_lpp_dl_PRS_Azimuth_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 },
{ &hf_lpp_dl_PRS_Azimuth_fine_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_9 },
{ &hf_lpp_dl_PRS_Elevation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_180 },
{ &hf_lpp_dl_PRS_Elevation_fine_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_9 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DL_PRS_BeamInfoElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_BeamInfoElement_r16, DL_PRS_BeamInfoElement_r16_sequence);
return offset;
}
static const per_sequence_t DL_PRS_BeamInfoResourceSet_r16_sequence_of[1] = {
{ &hf_lpp_DL_PRS_BeamInfoResourceSet_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_BeamInfoElement_r16 },
};
static int
dissect_lpp_DL_PRS_BeamInfoResourceSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_BeamInfoResourceSet_r16, DL_PRS_BeamInfoResourceSet_r16_sequence_of,
1, nrMaxResourcesPerSet_r16, FALSE);
return offset;
}
static const per_sequence_t DL_PRS_BeamInfoSet_r16_sequence_of[1] = {
{ &hf_lpp_DL_PRS_BeamInfoSet_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_BeamInfoResourceSet_r16 },
};
static int
dissect_lpp_DL_PRS_BeamInfoSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_DL_PRS_BeamInfoSet_r16, DL_PRS_BeamInfoSet_r16_sequence_of,
1, nrMaxSetsPerTrpPerFreqLayer_r16, FALSE);
return offset;
}
static const per_sequence_t NR_DL_PRS_BeamInfoPerTRP_r16_sequence[] = {
{ &hf_lpp_dl_PRS_ID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_CellGlobalID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ &hf_lpp_nr_ARFCN_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 },
{ &hf_lpp_associated_DL_PRS_ID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_lcs_GCS_TranslationParameter_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LCS_GCS_TranslationParameter_r16 },
{ &hf_lpp_dl_PRS_BeamInfoSet_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_DL_PRS_BeamInfoSet_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_PRS_BeamInfoPerTRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_BeamInfoPerTRP_r16, NR_DL_PRS_BeamInfoPerTRP_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_PRS_BeamInfoPerFreqLayer_r16_sequence_of[1] = {
{ &hf_lpp_NR_DL_PRS_BeamInfoPerFreqLayer_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_BeamInfoPerTRP_r16 },
};
static int
dissect_lpp_NR_DL_PRS_BeamInfoPerFreqLayer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_BeamInfoPerFreqLayer_r16, NR_DL_PRS_BeamInfoPerFreqLayer_r16_sequence_of,
1, nrMaxTRPsPerFreq_r16, FALSE);
return offset;
}
static const per_sequence_t NR_DL_PRS_BeamInfo_r16_sequence_of[1] = {
{ &hf_lpp_NR_DL_PRS_BeamInfo_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_BeamInfoPerFreqLayer_r16 },
};
static int
dissect_lpp_NR_DL_PRS_BeamInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_PRS_BeamInfo_r16, NR_DL_PRS_BeamInfo_r16_sequence_of,
1, nrMaxFreqLayers_r16, FALSE);
return offset;
}
static int
dissect_lpp_UTCTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE);
return offset;
}
static const value_string lpp_T_refTime_r16_vals[] = {
{ 0, "systemFrameNumber-r16" },
{ 1, "utc-r16" },
{ 0, NULL }
};
static const per_choice_t T_refTime_r16_choice[] = {
{ 0, &hf_lpp_systemFrameNumber_r16, ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_10 },
{ 1, &hf_lpp_utc_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_UTCTime },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_refTime_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_refTime_r16, T_refTime_r16_choice,
NULL);
return offset;
}
static const value_string lpp_T_timingQualityResolution_r16_vals[] = {
{ 0, "mdot1" },
{ 1, "m1" },
{ 2, "m10" },
{ 3, "m30" },
{ 0, NULL }
};
static int
dissect_lpp_T_timingQualityResolution_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t NR_TimingQuality_r16_sequence[] = {
{ &hf_lpp_timingQualityValue_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_31 },
{ &hf_lpp_timingQualityResolution_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_timingQualityResolution_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_TimingQuality_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_TimingQuality_r16, NR_TimingQuality_r16_sequence);
return offset;
}
static const per_sequence_t ReferenceTRP_RTD_Info_r16_sequence[] = {
{ &hf_lpp_dl_PRS_ID_Ref_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_nr_PhysCellID_Ref_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_CellGlobalID_Ref_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ &hf_lpp_nr_ARFCN_Ref_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 },
{ &hf_lpp_refTime_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_refTime_r16 },
{ &hf_lpp_rtd_RefQuality_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_TimingQuality_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ReferenceTRP_RTD_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ReferenceTRP_RTD_Info_r16, ReferenceTRP_RTD_Info_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_1966079(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1966079U, NULL, FALSE);
return offset;
}
static const per_sequence_t RTD_InfoElement_r16_sequence[] = {
{ &hf_lpp_dl_PRS_ID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_CellGlobalID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ &hf_lpp_nr_ARFCN_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 },
{ &hf_lpp_subframeOffset_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1966079 },
{ &hf_lpp_rtd_Quality_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimingQuality_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RTD_InfoElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_RTD_InfoElement_r16, RTD_InfoElement_r16_sequence);
return offset;
}
static const per_sequence_t RTD_InfoListPerFreqLayer_r16_sequence_of[1] = {
{ &hf_lpp_RTD_InfoListPerFreqLayer_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_RTD_InfoElement_r16 },
};
static int
dissect_lpp_RTD_InfoListPerFreqLayer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_RTD_InfoListPerFreqLayer_r16, RTD_InfoListPerFreqLayer_r16_sequence_of,
1, nrMaxTRPsPerFreq_r16, FALSE);
return offset;
}
static const per_sequence_t RTD_InfoList_r16_sequence_of[1] = {
{ &hf_lpp_RTD_InfoList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_RTD_InfoListPerFreqLayer_r16 },
};
static int
dissect_lpp_RTD_InfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_RTD_InfoList_r16, RTD_InfoList_r16_sequence_of,
1, nrMaxFreqLayers_r16, FALSE);
return offset;
}
static const per_sequence_t NR_RTD_Info_r16_sequence[] = {
{ &hf_lpp_referenceTRP_RTD_Info_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ReferenceTRP_RTD_Info_r16 },
{ &hf_lpp_rtd_InfoList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_RTD_InfoList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_RTD_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_RTD_Info_r16, NR_RTD_Info_r16_sequence);
return offset;
}
static const per_sequence_t NR_PositionCalculationAssistance_r16_sequence[] = {
{ &hf_lpp_nr_TRP_LocationInfo_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_TRP_LocationInfo_r16 },
{ &hf_lpp_nr_DL_PRS_BeamInfo_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_BeamInfo_r16 },
{ &hf_lpp_nr_RTD_Info_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_RTD_Info_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_PositionCalculationAssistance_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_PositionCalculationAssistance_r16, NR_PositionCalculationAssistance_r16_sequence);
return offset;
}
static const value_string lpp_T_cause_r16_04_vals[] = {
{ 0, "undefined" },
{ 1, "assistanceDataNotSupportedByServer" },
{ 2, "assistanceDataSupportedButCurrentlyNotAvailableByServer" },
{ 3, "notProvidedAssistanceDataNotSupportedByServer" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r16_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t NR_DL_AoD_LocationServerErrorCauses_r16_sequence[] = {
{ &hf_lpp_cause_r16_04 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r16_04 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_LocationServerErrorCauses_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_LocationServerErrorCauses_r16, NR_DL_AoD_LocationServerErrorCauses_r16_sequence);
return offset;
}
static const value_string lpp_T_cause_r16_05_vals[] = {
{ 0, "undefined" },
{ 1, "assistance-data-missing" },
{ 2, "unableToMeasureAnyTRP" },
{ 3, "attemptedButUnableToMeasureSomeNeighbourTRPs" },
{ 4, "thereWereNotEnoughSignalsReceivedForUeBasedDL-AoD" },
{ 5, "locationCalculationAssistanceDataMissing" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r16_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t NR_DL_AoD_TargetDeviceErrorCauses_r16_sequence[] = {
{ &hf_lpp_cause_r16_05 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r16_05 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_TargetDeviceErrorCauses_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_TargetDeviceErrorCauses_r16, NR_DL_AoD_TargetDeviceErrorCauses_r16_sequence);
return offset;
}
static const value_string lpp_NR_DL_AoD_Error_r16_vals[] = {
{ 0, "locationServerErrorCauses-r16" },
{ 1, "targetDeviceErrorCauses-r16" },
{ 0, NULL }
};
static const per_choice_t NR_DL_AoD_Error_r16_choice[] = {
{ 0, &hf_lpp_locationServerErrorCauses_r16_02, ASN1_EXTENSION_ROOT , dissect_lpp_NR_DL_AoD_LocationServerErrorCauses_r16 },
{ 1, &hf_lpp_targetDeviceErrorCauses_r16_02, ASN1_EXTENSION_ROOT , dissect_lpp_NR_DL_AoD_TargetDeviceErrorCauses_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_Error_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_Error_r16, NR_DL_AoD_Error_r16_choice,
NULL);
return offset;
}
static const per_sequence_t NR_DL_AoD_ProvideAssistanceData_r16_sequence[] = {
{ &hf_lpp_nr_DL_PRS_AssistanceData_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_AssistanceData_r16 },
{ &hf_lpp_nr_SelectedDL_PRS_IndexList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_SelectedDL_PRS_IndexList_r16 },
{ &hf_lpp_nr_PositionCalculationAssistance_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PositionCalculationAssistance_r16 },
{ &hf_lpp_nr_DL_AoD_Error_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_Error_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_ProvideAssistanceData_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_ProvideAssistanceData_r16, NR_DL_AoD_ProvideAssistanceData_r16_sequence);
return offset;
}
static const value_string lpp_T_cause_r16_02_vals[] = {
{ 0, "undefined" },
{ 1, "assistanceDataNotSupportedByServer" },
{ 2, "assistanceDataSupportedButCurrentlyNotAvailableByServer" },
{ 3, "notProvidedAssistanceDataNotSupportedByServer" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r16_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t NR_DL_TDOA_LocationServerErrorCauses_r16_sequence[] = {
{ &hf_lpp_cause_r16_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r16_02 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_LocationServerErrorCauses_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_LocationServerErrorCauses_r16, NR_DL_TDOA_LocationServerErrorCauses_r16_sequence);
return offset;
}
static const value_string lpp_T_cause_r16_03_vals[] = {
{ 0, "undefined" },
{ 1, "assistance-data-missing" },
{ 2, "unableToMeasureAnyTRP" },
{ 3, "attemptedButUnableToMeasureSomeNeighbourTRPs" },
{ 4, "thereWereNotEnoughSignalsReceivedForUeBasedDL-TDOA" },
{ 5, "locationCalculationAssistanceDataMissing" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r16_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t NR_DL_TDOA_TargetDeviceErrorCauses_r16_sequence[] = {
{ &hf_lpp_cause_r16_03 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r16_03 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_TargetDeviceErrorCauses_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_TargetDeviceErrorCauses_r16, NR_DL_TDOA_TargetDeviceErrorCauses_r16_sequence);
return offset;
}
static const value_string lpp_NR_DL_TDOA_Error_r16_vals[] = {
{ 0, "locationServerErrorCauses-r16" },
{ 1, "targetDeviceErrorCauses-r16" },
{ 0, NULL }
};
static const per_choice_t NR_DL_TDOA_Error_r16_choice[] = {
{ 0, &hf_lpp_locationServerErrorCauses_r16_01, ASN1_EXTENSION_ROOT , dissect_lpp_NR_DL_TDOA_LocationServerErrorCauses_r16 },
{ 1, &hf_lpp_targetDeviceErrorCauses_r16_01, ASN1_EXTENSION_ROOT , dissect_lpp_NR_DL_TDOA_TargetDeviceErrorCauses_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_Error_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_Error_r16, NR_DL_TDOA_Error_r16_choice,
NULL);
return offset;
}
static const per_sequence_t NR_DL_TDOA_ProvideAssistanceData_r16_sequence[] = {
{ &hf_lpp_nr_DL_PRS_AssistanceData_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_AssistanceData_r16 },
{ &hf_lpp_nr_SelectedDL_PRS_IndexList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_SelectedDL_PRS_IndexList_r16 },
{ &hf_lpp_nr_PositionCalculationAssistance_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PositionCalculationAssistance_r16 },
{ &hf_lpp_nr_DL_TDOA_Error_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_Error_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_ProvideAssistanceData_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_ProvideAssistanceData_r16, NR_DL_TDOA_ProvideAssistanceData_r16_sequence);
return offset;
}
static const per_sequence_t ProvideAssistanceData_r9_IEs_eag_2_sequence[] = {
{ &hf_lpp_nr_Multi_RTT_ProvideAssistanceData_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_Multi_RTT_ProvideAssistanceData_r16 },
{ &hf_lpp_nr_DL_AoD_ProvideAssistanceData_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_ProvideAssistanceData_r16 },
{ &hf_lpp_nr_DL_TDOA_ProvideAssistanceData_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_ProvideAssistanceData_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ProvideAssistanceData_r9_IEs_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ProvideAssistanceData_r9_IEs_eag_2_sequence);
return offset;
}
static const per_sequence_t ProvideAssistanceData_r9_IEs_sequence[] = {
{ &hf_lpp_commonIEsProvideAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsProvideAssistanceData },
{ &hf_lpp_a_gnss_ProvideAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_ProvideAssistanceData },
{ &hf_lpp_otdoa_ProvideAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_ProvideAssistanceData },
{ &hf_lpp_epdu_Provide_Assistance_Data, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ProvideAssistanceData_r9_IEs_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ProvideAssistanceData_r9_IEs_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ProvideAssistanceData_r9_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ProvideAssistanceData_r9_IEs, ProvideAssistanceData_r9_IEs_sequence);
return offset;
}
static const value_string lpp_T_c1_04_vals[] = {
{ 0, "provideAssistanceData-r9" },
{ 1, "spare3" },
{ 2, "spare2" },
{ 3, "spare1" },
{ 0, NULL }
};
static const per_choice_t T_c1_04_choice[] = {
{ 0, &hf_lpp_provideAssistanceData_r9, ASN1_NO_EXTENSIONS , dissect_lpp_ProvideAssistanceData_r9_IEs },
{ 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_c1_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_c1_04, T_c1_04_choice,
NULL);
return offset;
}
static const per_sequence_t T_criticalExtensionsFuture_03_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensionsFuture_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensionsFuture_03, T_criticalExtensionsFuture_03_sequence);
return offset;
}
static const value_string lpp_T_criticalExtensions_03_vals[] = {
{ 0, "c1" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
static const per_choice_t T_criticalExtensions_03_choice[] = {
{ 0, &hf_lpp_c1_04 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_04 },
{ 1, &hf_lpp_criticalExtensionsFuture_03, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_03 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensions_03, T_criticalExtensions_03_choice,
NULL);
return offset;
}
static const per_sequence_t ProvideAssistanceData_sequence[] = {
{ &hf_lpp_criticalExtensions_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions_03 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ProvideAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 134 "./asn1/lpp/lpp.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Provide Assistance Data");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ProvideAssistanceData, ProvideAssistanceData_sequence);
return offset;
}
static const value_string lpp_LocationInformationType_vals[] = {
{ 0, "locationEstimateRequired" },
{ 1, "locationMeasurementsRequired" },
{ 2, "locationEstimatePreferred" },
{ 3, "locationMeasurementsPreferred" },
{ 0, NULL }
};
static int
dissect_lpp_LocationInformationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_lpp_ReportingDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 304 "./asn1/lpp/lpp.cnf"
guint32 duration;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, &duration, FALSE);
if (duration == 0) {
proto_item_append_text(actx->created_item, " (infinite)");
}
return offset;
}
static const per_sequence_t TriggeredReportingCriteria_sequence[] = {
{ &hf_lpp_cellChange , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_reportingDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ReportingDuration },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TriggeredReportingCriteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TriggeredReportingCriteria, TriggeredReportingCriteria_sequence);
return offset;
}
static const value_string lpp_T_reportingAmount_vals[] = {
{ 0, "ra1" },
{ 1, "ra2" },
{ 2, "ra4" },
{ 3, "ra8" },
{ 4, "ra16" },
{ 5, "ra32" },
{ 6, "ra64" },
{ 7, "ra-Infinity" },
{ 0, NULL }
};
static int
dissect_lpp_T_reportingAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_reportingInterval_vals[] = {
{ 0, "noPeriodicalReporting" },
{ 1, "ri0-25" },
{ 2, "ri0-5" },
{ 3, "ri1" },
{ 4, "ri2" },
{ 5, "ri4" },
{ 6, "ri8" },
{ 7, "ri16" },
{ 8, "ri32" },
{ 9, "ri64" },
{ 0, NULL }
};
static int
dissect_lpp_T_reportingInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 292 "./asn1/lpp/lpp.cnf"
guint32 idx;
const gchar *interval[10] = {"", ": 1s", ": 2s", ": 4s", ": 8s", ": 10s",
": 16s", ": 20s", ": 32s", ": 64s"};
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10, &idx, FALSE, 0, NULL);
#line 299 "./asn1/lpp/lpp.cnf"
if (idx < 10) {
proto_item_append_text(actx->created_item, "%s", interval[idx]);
}
return offset;
}
static const per_sequence_t PeriodicalReportingCriteria_sequence[] = {
{ &hf_lpp_reportingAmount , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_reportingAmount },
{ &hf_lpp_reportingInterval, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_reportingInterval },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_PeriodicalReportingCriteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_PeriodicalReportingCriteria, PeriodicalReportingCriteria_sequence);
return offset;
}
static const value_string lpp_AdditionalInformation_vals[] = {
{ 0, "onlyReturnInformationRequested" },
{ 1, "mayReturnAditionalInformation" },
{ 0, NULL }
};
static int
dissect_lpp_AdditionalInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t HorizontalAccuracy_sequence[] = {
{ &hf_lpp_accuracy , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_confidence , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_HorizontalAccuracy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_HorizontalAccuracy, HorizontalAccuracy_sequence);
return offset;
}
static const per_sequence_t VerticalAccuracy_sequence[] = {
{ &hf_lpp_accuracy , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_confidence , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_VerticalAccuracy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_VerticalAccuracy, VerticalAccuracy_sequence);
return offset;
}
static const per_sequence_t ResponseTime_eag_1_sequence[] = {
{ &hf_lpp_responseTimeEarlyFix_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_128 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ResponseTime_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ResponseTime_eag_1_sequence);
return offset;
}
static const value_string lpp_T_unit_r15_vals[] = {
{ 0, "ten-seconds" },
{ 0, NULL }
};
static int
dissect_lpp_T_unit_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t ResponseTime_eag_2_sequence[] = {
{ &hf_lpp_unit_r15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_unit_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ResponseTime_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ResponseTime_eag_2_sequence);
return offset;
}
static const per_sequence_t ResponseTime_sequence[] = {
{ &hf_lpp_time , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_128 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ResponseTime_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ResponseTime_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ResponseTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ResponseTime, ResponseTime_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_1_512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 512U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_unitNB_r15_vals[] = {
{ 0, "ten-seconds" },
{ 0, NULL }
};
static int
dissect_lpp_T_unitNB_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t ResponseTimeNB_r14_eag_1_sequence[] = {
{ &hf_lpp_unitNB_r15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_unitNB_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ResponseTimeNB_r14_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ResponseTimeNB_r14_eag_1_sequence);
return offset;
}
static const per_sequence_t ResponseTimeNB_r14_sequence[] = {
{ &hf_lpp_timeNB_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_512 },
{ &hf_lpp_responseTimeEarlyFixNB_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_512 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ResponseTimeNB_r14_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ResponseTimeNB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ResponseTimeNB_r14, ResponseTimeNB_r14_sequence);
return offset;
}
static const per_sequence_t QoS_eag_1_sequence[] = {
{ &hf_lpp_responseTimeNB_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ResponseTimeNB_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_QoS_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, QoS_eag_1_sequence);
return offset;
}
static const per_sequence_t HorizontalAccuracyExt_r15_sequence[] = {
{ &hf_lpp_accuracyExt_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_confidence_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_HorizontalAccuracyExt_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_HorizontalAccuracyExt_r15, HorizontalAccuracyExt_r15_sequence);
return offset;
}
static const per_sequence_t VerticalAccuracyExt_r15_sequence[] = {
{ &hf_lpp_accuracyExt_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_confidence_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_VerticalAccuracyExt_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_VerticalAccuracyExt_r15, VerticalAccuracyExt_r15_sequence);
return offset;
}
static const per_sequence_t QoS_eag_2_sequence[] = {
{ &hf_lpp_horizontalAccuracyExt_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_HorizontalAccuracyExt_r15 },
{ &hf_lpp_verticalAccuracyExt_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_VerticalAccuracyExt_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_QoS_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, QoS_eag_2_sequence);
return offset;
}
static const per_sequence_t QoS_sequence[] = {
{ &hf_lpp_horizontalAccuracy, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_HorizontalAccuracy },
{ &hf_lpp_verticalCoordinateRequest, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_verticalAccuracy, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_VerticalAccuracy },
{ &hf_lpp_responseTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ResponseTime },
{ &hf_lpp_velocityRequest , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_QoS_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_QoS_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_QoS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_QoS, QoS_sequence);
return offset;
}
static const value_string lpp_Environment_vals[] = {
{ 0, "badArea" },
{ 1, "notBadArea" },
{ 2, "mixedArea" },
{ 0, NULL }
};
static int
dissect_lpp_Environment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t MessageSizeLimitNB_r14_sequence[] = {
{ &hf_lpp_measurementLimit_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_512 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MessageSizeLimitNB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_MessageSizeLimitNB_r14, MessageSizeLimitNB_r14_sequence);
return offset;
}
static const per_sequence_t CommonIEsRequestLocationInformation_eag_1_sequence[] = {
{ &hf_lpp_messageSizeLimitNB_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_MessageSizeLimitNB_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsRequestLocationInformation_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CommonIEsRequestLocationInformation_eag_1_sequence);
return offset;
}
static const per_sequence_t CommonIEsRequestLocationInformation_eag_2_sequence[] = {
{ &hf_lpp_segmentationInfo_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SegmentationInfo_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsRequestLocationInformation_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CommonIEsRequestLocationInformation_eag_2_sequence);
return offset;
}
static const per_sequence_t CommonIEsRequestLocationInformation_sequence[] = {
{ &hf_lpp_locationInformationType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LocationInformationType },
{ &hf_lpp_triggeredReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_TriggeredReportingCriteria },
{ &hf_lpp_periodicalReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PeriodicalReportingCriteria },
{ &hf_lpp_additionalInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AdditionalInformation },
{ &hf_lpp_qos , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_QoS },
{ &hf_lpp_environment , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Environment },
{ &hf_lpp_locationCoordinateTypes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationCoordinateTypes },
{ &hf_lpp_velocityTypes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_VelocityTypes },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsRequestLocationInformation_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsRequestLocationInformation_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsRequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CommonIEsRequestLocationInformation, CommonIEsRequestLocationInformation_sequence);
return offset;
}
static const value_string lpp_T_ha_GNSS_Req_r15_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_ha_GNSS_Req_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t GNSS_PositioningInstructions_eag_1_sequence[] = {
{ &hf_lpp_ha_GNSS_Req_r15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ha_GNSS_Req_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_PositioningInstructions_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_PositioningInstructions_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_PositioningInstructions_sequence[] = {
{ &hf_lpp_gnss_Methods , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID_Bitmap },
{ &hf_lpp_fineTimeAssistanceMeasReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_adrMeasReq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_multiFreqMeasReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_assistanceAvailability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_PositioningInstructions_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_PositioningInstructions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_PositioningInstructions, GNSS_PositioningInstructions_sequence);
return offset;
}
static const per_sequence_t A_GNSS_RequestLocationInformation_sequence[] = {
{ &hf_lpp_gnss_PositioningInstructions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_PositioningInstructions },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_A_GNSS_RequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_A_GNSS_RequestLocationInformation, A_GNSS_RequestLocationInformation_sequence);
return offset;
}
static const value_string lpp_T_multipathRSTD_r14_vals[] = {
{ 0, "requested" },
{ 0, NULL }
};
static int
dissect_lpp_T_multipathRSTD_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t OTDOA_RequestLocationInformation_eag_1_sequence[] = {
{ &hf_lpp_multipathRSTD_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_multipathRSTD_r14 },
{ &hf_lpp_maxNoOfRSTDmeas_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_32 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_RequestLocationInformation_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_RequestLocationInformation_eag_1_sequence);
return offset;
}
static const value_string lpp_T_motionMeasurements_r15_vals[] = {
{ 0, "requested" },
{ 0, NULL }
};
static int
dissect_lpp_T_motionMeasurements_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t OTDOA_RequestLocationInformation_eag_2_sequence[] = {
{ &hf_lpp_motionMeasurements_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_motionMeasurements_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_RequestLocationInformation_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_RequestLocationInformation_eag_2_sequence);
return offset;
}
static const per_sequence_t OTDOA_RequestLocationInformation_sequence[] = {
{ &hf_lpp_assistanceAvailability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_RequestLocationInformation_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_RequestLocationInformation_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_RequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_RequestLocationInformation, OTDOA_RequestLocationInformation_sequence);
return offset;
}
static int * const T_requestedMeasurements_bits[] = {
&hf_lpp_T_requestedMeasurements_rsrpReq,
&hf_lpp_T_requestedMeasurements_rsrqReq,
&hf_lpp_T_requestedMeasurements_ueRxTxReq,
&hf_lpp_T_requestedMeasurements_nrsrpReq_r14,
&hf_lpp_T_requestedMeasurements_nrsrqReq_r14,
NULL
};
static int
dissect_lpp_T_requestedMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_requestedMeasurements_bits, 5, NULL, NULL);
return offset;
}
static const per_sequence_t ECID_RequestLocationInformation_sequence[] = {
{ &hf_lpp_requestedMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_requestedMeasurements },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ECID_RequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ECID_RequestLocationInformation, ECID_RequestLocationInformation_sequence);
return offset;
}
static const per_sequence_t Sensor_RequestLocationInformation_r13_eag_1_sequence[] = {
{ &hf_lpp_assistanceAvailability_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_RequestLocationInformation_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_RequestLocationInformation_r13_eag_1_sequence);
return offset;
}
static const per_sequence_t Sensor_RequestLocationInformation_r13_eag_2_sequence[] = {
{ &hf_lpp_sensor_MotionInformationReq_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_RequestLocationInformation_r13_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_RequestLocationInformation_r13_eag_2_sequence);
return offset;
}
static const per_sequence_t Sensor_RequestLocationInformation_r13_eag_3_sequence[] = {
{ &hf_lpp_adjustmentReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_RequestLocationInformation_r13_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_RequestLocationInformation_r13_eag_3_sequence);
return offset;
}
static const per_sequence_t Sensor_RequestLocationInformation_r13_sequence[] = {
{ &hf_lpp_uncompensatedBarometricPressureReq_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_RequestLocationInformation_r13_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_RequestLocationInformation_r13_eag_2 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_RequestLocationInformation_r13_eag_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_RequestLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_RequestLocationInformation_r13, Sensor_RequestLocationInformation_r13_sequence);
return offset;
}
static int * const T_mbsRequestedMeasurements_r14_bits[] = {
&hf_lpp_T_mbsRequestedMeasurements_r14_rssi,
NULL
};
static int
dissect_lpp_T_mbsRequestedMeasurements_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_mbsRequestedMeasurements_r14_bits, 1, NULL, NULL);
return offset;
}
static const per_sequence_t TBS_RequestLocationInformation_r13_eag_1_sequence[] = {
{ &hf_lpp_mbsAssistanceAvailability_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ &hf_lpp_mbsRequestedMeasurements_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_mbsRequestedMeasurements_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TBS_RequestLocationInformation_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, TBS_RequestLocationInformation_r13_eag_1_sequence);
return offset;
}
static const per_sequence_t TBS_RequestLocationInformation_r13_sequence[] = {
{ &hf_lpp_mbsSgnMeasListReq_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_TBS_RequestLocationInformation_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TBS_RequestLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TBS_RequestLocationInformation_r13, TBS_RequestLocationInformation_r13_sequence);
return offset;
}
static int * const T_requestedMeasurements_r13_bits[] = {
&hf_lpp_T_requestedMeasurements_r13_rssi,
&hf_lpp_T_requestedMeasurements_r13_rtt,
NULL
};
static int
dissect_lpp_T_requestedMeasurements_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_requestedMeasurements_r13_bits, 2, NULL, NULL);
return offset;
}
static const per_sequence_t WLAN_RequestLocationInformation_r13_eag_1_sequence[] = {
{ &hf_lpp_assistanceAvailability_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_RequestLocationInformation_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, WLAN_RequestLocationInformation_r13_eag_1_sequence);
return offset;
}
static const per_sequence_t WLAN_RequestLocationInformation_r13_sequence[] = {
{ &hf_lpp_requestedMeasurements_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_requestedMeasurements_r13 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_RequestLocationInformation_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_RequestLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_RequestLocationInformation_r13, WLAN_RequestLocationInformation_r13_sequence);
return offset;
}
static int * const T_requestedMeasurements_r13_01_bits[] = {
&hf_lpp_T_requestedMeasurements_r13_01_rssi,
NULL
};
static int
dissect_lpp_T_requestedMeasurements_r13_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_requestedMeasurements_r13_01_bits, 1, NULL, NULL);
return offset;
}
static const per_sequence_t BT_RequestLocationInformation_r13_sequence[] = {
{ &hf_lpp_requestedMeasurements_r13_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_requestedMeasurements_r13_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BT_RequestLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BT_RequestLocationInformation_r13, BT_RequestLocationInformation_r13_sequence);
return offset;
}
static const per_sequence_t RequestLocationInformation_r9_IEs_eag_1_sequence[] = {
{ &hf_lpp_sensor_RequestLocationInformation_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Sensor_RequestLocationInformation_r13 },
{ &hf_lpp_tbs_RequestLocationInformation_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TBS_RequestLocationInformation_r13 },
{ &hf_lpp_wlan_RequestLocationInformation_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_WLAN_RequestLocationInformation_r13 },
{ &hf_lpp_bt_RequestLocationInformation_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BT_RequestLocationInformation_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RequestLocationInformation_r9_IEs_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RequestLocationInformation_r9_IEs_eag_1_sequence);
return offset;
}
static int * const T_requestedMeasurements_r16_bits[] = {
&hf_lpp_T_requestedMeasurements_r16_ssrsrpReq,
&hf_lpp_T_requestedMeasurements_r16_ssrsrqReq,
&hf_lpp_T_requestedMeasurements_r16_csirsrpReq,
&hf_lpp_T_requestedMeasurements_r16_csirsrqReq,
NULL
};
static int
dissect_lpp_T_requestedMeasurements_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_requestedMeasurements_r16_bits, 4, NULL, NULL);
return offset;
}
static const per_sequence_t NR_ECID_RequestLocationInformation_r16_sequence[] = {
{ &hf_lpp_requestedMeasurements_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_requestedMeasurements_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_ECID_RequestLocationInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_ECID_RequestLocationInformation_r16, NR_ECID_RequestLocationInformation_r16_sequence);
return offset;
}
static const value_string lpp_T_nr_UE_RxTxTimeDiffMeasurementInfoRequest_r16_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_nr_UE_RxTxTimeDiffMeasurementInfoRequest_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static int * const T_nr_RequestedMeasurements_r16_01_bits[] = {
&hf_lpp_T_nr_RequestedMeasurements_r16_01_prsrsrpReq,
NULL
};
static int
dissect_lpp_T_nr_RequestedMeasurements_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_nr_RequestedMeasurements_r16_01_bits, 1, NULL, NULL);
return offset;
}
static const per_sequence_t NR_Multi_RTT_ReportConfig_r16_sequence[] = {
{ &hf_lpp_maxDL_PRS_RxTxTimeDiffMeasPerTRP_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_4 },
{ &hf_lpp_timingReportingGranularityFactor_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_5 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_ReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_ReportConfig_r16, NR_Multi_RTT_ReportConfig_r16_sequence);
return offset;
}
static const value_string lpp_T_additionalPaths_r16_01_vals[] = {
{ 0, "requested" },
{ 0, NULL }
};
static int
dissect_lpp_T_additionalPaths_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t NR_Multi_RTT_RequestLocationInformation_r16_sequence[] = {
{ &hf_lpp_nr_UE_RxTxTimeDiffMeasurementInfoRequest_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_UE_RxTxTimeDiffMeasurementInfoRequest_r16 },
{ &hf_lpp_nr_RequestedMeasurements_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_RequestedMeasurements_r16_01 },
{ &hf_lpp_nr_AssistanceAvailability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_nr_Multi_RTT_ReportConfig_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_ReportConfig_r16 },
{ &hf_lpp_additionalPaths_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_additionalPaths_r16_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_RequestLocationInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_RequestLocationInformation_r16, NR_Multi_RTT_RequestLocationInformation_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_AoD_ReportConfig_r16_sequence[] = {
{ &hf_lpp_maxDL_PRS_RSRP_MeasurementsPerTRP_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_8 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_ReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_ReportConfig_r16, NR_DL_AoD_ReportConfig_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_AoD_RequestLocationInformation_r16_sequence[] = {
{ &hf_lpp_nr_AssistanceAvailability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_nr_DL_AoD_ReportConfig_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_ReportConfig_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_RequestLocationInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_RequestLocationInformation_r16, NR_DL_AoD_RequestLocationInformation_r16_sequence);
return offset;
}
static const value_string lpp_T_nr_DL_PRS_RstdMeasurementInfoRequest_r16_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_lpp_T_nr_DL_PRS_RstdMeasurementInfoRequest_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static int * const T_nr_RequestedMeasurements_r16_bits[] = {
&hf_lpp_T_nr_RequestedMeasurements_r16_prsrsrpReq,
NULL
};
static int
dissect_lpp_T_nr_RequestedMeasurements_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, T_nr_RequestedMeasurements_r16_bits, 1, NULL, NULL);
return offset;
}
static const per_sequence_t NR_DL_TDOA_ReportConfig_r16_sequence[] = {
{ &hf_lpp_maxDL_PRS_RSTD_MeasurementsPerTRPPair_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_4 },
{ &hf_lpp_timingReportingGranularityFactor_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_5 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_ReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_ReportConfig_r16, NR_DL_TDOA_ReportConfig_r16_sequence);
return offset;
}
static const value_string lpp_T_additionalPaths_r16_vals[] = {
{ 0, "requested" },
{ 0, NULL }
};
static int
dissect_lpp_T_additionalPaths_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t NR_DL_TDOA_RequestLocationInformation_r16_sequence[] = {
{ &hf_lpp_nr_DL_PRS_RstdMeasurementInfoRequest_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_RstdMeasurementInfoRequest_r16 },
{ &hf_lpp_nr_RequestedMeasurements_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_RequestedMeasurements_r16 },
{ &hf_lpp_nr_AssistanceAvailability_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_nr_DL_TDOA_ReportConfig_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_ReportConfig_r16 },
{ &hf_lpp_additionalPaths_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_additionalPaths_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_RequestLocationInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_RequestLocationInformation_r16, NR_DL_TDOA_RequestLocationInformation_r16_sequence);
return offset;
}
static const per_sequence_t RequestLocationInformation_r9_IEs_eag_2_sequence[] = {
{ &hf_lpp_nr_ECID_RequestLocationInformation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_ECID_RequestLocationInformation_r16 },
{ &hf_lpp_nr_Multi_RTT_RequestLocationInformation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_Multi_RTT_RequestLocationInformation_r16 },
{ &hf_lpp_nr_DL_AoD_RequestLocationInformation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_RequestLocationInformation_r16 },
{ &hf_lpp_nr_DL_TDOA_RequestLocationInformation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_RequestLocationInformation_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RequestLocationInformation_r9_IEs_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RequestLocationInformation_r9_IEs_eag_2_sequence);
return offset;
}
static const per_sequence_t RequestLocationInformation_r9_IEs_sequence[] = {
{ &hf_lpp_commonIEsRequestLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsRequestLocationInformation },
{ &hf_lpp_a_gnss_RequestLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_RequestLocationInformation },
{ &hf_lpp_otdoa_RequestLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_RequestLocationInformation },
{ &hf_lpp_ecid_RequestLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECID_RequestLocationInformation },
{ &hf_lpp_epdu_RequestLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_RequestLocationInformation_r9_IEs_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_RequestLocationInformation_r9_IEs_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RequestLocationInformation_r9_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_RequestLocationInformation_r9_IEs, RequestLocationInformation_r9_IEs_sequence);
return offset;
}
static const value_string lpp_T_c1_05_vals[] = {
{ 0, "requestLocationInformation-r9" },
{ 1, "spare3" },
{ 2, "spare2" },
{ 3, "spare1" },
{ 0, NULL }
};
static const per_choice_t T_c1_05_choice[] = {
{ 0, &hf_lpp_requestLocationInformation_r9, ASN1_NO_EXTENSIONS , dissect_lpp_RequestLocationInformation_r9_IEs },
{ 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_c1_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_c1_05, T_c1_05_choice,
NULL);
return offset;
}
static const per_sequence_t T_criticalExtensionsFuture_04_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensionsFuture_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensionsFuture_04, T_criticalExtensionsFuture_04_sequence);
return offset;
}
static const value_string lpp_T_criticalExtensions_04_vals[] = {
{ 0, "c1" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
static const per_choice_t T_criticalExtensions_04_choice[] = {
{ 0, &hf_lpp_c1_05 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_05 },
{ 1, &hf_lpp_criticalExtensionsFuture_04, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_04 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensions_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensions_04, T_criticalExtensions_04_choice,
NULL);
return offset;
}
static const per_sequence_t RequestLocationInformation_sequence[] = {
{ &hf_lpp_criticalExtensions_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions_04 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_RequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 137 "./asn1/lpp/lpp.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Request Location Information");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_RequestLocationInformation, RequestLocationInformation_sequence);
return offset;
}
static const value_string lpp_T_latitudeSign_01_vals[] = {
{ 0, "north" },
{ 1, "south" },
{ 0, NULL }
};
static int
dissect_lpp_T_latitudeSign_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t Ellipsoid_PointWithUncertaintyCircle_sequence[] = {
{ &hf_lpp_latitudeSign_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign_01 },
{ &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
{ &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_uncertainty , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Ellipsoid_PointWithUncertaintyCircle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Ellipsoid_PointWithUncertaintyCircle, Ellipsoid_PointWithUncertaintyCircle_sequence);
return offset;
}
static const value_string lpp_T_latitudeSign_02_vals[] = {
{ 0, "north" },
{ 1, "south" },
{ 0, NULL }
};
static int
dissect_lpp_T_latitudeSign_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t EllipsoidPointWithUncertaintyEllipse_sequence[] = {
{ &hf_lpp_latitudeSign_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign_02 },
{ &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
{ &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_uncertaintySemiMajor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_uncertaintySemiMinor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_orientationMajorAxis, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 },
{ &hf_lpp_confidence , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_EllipsoidPointWithUncertaintyEllipse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_EllipsoidPointWithUncertaintyEllipse, EllipsoidPointWithUncertaintyEllipse_sequence);
return offset;
}
static const value_string lpp_T_latitudeSign_06_vals[] = {
{ 0, "north" },
{ 1, "south" },
{ 0, NULL }
};
static int
dissect_lpp_T_latitudeSign_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t PolygonPoints_sequence[] = {
{ &hf_lpp_latitudeSign_06 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign_06 },
{ &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
{ &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_PolygonPoints(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_PolygonPoints, PolygonPoints_sequence);
return offset;
}
static const per_sequence_t Polygon_sequence_of[1] = {
{ &hf_lpp_Polygon_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_PolygonPoints },
};
static int
dissect_lpp_Polygon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_Polygon, Polygon_sequence_of,
3, 15, FALSE);
return offset;
}
static const value_string lpp_T_latitudeSign_03_vals[] = {
{ 0, "north" },
{ 1, "south" },
{ 0, NULL }
};
static int
dissect_lpp_T_latitudeSign_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_altitudeDirection_vals[] = {
{ 0, "height" },
{ 1, "depth" },
{ 0, NULL }
};
static int
dissect_lpp_T_altitudeDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t EllipsoidPointWithAltitude_sequence[] = {
{ &hf_lpp_latitudeSign_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign_03 },
{ &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
{ &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_altitudeDirection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_altitudeDirection },
{ &hf_lpp_altitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_32767 },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_EllipsoidPointWithAltitude(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_EllipsoidPointWithAltitude, EllipsoidPointWithAltitude_sequence);
return offset;
}
static const value_string lpp_T_latitudeSign_05_vals[] = {
{ 0, "north" },
{ 1, "south" },
{ 0, NULL }
};
static int
dissect_lpp_T_latitudeSign_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t EllipsoidArc_sequence[] = {
{ &hf_lpp_latitudeSign_05 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign_05 },
{ &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
{ &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
{ &hf_lpp_innerRadius , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_uncertaintyRadius, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_offsetAngle , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 },
{ &hf_lpp_includedAngle , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 },
{ &hf_lpp_confidence , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_EllipsoidArc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_EllipsoidArc, EllipsoidArc_sequence);
return offset;
}
static const per_sequence_t HighAccuracyEllipsoidPointWithUncertaintyEllipse_r15_sequence[] = {
{ &hf_lpp_degreesLatitude_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_degreesLongitude_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
{ &hf_lpp_uncertaintySemiMajor_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_uncertaintySemiMinor_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_orientationMajorAxis_r15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 },
{ &hf_lpp_confidence_r15 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_HighAccuracyEllipsoidPointWithUncertaintyEllipse_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_HighAccuracyEllipsoidPointWithUncertaintyEllipse_r15, HighAccuracyEllipsoidPointWithUncertaintyEllipse_r15_sequence);
return offset;
}
static const value_string lpp_LocationCoordinates_vals[] = {
{ 0, "ellipsoidPoint" },
{ 1, "ellipsoidPointWithUncertaintyCircle" },
{ 2, "ellipsoidPointWithUncertaintyEllipse" },
{ 3, "polygon" },
{ 4, "ellipsoidPointWithAltitude" },
{ 5, "ellipsoidPointWithAltitudeAndUncertaintyEllipsoid" },
{ 6, "ellipsoidArc" },
{ 7, "highAccuracyEllipsoidPointWithUncertaintyEllipse-v1510" },
{ 8, "highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-v1510" },
{ 0, NULL }
};
static const per_choice_t LocationCoordinates_choice[] = {
{ 0, &hf_lpp_ellipsoidPoint_01, ASN1_EXTENSION_ROOT , dissect_lpp_Ellipsoid_Point },
{ 1, &hf_lpp_ellipsoidPointWithUncertaintyCircle_01, ASN1_EXTENSION_ROOT , dissect_lpp_Ellipsoid_PointWithUncertaintyCircle },
{ 2, &hf_lpp_ellipsoidPointWithUncertaintyEllipse_01, ASN1_EXTENSION_ROOT , dissect_lpp_EllipsoidPointWithUncertaintyEllipse },
{ 3, &hf_lpp_locationCoordinates_polygon, ASN1_EXTENSION_ROOT , dissect_lpp_Polygon },
{ 4, &hf_lpp_ellipsoidPointWithAltitude_01, ASN1_EXTENSION_ROOT , dissect_lpp_EllipsoidPointWithAltitude },
{ 5, &hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid_01, ASN1_EXTENSION_ROOT , dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid },
{ 6, &hf_lpp_ellipsoidArc_01 , ASN1_EXTENSION_ROOT , dissect_lpp_EllipsoidArc },
{ 7, &hf_lpp_highAccuracyEllipsoidPointWithUncertaintyEllipse_v1510, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_HighAccuracyEllipsoidPointWithUncertaintyEllipse_r15 },
{ 8, &hf_lpp_highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_v1510, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_LocationCoordinates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_LocationCoordinates, LocationCoordinates_choice,
NULL);
return offset;
}
static const per_sequence_t HorizontalVelocity_sequence[] = {
{ &hf_lpp_bearing , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 },
{ &hf_lpp_horizontalSpeed , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_HorizontalVelocity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_HorizontalVelocity, HorizontalVelocity_sequence);
return offset;
}
static const value_string lpp_T_verticalDirection_vals[] = {
{ 0, "upward" },
{ 1, "downward" },
{ 0, NULL }
};
static int
dissect_lpp_T_verticalDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t HorizontalWithVerticalVelocity_sequence[] = {
{ &hf_lpp_bearing , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 },
{ &hf_lpp_horizontalSpeed , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
{ &hf_lpp_verticalDirection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_verticalDirection },
{ &hf_lpp_verticalSpeed , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_HorizontalWithVerticalVelocity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_HorizontalWithVerticalVelocity, HorizontalWithVerticalVelocity_sequence);
return offset;
}
static const per_sequence_t HorizontalVelocityWithUncertainty_sequence[] = {
{ &hf_lpp_bearing , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 },
{ &hf_lpp_horizontalSpeed , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
{ &hf_lpp_uncertaintySpeed, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_HorizontalVelocityWithUncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_HorizontalVelocityWithUncertainty, HorizontalVelocityWithUncertainty_sequence);
return offset;
}
static const value_string lpp_T_verticalDirection_01_vals[] = {
{ 0, "upward" },
{ 1, "downward" },
{ 0, NULL }
};
static int
dissect_lpp_T_verticalDirection_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t HorizontalWithVerticalVelocityAndUncertainty_sequence[] = {
{ &hf_lpp_bearing , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 },
{ &hf_lpp_horizontalSpeed , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
{ &hf_lpp_verticalDirection_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_verticalDirection_01 },
{ &hf_lpp_verticalSpeed , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_horizontalUncertaintySpeed, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_verticalUncertaintySpeed, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_HorizontalWithVerticalVelocityAndUncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_HorizontalWithVerticalVelocityAndUncertainty, HorizontalWithVerticalVelocityAndUncertainty_sequence);
return offset;
}
const value_string lpp_Velocity_vals[] = {
{ 0, "horizontalVelocity" },
{ 1, "horizontalWithVerticalVelocity" },
{ 2, "horizontalVelocityWithUncertainty" },
{ 3, "horizontalWithVerticalVelocityAndUncertainty" },
{ 0, NULL }
};
static const per_choice_t Velocity_choice[] = {
{ 0, &hf_lpp_horizontalVelocity_01, ASN1_EXTENSION_ROOT , dissect_lpp_HorizontalVelocity },
{ 1, &hf_lpp_horizontalWithVerticalVelocity_01, ASN1_EXTENSION_ROOT , dissect_lpp_HorizontalWithVerticalVelocity },
{ 2, &hf_lpp_horizontalVelocityWithUncertainty_01, ASN1_EXTENSION_ROOT , dissect_lpp_HorizontalVelocityWithUncertainty },
{ 3, &hf_lpp_horizontalWithVerticalVelocityAndUncertainty_01, ASN1_EXTENSION_ROOT , dissect_lpp_HorizontalWithVerticalVelocityAndUncertainty },
{ 0, NULL, 0, NULL }
};
int
dissect_lpp_Velocity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_Velocity, Velocity_choice,
NULL);
return offset;
}
static const value_string lpp_LocationFailureCause_vals[] = {
{ 0, "undefined" },
{ 1, "requestedMethodNotSupported" },
{ 2, "positionMethodFailure" },
{ 3, "periodicLocationMeasurementsNotAvailable" },
{ 0, NULL }
};
static int
dissect_lpp_LocationFailureCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t LocationError_sequence[] = {
{ &hf_lpp_locationfailurecause, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LocationFailureCause },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_LocationError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_LocationError, LocationError_sequence);
return offset;
}
static const value_string lpp_EarlyFixReport_r12_vals[] = {
{ 0, "noMoreMessages" },
{ 1, "moreMessagesOnTheWay" },
{ 0, NULL }
};
static int
dissect_lpp_EarlyFixReport_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t CommonIEsProvideLocationInformation_eag_1_sequence[] = {
{ &hf_lpp_earlyFixReport_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_EarlyFixReport_r12 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsProvideLocationInformation_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CommonIEsProvideLocationInformation_eag_1_sequence);
return offset;
}
static int * const LocationSource_r13_bits[] = {
&hf_lpp_LocationSource_r13_a_gnss,
&hf_lpp_LocationSource_r13_wlan,
&hf_lpp_LocationSource_r13_bt,
&hf_lpp_LocationSource_r13_tbs,
&hf_lpp_LocationSource_r13_sensor,
&hf_lpp_LocationSource_r13_ha_gnss_v1510,
&hf_lpp_LocationSource_r13_motion_sensor_v1550,
&hf_lpp_LocationSource_r13_dl_tdoa_r16,
&hf_lpp_LocationSource_r13_dl_aod_r16,
NULL
};
static int
dissect_lpp_LocationSource_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 16, FALSE, LocationSource_r13_bits, 9, NULL, NULL);
return offset;
}
static const per_sequence_t CommonIEsProvideLocationInformation_eag_2_sequence[] = {
{ &hf_lpp_locationSource_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LocationSource_r13 },
{ &hf_lpp_locationTimestamp_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_UTCTime },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsProvideLocationInformation_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CommonIEsProvideLocationInformation_eag_2_sequence);
return offset;
}
static const per_sequence_t CommonIEsProvideLocationInformation_eag_3_sequence[] = {
{ &hf_lpp_segmentationInfo_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SegmentationInfo_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsProvideLocationInformation_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CommonIEsProvideLocationInformation_eag_3_sequence);
return offset;
}
static const per_sequence_t CommonIEsProvideLocationInformation_sequence[] = {
{ &hf_lpp_locationEstimate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationCoordinates },
{ &hf_lpp_velocityEstimate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Velocity },
{ &hf_lpp_locationError , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationError },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsProvideLocationInformation_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsProvideLocationInformation_eag_2 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsProvideLocationInformation_eag_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsProvideLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CommonIEsProvideLocationInformation, CommonIEsProvideLocationInformation_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_3599999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 3599999U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_3999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 3999U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_eUTRA_01_sequence[] = {
{ &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalId_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA },
{ &hf_lpp_systemFrameNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_10 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_eUTRA_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_eUTRA_01, T_eUTRA_01_sequence);
return offset;
}
static const per_sequence_t T_fdd_01_sequence[] = {
{ &hf_lpp_primary_CPICH_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_fdd_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_fdd_01, T_fdd_01_sequence);
return offset;
}
static const per_sequence_t T_tdd_01_sequence[] = {
{ &hf_lpp_cellParameters , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_tdd_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_tdd_01, T_tdd_01_sequence);
return offset;
}
static const value_string lpp_T_mode_01_vals[] = {
{ 0, "fdd" },
{ 1, "tdd" },
{ 0, NULL }
};
static const per_choice_t T_mode_01_choice[] = {
{ 0, &hf_lpp_fdd_01 , ASN1_NO_EXTENSIONS , dissect_lpp_T_fdd_01 },
{ 1, &hf_lpp_tdd_01 , ASN1_NO_EXTENSIONS , dissect_lpp_T_tdd_01 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_mode_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_mode_01, T_mode_01_choice,
NULL);
return offset;
}
static const per_sequence_t T_uTRA_01_sequence[] = {
{ &hf_lpp_mode_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_mode_01 },
{ &hf_lpp_cellGlobalId_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA },
{ &hf_lpp_referenceSystemFrameNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4095 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_uTRA_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_uTRA_01, T_uTRA_01_sequence);
return offset;
}
static const per_sequence_t T_referenceFrame_sequence[] = {
{ &hf_lpp_referenceFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_referenceFNMSB , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_63 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_referenceFrame(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_referenceFrame, T_referenceFrame_sequence);
return offset;
}
static const per_sequence_t T_gSM_01_sequence[] = {
{ &hf_lpp_bcchCarrier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
{ &hf_lpp_bsic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ &hf_lpp_cellGlobalId_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdGERAN },
{ &hf_lpp_referenceFrame , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_referenceFrame },
{ &hf_lpp_deltaGNSS_TOD , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_gSM_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_gSM_01, T_gSM_01_sequence);
return offset;
}
static const per_sequence_t T_nbIoT_r14_sequence[] = {
{ &hf_lpp_nbPhysCellId_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_nbCellGlobalId_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
{ &hf_lpp_sfn_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_10 },
{ &hf_lpp_hyperSFN_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_10 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_nbIoT_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nbIoT_r14, T_nbIoT_r14_sequence);
return offset;
}
static const per_sequence_t T_nr_r15_01_sequence[] = {
{ &hf_lpp_nrPhysCellId_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1007 },
{ &hf_lpp_nrCellGlobalID_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ &hf_lpp_nr_sfn_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_10 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_nr_r15_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nr_r15_01, T_nr_r15_01_sequence);
return offset;
}
static const value_string lpp_T_networkTime_vals[] = {
{ 0, "eUTRA" },
{ 1, "uTRA" },
{ 2, "gSM" },
{ 3, "nbIoT-r14" },
{ 4, "nr-r15" },
{ 0, NULL }
};
static const per_choice_t T_networkTime_choice[] = {
{ 0, &hf_lpp_eUTRA_01 , ASN1_EXTENSION_ROOT , dissect_lpp_T_eUTRA_01 },
{ 1, &hf_lpp_uTRA_01 , ASN1_EXTENSION_ROOT , dissect_lpp_T_uTRA_01 },
{ 2, &hf_lpp_gSM_01 , ASN1_EXTENSION_ROOT , dissect_lpp_T_gSM_01 },
{ 3, &hf_lpp_nbIoT_r14 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_T_nbIoT_r14 },
{ 4, &hf_lpp_nr_r15_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_T_nr_r15_01 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_networkTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_networkTime, T_networkTime_choice,
NULL);
return offset;
}
static const per_sequence_t MeasurementReferenceTime_sequence[] = {
{ &hf_lpp_gnss_TOD_msec , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3599999 },
{ &hf_lpp_gnss_TOD_frac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3999 },
{ &hf_lpp_gnss_TOD_unc , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_gnss_TimeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
{ &hf_lpp_networkTime_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_networkTime },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MeasurementReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_MeasurementReferenceTime, MeasurementReferenceTime_sequence);
return offset;
}
static const value_string lpp_T_mpathDet_vals[] = {
{ 0, "notMeasured" },
{ 1, "low" },
{ 2, "medium" },
{ 3, "high" },
{ 0, NULL }
};
static int
dissect_lpp_T_mpathDet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_33554431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 33554431U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_adrSign_r15_vals[] = {
{ 0, "positive" },
{ 1, "negative" },
{ 0, NULL }
};
static int
dissect_lpp_T_adrSign_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t GNSS_SatMeasElement_eag_1_sequence[] = {
{ &hf_lpp_adrMSB_r15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_15 },
{ &hf_lpp_adrSign_r15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_adrSign_r15 },
{ &hf_lpp_adrRMSerror_r15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_delta_codePhase_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_7 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SatMeasElement_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GNSS_SatMeasElement_eag_1_sequence);
return offset;
}
static const per_sequence_t GNSS_SatMeasElement_sequence[] = {
{ &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
{ &hf_lpp_cNo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ &hf_lpp_mpathDet , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_mpathDet },
{ &hf_lpp_carrierQualityInd, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3 },
{ &hf_lpp_codePhase_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2097151 },
{ &hf_lpp_integerCodePhase, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_codePhaseRMSError, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ &hf_lpp_doppler , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M32768_32767 },
{ &hf_lpp_adr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_33554431 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SatMeasElement_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SatMeasElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SatMeasElement, GNSS_SatMeasElement_sequence);
return offset;
}
static const per_sequence_t GNSS_SatMeasList_sequence_of[1] = {
{ &hf_lpp_GNSS_SatMeasList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SatMeasElement },
};
static int
dissect_lpp_GNSS_SatMeasList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SatMeasList, GNSS_SatMeasList_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t GNSS_SgnMeasElement_sequence[] = {
{ &hf_lpp_gnss_SignalID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
{ &hf_lpp_gnss_CodePhaseAmbiguity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_gnss_SatMeasList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SatMeasList },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SgnMeasElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SgnMeasElement, GNSS_SgnMeasElement_sequence);
return offset;
}
static const per_sequence_t GNSS_SgnMeasList_sequence_of[1] = {
{ &hf_lpp_GNSS_SgnMeasList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SgnMeasElement },
};
static int
dissect_lpp_GNSS_SgnMeasList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SgnMeasList, GNSS_SgnMeasList_sequence_of,
1, 8, FALSE);
return offset;
}
static const per_sequence_t GNSS_MeasurementForOneGNSS_sequence[] = {
{ &hf_lpp_gnss_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
{ &hf_lpp_gnss_SgnMeasList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SgnMeasList },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_MeasurementForOneGNSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_MeasurementForOneGNSS, GNSS_MeasurementForOneGNSS_sequence);
return offset;
}
static const per_sequence_t GNSS_MeasurementList_sequence_of[1] = {
{ &hf_lpp_GNSS_MeasurementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_MeasurementForOneGNSS },
};
static int
dissect_lpp_GNSS_MeasurementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_MeasurementList, GNSS_MeasurementList_sequence_of,
1, 16, FALSE);
return offset;
}
static const per_sequence_t GNSS_SignalMeasurementInformation_sequence[] = {
{ &hf_lpp_measurementReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_MeasurementReferenceTime },
{ &hf_lpp_gnss_MeasurementList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_MeasurementList },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_SignalMeasurementInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_SignalMeasurementInformation, GNSS_SignalMeasurementInformation_sequence);
return offset;
}
static const per_sequence_t GNSS_LocationInformation_sequence[] = {
{ &hf_lpp_measurementReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_MeasurementReferenceTime },
{ &hf_lpp_agnss_List , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID_Bitmap },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_GNSS_LocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_GNSS_LocationInformation, GNSS_LocationInformation_sequence);
return offset;
}
static const per_sequence_t A_GNSS_ProvideLocationInformation_sequence[] = {
{ &hf_lpp_gnss_SignalMeasurementInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_SignalMeasurementInformation },
{ &hf_lpp_gnss_LocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_LocationInformation },
{ &hf_lpp_gnss_Error , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_Error },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_A_GNSS_ProvideLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_A_GNSS_ProvideLocationInformation, A_GNSS_ProvideLocationInformation_sequence);
return offset;
}
static int
dissect_lpp_T_error_Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 357 "./asn1/lpp/lpp.cnf"
tvbuff_t *error_Resolution_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, NULL, 0, &error_Resolution_tvb, NULL);
#line 361 "./asn1/lpp/lpp.cnf"
if (error_Resolution_tvb) {
guint bitvalue = tvb_get_bits8(error_Resolution_tvb, 0, 2);
actx->created_item = proto_tree_add_uint(tree, hf_index, error_Resolution_tvb, 0, 1, bitvalue);
}
return offset;
}
static int
dissect_lpp_T_error_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 370 "./asn1/lpp/lpp.cnf"
tvbuff_t *error_Value_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
5, 5, FALSE, NULL, 0, &error_Value_tvb, NULL);
#line 374 "./asn1/lpp/lpp.cnf"
if (error_Value_tvb) {
guint bitvalue = tvb_get_bits8(error_Value_tvb, 0, 5);
actx->created_item = proto_tree_add_uint(tree, hf_index, error_Value_tvb, 0, 1, bitvalue);
}
return offset;
}
static int
dissect_lpp_T_error_NumSamples(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 383 "./asn1/lpp/lpp.cnf"
tvbuff_t *error_NumSamples_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
3, 3, FALSE, NULL, 0, &error_NumSamples_tvb, NULL);
#line 387 "./asn1/lpp/lpp.cnf"
if (error_NumSamples_tvb) {
guint bitvalue = tvb_get_bits8(error_NumSamples_tvb, 0, 3);
actx->created_item = proto_tree_add_uint(tree, hf_index, error_NumSamples_tvb, 0, 1, bitvalue);
}
return offset;
}
static const per_sequence_t OTDOA_MeasQuality_sequence[] = {
{ &hf_lpp_error_Resolution, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_error_Resolution },
{ &hf_lpp_error_Value , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_error_Value },
{ &hf_lpp_error_NumSamples, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_error_NumSamples },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_MeasQuality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_MeasQuality, OTDOA_MeasQuality_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_12711(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 12711U, NULL, FALSE);
return offset;
}
static const per_sequence_t NeighbourMeasurementElement_eag_1_sequence[] = {
{ &hf_lpp_earfcnNeighbour_v9a0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_v9a0 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NeighbourMeasurementElement_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, NeighbourMeasurementElement_eag_1_sequence);
return offset;
}
static const per_sequence_t AdditionalPath_r14_sequence[] = {
{ &hf_lpp_relativeTimeDifference_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M256_255 },
{ &hf_lpp_path_Quality_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_MeasQuality },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AdditionalPath_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AdditionalPath_r14, AdditionalPath_r14_sequence);
return offset;
}
static const per_sequence_t AdditionalPathList_r14_sequence_of[1] = {
{ &hf_lpp_AdditionalPathList_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_AdditionalPath_r14 },
};
static int
dissect_lpp_AdditionalPathList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_AdditionalPathList_r14, AdditionalPathList_r14_sequence_of,
1, maxPaths_r14, FALSE);
return offset;
}
static const per_sequence_t NeighbourMeasurementElement_eag_2_sequence[] = {
{ &hf_lpp_tpIdNeighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_prsIdNeighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_delta_rstd_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_5 },
{ &hf_lpp_additionalPathsNeighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_AdditionalPathList_r14 },
{ &hf_lpp_nprsIdNeighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_carrierFreqOffsetNB_Neighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_CarrierFreqOffsetNB_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NeighbourMeasurementElement_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, NeighbourMeasurementElement_eag_2_sequence);
return offset;
}
static const per_sequence_t NeighbourMeasurementElement_eag_3_sequence[] = {
{ &hf_lpp_delta_SFN_r15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M8192_8191 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NeighbourMeasurementElement_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, NeighbourMeasurementElement_eag_3_sequence);
return offset;
}
static const per_sequence_t NeighbourMeasurementElement_sequence[] = {
{ &hf_lpp_physCellIdNeighbour, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalIdNeighbour, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
{ &hf_lpp_earfcnNeighbour , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA },
{ &hf_lpp_rstd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_12711 },
{ &hf_lpp_rstd_Quality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_MeasQuality },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementElement_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementElement_eag_2 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementElement_eag_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NeighbourMeasurementElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NeighbourMeasurementElement, NeighbourMeasurementElement_sequence);
return offset;
}
static const per_sequence_t NeighbourMeasurementList_sequence_of[1] = {
{ &hf_lpp_NeighbourMeasurementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementElement },
};
static int
dissect_lpp_NeighbourMeasurementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NeighbourMeasurementList, NeighbourMeasurementList_sequence_of,
1, 24, FALSE);
return offset;
}
static const per_sequence_t OTDOA_SignalMeasurementInformation_eag_1_sequence[] = {
{ &hf_lpp_earfcnRef_v9a0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_v9a0 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_SignalMeasurementInformation_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_SignalMeasurementInformation_eag_1_sequence);
return offset;
}
static const per_sequence_t OTDOA_SignalMeasurementInformation_eag_2_sequence[] = {
{ &hf_lpp_tpIdRef_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_prsIdRef_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_additionalPathsRef_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_AdditionalPathList_r14 },
{ &hf_lpp_nprsIdRef_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_carrierFreqOffsetNB_Ref_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_CarrierFreqOffsetNB_r14 },
{ &hf_lpp_hyperSFN_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_10 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_SignalMeasurementInformation_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_SignalMeasurementInformation_eag_2_sequence);
return offset;
}
static const value_string lpp_T_timeSource_r15_vals[] = {
{ 0, "servingCell" },
{ 1, "referenceCell" },
{ 2, "gnss" },
{ 3, "mixed" },
{ 4, "other" },
{ 5, "none" },
{ 0, NULL }
};
static int
dissect_lpp_T_timeSource_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t MotionTimeSource_r15_sequence[] = {
{ &hf_lpp_timeSource_r15 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_timeSource_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MotionTimeSource_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_MotionTimeSource_r15, MotionTimeSource_r15_sequence);
return offset;
}
static const per_sequence_t OTDOA_SignalMeasurementInformation_eag_3_sequence[] = {
{ &hf_lpp_motionTimeSource_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_MotionTimeSource_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_SignalMeasurementInformation_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_SignalMeasurementInformation_eag_3_sequence);
return offset;
}
static const per_sequence_t OTDOA_SignalMeasurementInformation_sequence[] = {
{ &hf_lpp_systemFrameNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_10 },
{ &hf_lpp_physCellIdRef , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalIdRef , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
{ &hf_lpp_earfcnRef , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA },
{ &hf_lpp_referenceQuality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_MeasQuality },
{ &hf_lpp_neighbourMeasurementList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementList },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_SignalMeasurementInformation_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_SignalMeasurementInformation_eag_2 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_SignalMeasurementInformation_eag_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_SignalMeasurementInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_SignalMeasurementInformation, OTDOA_SignalMeasurementInformation_sequence);
return offset;
}
static const per_sequence_t NeighbourMeasurementElement_NB_r14_sequence[] = {
{ &hf_lpp_physCellIdNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalIdNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
{ &hf_lpp_earfcnNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_r14 },
{ &hf_lpp_rstd_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_12711 },
{ &hf_lpp_rstd_Quality_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_MeasQuality },
{ &hf_lpp_tpIdNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_prsIdNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_delta_rstd_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_5 },
{ &hf_lpp_additionalPathsNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AdditionalPathList_r14 },
{ &hf_lpp_nprsIdNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_carrierFreqOffsetNB_Neighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CarrierFreqOffsetNB_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NeighbourMeasurementElement_NB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NeighbourMeasurementElement_NB_r14, NeighbourMeasurementElement_NB_r14_sequence);
return offset;
}
static const per_sequence_t NeighbourMeasurementList_NB_r14_sequence_of[1] = {
{ &hf_lpp_NeighbourMeasurementList_NB_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementElement_NB_r14 },
};
static int
dissect_lpp_NeighbourMeasurementList_NB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NeighbourMeasurementList_NB_r14, NeighbourMeasurementList_NB_r14_sequence_of,
1, 24, FALSE);
return offset;
}
static const per_sequence_t OTDOA_SignalMeasurementInformation_NB_r14_sequence[] = {
{ &hf_lpp_systemFrameNumber_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_10 },
{ &hf_lpp_physCellIdRef_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalIdRef_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
{ &hf_lpp_earfcnRef_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_r14 },
{ &hf_lpp_referenceQuality_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_MeasQuality },
{ &hf_lpp_neighbourMeasurementList_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementList_NB_r14 },
{ &hf_lpp_tpIdRef_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_prsIdRef_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_additionalPathsRef_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AdditionalPathList_r14 },
{ &hf_lpp_nprsIdRef_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_carrierFreqOffsetNB_Ref_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CarrierFreqOffsetNB_r14 },
{ &hf_lpp_hyperSFN_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_10 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_SignalMeasurementInformation_NB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_SignalMeasurementInformation_NB_r14, OTDOA_SignalMeasurementInformation_NB_r14_sequence);
return offset;
}
static const per_sequence_t OTDOA_ProvideLocationInformation_eag_1_sequence[] = {
{ &hf_lpp_otdoaSignalMeasurementInformation_NB_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_OTDOA_SignalMeasurementInformation_NB_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_ProvideLocationInformation_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_ProvideLocationInformation_eag_1_sequence);
return offset;
}
static const per_sequence_t OTDOA_ProvideLocationInformation_sequence[] = {
{ &hf_lpp_otdoaSignalMeasurementInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_SignalMeasurementInformation },
{ &hf_lpp_otdoa_Error , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_Error },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ProvideLocationInformation_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_ProvideLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_ProvideLocationInformation, OTDOA_ProvideLocationInformation_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_97(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 97U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 34U, NULL, FALSE);
return offset;
}
static const per_sequence_t MeasuredResultsElement_eag_1_sequence[] = {
{ &hf_lpp_arfcnEUTRA_v9a0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_v9a0 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MeasuredResultsElement_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasuredResultsElement_eag_1_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_113(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 113U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_74(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 74U, NULL, FALSE);
return offset;
}
static const per_sequence_t MeasuredResultsElement_eag_2_sequence[] = {
{ &hf_lpp_nrsrp_Result_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_113 },
{ &hf_lpp_nrsrq_Result_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_74 },
{ &hf_lpp_carrierFreqOffsetNB_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_CarrierFreqOffsetNB_r14 },
{ &hf_lpp_hyperSFN_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_10 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MeasuredResultsElement_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasuredResultsElement_eag_2_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M17_M1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-17, -1, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_M30_46(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-30, 46U, NULL, FALSE);
return offset;
}
static const per_sequence_t MeasuredResultsElement_eag_3_sequence[] = {
{ &hf_lpp_rsrp_Result_v1470, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M17_M1 },
{ &hf_lpp_rsrq_Result_v1470, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M30_46 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MeasuredResultsElement_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasuredResultsElement_eag_3_sequence);
return offset;
}
static const per_sequence_t MeasuredResultsElement_sequence[] = {
{ &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalId_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA },
{ &hf_lpp_arfcnEUTRA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueEUTRA },
{ &hf_lpp_systemFrameNumber, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_10 },
{ &hf_lpp_rsrp_Result , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_97 },
{ &hf_lpp_rsrq_Result , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_34 },
{ &hf_lpp_ue_RxTxTimeDiff , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_MeasuredResultsElement_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_MeasuredResultsElement_eag_2 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_MeasuredResultsElement_eag_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MeasuredResultsElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_MeasuredResultsElement, MeasuredResultsElement_sequence);
return offset;
}
static const per_sequence_t MeasuredResultsList_sequence_of[1] = {
{ &hf_lpp_MeasuredResultsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_MeasuredResultsElement },
};
static int
dissect_lpp_MeasuredResultsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_MeasuredResultsList, MeasuredResultsList_sequence_of,
1, 32, FALSE);
return offset;
}
static const per_sequence_t ECID_SignalMeasurementInformation_sequence[] = {
{ &hf_lpp_primaryCellMeasuredResults, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_MeasuredResultsElement },
{ &hf_lpp_measuredResultsList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_MeasuredResultsList },
{ NULL, 0, 0, NULL }
};
int
dissect_lpp_ECID_SignalMeasurementInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ECID_SignalMeasurementInformation, ECID_SignalMeasurementInformation_sequence);
return offset;
}
static const value_string lpp_T_cause_04_vals[] = {
{ 0, "undefined" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t ECID_LocationServerErrorCauses_sequence[] = {
{ &hf_lpp_cause_04 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_04 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ECID_LocationServerErrorCauses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ECID_LocationServerErrorCauses, ECID_LocationServerErrorCauses_sequence);
return offset;
}
static const value_string lpp_T_cause_05_vals[] = {
{ 0, "undefined" },
{ 1, "requestedMeasurementNotAvailable" },
{ 2, "notAllrequestedMeasurementsPossible" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t ECID_TargetDeviceErrorCauses_eag_1_sequence[] = {
{ &hf_lpp_nrsrpMeasurementNotPossible_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &hf_lpp_nrsrqMeasurementNotPossible_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NULL },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ECID_TargetDeviceErrorCauses_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ECID_TargetDeviceErrorCauses_eag_1_sequence);
return offset;
}
static const per_sequence_t ECID_TargetDeviceErrorCauses_sequence[] = {
{ &hf_lpp_cause_05 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_05 },
{ &hf_lpp_rsrpMeasurementNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &hf_lpp_rsrqMeasurementNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &hf_lpp_ueRxTxMeasurementNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ECID_TargetDeviceErrorCauses_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ECID_TargetDeviceErrorCauses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ECID_TargetDeviceErrorCauses, ECID_TargetDeviceErrorCauses_sequence);
return offset;
}
static const value_string lpp_ECID_Error_vals[] = {
{ 0, "locationServerErrorCauses" },
{ 1, "targetDeviceErrorCauses" },
{ 0, NULL }
};
static const per_choice_t ECID_Error_choice[] = {
{ 0, &hf_lpp_locationServerErrorCauses_02, ASN1_EXTENSION_ROOT , dissect_lpp_ECID_LocationServerErrorCauses },
{ 1, &hf_lpp_targetDeviceErrorCauses_02, ASN1_EXTENSION_ROOT , dissect_lpp_ECID_TargetDeviceErrorCauses },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_ECID_Error(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_ECID_Error, ECID_Error_choice,
NULL);
return offset;
}
static const per_sequence_t ECID_ProvideLocationInformation_sequence[] = {
{ &hf_lpp_ecid_SignalMeasurementInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECID_SignalMeasurementInformation },
{ &hf_lpp_ecid_Error , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECID_Error },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ECID_ProvideLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ECID_ProvideLocationInformation, ECID_ProvideLocationInformation_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_30000_115000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
30000U, 115000U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_1000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1000U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_1_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 100U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_uncertainty_r14_sequence[] = {
{ &hf_lpp_range_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1000 },
{ &hf_lpp_confidence_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_uncertainty_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_uncertainty_r14, T_uncertainty_r14_sequence);
return offset;
}
static const per_sequence_t Sensor_MeasurementInformation_r13_eag_1_sequence[] = {
{ &hf_lpp_uncertainty_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_uncertainty_r14 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_MeasurementInformation_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_MeasurementInformation_r13_eag_1_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M5000_5000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-5000, 5000U, NULL, FALSE);
return offset;
}
static const per_sequence_t Sensor_MeasurementInformation_r13_eag_2_sequence[] = {
{ &hf_lpp_adjustment_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M5000_5000 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_MeasurementInformation_r13_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_MeasurementInformation_r13_eag_2_sequence);
return offset;
}
static const per_sequence_t Sensor_MeasurementInformation_r13_sequence[] = {
{ &hf_lpp_measurementReferenceTime_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_UTCTime },
{ &hf_lpp_uncompensatedBarometricPressure_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_30000_115000 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_MeasurementInformation_r13_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_MeasurementInformation_r13_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_MeasurementInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_MeasurementInformation_r13, Sensor_MeasurementInformation_r13_sequence);
return offset;
}
static const per_sequence_t UTC_Time_r15_sequence[] = {
{ &hf_lpp_utcTime_r15_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_UTCTime },
{ &hf_lpp_utcTime_ms_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_999 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_UTC_Time_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_UTC_Time_r15, UTC_Time_r15_sequence);
return offset;
}
static const per_sequence_t SFN_r15_sequence[] = {
{ &hf_lpp_sfn_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_10 },
{ &hf_lpp_hyperSFN_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_10 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SFN_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SFN_r15, SFN_r15_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M8192_9214(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-8192, 9214U, NULL, FALSE);
return offset;
}
static const value_string lpp_DisplacementTimeStamp_r15_vals[] = {
{ 0, "utcTime-r15" },
{ 1, "gnssTime-r15" },
{ 2, "systemFrameNumber-r15" },
{ 3, "measurementSFN-r15" },
{ 0, NULL }
};
static const per_choice_t DisplacementTimeStamp_r15_choice[] = {
{ 0, &hf_lpp_utcTime_r15 , ASN1_EXTENSION_ROOT , dissect_lpp_UTC_Time_r15 },
{ 1, &hf_lpp_gnssTime_r15 , ASN1_EXTENSION_ROOT , dissect_lpp_MeasurementReferenceTime },
{ 2, &hf_lpp_systemFrameNumber_r15, ASN1_EXTENSION_ROOT , dissect_lpp_SFN_r15 },
{ 3, &hf_lpp_measurementSFN_r15, ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_M8192_9214 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_DisplacementTimeStamp_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_DisplacementTimeStamp_r15, DisplacementTimeStamp_r15_choice,
NULL);
return offset;
}
static int
dissect_lpp_INTEGER_1_16384(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 16384U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_1_4096(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 4096U, NULL, FALSE);
return offset;
}
static const value_string lpp_DeltaTime_r15_vals[] = {
{ 0, "deltaTimeSec-r15" },
{ 1, "deltaTimeSFN-r15" },
{ 0, NULL }
};
static const per_choice_t DeltaTime_r15_choice[] = {
{ 0, &hf_lpp_deltaTimeSec_r15, ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_1_16384 },
{ 1, &hf_lpp_deltaTimeSFN_r15, ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_1_4096 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_DeltaTime_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_DeltaTime_r15, DeltaTime_r15_choice,
NULL);
return offset;
}
static const value_string lpp_T_bearingRef_r15_vals[] = {
{ 0, "geographicNorth" },
{ 1, "magneticNorth" },
{ 2, "local" },
{ 0, NULL }
};
static int
dissect_lpp_T_bearingRef_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_verticalDirection_r15_vals[] = {
{ 0, "upward" },
{ 1, "downward" },
{ 0, NULL }
};
static int
dissect_lpp_T_verticalDirection_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t Displacement_r15_sequence[] = {
{ &hf_lpp_bearing_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3599 },
{ &hf_lpp_bearingUncConfidence_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_100 },
{ &hf_lpp_bearingRef_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_bearingRef_r15 },
{ &hf_lpp_horizontalDistance_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8191 },
{ &hf_lpp_horizontalDistanceUnc_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_horizontalUncConfidence_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_100 },
{ &hf_lpp_verticalDirection_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_verticalDirection_r15 },
{ &hf_lpp_verticalDistance_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_8191 },
{ &hf_lpp_verticalDistanceUnc_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_verticalUncConfidence_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_100 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Displacement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Displacement_r15, Displacement_r15_sequence);
return offset;
}
static const per_sequence_t DisplacementInfoListElement_r15_sequence[] = {
{ &hf_lpp_deltaTimeStamp_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_DeltaTime_r15 },
{ &hf_lpp_displacement_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Displacement_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_DisplacementInfoListElement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_DisplacementInfoListElement_r15, DisplacementInfoListElement_r15_sequence);
return offset;
}
static const per_sequence_t DisplacementInfoList_r15_sequence_of[1] = {
{ &hf_lpp_DisplacementInfoList_r15_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DisplacementInfoListElement_r15 },
};
static int
dissect_lpp_DisplacementInfoList_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_DisplacementInfoList_r15, DisplacementInfoList_r15_sequence_of,
1, 128, FALSE);
return offset;
}
static const per_sequence_t Sensor_MotionInformation_r15_sequence[] = {
{ &hf_lpp_refTime_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_DisplacementTimeStamp_r15 },
{ &hf_lpp_displacementInfoList_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_DisplacementInfoList_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_MotionInformation_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_MotionInformation_r15, Sensor_MotionInformation_r15_sequence);
return offset;
}
static const per_sequence_t Sensor_ProvideLocationInformation_r13_eag_1_sequence[] = {
{ &hf_lpp_sensor_MotionInformation_r15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Sensor_MotionInformation_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_ProvideLocationInformation_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_ProvideLocationInformation_r13_eag_1_sequence);
return offset;
}
static const per_sequence_t Sensor_ProvideLocationInformation_r13_sequence[] = {
{ &hf_lpp_sensor_MeasurementInformation_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Sensor_MeasurementInformation_r13 },
{ &hf_lpp_sensor_Error_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Sensor_Error_r13 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_ProvideLocationInformation_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Sensor_ProvideLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Sensor_ProvideLocationInformation_r13, Sensor_ProvideLocationInformation_r13_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M130_M30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-130, -30, NULL, FALSE);
return offset;
}
static const per_sequence_t MBS_BeaconMeasElement_r13_eag_1_sequence[] = {
{ &hf_lpp_rssi_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M130_M30 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MBS_BeaconMeasElement_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MBS_BeaconMeasElement_r13_eag_1_sequence);
return offset;
}
static const per_sequence_t MBS_BeaconMeasElement_r13_sequence[] = {
{ &hf_lpp_transmitterID_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_32767 },
{ &hf_lpp_codePhase_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2097151 },
{ &hf_lpp_codePhaseRMSError_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_MBS_BeaconMeasElement_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MBS_BeaconMeasElement_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_MBS_BeaconMeasElement_r13, MBS_BeaconMeasElement_r13_sequence);
return offset;
}
static const per_sequence_t MBS_BeaconMeasList_r13_sequence_of[1] = {
{ &hf_lpp_MBS_BeaconMeasList_r13_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_MBS_BeaconMeasElement_r13 },
};
static int
dissect_lpp_MBS_BeaconMeasList_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_MBS_BeaconMeasList_r13, MBS_BeaconMeasList_r13_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t TBS_MeasurementInformation_r13_sequence[] = {
{ &hf_lpp_measurementReferenceTime_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_UTCTime },
{ &hf_lpp_mbs_SgnMeasList_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_MBS_BeaconMeasList_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TBS_MeasurementInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TBS_MeasurementInformation_r13, TBS_MeasurementInformation_r13_sequence);
return offset;
}
static const per_sequence_t TBS_ProvideLocationInformation_r13_sequence[] = {
{ &hf_lpp_tbs_MeasurementInformation_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_TBS_MeasurementInformation_r13 },
{ &hf_lpp_tbs_Error_r13 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_TBS_Error_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_TBS_ProvideLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_TBS_ProvideLocationInformation_r13, TBS_ProvideLocationInformation_r13_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_M127_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-127, 128U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_rttUnits_r13_vals[] = {
{ 0, "microseconds" },
{ 1, "hundredsofnanoseconds" },
{ 2, "tensofnanoseconds" },
{ 3, "nanoseconds" },
{ 4, "tenthsofnanoseconds" },
{ 0, NULL }
};
static int
dissect_lpp_T_rttUnits_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t WLAN_RTT_r13_sequence[] = {
{ &hf_lpp_rttValue_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16777215 },
{ &hf_lpp_rttUnits_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_rttUnits_r13 },
{ &hf_lpp_rttAccuracy_r13 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_RTT_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_RTT_r13, WLAN_RTT_r13_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 256U, NULL, FALSE);
return offset;
}
static const per_sequence_t WLAN_MeasurementElement_r13_sequence[] = {
{ &hf_lpp_wlan_AP_Identifier_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_AP_Identifier_r13 },
{ &hf_lpp_rssi_r13 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M127_128 },
{ &hf_lpp_rtt_r13 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_WLAN_RTT_r13 },
{ &hf_lpp_apChannelFrequency_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_256 },
{ &hf_lpp_servingFlag_r13 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_MeasurementElement_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_MeasurementElement_r13, WLAN_MeasurementElement_r13_sequence);
return offset;
}
static const per_sequence_t WLAN_MeasurementList_r13_sequence_of[1] = {
{ &hf_lpp_WLAN_MeasurementList_r13_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_MeasurementElement_r13 },
};
static int
dissect_lpp_WLAN_MeasurementList_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_MeasurementList_r13, WLAN_MeasurementList_r13_sequence_of,
1, maxWLAN_AP_r13, FALSE);
return offset;
}
static const per_sequence_t WLAN_MeasurementInformation_r13_sequence[] = {
{ &hf_lpp_measurementReferenceTime_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_UTCTime },
{ &hf_lpp_wlan_MeasurementList_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_WLAN_MeasurementList_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_MeasurementInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_MeasurementInformation_r13, WLAN_MeasurementInformation_r13_sequence);
return offset;
}
static const per_sequence_t WLAN_ProvideLocationInformation_r13_sequence[] = {
{ &hf_lpp_wlan_MeasurementInformation_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_WLAN_MeasurementInformation_r13 },
{ &hf_lpp_wlan_Error_r13 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_WLAN_Error_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_WLAN_ProvideLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_WLAN_ProvideLocationInformation_r13, WLAN_ProvideLocationInformation_r13_sequence);
return offset;
}
static int
dissect_lpp_T_btAddr_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1788 "./asn1/lpp/lpp.cnf"
tvbuff_t *btAddr_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
48, 48, FALSE, NULL, 0, &btAddr_tvb, NULL);
actx->created_item = proto_tree_add_item(tree, hf_index, btAddr_tvb, 0, 6, ENC_NA);
return offset;
}
static const per_sequence_t BT_MeasurementElement_r13_sequence[] = {
{ &hf_lpp_btAddr_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_btAddr_r13 },
{ &hf_lpp_rssi_r13_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M128_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BT_MeasurementElement_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BT_MeasurementElement_r13, BT_MeasurementElement_r13_sequence);
return offset;
}
static const per_sequence_t BT_MeasurementList_r13_sequence_of[1] = {
{ &hf_lpp_BT_MeasurementList_r13_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BT_MeasurementElement_r13 },
};
static int
dissect_lpp_BT_MeasurementList_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_BT_MeasurementList_r13, BT_MeasurementList_r13_sequence_of,
1, maxBT_Beacon_r13, FALSE);
return offset;
}
static const per_sequence_t BT_MeasurementInformation_r13_sequence[] = {
{ &hf_lpp_measurementReferenceTime_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_UTCTime },
{ &hf_lpp_bt_MeasurementList_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BT_MeasurementList_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BT_MeasurementInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BT_MeasurementInformation_r13, BT_MeasurementInformation_r13_sequence);
return offset;
}
static const value_string lpp_T_cause_r13_06_vals[] = {
{ 0, "undefined" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r13_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t BT_LocationServerErrorCauses_r13_sequence[] = {
{ &hf_lpp_cause_r13_06 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_06 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BT_LocationServerErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BT_LocationServerErrorCauses_r13, BT_LocationServerErrorCauses_r13_sequence);
return offset;
}
static const value_string lpp_T_cause_r13_07_vals[] = {
{ 0, "undefined" },
{ 1, "requestedMeasurementsNotAvailable" },
{ 2, "notAllrequestedMeasurementsPossible" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r13_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t BT_TargetDeviceErrorCauses_r13_sequence[] = {
{ &hf_lpp_cause_r13_07 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_07 },
{ &hf_lpp_bt_Beacon_rssiMeasurementNotPossible_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BT_TargetDeviceErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BT_TargetDeviceErrorCauses_r13, BT_TargetDeviceErrorCauses_r13_sequence);
return offset;
}
static const value_string lpp_BT_Error_r13_vals[] = {
{ 0, "locationServerErrorCauses-r13" },
{ 1, "targetDeviceErrorCauses-r13" },
{ 0, NULL }
};
static const per_choice_t BT_Error_r13_choice[] = {
{ 0, &hf_lpp_locationServerErrorCauses_r13_03, ASN1_EXTENSION_ROOT , dissect_lpp_BT_LocationServerErrorCauses_r13 },
{ 1, &hf_lpp_targetDeviceErrorCauses_r13_03, ASN1_EXTENSION_ROOT , dissect_lpp_BT_TargetDeviceErrorCauses_r13 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_BT_Error_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_BT_Error_r13, BT_Error_r13_choice,
NULL);
return offset;
}
static const per_sequence_t BT_ProvideLocationInformation_r13_sequence[] = {
{ &hf_lpp_bt_MeasurementInformation_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BT_MeasurementInformation_r13 },
{ &hf_lpp_bt_Error_r13 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BT_Error_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_BT_ProvideLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_BT_ProvideLocationInformation_r13, BT_ProvideLocationInformation_r13_sequence);
return offset;
}
static const per_sequence_t ProvideLocationInformation_r9_IEs_eag_1_sequence[] = {
{ &hf_lpp_sensor_ProvideLocationInformation_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Sensor_ProvideLocationInformation_r13 },
{ &hf_lpp_tbs_ProvideLocationInformation_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TBS_ProvideLocationInformation_r13 },
{ &hf_lpp_wlan_ProvideLocationInformation_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_WLAN_ProvideLocationInformation_r13 },
{ &hf_lpp_bt_ProvideLocationInformation_r13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BT_ProvideLocationInformation_r13 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ProvideLocationInformation_r9_IEs_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ProvideLocationInformation_r9_IEs_eag_1_sequence);
return offset;
}
static const value_string lpp_T_nr_ARFCN_r16_vals[] = {
{ 0, "ssb-ARFCN-r16" },
{ 1, "csi-RS-pointA-r16" },
{ 0, NULL }
};
static const per_choice_t T_nr_ARFCN_r16_choice[] = {
{ 0, &hf_lpp_ssb_ARFCN_r16 , ASN1_NO_EXTENSIONS , dissect_lpp_ARFCN_ValueNR_r15 },
{ 1, &hf_lpp_csi_RS_pointA_r16, ASN1_NO_EXTENSIONS , dissect_lpp_ARFCN_ValueNR_r15 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_nr_ARFCN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nr_ARFCN_r16, T_nr_ARFCN_r16_choice,
NULL);
return offset;
}
static const per_sequence_t MeasQuantityResults_r16_sequence[] = {
{ &hf_lpp_nr_RSRP_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
{ &hf_lpp_nr_RSRQ_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_MeasQuantityResults_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_MeasQuantityResults_r16, MeasQuantityResults_r16_sequence);
return offset;
}
static const per_sequence_t ResultsPerSSB_Index_r16_sequence[] = {
{ &hf_lpp_ssb_Index_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ &hf_lpp_ssb_Results_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_MeasQuantityResults_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ResultsPerSSB_Index_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ResultsPerSSB_Index_r16, ResultsPerSSB_Index_r16_sequence);
return offset;
}
static const per_sequence_t ResultsPerSSB_IndexList_r16_sequence_of[1] = {
{ &hf_lpp_ResultsPerSSB_IndexList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_ResultsPerSSB_Index_r16 },
};
static int
dissect_lpp_ResultsPerSSB_IndexList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_ResultsPerSSB_IndexList_r16, ResultsPerSSB_IndexList_r16_sequence_of,
1, 64, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_95(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 95U, NULL, FALSE);
return offset;
}
static const per_sequence_t ResultsPerCSI_RS_Index_r16_sequence[] = {
{ &hf_lpp_csi_RS_Index_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_95 },
{ &hf_lpp_csi_RS_Results_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_MeasQuantityResults_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ResultsPerCSI_RS_Index_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ResultsPerCSI_RS_Index_r16, ResultsPerCSI_RS_Index_r16_sequence);
return offset;
}
static const per_sequence_t ResultsPerCSI_RS_IndexList_r16_sequence_of[1] = {
{ &hf_lpp_ResultsPerCSI_RS_IndexList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_ResultsPerCSI_RS_Index_r16 },
};
static int
dissect_lpp_ResultsPerCSI_RS_IndexList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_ResultsPerCSI_RS_IndexList_r16, ResultsPerCSI_RS_IndexList_r16_sequence_of,
1, 64, FALSE);
return offset;
}
static const per_sequence_t NR_MeasuredResultsElement_r16_sequence[] = {
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_ARFCN_r16_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_ARFCN_r16 },
{ &hf_lpp_nr_CellGlobalID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ &hf_lpp_systemFrameNumber_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_10 },
{ &hf_lpp_resultsSSB_Cell_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_MeasQuantityResults_r16 },
{ &hf_lpp_resultsCSI_RS_Cell_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_MeasQuantityResults_r16 },
{ &hf_lpp_resultsSSB_Indexes_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ResultsPerSSB_IndexList_r16 },
{ &hf_lpp_resultsCSI_RS_Indexes_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ResultsPerCSI_RS_IndexList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_MeasuredResultsElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_MeasuredResultsElement_r16, NR_MeasuredResultsElement_r16_sequence);
return offset;
}
static const per_sequence_t NR_MeasuredResultsList_r16_sequence_of[1] = {
{ &hf_lpp_NR_MeasuredResultsList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_MeasuredResultsElement_r16 },
};
static int
dissect_lpp_NR_MeasuredResultsList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_MeasuredResultsList_r16, NR_MeasuredResultsList_r16_sequence_of,
1, 32, FALSE);
return offset;
}
static const per_sequence_t NR_ECID_SignalMeasurementInformation_r16_sequence[] = {
{ &hf_lpp_nr_PrimaryCellMeasuredResults_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_MeasuredResultsElement_r16 },
{ &hf_lpp_nr_MeasuredResultsList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_MeasuredResultsList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_ECID_SignalMeasurementInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_ECID_SignalMeasurementInformation_r16, NR_ECID_SignalMeasurementInformation_r16_sequence);
return offset;
}
static const value_string lpp_T_cause_r16_vals[] = {
{ 0, "undefined" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t NR_ECID_LocationServerErrorCauses_r16_sequence[] = {
{ &hf_lpp_cause_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_ECID_LocationServerErrorCauses_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_ECID_LocationServerErrorCauses_r16, NR_ECID_LocationServerErrorCauses_r16_sequence);
return offset;
}
static const value_string lpp_T_cause_r16_01_vals[] = {
{ 0, "undefined" },
{ 1, "requestedMeasurementNotAvailable" },
{ 2, "notAllrequestedMeasurementsPossible" },
{ 0, NULL }
};
static int
dissect_lpp_T_cause_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t NR_ECID_TargetDeviceErrorCauses_r16_sequence[] = {
{ &hf_lpp_cause_r16_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r16_01 },
{ &hf_lpp_ss_RSRPMeasurementNotPossible_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &hf_lpp_ss_RSRQMeasurementNotPossible_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &hf_lpp_csi_RSRPMeasurementNotPossible_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &hf_lpp_csi_RSRQMeasurementNotPossible_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_ECID_TargetDeviceErrorCauses_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_ECID_TargetDeviceErrorCauses_r16, NR_ECID_TargetDeviceErrorCauses_r16_sequence);
return offset;
}
static const value_string lpp_NR_ECID_Error_r16_vals[] = {
{ 0, "locationServerErrorCauses-r16" },
{ 1, "targetDeviceErrorCauses-r16" },
{ 0, NULL }
};
static const per_choice_t NR_ECID_Error_r16_choice[] = {
{ 0, &hf_lpp_locationServerErrorCauses_r16, ASN1_EXTENSION_ROOT , dissect_lpp_NR_ECID_LocationServerErrorCauses_r16 },
{ 1, &hf_lpp_targetDeviceErrorCauses_r16, ASN1_EXTENSION_ROOT , dissect_lpp_NR_ECID_TargetDeviceErrorCauses_r16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_NR_ECID_Error_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_ECID_Error_r16, NR_ECID_Error_r16_choice,
NULL);
return offset;
}
static const per_sequence_t NR_ECID_ProvideLocationInformation_r16_sequence[] = {
{ &hf_lpp_nr_ECID_SignalMeasurementInformation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_ECID_SignalMeasurementInformation_r16 },
{ &hf_lpp_nr_ECID_Error_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_ECID_Error_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_ECID_ProvideLocationInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_ECID_ProvideLocationInformation_r16, NR_ECID_ProvideLocationInformation_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_1970049(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1970049U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_985025(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 985025U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_492513(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 492513U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_246257(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 246257U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_123129(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 123129U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_61565(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 61565U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_nr_UE_RxTxTimeDiff_r16_vals[] = {
{ 0, "k0-r16" },
{ 1, "k1-r16" },
{ 2, "k2-r16" },
{ 3, "k3-r16" },
{ 4, "k4-r16" },
{ 5, "k5-r16" },
{ 0, NULL }
};
static const per_choice_t T_nr_UE_RxTxTimeDiff_r16_choice[] = {
{ 0, &hf_lpp_k0_r16_01 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_1970049 },
{ 1, &hf_lpp_k1_r16_01 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_985025 },
{ 2, &hf_lpp_k2_r16_01 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_492513 },
{ 3, &hf_lpp_k3_r16_01 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_246257 },
{ 4, &hf_lpp_k4_r16_01 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_123129 },
{ 5, &hf_lpp_k5_r16_01 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_61565 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_nr_UE_RxTxTimeDiff_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nr_UE_RxTxTimeDiff_r16, T_nr_UE_RxTxTimeDiff_r16_choice,
NULL);
return offset;
}
static int
dissect_lpp_INTEGER_0_16351(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 16351U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_8176(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 8176U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_4088(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4088U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_2044(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 2044U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_nr_RelativeTimeDifference_r16_vals[] = {
{ 0, "k0-r16" },
{ 1, "k1-r16" },
{ 2, "k2-r16" },
{ 3, "k3-r16" },
{ 4, "k4-r16" },
{ 5, "k5-r16" },
{ 0, NULL }
};
static const per_choice_t T_nr_RelativeTimeDifference_r16_choice[] = {
{ 0, &hf_lpp_k0_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_16351 },
{ 1, &hf_lpp_k1_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_8176 },
{ 2, &hf_lpp_k2_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_4088 },
{ 3, &hf_lpp_k3_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_2044 },
{ 4, &hf_lpp_k4_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_1022 },
{ 5, &hf_lpp_k5_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_511 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_nr_RelativeTimeDifference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nr_RelativeTimeDifference_r16, T_nr_RelativeTimeDifference_r16_choice,
NULL);
return offset;
}
static const per_sequence_t NR_AdditionalPath_r16_sequence[] = {
{ &hf_lpp_nr_RelativeTimeDifference_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_RelativeTimeDifference_r16 },
{ &hf_lpp_nr_PathQuality_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_TimingQuality_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_AdditionalPath_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_AdditionalPath_r16, NR_AdditionalPath_r16_sequence);
return offset;
}
static const per_sequence_t NR_AdditionalPathList_r16_sequence_of[1] = {
{ &hf_lpp_NR_AdditionalPathList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_AdditionalPath_r16 },
};
static int
dissect_lpp_NR_AdditionalPathList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_AdditionalPathList_r16, NR_AdditionalPathList_r16_sequence_of,
1, 2, FALSE);
return offset;
}
static const value_string lpp_T_nr_Slot_r16_vals[] = {
{ 0, "scs15-r16" },
{ 1, "scs30-r16" },
{ 2, "scs60-r16" },
{ 3, "scs120-r16" },
{ 0, NULL }
};
static const per_choice_t T_nr_Slot_r16_choice[] = {
{ 0, &hf_lpp_scs15_r16_02 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_9 },
{ 1, &hf_lpp_scs30_r16_02 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_19 },
{ 2, &hf_lpp_scs60_r16_02 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_39 },
{ 3, &hf_lpp_scs120_r16_02 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_79 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_nr_Slot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nr_Slot_r16, T_nr_Slot_r16_choice,
NULL);
return offset;
}
static const per_sequence_t NR_TimeStamp_r16_sequence[] = {
{ &hf_lpp_dl_PRS_ID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_CellGlobalID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ &hf_lpp_nr_ARFCN_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 },
{ &hf_lpp_nr_SFN_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
{ &hf_lpp_nr_Slot_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_Slot_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_TimeStamp_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_TimeStamp_r16, NR_TimeStamp_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_126(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 126U, NULL, FALSE);
return offset;
}
static int
dissect_lpp_INTEGER_0_61(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 61U, NULL, FALSE);
return offset;
}
static const value_string lpp_T_nr_UE_RxTxTimeDiffAdditional_r16_vals[] = {
{ 0, "k0-r16" },
{ 1, "k1-r16" },
{ 2, "k2-r16" },
{ 3, "k3-r16" },
{ 4, "k4-r16" },
{ 5, "k5-r16" },
{ 0, NULL }
};
static const per_choice_t T_nr_UE_RxTxTimeDiffAdditional_r16_choice[] = {
{ 0, &hf_lpp_k0_r16_02 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_8191 },
{ 1, &hf_lpp_k1_r16_02 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_4095 },
{ 2, &hf_lpp_k2_r16_02 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_2047 },
{ 3, &hf_lpp_k3_r16_02 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_1023 },
{ 4, &hf_lpp_k4_r16_02 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_511 },
{ 5, &hf_lpp_k5_r16_02 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_255 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_nr_UE_RxTxTimeDiffAdditional_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nr_UE_RxTxTimeDiffAdditional_r16, T_nr_UE_RxTxTimeDiffAdditional_r16_choice,
NULL);
return offset;
}
static const per_sequence_t NR_Multi_RTT_AdditionalMeasurementElement_r16_sequence[] = {
{ &hf_lpp_nr_DL_PRS_ResourceID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceID_r16 },
{ &hf_lpp_nr_DL_PRS_ResourceSetID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 },
{ &hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_61 },
{ &hf_lpp_nr_UE_RxTxTimeDiffAdditional_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_UE_RxTxTimeDiffAdditional_r16 },
{ &hf_lpp_nr_TimingQuality_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimingQuality_r16 },
{ &hf_lpp_nr_AdditionalPathList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_AdditionalPathList_r16 },
{ &hf_lpp_nr_TimeStamp_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimeStamp_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_AdditionalMeasurementElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_AdditionalMeasurementElement_r16, NR_Multi_RTT_AdditionalMeasurementElement_r16_sequence);
return offset;
}
static const per_sequence_t NR_Multi_RTT_AdditionalMeasurements_r16_sequence_of[1] = {
{ &hf_lpp_NR_Multi_RTT_AdditionalMeasurements_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_AdditionalMeasurementElement_r16 },
};
static int
dissect_lpp_NR_Multi_RTT_AdditionalMeasurements_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_AdditionalMeasurements_r16, NR_Multi_RTT_AdditionalMeasurements_r16_sequence_of,
1, 3, FALSE);
return offset;
}
static const per_sequence_t NR_Multi_RTT_MeasElement_r16_sequence[] = {
{ &hf_lpp_dl_PRS_ID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_CellGlobalID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ &hf_lpp_nr_ARFCN_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 },
{ &hf_lpp_nr_DL_PRS_ResourceID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceID_r16 },
{ &hf_lpp_nr_DL_PRS_ResourceSetID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 },
{ &hf_lpp_nr_UE_RxTxTimeDiff_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_UE_RxTxTimeDiff_r16 },
{ &hf_lpp_nr_AdditionalPathList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_AdditionalPathList_r16 },
{ &hf_lpp_nr_TimeStamp_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimeStamp_r16 },
{ &hf_lpp_nr_TimingQuality_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimingQuality_r16 },
{ &hf_lpp_nr_DL_PRS_RSRP_Result_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_126 },
{ &hf_lpp_nr_Multi_RTT_AdditionalMeasurements_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_Multi_RTT_AdditionalMeasurements_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_MeasElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_MeasElement_r16, NR_Multi_RTT_MeasElement_r16_sequence);
return offset;
}
static const per_sequence_t NR_Multi_RTT_MeasList_r16_sequence_of[1] = {
{ &hf_lpp_NR_Multi_RTT_MeasList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_MeasElement_r16 },
};
static int
dissect_lpp_NR_Multi_RTT_MeasList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_MeasList_r16, NR_Multi_RTT_MeasList_r16_sequence_of,
1, nrMaxTRPs_r16, FALSE);
return offset;
}
static const value_string lpp_T_nr_NTA_Offset_r16_vals[] = {
{ 0, "nTA1" },
{ 1, "nTA2" },
{ 2, "nTA3" },
{ 3, "nTA4" },
{ 0, NULL }
};
static int
dissect_lpp_T_nr_NTA_Offset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t NR_Multi_RTT_SignalMeasurementInformation_r16_sequence[] = {
{ &hf_lpp_nr_Multi_RTT_MeasList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_MeasList_r16 },
{ &hf_lpp_nr_NTA_Offset_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_NTA_Offset_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_SignalMeasurementInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_SignalMeasurementInformation_r16, NR_Multi_RTT_SignalMeasurementInformation_r16_sequence);
return offset;
}
static const per_sequence_t NR_Multi_RTT_ProvideLocationInformation_r16_sequence[] = {
{ &hf_lpp_nr_Multi_RTT_SignalMeasurementInformation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_Multi_RTT_SignalMeasurementInformation_r16 },
{ &hf_lpp_nr_Multi_RTT_Error_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_Multi_RTT_Error_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_Multi_RTT_ProvideLocationInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_Multi_RTT_ProvideLocationInformation_r16, NR_Multi_RTT_ProvideLocationInformation_r16_sequence);
return offset;
}
static int
dissect_lpp_INTEGER_0_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 30U, NULL, FALSE);
return offset;
}
static const per_sequence_t NR_DL_AoD_AdditionalMeasurementElement_r16_sequence[] = {
{ &hf_lpp_nr_DL_PRS_ResourceID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceID_r16 },
{ &hf_lpp_nr_DL_PRS_ResourceSetID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 },
{ &hf_lpp_nr_TimeStamp_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimeStamp_r16 },
{ &hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_30 },
{ &hf_lpp_nr_DL_PRS_RxBeamIndex_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_8 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_AdditionalMeasurementElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_AdditionalMeasurementElement_r16, NR_DL_AoD_AdditionalMeasurementElement_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_AoD_AdditionalMeasurements_r16_sequence_of[1] = {
{ &hf_lpp_NR_DL_AoD_AdditionalMeasurements_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_AdditionalMeasurementElement_r16 },
};
static int
dissect_lpp_NR_DL_AoD_AdditionalMeasurements_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_AdditionalMeasurements_r16, NR_DL_AoD_AdditionalMeasurements_r16_sequence_of,
1, 7, FALSE);
return offset;
}
static const per_sequence_t NR_DL_AoD_MeasElement_r16_sequence[] = {
{ &hf_lpp_dl_PRS_ID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_CellGlobalID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ &hf_lpp_nr_ARFCN_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 },
{ &hf_lpp_nr_DL_PRS_ResourceID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceID_r16 },
{ &hf_lpp_nr_DL_PRS_ResourceSetID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 },
{ &hf_lpp_nr_TimeStamp_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimeStamp_r16 },
{ &hf_lpp_nr_DL_PRS_RSRP_Result_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_126 },
{ &hf_lpp_nr_DL_PRS_RxBeamIndex_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_8 },
{ &hf_lpp_nr_DL_AoD_AdditionalMeasurements_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_AdditionalMeasurements_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_MeasElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_MeasElement_r16, NR_DL_AoD_MeasElement_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_AoD_MeasList_r16_sequence_of[1] = {
{ &hf_lpp_NR_DL_AoD_MeasList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_MeasElement_r16 },
};
static int
dissect_lpp_NR_DL_AoD_MeasList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_MeasList_r16, NR_DL_AoD_MeasList_r16_sequence_of,
1, nrMaxTRPs_r16, FALSE);
return offset;
}
static const per_sequence_t NR_DL_AoD_SignalMeasurementInformation_r16_sequence[] = {
{ &hf_lpp_nr_DL_AoD_MeasList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_MeasList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_SignalMeasurementInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_SignalMeasurementInformation_r16, NR_DL_AoD_SignalMeasurementInformation_r16_sequence);
return offset;
}
static const value_string lpp_T_measurementReferenceTime_r16_01_vals[] = {
{ 0, "sfn-time-r16" },
{ 1, "utc-time-r16" },
{ 0, NULL }
};
static const per_choice_t T_measurementReferenceTime_r16_01_choice[] = {
{ 0, &hf_lpp_sfn_time_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_NR_TimeStamp_r16 },
{ 1, &hf_lpp_utc_time_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_UTCTime },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_measurementReferenceTime_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_measurementReferenceTime_r16_01, T_measurementReferenceTime_r16_01_choice,
NULL);
return offset;
}
static const per_sequence_t NR_DL_AoD_LocationInformation_r16_sequence[] = {
{ &hf_lpp_measurementReferenceTime_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_measurementReferenceTime_r16_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_LocationInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_LocationInformation_r16, NR_DL_AoD_LocationInformation_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_AoD_ProvideLocationInformation_r16_sequence[] = {
{ &hf_lpp_nr_DL_AoD_SignalMeasurementInformation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_SignalMeasurementInformation_r16 },
{ &hf_lpp_nr_dl_AoD_LocationInformation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_LocationInformation_r16 },
{ &hf_lpp_nr_DL_AoD_Error_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_Error_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_AoD_ProvideLocationInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_AoD_ProvideLocationInformation_r16, NR_DL_AoD_ProvideLocationInformation_r16_sequence);
return offset;
}
static const value_string lpp_T_nr_RSTD_r16_vals[] = {
{ 0, "k0-r16" },
{ 1, "k1-r16" },
{ 2, "k2-r16" },
{ 3, "k3-r16" },
{ 4, "k4-r16" },
{ 5, "k5-r16" },
{ 0, NULL }
};
static const per_choice_t T_nr_RSTD_r16_choice[] = {
{ 0, &hf_lpp_k0_r16_01 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_1970049 },
{ 1, &hf_lpp_k1_r16_01 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_985025 },
{ 2, &hf_lpp_k2_r16_01 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_492513 },
{ 3, &hf_lpp_k3_r16_01 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_246257 },
{ 4, &hf_lpp_k4_r16_01 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_123129 },
{ 5, &hf_lpp_k5_r16_01 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_61565 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_nr_RSTD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nr_RSTD_r16, T_nr_RSTD_r16_choice,
NULL);
return offset;
}
static const value_string lpp_T_nr_RSTD_ResultDiff_r16_vals[] = {
{ 0, "k0-r16" },
{ 1, "k1-r16" },
{ 2, "k2-r16" },
{ 3, "k3-r16" },
{ 4, "k4-r16" },
{ 5, "k5-r16" },
{ 0, NULL }
};
static const per_choice_t T_nr_RSTD_ResultDiff_r16_choice[] = {
{ 0, &hf_lpp_k0_r16_02 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_8191 },
{ 1, &hf_lpp_k1_r16_02 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_4095 },
{ 2, &hf_lpp_k2_r16_02 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_2047 },
{ 3, &hf_lpp_k3_r16_02 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_1023 },
{ 4, &hf_lpp_k4_r16_02 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_511 },
{ 5, &hf_lpp_k5_r16_02 , ASN1_EXTENSION_ROOT , dissect_lpp_INTEGER_0_255 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_nr_RSTD_ResultDiff_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_nr_RSTD_ResultDiff_r16, T_nr_RSTD_ResultDiff_r16_choice,
NULL);
return offset;
}
static const per_sequence_t NR_DL_TDOA_AdditionalMeasurementElement_r16_sequence[] = {
{ &hf_lpp_nr_DL_PRS_ResourceID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceID_r16 },
{ &hf_lpp_nr_DL_PRS_ResourceSetID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 },
{ &hf_lpp_nr_TimeStamp_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimeStamp_r16 },
{ &hf_lpp_nr_RSTD_ResultDiff_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_RSTD_ResultDiff_r16 },
{ &hf_lpp_nr_TimingQuality_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimingQuality_r16 },
{ &hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_61 },
{ &hf_lpp_nr_AdditionalPathList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_AdditionalPathList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_AdditionalMeasurementElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_AdditionalMeasurementElement_r16, NR_DL_TDOA_AdditionalMeasurementElement_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_TDOA_AdditionalMeasurements_r16_sequence_of[1] = {
{ &hf_lpp_NR_DL_TDOA_AdditionalMeasurements_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_AdditionalMeasurementElement_r16 },
};
static int
dissect_lpp_NR_DL_TDOA_AdditionalMeasurements_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_AdditionalMeasurements_r16, NR_DL_TDOA_AdditionalMeasurements_r16_sequence_of,
1, 3, FALSE);
return offset;
}
static const per_sequence_t NR_DL_TDOA_MeasElement_r16_sequence[] = {
{ &hf_lpp_dl_PRS_ID_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
{ &hf_lpp_nr_PhysCellID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 },
{ &hf_lpp_nr_CellGlobalID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 },
{ &hf_lpp_nr_ARFCN_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 },
{ &hf_lpp_nr_DL_PRS_ResourceID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceID_r16 },
{ &hf_lpp_nr_DL_PRS_ResourceSetID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 },
{ &hf_lpp_nr_TimeStamp_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimeStamp_r16 },
{ &hf_lpp_nr_RSTD_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_RSTD_r16 },
{ &hf_lpp_nr_AdditionalPathList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_AdditionalPathList_r16 },
{ &hf_lpp_nr_TimingQuality_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimingQuality_r16 },
{ &hf_lpp_nr_DL_PRS_RSRP_Result_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_126 },
{ &hf_lpp_nr_DL_TDOA_AdditionalMeasurements_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_AdditionalMeasurements_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_MeasElement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_MeasElement_r16, NR_DL_TDOA_MeasElement_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_TDOA_MeasList_r16_sequence_of[1] = {
{ &hf_lpp_NR_DL_TDOA_MeasList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_MeasElement_r16 },
};
static int
dissect_lpp_NR_DL_TDOA_MeasList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_MeasList_r16, NR_DL_TDOA_MeasList_r16_sequence_of,
1, nrMaxTRPs_r16, FALSE);
return offset;
}
static const per_sequence_t NR_DL_TDOA_SignalMeasurementInformation_r16_sequence[] = {
{ &hf_lpp_dl_PRS_ReferenceInfo_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_ID_Info_r16 },
{ &hf_lpp_nr_DL_TDOA_MeasList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_MeasList_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_SignalMeasurementInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_SignalMeasurementInformation_r16, NR_DL_TDOA_SignalMeasurementInformation_r16_sequence);
return offset;
}
static const value_string lpp_T_measurementReferenceTime_r16_vals[] = {
{ 0, "systemFrameNumber-r16" },
{ 1, "utc-time-r16" },
{ 0, NULL }
};
static const per_choice_t T_measurementReferenceTime_r16_choice[] = {
{ 0, &hf_lpp_systemFrameNumber_r16_01, ASN1_EXTENSION_ROOT , dissect_lpp_NR_TimeStamp_r16 },
{ 1, &hf_lpp_utc_time_r16 , ASN1_EXTENSION_ROOT , dissect_lpp_UTCTime },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_measurementReferenceTime_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_measurementReferenceTime_r16, T_measurementReferenceTime_r16_choice,
NULL);
return offset;
}
static const per_sequence_t NR_DL_TDOA_LocationInformation_r16_sequence[] = {
{ &hf_lpp_measurementReferenceTime_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_measurementReferenceTime_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_LocationInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_LocationInformation_r16, NR_DL_TDOA_LocationInformation_r16_sequence);
return offset;
}
static const per_sequence_t NR_DL_TDOA_ProvideLocationInformation_r16_sequence[] = {
{ &hf_lpp_nr_DL_TDOA_SignalMeasurementInformation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_SignalMeasurementInformation_r16 },
{ &hf_lpp_nr_dl_tdoa_LocationInformation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_LocationInformation_r16 },
{ &hf_lpp_nr_DL_TDOA_Error_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_Error_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_DL_TDOA_ProvideLocationInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_DL_TDOA_ProvideLocationInformation_r16, NR_DL_TDOA_ProvideLocationInformation_r16_sequence);
return offset;
}
static const per_sequence_t ProvideLocationInformation_r9_IEs_eag_2_sequence[] = {
{ &hf_lpp_nr_ECID_ProvideLocationInformation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_ECID_ProvideLocationInformation_r16 },
{ &hf_lpp_nr_Multi_RTT_ProvideLocationInformation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_Multi_RTT_ProvideLocationInformation_r16 },
{ &hf_lpp_nr_DL_AoD_ProvideLocationInformation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_ProvideLocationInformation_r16 },
{ &hf_lpp_nr_DL_TDOA_ProvideLocationInformation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_ProvideLocationInformation_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ProvideLocationInformation_r9_IEs_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ProvideLocationInformation_r9_IEs_eag_2_sequence);
return offset;
}
static const per_sequence_t ProvideLocationInformation_r9_IEs_sequence[] = {
{ &hf_lpp_commonIEsProvideLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsProvideLocationInformation },
{ &hf_lpp_a_gnss_ProvideLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_ProvideLocationInformation },
{ &hf_lpp_otdoa_ProvideLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_ProvideLocationInformation },
{ &hf_lpp_ecid_ProvideLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECID_ProvideLocationInformation },
{ &hf_lpp_epdu_ProvideLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ProvideLocationInformation_r9_IEs_eag_1 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ProvideLocationInformation_r9_IEs_eag_2 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ProvideLocationInformation_r9_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ProvideLocationInformation_r9_IEs, ProvideLocationInformation_r9_IEs_sequence);
return offset;
}
static const value_string lpp_T_c1_06_vals[] = {
{ 0, "provideLocationInformation-r9" },
{ 1, "spare3" },
{ 2, "spare2" },
{ 3, "spare1" },
{ 0, NULL }
};
static const per_choice_t T_c1_06_choice[] = {
{ 0, &hf_lpp_provideLocationInformation_r9, ASN1_NO_EXTENSIONS , dissect_lpp_ProvideLocationInformation_r9_IEs },
{ 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_c1_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_c1_06, T_c1_06_choice,
NULL);
return offset;
}
static const per_sequence_t T_criticalExtensionsFuture_05_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensionsFuture_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensionsFuture_05, T_criticalExtensionsFuture_05_sequence);
return offset;
}
static const value_string lpp_T_criticalExtensions_05_vals[] = {
{ 0, "c1" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
static const per_choice_t T_criticalExtensions_05_choice[] = {
{ 0, &hf_lpp_c1_06 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_06 },
{ 1, &hf_lpp_criticalExtensionsFuture_05, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_05 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensions_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensions_05, T_criticalExtensions_05_choice,
NULL);
return offset;
}
static const per_sequence_t ProvideLocationInformation_sequence[] = {
{ &hf_lpp_criticalExtensions_05, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions_05 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_ProvideLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 140 "./asn1/lpp/lpp.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Provide Location Information");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_ProvideLocationInformation, ProvideLocationInformation_sequence);
return offset;
}
static const value_string lpp_T_abortCause_vals[] = {
{ 0, "undefined" },
{ 1, "stopPeriodicReporting" },
{ 2, "targetDeviceAbort" },
{ 3, "networkAbort" },
{ 4, "stopPeriodicAssistanceDataDelivery-v1510" },
{ 0, NULL }
};
static int
dissect_lpp_T_abortCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 1, NULL);
return offset;
}
static const per_sequence_t CommonIEsAbort_sequence[] = {
{ &hf_lpp_abortCause , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_abortCause },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsAbort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CommonIEsAbort, CommonIEsAbort_sequence);
return offset;
}
static const per_sequence_t Abort_r9_IEs_sequence[] = {
{ &hf_lpp_commonIEsAbort , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsAbort },
{ &hf_lpp_epdu_Abort , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Abort_r9_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Abort_r9_IEs, Abort_r9_IEs_sequence);
return offset;
}
static const value_string lpp_T_c1_07_vals[] = {
{ 0, "abort-r9" },
{ 1, "spare3" },
{ 2, "spare2" },
{ 3, "spare1" },
{ 0, NULL }
};
static const per_choice_t T_c1_07_choice[] = {
{ 0, &hf_lpp_abort_r9 , ASN1_NO_EXTENSIONS , dissect_lpp_Abort_r9_IEs },
{ 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_c1_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_c1_07, T_c1_07_choice,
NULL);
return offset;
}
static const per_sequence_t T_criticalExtensionsFuture_06_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensionsFuture_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensionsFuture_06, T_criticalExtensionsFuture_06_sequence);
return offset;
}
static const value_string lpp_T_criticalExtensions_06_vals[] = {
{ 0, "c1" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
static const per_choice_t T_criticalExtensions_06_choice[] = {
{ 0, &hf_lpp_c1_07 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_07 },
{ 1, &hf_lpp_criticalExtensionsFuture_06, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_06 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensions_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensions_06, T_criticalExtensions_06_choice,
NULL);
return offset;
}
static const per_sequence_t Abort_sequence[] = {
{ &hf_lpp_criticalExtensions_06, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions_06 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Abort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 143 "./asn1/lpp/lpp.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Abort");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Abort, Abort_sequence);
return offset;
}
static const value_string lpp_T_errorCause_vals[] = {
{ 0, "undefined" },
{ 1, "lppMessageHeaderError" },
{ 2, "lppMessageBodyError" },
{ 3, "epduError" },
{ 4, "incorrectDataValue" },
{ 5, "lppSegmentationError-v1450" },
{ 0, NULL }
};
static int
dissect_lpp_T_errorCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5, NULL, TRUE, 1, NULL);
return offset;
}
static const per_sequence_t CommonIEsError_sequence[] = {
{ &hf_lpp_errorCause , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_errorCause },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CommonIEsError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CommonIEsError, CommonIEsError_sequence);
return offset;
}
static const per_sequence_t Error_r9_IEs_sequence[] = {
{ &hf_lpp_commonIEsError , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsError },
{ &hf_lpp_epdu_Error , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_Error_r9_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_Error_r9_IEs, Error_r9_IEs_sequence);
return offset;
}
static const per_sequence_t T_criticalExtensionsFuture_07_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_criticalExtensionsFuture_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_criticalExtensionsFuture_07, T_criticalExtensionsFuture_07_sequence);
return offset;
}
static const value_string lpp_Error_vals[] = {
{ 0, "error-r9" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
static const per_choice_t Error_choice[] = {
{ 0, &hf_lpp_error_r9 , ASN1_NO_EXTENSIONS , dissect_lpp_Error_r9_IEs },
{ 1, &hf_lpp_criticalExtensionsFuture_07, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_07 },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_Error(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 146 "./asn1/lpp/lpp.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Error");
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_Error, Error_choice,
NULL);
return offset;
}
static const value_string lpp_T_c1_vals[] = {
{ 0, "requestCapabilities" },
{ 1, "provideCapabilities" },
{ 2, "requestAssistanceData" },
{ 3, "provideAssistanceData" },
{ 4, "requestLocationInformation" },
{ 5, "provideLocationInformation" },
{ 6, "abort" },
{ 7, "error" },
{ 8, "spare7" },
{ 9, "spare6" },
{ 10, "spare5" },
{ 11, "spare4" },
{ 12, "spare3" },
{ 13, "spare2" },
{ 14, "spare1" },
{ 15, "spare0" },
{ 0, NULL }
};
static const per_choice_t T_c1_choice[] = {
{ 0, &hf_lpp_requestCapabilities, ASN1_NO_EXTENSIONS , dissect_lpp_RequestCapabilities },
{ 1, &hf_lpp_provideCapabilities, ASN1_NO_EXTENSIONS , dissect_lpp_ProvideCapabilities },
{ 2, &hf_lpp_requestAssistanceData, ASN1_NO_EXTENSIONS , dissect_lpp_RequestAssistanceData },
{ 3, &hf_lpp_provideAssistanceData, ASN1_NO_EXTENSIONS , dissect_lpp_ProvideAssistanceData },
{ 4, &hf_lpp_requestLocationInformation, ASN1_NO_EXTENSIONS , dissect_lpp_RequestLocationInformation },
{ 5, &hf_lpp_provideLocationInformation, ASN1_NO_EXTENSIONS , dissect_lpp_ProvideLocationInformation },
{ 6, &hf_lpp_abort , ASN1_NO_EXTENSIONS , dissect_lpp_Abort },
{ 7, &hf_lpp_error , ASN1_NO_EXTENSIONS , dissect_lpp_Error },
{ 8, &hf_lpp_spare7 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 9, &hf_lpp_spare6 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 10, &hf_lpp_spare5 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 11, &hf_lpp_spare4 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 12, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 13, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 14, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 15, &hf_lpp_spare0 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_T_c1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_T_c1, T_c1_choice,
NULL);
return offset;
}
static const per_sequence_t T_messageClassExtension_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_T_messageClassExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_T_messageClassExtension, T_messageClassExtension_sequence);
return offset;
}
static const value_string lpp_LPP_MessageBody_vals[] = {
{ 0, "c1" },
{ 1, "messageClassExtension" },
{ 0, NULL }
};
static const per_choice_t LPP_MessageBody_choice[] = {
{ 0, &hf_lpp_c1 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1 },
{ 1, &hf_lpp_messageClassExtension, ASN1_NO_EXTENSIONS , dissect_lpp_T_messageClassExtension },
{ 0, NULL, 0, NULL }
};
static int
dissect_lpp_LPP_MessageBody(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_lpp_LPP_MessageBody, LPP_MessageBody_choice,
NULL);
return offset;
}
static const per_sequence_t LPP_Message_sequence[] = {
{ &hf_lpp_transactionID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LPP_TransactionID },
{ &hf_lpp_endTransaction , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_sequenceNumber , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SequenceNumber },
{ &hf_lpp_acknowledgement , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Acknowledgement },
{ &hf_lpp_lpp_MessageBody , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LPP_MessageBody },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_LPP_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_LPP_Message, LPP_Message_sequence);
return offset;
}
static int
dissect_lpp_BIT_STRING_SIZE_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 128, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t CipheringKeyData_r15_sequence[] = {
{ &hf_lpp_cipherSetID_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
{ &hf_lpp_d0_r15 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_1_128 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_CipheringKeyData_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1797 "./asn1/lpp/lpp.cnf"
lpp_get_private_data(actx->pinfo)->is_ciphered = TRUE;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_CipheringKeyData_r15, CipheringKeyData_r15_sequence);
return offset;
}
static const value_string lpp_T_segmentationOption_r15_vals[] = {
{ 0, "pseudo-seg" },
{ 1, "octet-string-seg" },
{ 0, NULL }
};
static int
dissect_lpp_T_segmentationOption_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const value_string lpp_T_assistanceDataSegmentType_r15_vals[] = {
{ 0, "notLastSegment" },
{ 1, "lastSegment" },
{ 0, NULL }
};
static int
dissect_lpp_T_assistanceDataSegmentType_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t SegmentationInfo_r15_sequence[] = {
{ &hf_lpp_segmentationOption_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_segmentationOption_r15 },
{ &hf_lpp_assistanceDataSegmentType_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_assistanceDataSegmentType_r15 },
{ &hf_lpp_assistanceDataSegmentNumber_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_SegmentationInfo_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1800 "./asn1/lpp/lpp.cnf"
lpp_get_private_data(actx->pinfo)->is_segmented = TRUE;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_SegmentationInfo_r15, SegmentationInfo_r15_sequence);
return offset;
}
static int
dissect_lpp_T_assistanceDataElement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1803 "./asn1/lpp/lpp.cnf"
tvbuff_t *assist_data_sib_elem_tvb = NULL;
struct lpp_private_data *lpp_data = lpp_get_private_data(actx->pinfo);
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &assist_data_sib_elem_tvb);
if (assist_data_sib_elem_tvb && !lpp_data->is_ciphered && !lpp_data->is_segmented) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lpp_assistanceDataElement_r15);
switch (lpp_data->pos_sib_type) {
case LPP_POS_SIB_TYPE_1_1:
dissect_GNSS_ReferenceTime_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_1_2:
dissect_GNSS_ReferenceLocation_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_1_3:
dissect_GNSS_IonosphericModel_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_1_4:
dissect_GNSS_EarthOrientationParameters_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_1_5:
dissect_GNSS_RTK_ReferenceStationInfo_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_1_6:
dissect_GNSS_RTK_CommonObservationInfo_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_1_7:
dissect_GNSS_RTK_AuxiliaryStationData_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_1_8:
dissect_GNSS_SSR_CorrectionPoints_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_1:
dissect_GNSS_TimeModelList_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_2:
dissect_GNSS_DifferentialCorrections_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_3:
dissect_GNSS_NavigationModel_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_4:
dissect_GNSS_RealTimeIntegrity_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_5:
dissect_GNSS_DataBitAssistance_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_6:
dissect_GNSS_AcquisitionAssistance_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_7:
dissect_GNSS_Almanac_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_8:
dissect_GNSS_UTC_Model_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_9:
dissect_GNSS_AuxiliaryInformation_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_10:
dissect_BDS_DifferentialCorrections_r12_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_11:
dissect_BDS_GridModelParameter_r12_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_12:
dissect_GNSS_RTK_Observations_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_13:
dissect_GLO_RTK_BiasInformation_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_14:
dissect_GNSS_RTK_MAC_CorrectionDifferences_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_15:
dissect_GNSS_RTK_Residuals_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_16:
dissect_GNSS_RTK_FKP_Gradients_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_17:
dissect_GNSS_SSR_OrbitCorrections_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_18:
dissect_GNSS_SSR_ClockCorrections_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_19:
dissect_GNSS_SSR_CodeBias_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_20:
dissect_GNSS_SSR_URA_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_21:
dissect_GNSS_SSR_PhaseBias_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_22:
dissect_GNSS_SSR_STEC_Correction_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_23:
dissect_GNSS_SSR_GriddedCorrection_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_24:
dissect_NavIC_DifferentialCorrections_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_2_25:
dissect_NavIC_GridModelParameter_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_3_1:
dissect_OTDOA_UE_Assisted_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_4_1:
dissect_Sensor_AssistanceDataList_r14_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_5_1:
dissect_TBS_AssistanceDataList_r14_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_6_1:
dissect_NR_DL_PRS_AssistanceData_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_6_2:
dissect_NR_UEB_TRP_LocationData_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
case LPP_POS_SIB_TYPE_6_3:
dissect_NR_UEB_TRP_RTD_Info_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
break;
default:
break;
}
}
return offset;
}
static const per_sequence_t AssistanceDataSIBelement_r15_sequence[] = {
{ &hf_lpp_valueTag_r15 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_63 },
{ &hf_lpp_expirationTime_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_UTCTime },
{ &hf_lpp_cipheringKeyData_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CipheringKeyData_r15 },
{ &hf_lpp_segmentationInfo_r15, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SegmentationInfo_r15 },
{ &hf_lpp_assistanceDataElement_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_assistanceDataElement_r15 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_AssistanceDataSIBelement_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_AssistanceDataSIBelement_r15, AssistanceDataSIBelement_r15_sequence);
return offset;
}
static const per_sequence_t OTDOA_UE_Assisted_r15_sequence[] = {
{ &hf_lpp_otdoa_ReferenceCellInfo_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ReferenceCellInfo },
{ &hf_lpp_otdoa_NeighbourCellInfo_r15, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoList },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_OTDOA_UE_Assisted_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_OTDOA_UE_Assisted_r15, OTDOA_UE_Assisted_r15_sequence);
return offset;
}
static const per_sequence_t NR_UEB_TRP_LocationData_r16_sequence[] = {
{ &hf_lpp_nr_trp_LocationInfo_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TRP_LocationInfo_r16 },
{ &hf_lpp_nr_dl_prs_BeamInfo_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_BeamInfo_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_UEB_TRP_LocationData_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_UEB_TRP_LocationData_r16, NR_UEB_TRP_LocationData_r16_sequence);
return offset;
}
static const per_sequence_t NR_UEB_TRP_RTD_Info_r16_sequence[] = {
{ &hf_lpp_nr_rtd_Info_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_RTD_Info_r16 },
{ NULL, 0, 0, NULL }
};
static int
dissect_lpp_NR_UEB_TRP_RTD_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lpp_NR_UEB_TRP_RTD_Info_r16, NR_UEB_TRP_RTD_Info_r16_sequence);
return offset;
}
/*--- PDUs ---*/
static int dissect_LPP_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_LPP_Message(tvb, offset, &asn1_ctx, tree, hf_lpp_LPP_Message_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_Ellipsoid_Point_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_Ellipsoid_Point(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_Ellipsoid_Point_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_Ellipsoid_PointWithUncertaintyCircle_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_Ellipsoid_PointWithUncertaintyCircle(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_Ellipsoid_PointWithUncertaintyCircle_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_EllipsoidPointWithUncertaintyEllipse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_EllipsoidPointWithUncertaintyEllipse(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_EllipsoidPointWithUncertaintyEllipse_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_EllipsoidPointWithAltitude_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_EllipsoidPointWithAltitude(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_EllipsoidPointWithAltitude_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_EllipsoidArc_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_EllipsoidArc(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_EllipsoidArc_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_HorizontalVelocity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_HorizontalVelocity(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_HorizontalVelocity_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_HorizontalWithVerticalVelocity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_HorizontalWithVerticalVelocity(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_HorizontalWithVerticalVelocity_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_HorizontalVelocityWithUncertainty_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_HorizontalVelocityWithUncertainty(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_HorizontalVelocityWithUncertainty_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_Polygon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_Polygon(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_Polygon_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_LocationCoordinates_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_LocationCoordinates(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_LocationCoordinates_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_Velocity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_Velocity(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_Velocity_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_LocationError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_LocationError(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_LocationError_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_LocationSource_r13_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_LocationSource_r13(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_LocationSource_r13_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NR_DL_PRS_AssistanceData_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_NR_DL_PRS_AssistanceData_r16(tvb, offset, &asn1_ctx, tree, hf_lpp_NR_DL_PRS_AssistanceData_r16_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_ReferenceTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_ReferenceTime(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_ReferenceTime_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_ReferenceLocation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_ReferenceLocation(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_ReferenceLocation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_IonosphericModel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_IonosphericModel(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_IonosphericModel_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_EarthOrientationParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_EarthOrientationParameters(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_EarthOrientationParameters_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_RTK_ReferenceStationInfo_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_RTK_ReferenceStationInfo_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_RTK_ReferenceStationInfo_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_RTK_CommonObservationInfo_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_RTK_CommonObservationInfo_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_RTK_CommonObservationInfo_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_RTK_AuxiliaryStationData_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_RTK_AuxiliaryStationData_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_RTK_AuxiliaryStationData_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_SSR_CorrectionPoints_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_SSR_CorrectionPoints_r16(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_CorrectionPoints_r16_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_TimeModelList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_TimeModelList(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_TimeModelList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_DifferentialCorrections_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_DifferentialCorrections(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_DifferentialCorrections_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_NavigationModel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_NavigationModel(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_NavigationModel_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_RealTimeIntegrity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_RealTimeIntegrity(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_RealTimeIntegrity_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_DataBitAssistance_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_DataBitAssistance(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_DataBitAssistance_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_AcquisitionAssistance_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_AcquisitionAssistance(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_AcquisitionAssistance_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_Almanac_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_Almanac(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_Almanac_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_UTC_Model_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_UTC_Model(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_UTC_Model_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_AuxiliaryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_AuxiliaryInformation(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_AuxiliaryInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_BDS_DifferentialCorrections_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_BDS_DifferentialCorrections_r12(tvb, offset, &asn1_ctx, tree, hf_lpp_BDS_DifferentialCorrections_r12_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_BDS_GridModelParameter_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_BDS_GridModelParameter_r12(tvb, offset, &asn1_ctx, tree, hf_lpp_BDS_GridModelParameter_r12_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_RTK_Observations_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_RTK_Observations_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_RTK_Observations_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GLO_RTK_BiasInformation_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GLO_RTK_BiasInformation_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_GLO_RTK_BiasInformation_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_RTK_MAC_CorrectionDifferences_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_RTK_MAC_CorrectionDifferences_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_RTK_MAC_CorrectionDifferences_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_RTK_Residuals_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_RTK_Residuals_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_RTK_Residuals_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_RTK_FKP_Gradients_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_RTK_FKP_Gradients_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_RTK_FKP_Gradients_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_SSR_OrbitCorrections_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_SSR_OrbitCorrections_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_OrbitCorrections_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_SSR_ClockCorrections_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_SSR_ClockCorrections_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_ClockCorrections_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_SSR_CodeBias_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_SSR_CodeBias_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_CodeBias_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_SSR_URA_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_SSR_URA_r16(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_URA_r16_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_SSR_PhaseBias_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_SSR_PhaseBias_r16(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_PhaseBias_r16_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_SSR_STEC_Correction_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_SSR_STEC_Correction_r16(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_STEC_Correction_r16_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GNSS_SSR_GriddedCorrection_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_GNSS_SSR_GriddedCorrection_r16(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_GriddedCorrection_r16_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NavIC_DifferentialCorrections_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_NavIC_DifferentialCorrections_r16(tvb, offset, &asn1_ctx, tree, hf_lpp_NavIC_DifferentialCorrections_r16_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NavIC_GridModelParameter_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_NavIC_GridModelParameter_r16(tvb, offset, &asn1_ctx, tree, hf_lpp_NavIC_GridModelParameter_r16_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TBS_AssistanceDataList_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_TBS_AssistanceDataList_r14(tvb, offset, &asn1_ctx, tree, hf_lpp_TBS_AssistanceDataList_r14_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_Sensor_MeasurementInformation_r13_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_Sensor_MeasurementInformation_r13(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_Sensor_MeasurementInformation_r13_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_Sensor_MotionInformation_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_Sensor_MotionInformation_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_Sensor_MotionInformation_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_lpp_DisplacementTimeStamp_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_DisplacementTimeStamp_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_DisplacementTimeStamp_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_Sensor_AssistanceDataList_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_Sensor_AssistanceDataList_r14(tvb, offset, &asn1_ctx, tree, hf_lpp_Sensor_AssistanceDataList_r14_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_OTDOA_UE_Assisted_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_OTDOA_UE_Assisted_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_OTDOA_UE_Assisted_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NR_UEB_TRP_LocationData_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_NR_UEB_TRP_LocationData_r16(tvb, offset, &asn1_ctx, tree, hf_lpp_NR_UEB_TRP_LocationData_r16_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NR_UEB_TRP_RTD_Info_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lpp_NR_UEB_TRP_RTD_Info_r16(tvb, offset, &asn1_ctx, tree, hf_lpp_NR_UEB_TRP_RTD_Info_r16_PDU);
offset += 7; offset >>= 3;
return offset;
}
/*--- End of included file: packet-lpp-fn.c ---*/
#line 2048 "./asn1/lpp/packet-lpp-template.c"
int dissect_lpp_AssistanceDataSIBelement_r15_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, lpp_pos_sib_type_t pos_sib_type) {
int offset = 0;
asn1_ctx_t asn1_ctx;
struct lpp_private_data *lpp_data = lpp_get_private_data(pinfo);
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
lpp_data->pos_sib_type = pos_sib_type;
offset = dissect_lpp_AssistanceDataSIBelement_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_AssistanceDataSIBelement_r15_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_lpp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
proto_tree *subtree;
proto_item *it;
it = proto_tree_add_item(tree, proto_lpp, tvb, 0, -1, ENC_NA);
col_append_sep_str(pinfo->cinfo, COL_PROTOCOL, "/", "LPP");
subtree = proto_item_add_subtree(it, ett_lpp);
return dissect_LPP_Message_PDU(tvb, pinfo, subtree, NULL);
}
/*--- proto_register_lpp -------------------------------------------*/
void proto_register_lpp(void) {
/* List of fields */
static hf_register_info hf[] = {
/*--- Included file: packet-lpp-hfarr.c ---*/
#line 1 "./asn1/lpp/packet-lpp-hfarr.c"
{ &hf_lpp_LPP_Message_PDU,
{ "LPP-Message", "lpp.LPP_Message_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_Ellipsoid_Point_PDU,
{ "Ellipsoid-Point", "lpp.Ellipsoid_Point_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_Ellipsoid_PointWithUncertaintyCircle_PDU,
{ "Ellipsoid-PointWithUncertaintyCircle", "lpp.Ellipsoid_PointWithUncertaintyCircle_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_EllipsoidPointWithUncertaintyEllipse_PDU,
{ "EllipsoidPointWithUncertaintyEllipse", "lpp.EllipsoidPointWithUncertaintyEllipse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_EllipsoidPointWithAltitude_PDU,
{ "EllipsoidPointWithAltitude", "lpp.EllipsoidPointWithAltitude_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU,
{ "EllipsoidPointWithAltitudeAndUncertaintyEllipsoid", "lpp.EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_EllipsoidArc_PDU,
{ "EllipsoidArc", "lpp.EllipsoidArc_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_HorizontalVelocity_PDU,
{ "HorizontalVelocity", "lpp.HorizontalVelocity_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_HorizontalWithVerticalVelocity_PDU,
{ "HorizontalWithVerticalVelocity", "lpp.HorizontalWithVerticalVelocity_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_HorizontalVelocityWithUncertainty_PDU,
{ "HorizontalVelocityWithUncertainty", "lpp.HorizontalVelocityWithUncertainty_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_Polygon_PDU,
{ "Polygon", "lpp.Polygon",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_LocationCoordinates_PDU,
{ "LocationCoordinates", "lpp.LocationCoordinates",
FT_UINT32, BASE_DEC, VALS(lpp_LocationCoordinates_vals), 0,
NULL, HFILL }},
{ &hf_lpp_lpp_Velocity_PDU,
{ "Velocity", "lpp.Velocity",
FT_UINT32, BASE_DEC, VALS(lpp_Velocity_vals), 0,
NULL, HFILL }},
{ &hf_lpp_lpp_LocationError_PDU,
{ "LocationError", "lpp.LocationError_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_LocationSource_r13_PDU,
{ "LocationSource-r13", "lpp.LocationSource_r13",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NR_DL_PRS_AssistanceData_r16_PDU,
{ "NR-DL-PRS-AssistanceData-r16", "lpp.NR_DL_PRS_AssistanceData_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_ReferenceTime_PDU,
{ "GNSS-ReferenceTime", "lpp.GNSS_ReferenceTime_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_ReferenceLocation_PDU,
{ "GNSS-ReferenceLocation", "lpp.GNSS_ReferenceLocation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_IonosphericModel_PDU,
{ "GNSS-IonosphericModel", "lpp.GNSS_IonosphericModel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_EarthOrientationParameters_PDU,
{ "GNSS-EarthOrientationParameters", "lpp.GNSS_EarthOrientationParameters_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_RTK_ReferenceStationInfo_r15_PDU,
{ "GNSS-RTK-ReferenceStationInfo-r15", "lpp.GNSS_RTK_ReferenceStationInfo_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_RTK_CommonObservationInfo_r15_PDU,
{ "GNSS-RTK-CommonObservationInfo-r15", "lpp.GNSS_RTK_CommonObservationInfo_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_RTK_AuxiliaryStationData_r15_PDU,
{ "GNSS-RTK-AuxiliaryStationData-r15", "lpp.GNSS_RTK_AuxiliaryStationData_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_SSR_CorrectionPoints_r16_PDU,
{ "GNSS-SSR-CorrectionPoints-r16", "lpp.GNSS_SSR_CorrectionPoints_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_TimeModelList_PDU,
{ "GNSS-TimeModelList", "lpp.GNSS_TimeModelList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_DifferentialCorrections_PDU,
{ "GNSS-DifferentialCorrections", "lpp.GNSS_DifferentialCorrections_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_NavigationModel_PDU,
{ "GNSS-NavigationModel", "lpp.GNSS_NavigationModel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_RealTimeIntegrity_PDU,
{ "GNSS-RealTimeIntegrity", "lpp.GNSS_RealTimeIntegrity_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_DataBitAssistance_PDU,
{ "GNSS-DataBitAssistance", "lpp.GNSS_DataBitAssistance_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_AcquisitionAssistance_PDU,
{ "GNSS-AcquisitionAssistance", "lpp.GNSS_AcquisitionAssistance_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_Almanac_PDU,
{ "GNSS-Almanac", "lpp.GNSS_Almanac_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_UTC_Model_PDU,
{ "GNSS-UTC-Model", "lpp.GNSS_UTC_Model",
FT_UINT32, BASE_DEC, VALS(lpp_GNSS_UTC_Model_vals), 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_AuxiliaryInformation_PDU,
{ "GNSS-AuxiliaryInformation", "lpp.GNSS_AuxiliaryInformation",
FT_UINT32, BASE_DEC, VALS(lpp_GNSS_AuxiliaryInformation_vals), 0,
NULL, HFILL }},
{ &hf_lpp_BDS_DifferentialCorrections_r12_PDU,
{ "BDS-DifferentialCorrections-r12", "lpp.BDS_DifferentialCorrections_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_BDS_GridModelParameter_r12_PDU,
{ "BDS-GridModelParameter-r12", "lpp.BDS_GridModelParameter_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_RTK_Observations_r15_PDU,
{ "GNSS-RTK-Observations-r15", "lpp.GNSS_RTK_Observations_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GLO_RTK_BiasInformation_r15_PDU,
{ "GLO-RTK-BiasInformation-r15", "lpp.GLO_RTK_BiasInformation_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_RTK_MAC_CorrectionDifferences_r15_PDU,
{ "GNSS-RTK-MAC-CorrectionDifferences-r15", "lpp.GNSS_RTK_MAC_CorrectionDifferences_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_RTK_Residuals_r15_PDU,
{ "GNSS-RTK-Residuals-r15", "lpp.GNSS_RTK_Residuals_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_RTK_FKP_Gradients_r15_PDU,
{ "GNSS-RTK-FKP-Gradients-r15", "lpp.GNSS_RTK_FKP_Gradients_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_SSR_OrbitCorrections_r15_PDU,
{ "GNSS-SSR-OrbitCorrections-r15", "lpp.GNSS_SSR_OrbitCorrections_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_SSR_ClockCorrections_r15_PDU,
{ "GNSS-SSR-ClockCorrections-r15", "lpp.GNSS_SSR_ClockCorrections_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_SSR_CodeBias_r15_PDU,
{ "GNSS-SSR-CodeBias-r15", "lpp.GNSS_SSR_CodeBias_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_SSR_URA_r16_PDU,
{ "GNSS-SSR-URA-r16", "lpp.GNSS_SSR_URA_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_SSR_PhaseBias_r16_PDU,
{ "GNSS-SSR-PhaseBias-r16", "lpp.GNSS_SSR_PhaseBias_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_SSR_STEC_Correction_r16_PDU,
{ "GNSS-SSR-STEC-Correction-r16", "lpp.GNSS_SSR_STEC_Correction_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_SSR_GriddedCorrection_r16_PDU,
{ "GNSS-SSR-GriddedCorrection-r16", "lpp.GNSS_SSR_GriddedCorrection_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NavIC_DifferentialCorrections_r16_PDU,
{ "NavIC-DifferentialCorrections-r16", "lpp.NavIC_DifferentialCorrections_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NavIC_GridModelParameter_r16_PDU,
{ "NavIC-GridModelParameter-r16", "lpp.NavIC_GridModelParameter_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_TBS_AssistanceDataList_r14_PDU,
{ "TBS-AssistanceDataList-r14", "lpp.TBS_AssistanceDataList_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_Sensor_MeasurementInformation_r13_PDU,
{ "Sensor-MeasurementInformation-r13", "lpp.Sensor_MeasurementInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_Sensor_MotionInformation_r15_PDU,
{ "Sensor-MotionInformation-r15", "lpp.Sensor_MotionInformation_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_DisplacementTimeStamp_r15_PDU,
{ "DisplacementTimeStamp-r15", "lpp.DisplacementTimeStamp_r15",
FT_UINT32, BASE_DEC, VALS(lpp_DisplacementTimeStamp_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_Sensor_AssistanceDataList_r14_PDU,
{ "Sensor-AssistanceDataList-r14", "lpp.Sensor_AssistanceDataList_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_OTDOA_UE_Assisted_r15_PDU,
{ "OTDOA-UE-Assisted-r15", "lpp.OTDOA_UE_Assisted_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NR_UEB_TRP_LocationData_r16_PDU,
{ "NR-UEB-TRP-LocationData-r16", "lpp.NR_UEB_TRP_LocationData_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NR_UEB_TRP_RTD_Info_r16_PDU,
{ "NR-UEB-TRP-RTD-Info-r16", "lpp.NR_UEB_TRP_RTD_Info_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_transactionID,
{ "transactionID", "lpp.transactionID_element",
FT_NONE, BASE_NONE, NULL, 0,
"LPP_TransactionID", HFILL }},
{ &hf_lpp_endTransaction,
{ "endTransaction", "lpp.endTransaction",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_sequenceNumber,
{ "sequenceNumber", "lpp.sequenceNumber",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_acknowledgement,
{ "acknowledgement", "lpp.acknowledgement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_lpp_MessageBody,
{ "lpp-MessageBody", "lpp.lpp_MessageBody",
FT_UINT32, BASE_DEC, VALS(lpp_LPP_MessageBody_vals), 0,
NULL, HFILL }},
{ &hf_lpp_ackRequested,
{ "ackRequested", "lpp.ackRequested",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ackIndicator,
{ "ackIndicator", "lpp.ackIndicator",
FT_UINT32, BASE_DEC, NULL, 0,
"SequenceNumber", HFILL }},
{ &hf_lpp_c1,
{ "c1", "lpp.c1",
FT_UINT32, BASE_DEC, VALS(lpp_T_c1_vals), 0,
NULL, HFILL }},
{ &hf_lpp_requestCapabilities,
{ "requestCapabilities", "lpp.requestCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_provideCapabilities,
{ "provideCapabilities", "lpp.provideCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_requestAssistanceData,
{ "requestAssistanceData", "lpp.requestAssistanceData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_provideAssistanceData,
{ "provideAssistanceData", "lpp.provideAssistanceData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_requestLocationInformation,
{ "requestLocationInformation", "lpp.requestLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_provideLocationInformation,
{ "provideLocationInformation", "lpp.provideLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_abort,
{ "abort", "lpp.abort_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_error,
{ "error", "lpp.error",
FT_UINT32, BASE_DEC, VALS(lpp_Error_vals), 0,
NULL, HFILL }},
{ &hf_lpp_spare7,
{ "spare7", "lpp.spare7_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_spare6,
{ "spare6", "lpp.spare6_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_spare5,
{ "spare5", "lpp.spare5_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_spare4,
{ "spare4", "lpp.spare4_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_spare3,
{ "spare3", "lpp.spare3_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_spare2,
{ "spare2", "lpp.spare2_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_spare1,
{ "spare1", "lpp.spare1_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_spare0,
{ "spare0", "lpp.spare0_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_messageClassExtension,
{ "messageClassExtension", "lpp.messageClassExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_initiator,
{ "initiator", "lpp.initiator",
FT_UINT32, BASE_DEC, VALS(lpp_Initiator_vals), 0,
NULL, HFILL }},
{ &hf_lpp_transactionNumber,
{ "transactionNumber", "lpp.transactionNumber",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_criticalExtensions,
{ "criticalExtensions", "lpp.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_vals), 0,
NULL, HFILL }},
{ &hf_lpp_c1_01,
{ "c1", "lpp.c1",
FT_UINT32, BASE_DEC, VALS(lpp_T_c1_01_vals), 0,
"T_c1_01", HFILL }},
{ &hf_lpp_requestCapabilities_r9,
{ "requestCapabilities-r9", "lpp.requestCapabilities_r9_element",
FT_NONE, BASE_NONE, NULL, 0,
"RequestCapabilities_r9_IEs", HFILL }},
{ &hf_lpp_criticalExtensionsFuture,
{ "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_commonIEsRequestCapabilities,
{ "commonIEsRequestCapabilities", "lpp.commonIEsRequestCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_a_gnss_RequestCapabilities,
{ "a-gnss-RequestCapabilities", "lpp.a_gnss_RequestCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_otdoa_RequestCapabilities,
{ "otdoa-RequestCapabilities", "lpp.otdoa_RequestCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ecid_RequestCapabilities,
{ "ecid-RequestCapabilities", "lpp.ecid_RequestCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_epdu_RequestCapabilities,
{ "epdu-RequestCapabilities", "lpp.epdu_RequestCapabilities",
FT_UINT32, BASE_DEC, NULL, 0,
"EPDU_Sequence", HFILL }},
{ &hf_lpp_sensor_RequestCapabilities_r13,
{ "sensor-RequestCapabilities-r13", "lpp.sensor_RequestCapabilities_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tbs_RequestCapabilities_r13,
{ "tbs-RequestCapabilities-r13", "lpp.tbs_RequestCapabilities_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_RequestCapabilities_r13,
{ "wlan-RequestCapabilities-r13", "lpp.wlan_RequestCapabilities_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bt_RequestCapabilities_r13,
{ "bt-RequestCapabilities-r13", "lpp.bt_RequestCapabilities_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_ECID_RequestCapabilities_r16,
{ "nr-ECID-RequestCapabilities-r16", "lpp.nr_ECID_RequestCapabilities_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_Multi_RTT_RequestCapabilities_r16,
{ "nr-Multi-RTT-RequestCapabilities-r16", "lpp.nr_Multi_RTT_RequestCapabilities_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_AoD_RequestCapabilities_r16,
{ "nr-DL-AoD-RequestCapabilities-r16", "lpp.nr_DL_AoD_RequestCapabilities_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_TDOA_RequestCapabilities_r16,
{ "nr-DL-TDOA-RequestCapabilities-r16", "lpp.nr_DL_TDOA_RequestCapabilities_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_UL_RequestCapabilities_r16,
{ "nr-UL-RequestCapabilities-r16", "lpp.nr_UL_RequestCapabilities_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_criticalExtensions_01,
{ "criticalExtensions", "lpp.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_01_vals), 0,
"T_criticalExtensions_01", HFILL }},
{ &hf_lpp_c1_02,
{ "c1", "lpp.c1",
FT_UINT32, BASE_DEC, VALS(lpp_T_c1_02_vals), 0,
"T_c1_02", HFILL }},
{ &hf_lpp_provideCapabilities_r9,
{ "provideCapabilities-r9", "lpp.provideCapabilities_r9_element",
FT_NONE, BASE_NONE, NULL, 0,
"ProvideCapabilities_r9_IEs", HFILL }},
{ &hf_lpp_criticalExtensionsFuture_01,
{ "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_criticalExtensionsFuture_01", HFILL }},
{ &hf_lpp_commonIEsProvideCapabilities,
{ "commonIEsProvideCapabilities", "lpp.commonIEsProvideCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_a_gnss_ProvideCapabilities,
{ "a-gnss-ProvideCapabilities", "lpp.a_gnss_ProvideCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_otdoa_ProvideCapabilities,
{ "otdoa-ProvideCapabilities", "lpp.otdoa_ProvideCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ecid_ProvideCapabilities,
{ "ecid-ProvideCapabilities", "lpp.ecid_ProvideCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_epdu_ProvideCapabilities,
{ "epdu-ProvideCapabilities", "lpp.epdu_ProvideCapabilities",
FT_UINT32, BASE_DEC, NULL, 0,
"EPDU_Sequence", HFILL }},
{ &hf_lpp_sensor_ProvideCapabilities_r13,
{ "sensor-ProvideCapabilities-r13", "lpp.sensor_ProvideCapabilities_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tbs_ProvideCapabilities_r13,
{ "tbs-ProvideCapabilities-r13", "lpp.tbs_ProvideCapabilities_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_ProvideCapabilities_r13,
{ "wlan-ProvideCapabilities-r13", "lpp.wlan_ProvideCapabilities_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bt_ProvideCapabilities_r13,
{ "bt-ProvideCapabilities-r13", "lpp.bt_ProvideCapabilities_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_ECID_ProvideCapabilities_r16,
{ "nr-ECID-ProvideCapabilities-r16", "lpp.nr_ECID_ProvideCapabilities_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_Multi_RTT_ProvideCapabilities_r16,
{ "nr-Multi-RTT-ProvideCapabilities-r16", "lpp.nr_Multi_RTT_ProvideCapabilities_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_AoD_ProvideCapabilities_r16,
{ "nr-DL-AoD-ProvideCapabilities-r16", "lpp.nr_DL_AoD_ProvideCapabilities_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_TDOA_ProvideCapabilities_r16,
{ "nr-DL-TDOA-ProvideCapabilities-r16", "lpp.nr_DL_TDOA_ProvideCapabilities_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_UL_ProvideCapabilities_r16,
{ "nr-UL-ProvideCapabilities-r16", "lpp.nr_UL_ProvideCapabilities_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_criticalExtensions_02,
{ "criticalExtensions", "lpp.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_02_vals), 0,
"T_criticalExtensions_02", HFILL }},
{ &hf_lpp_c1_03,
{ "c1", "lpp.c1",
FT_UINT32, BASE_DEC, VALS(lpp_T_c1_03_vals), 0,
"T_c1_03", HFILL }},
{ &hf_lpp_requestAssistanceData_r9,
{ "requestAssistanceData-r9", "lpp.requestAssistanceData_r9_element",
FT_NONE, BASE_NONE, NULL, 0,
"RequestAssistanceData_r9_IEs", HFILL }},
{ &hf_lpp_criticalExtensionsFuture_02,
{ "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_criticalExtensionsFuture_02", HFILL }},
{ &hf_lpp_commonIEsRequestAssistanceData,
{ "commonIEsRequestAssistanceData", "lpp.commonIEsRequestAssistanceData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_a_gnss_RequestAssistanceData,
{ "a-gnss-RequestAssistanceData", "lpp.a_gnss_RequestAssistanceData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_otdoa_RequestAssistanceData,
{ "otdoa-RequestAssistanceData", "lpp.otdoa_RequestAssistanceData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_epdu_RequestAssistanceData,
{ "epdu-RequestAssistanceData", "lpp.epdu_RequestAssistanceData",
FT_UINT32, BASE_DEC, NULL, 0,
"EPDU_Sequence", HFILL }},
{ &hf_lpp_sensor_RequestAssistanceData_r14,
{ "sensor-RequestAssistanceData-r14", "lpp.sensor_RequestAssistanceData_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tbs_RequestAssistanceData_r14,
{ "tbs-RequestAssistanceData-r14", "lpp.tbs_RequestAssistanceData_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_RequestAssistanceData_r14,
{ "wlan-RequestAssistanceData-r14", "lpp.wlan_RequestAssistanceData_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_Multi_RTT_RequestAssistanceData_r16,
{ "nr-Multi-RTT-RequestAssistanceData-r16", "lpp.nr_Multi_RTT_RequestAssistanceData_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_AoD_RequestAssistanceData_r16,
{ "nr-DL-AoD-RequestAssistanceData-r16", "lpp.nr_DL_AoD_RequestAssistanceData_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_TDOA_RequestAssistanceData_r16,
{ "nr-DL-TDOA-RequestAssistanceData-r16", "lpp.nr_DL_TDOA_RequestAssistanceData_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_criticalExtensions_03,
{ "criticalExtensions", "lpp.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_03_vals), 0,
"T_criticalExtensions_03", HFILL }},
{ &hf_lpp_c1_04,
{ "c1", "lpp.c1",
FT_UINT32, BASE_DEC, VALS(lpp_T_c1_04_vals), 0,
"T_c1_04", HFILL }},
{ &hf_lpp_provideAssistanceData_r9,
{ "provideAssistanceData-r9", "lpp.provideAssistanceData_r9_element",
FT_NONE, BASE_NONE, NULL, 0,
"ProvideAssistanceData_r9_IEs", HFILL }},
{ &hf_lpp_criticalExtensionsFuture_03,
{ "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_criticalExtensionsFuture_03", HFILL }},
{ &hf_lpp_commonIEsProvideAssistanceData,
{ "commonIEsProvideAssistanceData", "lpp.commonIEsProvideAssistanceData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_a_gnss_ProvideAssistanceData,
{ "a-gnss-ProvideAssistanceData", "lpp.a_gnss_ProvideAssistanceData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_otdoa_ProvideAssistanceData,
{ "otdoa-ProvideAssistanceData", "lpp.otdoa_ProvideAssistanceData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_epdu_Provide_Assistance_Data,
{ "epdu-Provide-Assistance-Data", "lpp.epdu_Provide_Assistance_Data",
FT_UINT32, BASE_DEC, NULL, 0,
"EPDU_Sequence", HFILL }},
{ &hf_lpp_sensor_ProvideAssistanceData_r14,
{ "sensor-ProvideAssistanceData-r14", "lpp.sensor_ProvideAssistanceData_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tbs_ProvideAssistanceData_r14,
{ "tbs-ProvideAssistanceData-r14", "lpp.tbs_ProvideAssistanceData_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_ProvideAssistanceData_r14,
{ "wlan-ProvideAssistanceData-r14", "lpp.wlan_ProvideAssistanceData_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_Multi_RTT_ProvideAssistanceData_r16,
{ "nr-Multi-RTT-ProvideAssistanceData-r16", "lpp.nr_Multi_RTT_ProvideAssistanceData_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_AoD_ProvideAssistanceData_r16,
{ "nr-DL-AoD-ProvideAssistanceData-r16", "lpp.nr_DL_AoD_ProvideAssistanceData_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_TDOA_ProvideAssistanceData_r16,
{ "nr-DL-TDOA-ProvideAssistanceData-r16", "lpp.nr_DL_TDOA_ProvideAssistanceData_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_criticalExtensions_04,
{ "criticalExtensions", "lpp.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_04_vals), 0,
"T_criticalExtensions_04", HFILL }},
{ &hf_lpp_c1_05,
{ "c1", "lpp.c1",
FT_UINT32, BASE_DEC, VALS(lpp_T_c1_05_vals), 0,
"T_c1_05", HFILL }},
{ &hf_lpp_requestLocationInformation_r9,
{ "requestLocationInformation-r9", "lpp.requestLocationInformation_r9_element",
FT_NONE, BASE_NONE, NULL, 0,
"RequestLocationInformation_r9_IEs", HFILL }},
{ &hf_lpp_criticalExtensionsFuture_04,
{ "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_criticalExtensionsFuture_04", HFILL }},
{ &hf_lpp_commonIEsRequestLocationInformation,
{ "commonIEsRequestLocationInformation", "lpp.commonIEsRequestLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_a_gnss_RequestLocationInformation,
{ "a-gnss-RequestLocationInformation", "lpp.a_gnss_RequestLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_otdoa_RequestLocationInformation,
{ "otdoa-RequestLocationInformation", "lpp.otdoa_RequestLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ecid_RequestLocationInformation,
{ "ecid-RequestLocationInformation", "lpp.ecid_RequestLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_epdu_RequestLocationInformation,
{ "epdu-RequestLocationInformation", "lpp.epdu_RequestLocationInformation",
FT_UINT32, BASE_DEC, NULL, 0,
"EPDU_Sequence", HFILL }},
{ &hf_lpp_sensor_RequestLocationInformation_r13,
{ "sensor-RequestLocationInformation-r13", "lpp.sensor_RequestLocationInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tbs_RequestLocationInformation_r13,
{ "tbs-RequestLocationInformation-r13", "lpp.tbs_RequestLocationInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_RequestLocationInformation_r13,
{ "wlan-RequestLocationInformation-r13", "lpp.wlan_RequestLocationInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bt_RequestLocationInformation_r13,
{ "bt-RequestLocationInformation-r13", "lpp.bt_RequestLocationInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_ECID_RequestLocationInformation_r16,
{ "nr-ECID-RequestLocationInformation-r16", "lpp.nr_ECID_RequestLocationInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_Multi_RTT_RequestLocationInformation_r16,
{ "nr-Multi-RTT-RequestLocationInformation-r16", "lpp.nr_Multi_RTT_RequestLocationInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_AoD_RequestLocationInformation_r16,
{ "nr-DL-AoD-RequestLocationInformation-r16", "lpp.nr_DL_AoD_RequestLocationInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_TDOA_RequestLocationInformation_r16,
{ "nr-DL-TDOA-RequestLocationInformation-r16", "lpp.nr_DL_TDOA_RequestLocationInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_criticalExtensions_05,
{ "criticalExtensions", "lpp.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_05_vals), 0,
"T_criticalExtensions_05", HFILL }},
{ &hf_lpp_c1_06,
{ "c1", "lpp.c1",
FT_UINT32, BASE_DEC, VALS(lpp_T_c1_06_vals), 0,
"T_c1_06", HFILL }},
{ &hf_lpp_provideLocationInformation_r9,
{ "provideLocationInformation-r9", "lpp.provideLocationInformation_r9_element",
FT_NONE, BASE_NONE, NULL, 0,
"ProvideLocationInformation_r9_IEs", HFILL }},
{ &hf_lpp_criticalExtensionsFuture_05,
{ "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_criticalExtensionsFuture_05", HFILL }},
{ &hf_lpp_commonIEsProvideLocationInformation,
{ "commonIEsProvideLocationInformation", "lpp.commonIEsProvideLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_a_gnss_ProvideLocationInformation,
{ "a-gnss-ProvideLocationInformation", "lpp.a_gnss_ProvideLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_otdoa_ProvideLocationInformation,
{ "otdoa-ProvideLocationInformation", "lpp.otdoa_ProvideLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ecid_ProvideLocationInformation,
{ "ecid-ProvideLocationInformation", "lpp.ecid_ProvideLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_epdu_ProvideLocationInformation,
{ "epdu-ProvideLocationInformation", "lpp.epdu_ProvideLocationInformation",
FT_UINT32, BASE_DEC, NULL, 0,
"EPDU_Sequence", HFILL }},
{ &hf_lpp_sensor_ProvideLocationInformation_r13,
{ "sensor-ProvideLocationInformation-r13", "lpp.sensor_ProvideLocationInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tbs_ProvideLocationInformation_r13,
{ "tbs-ProvideLocationInformation-r13", "lpp.tbs_ProvideLocationInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_ProvideLocationInformation_r13,
{ "wlan-ProvideLocationInformation-r13", "lpp.wlan_ProvideLocationInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bt_ProvideLocationInformation_r13,
{ "bt-ProvideLocationInformation-r13", "lpp.bt_ProvideLocationInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_ECID_ProvideLocationInformation_r16,
{ "nr-ECID-ProvideLocationInformation-r16", "lpp.nr_ECID_ProvideLocationInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_Multi_RTT_ProvideLocationInformation_r16,
{ "nr-Multi-RTT-ProvideLocationInformation-r16", "lpp.nr_Multi_RTT_ProvideLocationInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_AoD_ProvideLocationInformation_r16,
{ "nr-DL-AoD-ProvideLocationInformation-r16", "lpp.nr_DL_AoD_ProvideLocationInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_TDOA_ProvideLocationInformation_r16,
{ "nr-DL-TDOA-ProvideLocationInformation-r16", "lpp.nr_DL_TDOA_ProvideLocationInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_criticalExtensions_06,
{ "criticalExtensions", "lpp.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_06_vals), 0,
"T_criticalExtensions_06", HFILL }},
{ &hf_lpp_c1_07,
{ "c1", "lpp.c1",
FT_UINT32, BASE_DEC, VALS(lpp_T_c1_07_vals), 0,
"T_c1_07", HFILL }},
{ &hf_lpp_abort_r9,
{ "abort-r9", "lpp.abort_r9_element",
FT_NONE, BASE_NONE, NULL, 0,
"Abort_r9_IEs", HFILL }},
{ &hf_lpp_criticalExtensionsFuture_06,
{ "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_criticalExtensionsFuture_06", HFILL }},
{ &hf_lpp_commonIEsAbort,
{ "commonIEsAbort", "lpp.commonIEsAbort_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_epdu_Abort,
{ "epdu-Abort", "lpp.epdu_Abort",
FT_UINT32, BASE_DEC, NULL, 0,
"EPDU_Sequence", HFILL }},
{ &hf_lpp_error_r9,
{ "error-r9", "lpp.error_r9_element",
FT_NONE, BASE_NONE, NULL, 0,
"Error_r9_IEs", HFILL }},
{ &hf_lpp_criticalExtensionsFuture_07,
{ "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_criticalExtensionsFuture_07", HFILL }},
{ &hf_lpp_commonIEsError,
{ "commonIEsError", "lpp.commonIEsError_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_epdu_Error,
{ "epdu-Error", "lpp.epdu_Error",
FT_UINT32, BASE_DEC, NULL, 0,
"EPDU_Sequence", HFILL }},
{ &hf_lpp_accessTypes,
{ "accessTypes", "lpp.accessTypes",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_carrierFreq_r14,
{ "carrierFreq-r14", "lpp.carrierFreq_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA_r14", HFILL }},
{ &hf_lpp_carrierFreqOffset_r14,
{ "carrierFreqOffset-r14", "lpp.carrierFreqOffset_r14",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &lpp_CarrierFreqOffsetNB_r14_vals_ext, 0,
"CarrierFreqOffsetNB_r14", HFILL }},
{ &hf_lpp_plmn_Identity,
{ "plmn-Identity", "lpp.plmn_Identity_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_mcc,
{ "mcc", "lpp.mcc",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_mcc_item,
{ "mcc item", "lpp.mcc_item",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9", HFILL }},
{ &hf_lpp_mnc,
{ "mnc", "lpp.mnc",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_mnc_item,
{ "mnc item", "lpp.mnc_item",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9", HFILL }},
{ &hf_lpp_cellIdentity,
{ "cellIdentity", "lpp.cellIdentity",
FT_UINT32, BASE_DEC, VALS(lpp_T_cellIdentity_vals), 0,
NULL, HFILL }},
{ &hf_lpp_eutra,
{ "eutra", "lpp.eutra",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_28", HFILL }},
{ &hf_lpp_utra,
{ "utra", "lpp.utra",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_32", HFILL }},
{ &hf_lpp_plmn_Identity_01,
{ "plmn-Identity", "lpp.plmn_Identity_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_plmn_Identity_01", HFILL }},
{ &hf_lpp_mcc_01,
{ "mcc", "lpp.mcc",
FT_UINT32, BASE_DEC, NULL, 0,
"T_mcc_01", HFILL }},
{ &hf_lpp_mnc_01,
{ "mnc", "lpp.mnc",
FT_UINT32, BASE_DEC, NULL, 0,
"T_mnc_01", HFILL }},
{ &hf_lpp_locationAreaCode,
{ "locationAreaCode", "lpp.locationAreaCode",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_16", HFILL }},
{ &hf_lpp_cellGlobalIdGERAN_cellIdentity,
{ "cellIdentity", "lpp.cellGlobalIdGERAN.cellIdentity",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_16", HFILL }},
{ &hf_lpp_mcc_02,
{ "mcc", "lpp.mcc",
FT_UINT32, BASE_DEC, NULL, 0,
"T_mcc_02", HFILL }},
{ &hf_lpp_mnc_02,
{ "mnc", "lpp.mnc",
FT_UINT32, BASE_DEC, NULL, 0,
"T_mnc_02", HFILL }},
{ &hf_lpp_cellidentity,
{ "cellidentity", "lpp.cellidentity",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_28", HFILL }},
{ &hf_lpp_latitudeSign,
{ "latitudeSign", "lpp.latitudeSign",
FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_vals), 0,
NULL, HFILL }},
{ &hf_lpp_degreesLatitude,
{ "degreesLatitude", "lpp.degreesLatitude",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_degreesLatitude_fmt), 0,
"INTEGER_0_8388607", HFILL }},
{ &hf_lpp_degreesLongitude,
{ "degreesLongitude", "lpp.degreesLongitude",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_degreesLongitude_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_latitudeSign_01,
{ "latitudeSign", "lpp.latitudeSign",
FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_01_vals), 0,
"T_latitudeSign_01", HFILL }},
{ &hf_lpp_uncertainty,
{ "uncertainty", "lpp.uncertainty",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_uncertainty_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_latitudeSign_02,
{ "latitudeSign", "lpp.latitudeSign",
FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_02_vals), 0,
"T_latitudeSign_02", HFILL }},
{ &hf_lpp_uncertaintySemiMajor,
{ "uncertaintySemiMajor", "lpp.uncertaintySemiMajor",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_uncertainty_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_uncertaintySemiMinor,
{ "uncertaintySemiMinor", "lpp.uncertaintySemiMinor",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_uncertainty_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_orientationMajorAxis,
{ "orientationMajorAxis", "lpp.orientationMajorAxis",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_angle_fmt), 0,
"INTEGER_0_179", HFILL }},
{ &hf_lpp_confidence,
{ "confidence", "lpp.confidence",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_confidence_fmt), 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_latitudeSign_03,
{ "latitudeSign", "lpp.latitudeSign",
FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_03_vals), 0,
"T_latitudeSign_03", HFILL }},
{ &hf_lpp_altitudeDirection,
{ "altitudeDirection", "lpp.altitudeDirection",
FT_UINT32, BASE_DEC, VALS(lpp_T_altitudeDirection_vals), 0,
NULL, HFILL }},
{ &hf_lpp_altitude,
{ "altitude", "lpp.altitude",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_altitude_fmt), 0,
"INTEGER_0_32767", HFILL }},
{ &hf_lpp_latitudeSign_04,
{ "latitudeSign", "lpp.latitudeSign",
FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_04_vals), 0,
"T_latitudeSign_04", HFILL }},
{ &hf_lpp_altitudeDirection_01,
{ "altitudeDirection", "lpp.altitudeDirection",
FT_UINT32, BASE_DEC, VALS(lpp_T_altitudeDirection_01_vals), 0,
"T_altitudeDirection_01", HFILL }},
{ &hf_lpp_uncertaintyAltitude,
{ "uncertaintyAltitude", "lpp.uncertaintyAltitude",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_uncertaintyAltitude_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_latitudeSign_05,
{ "latitudeSign", "lpp.latitudeSign",
FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_05_vals), 0,
"T_latitudeSign_05", HFILL }},
{ &hf_lpp_innerRadius,
{ "innerRadius", "lpp.innerRadius",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_radius_fmt), 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_uncertaintyRadius,
{ "uncertaintyRadius", "lpp.uncertaintyRadius",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_uncertainty_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_offsetAngle,
{ "offsetAngle", "lpp.offsetAngle",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_angle_fmt), 0,
"INTEGER_0_179", HFILL }},
{ &hf_lpp_includedAngle,
{ "includedAngle", "lpp.includedAngle",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_angle_fmt), 0,
"INTEGER_0_179", HFILL }},
{ &hf_lpp_EPDU_Sequence_item,
{ "EPDU", "lpp.EPDU_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ePDU_Identifier,
{ "ePDU-Identifier", "lpp.ePDU_Identifier_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ePDU_Body,
{ "ePDU-Body", "lpp.ePDU_Body",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ePDU_ID,
{ "ePDU-ID", "lpp.ePDU_ID",
FT_UINT32, BASE_DEC, VALS(lpp_ePDU_ID_vals), 0,
NULL, HFILL }},
{ &hf_lpp_ePDU_Name,
{ "ePDU-Name", "lpp.ePDU_Name",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_degreesLatitude_r15,
{ "degreesLatitude-r15", "lpp.degreesLatitude_r15",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_degreesLongitude_r15,
{ "degreesLongitude-r15", "lpp.degreesLongitude_r15",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_uncertaintySemiMajor_r15,
{ "uncertaintySemiMajor-r15", "lpp.uncertaintySemiMajor_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_uncertaintySemiMinor_r15,
{ "uncertaintySemiMinor-r15", "lpp.uncertaintySemiMinor_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_orientationMajorAxis_r15,
{ "orientationMajorAxis-r15", "lpp.orientationMajorAxis_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_179", HFILL }},
{ &hf_lpp_confidence_r15,
{ "confidence-r15", "lpp.confidence_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_altitude_r15,
{ "altitude-r15", "lpp.altitude_r15",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M64000_1280000", HFILL }},
{ &hf_lpp_horizontalConfidence_r15,
{ "horizontalConfidence-r15", "lpp.horizontalConfidence_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_uncertaintyAltitude_r15,
{ "uncertaintyAltitude-r15", "lpp.uncertaintyAltitude_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_verticalConfidence_r15,
{ "verticalConfidence-r15", "lpp.verticalConfidence_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_bearing,
{ "bearing", "lpp.bearing",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_degree_degrees, 0,
"INTEGER_0_359", HFILL }},
{ &hf_lpp_horizontalSpeed,
{ "horizontalSpeed", "lpp.horizontalSpeed",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_kmh, 0,
"INTEGER_0_2047", HFILL }},
{ &hf_lpp_verticalDirection,
{ "verticalDirection", "lpp.verticalDirection",
FT_UINT32, BASE_DEC, VALS(lpp_T_verticalDirection_vals), 0,
NULL, HFILL }},
{ &hf_lpp_verticalSpeed,
{ "verticalSpeed", "lpp.verticalSpeed",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_uncertaintySpeed,
{ "uncertaintySpeed", "lpp.uncertaintySpeed",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_kmh, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_verticalDirection_01,
{ "verticalDirection", "lpp.verticalDirection",
FT_UINT32, BASE_DEC, VALS(lpp_T_verticalDirection_01_vals), 0,
"T_verticalDirection_01", HFILL }},
{ &hf_lpp_horizontalUncertaintySpeed,
{ "horizontalUncertaintySpeed", "lpp.horizontalUncertaintySpeed",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_kmh, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_verticalUncertaintySpeed,
{ "verticalUncertaintySpeed", "lpp.verticalUncertaintySpeed",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_kmh, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_ellipsoidPoint,
{ "ellipsoidPoint", "lpp.ellipsoidPoint",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ellipsoidPointWithUncertaintyCircle,
{ "ellipsoidPointWithUncertaintyCircle", "lpp.ellipsoidPointWithUncertaintyCircle",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ellipsoidPointWithUncertaintyEllipse,
{ "ellipsoidPointWithUncertaintyEllipse", "lpp.ellipsoidPointWithUncertaintyEllipse",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_polygon,
{ "polygon", "lpp.polygon",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ellipsoidPointWithAltitude,
{ "ellipsoidPointWithAltitude", "lpp.ellipsoidPointWithAltitude",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid,
{ "ellipsoidPointWithAltitudeAndUncertaintyEllipsoid", "lpp.ellipsoidPointWithAltitudeAndUncertaintyEllipsoid",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ellipsoidArc,
{ "ellipsoidArc", "lpp.ellipsoidArc",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_highAccuracyEllipsoidPointWithUncertaintyEllipse_r15,
{ "highAccuracyEllipsoidPointWithUncertaintyEllipse-r15", "lpp.highAccuracyEllipsoidPointWithUncertaintyEllipse_r15",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15,
{ "highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15", "lpp.highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_mcc_r15,
{ "mcc-r15", "lpp.mcc_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_mcc_r15_item,
{ "mcc-r15 item", "lpp.mcc_r15_item",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9", HFILL }},
{ &hf_lpp_mnc_r15,
{ "mnc-r15", "lpp.mnc_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_mnc_r15_item,
{ "mnc-r15 item", "lpp.mnc_r15_item",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9", HFILL }},
{ &hf_lpp_nr_cellidentity_r15,
{ "nr-cellidentity-r15", "lpp.nr_cellidentity_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_36", HFILL }},
{ &hf_lpp_periodicSessionID_r15,
{ "periodicSessionID-r15", "lpp.periodicSessionID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_updateCapabilities_r15,
{ "updateCapabilities-r15", "lpp.updateCapabilities_r15",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_periodicSessionInitiator_r15,
{ "periodicSessionInitiator-r15", "lpp.periodicSessionInitiator_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_periodicSessionInitiator_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_periodicSessionNumber_r15,
{ "periodicSessionNumber-r15", "lpp.periodicSessionNumber_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_Polygon_item,
{ "PolygonPoints", "lpp.PolygonPoints_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_latitudeSign_06,
{ "latitudeSign", "lpp.latitudeSign",
FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_06_vals), 0,
"T_latitudeSign_06", HFILL }},
{ &hf_lpp_posModes,
{ "posModes", "lpp.posModes",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_horizontalVelocity,
{ "horizontalVelocity", "lpp.horizontalVelocity",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_horizontalWithVerticalVelocity,
{ "horizontalWithVerticalVelocity", "lpp.horizontalWithVerticalVelocity",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_horizontalVelocityWithUncertainty,
{ "horizontalVelocityWithUncertainty", "lpp.horizontalVelocityWithUncertainty",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_horizontalWithVerticalVelocityAndUncertainty,
{ "horizontalWithVerticalVelocityAndUncertainty", "lpp.horizontalWithVerticalVelocityAndUncertainty",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_lpp_message_segmentation_req_r14,
{ "lpp-message-segmentation-req-r14", "lpp.lpp_message_segmentation_req_r14",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_segmentationInfo_r14,
{ "segmentationInfo-r14", "lpp.segmentationInfo_r14",
FT_UINT32, BASE_DEC, VALS(lpp_SegmentationInfo_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_lpp_message_segmentation_r14,
{ "lpp-message-segmentation-r14", "lpp.lpp_message_segmentation_r14",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_primaryCellID,
{ "primaryCellID", "lpp.primaryCellID_element",
FT_NONE, BASE_NONE, NULL, 0,
"ECGI", HFILL }},
{ &hf_lpp_periodicAssistanceDataReq_r15,
{ "periodicAssistanceDataReq-r15", "lpp.periodicAssistanceDataReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"PeriodicAssistanceDataControlParameters_r15", HFILL }},
{ &hf_lpp_primaryCellID_r15,
{ "primaryCellID-r15", "lpp.primaryCellID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"NCGI_r15", HFILL }},
{ &hf_lpp_periodicAssistanceData_r15,
{ "periodicAssistanceData-r15", "lpp.periodicAssistanceData_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"PeriodicAssistanceDataControlParameters_r15", HFILL }},
{ &hf_lpp_locationInformationType,
{ "locationInformationType", "lpp.locationInformationType",
FT_UINT32, BASE_DEC, VALS(lpp_LocationInformationType_vals), 0,
NULL, HFILL }},
{ &hf_lpp_triggeredReporting,
{ "triggeredReporting", "lpp.triggeredReporting_element",
FT_NONE, BASE_NONE, NULL, 0,
"TriggeredReportingCriteria", HFILL }},
{ &hf_lpp_periodicalReporting,
{ "periodicalReporting", "lpp.periodicalReporting_element",
FT_NONE, BASE_NONE, NULL, 0,
"PeriodicalReportingCriteria", HFILL }},
{ &hf_lpp_additionalInformation,
{ "additionalInformation", "lpp.additionalInformation",
FT_UINT32, BASE_DEC, VALS(lpp_AdditionalInformation_vals), 0,
NULL, HFILL }},
{ &hf_lpp_qos,
{ "qos", "lpp.qos_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_environment,
{ "environment", "lpp.environment",
FT_UINT32, BASE_DEC, VALS(lpp_Environment_vals), 0,
NULL, HFILL }},
{ &hf_lpp_locationCoordinateTypes,
{ "locationCoordinateTypes", "lpp.locationCoordinateTypes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_velocityTypes,
{ "velocityTypes", "lpp.velocityTypes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_messageSizeLimitNB_r14,
{ "messageSizeLimitNB-r14", "lpp.messageSizeLimitNB_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_reportingAmount,
{ "reportingAmount", "lpp.reportingAmount",
FT_UINT32, BASE_DEC, VALS(lpp_T_reportingAmount_vals), 0,
NULL, HFILL }},
{ &hf_lpp_reportingInterval,
{ "reportingInterval", "lpp.reportingInterval",
FT_UINT32, BASE_DEC, VALS(lpp_T_reportingInterval_vals), 0,
NULL, HFILL }},
{ &hf_lpp_cellChange,
{ "cellChange", "lpp.cellChange",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_reportingDuration,
{ "reportingDuration", "lpp.reportingDuration",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
NULL, HFILL }},
{ &hf_lpp_horizontalAccuracy,
{ "horizontalAccuracy", "lpp.horizontalAccuracy_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_verticalCoordinateRequest,
{ "verticalCoordinateRequest", "lpp.verticalCoordinateRequest",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_verticalAccuracy,
{ "verticalAccuracy", "lpp.verticalAccuracy_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_responseTime,
{ "responseTime", "lpp.responseTime_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_velocityRequest,
{ "velocityRequest", "lpp.velocityRequest",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_responseTimeNB_r14,
{ "responseTimeNB-r14", "lpp.responseTimeNB_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_horizontalAccuracyExt_r15,
{ "horizontalAccuracyExt-r15", "lpp.horizontalAccuracyExt_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_verticalAccuracyExt_r15,
{ "verticalAccuracyExt-r15", "lpp.verticalAccuracyExt_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_accuracy,
{ "accuracy", "lpp.accuracy",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_uncertainty_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_accuracyExt_r15,
{ "accuracyExt-r15", "lpp.accuracyExt_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_time,
{ "time", "lpp.time",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_1_128", HFILL }},
{ &hf_lpp_responseTimeEarlyFix_r12,
{ "responseTimeEarlyFix-r12", "lpp.responseTimeEarlyFix_r12",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_1_128", HFILL }},
{ &hf_lpp_unit_r15,
{ "unit-r15", "lpp.unit_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_unit_r15_vals), 0,
"T_unit_r15", HFILL }},
{ &hf_lpp_timeNB_r14,
{ "timeNB-r14", "lpp.timeNB_r14",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_1_512", HFILL }},
{ &hf_lpp_responseTimeEarlyFixNB_r14,
{ "responseTimeEarlyFixNB-r14", "lpp.responseTimeEarlyFixNB_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_512", HFILL }},
{ &hf_lpp_unitNB_r15,
{ "unitNB-r15", "lpp.unitNB_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_unitNB_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_measurementLimit_r14,
{ "measurementLimit-r14", "lpp.measurementLimit_r14",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_measurementLimit_fmt), 0,
"INTEGER_1_512", HFILL }},
{ &hf_lpp_locationEstimate,
{ "locationEstimate", "lpp.locationEstimate",
FT_UINT32, BASE_DEC, VALS(lpp_LocationCoordinates_vals), 0,
"LocationCoordinates", HFILL }},
{ &hf_lpp_velocityEstimate,
{ "velocityEstimate", "lpp.velocityEstimate",
FT_UINT32, BASE_DEC, VALS(lpp_Velocity_vals), 0,
"Velocity", HFILL }},
{ &hf_lpp_locationError,
{ "locationError", "lpp.locationError_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_earlyFixReport_r12,
{ "earlyFixReport-r12", "lpp.earlyFixReport_r12",
FT_UINT32, BASE_DEC, VALS(lpp_EarlyFixReport_r12_vals), 0,
NULL, HFILL }},
{ &hf_lpp_locationSource_r13,
{ "locationSource-r13", "lpp.locationSource_r13",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_locationTimestamp_r13,
{ "locationTimestamp-r13", "lpp.locationTimestamp_r13",
FT_STRING, BASE_NONE, NULL, 0,
"UTCTime", HFILL }},
{ &hf_lpp_ellipsoidPoint_01,
{ "ellipsoidPoint", "lpp.ellipsoidPoint_element",
FT_NONE, BASE_NONE, NULL, 0,
"Ellipsoid_Point", HFILL }},
{ &hf_lpp_ellipsoidPointWithUncertaintyCircle_01,
{ "ellipsoidPointWithUncertaintyCircle", "lpp.ellipsoidPointWithUncertaintyCircle_element",
FT_NONE, BASE_NONE, NULL, 0,
"Ellipsoid_PointWithUncertaintyCircle", HFILL }},
{ &hf_lpp_ellipsoidPointWithUncertaintyEllipse_01,
{ "ellipsoidPointWithUncertaintyEllipse", "lpp.ellipsoidPointWithUncertaintyEllipse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_locationCoordinates_polygon,
{ "polygon", "lpp.locationCoordinates.polygon",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ellipsoidPointWithAltitude_01,
{ "ellipsoidPointWithAltitude", "lpp.ellipsoidPointWithAltitude_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid_01,
{ "ellipsoidPointWithAltitudeAndUncertaintyEllipsoid", "lpp.ellipsoidPointWithAltitudeAndUncertaintyEllipsoid_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ellipsoidArc_01,
{ "ellipsoidArc", "lpp.ellipsoidArc_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_highAccuracyEllipsoidPointWithUncertaintyEllipse_v1510,
{ "highAccuracyEllipsoidPointWithUncertaintyEllipse-v1510", "lpp.highAccuracyEllipsoidPointWithUncertaintyEllipse_v1510_element",
FT_NONE, BASE_NONE, NULL, 0,
"HighAccuracyEllipsoidPointWithUncertaintyEllipse_r15", HFILL }},
{ &hf_lpp_highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_v1510,
{ "highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-v1510", "lpp.highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_v1510_element",
FT_NONE, BASE_NONE, NULL, 0,
"HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15", HFILL }},
{ &hf_lpp_horizontalVelocity_01,
{ "horizontalVelocity", "lpp.horizontalVelocity_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_horizontalWithVerticalVelocity_01,
{ "horizontalWithVerticalVelocity", "lpp.horizontalWithVerticalVelocity_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_horizontalVelocityWithUncertainty_01,
{ "horizontalVelocityWithUncertainty", "lpp.horizontalVelocityWithUncertainty_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_horizontalWithVerticalVelocityAndUncertainty_01,
{ "horizontalWithVerticalVelocityAndUncertainty", "lpp.horizontalWithVerticalVelocityAndUncertainty_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_locationfailurecause,
{ "locationfailurecause", "lpp.locationfailurecause",
FT_UINT32, BASE_DEC, VALS(lpp_LocationFailureCause_vals), 0,
NULL, HFILL }},
{ &hf_lpp_abortCause,
{ "abortCause", "lpp.abortCause",
FT_UINT32, BASE_DEC, VALS(lpp_T_abortCause_vals), 0,
NULL, HFILL }},
{ &hf_lpp_errorCause,
{ "errorCause", "lpp.errorCause",
FT_UINT32, BASE_DEC, VALS(lpp_T_errorCause_vals), 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_ID_r16,
{ "dl-PRS-ID-r16", "lpp.dl_PRS_ID_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_nr_DL_PRS_ResourceID_List_r16,
{ "nr-DL-PRS-ResourceID-List-r16", "lpp.nr_DL_PRS_ResourceID_List_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxResourceIDs_r16_OF_NR_DL_PRS_ResourceID_r16", HFILL }},
{ &hf_lpp_nr_DL_PRS_ResourceID_List_r16_item,
{ "NR-DL-PRS-ResourceID-r16", "lpp.NR_DL_PRS_ResourceID_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_PRS_ResourceSetID_r16,
{ "nr-DL-PRS-ResourceSetID-r16", "lpp.nr_DL_PRS_ResourceSetID_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NR_AdditionalPathList_r16_item,
{ "NR-AdditionalPath-r16", "lpp.NR_AdditionalPath_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_RelativeTimeDifference_r16,
{ "nr-RelativeTimeDifference-r16", "lpp.nr_RelativeTimeDifference_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_nr_RelativeTimeDifference_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_k0_r16,
{ "k0-r16", "lpp.k0_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_16351", HFILL }},
{ &hf_lpp_k1_r16,
{ "k1-r16", "lpp.k1_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_8176", HFILL }},
{ &hf_lpp_k2_r16,
{ "k2-r16", "lpp.k2_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4088", HFILL }},
{ &hf_lpp_k3_r16,
{ "k3-r16", "lpp.k3_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_2044", HFILL }},
{ &hf_lpp_k4_r16,
{ "k4-r16", "lpp.k4_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1022", HFILL }},
{ &hf_lpp_k5_r16,
{ "k5-r16", "lpp.k5_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_nr_PathQuality_r16,
{ "nr-PathQuality-r16", "lpp.nr_PathQuality_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_TimingQuality_r16", HFILL }},
{ &hf_lpp_nr_DL_PRS_ReferenceInfo_r16,
{ "nr-DL-PRS-ReferenceInfo-r16", "lpp.nr_DL_PRS_ReferenceInfo_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"DL_PRS_ID_Info_r16", HFILL }},
{ &hf_lpp_nr_DL_PRS_AssistanceDataList_r16,
{ "nr-DL-PRS-AssistanceDataList-r16", "lpp.nr_DL_PRS_AssistanceDataList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxFreqLayers_r16_OF_NR_DL_PRS_AssistanceDataPerFreq_r16", HFILL }},
{ &hf_lpp_nr_DL_PRS_AssistanceDataList_r16_item,
{ "NR-DL-PRS-AssistanceDataPerFreq-r16", "lpp.NR_DL_PRS_AssistanceDataPerFreq_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_SSB_Config_r16,
{ "nr-SSB-Config-r16", "lpp.nr_SSB_Config_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxTRPs_r16_OF_NR_SSB_Config_r16", HFILL }},
{ &hf_lpp_nr_SSB_Config_r16_item,
{ "NR-SSB-Config-r16", "lpp.NR_SSB_Config_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_PRS_PositioningFrequencyLayer_r16,
{ "nr-DL-PRS-PositioningFrequencyLayer-r16", "lpp.nr_DL_PRS_PositioningFrequencyLayer_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_PRS_AssistanceDataPerFreq_r16,
{ "nr-DL-PRS-AssistanceDataPerFreq-r16", "lpp.nr_DL_PRS_AssistanceDataPerFreq_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_DL_PRS_AssistanceDataPerTRP_r16", HFILL }},
{ &hf_lpp_nr_DL_PRS_AssistanceDataPerFreq_r16_item,
{ "NR-DL-PRS-AssistanceDataPerTRP-r16", "lpp.NR_DL_PRS_AssistanceDataPerTRP_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_PhysCellID_r16,
{ "nr-PhysCellID-r16", "lpp.nr_PhysCellID_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_CellGlobalID_r16,
{ "nr-CellGlobalID-r16", "lpp.nr_CellGlobalID_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NCGI_r15", HFILL }},
{ &hf_lpp_nr_ARFCN_r16,
{ "nr-ARFCN-r16", "lpp.nr_ARFCN_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR_r15", HFILL }},
{ &hf_lpp_nr_DL_PRS_SFN0_Offset_r16,
{ "nr-DL-PRS-SFN0-Offset-r16", "lpp.nr_DL_PRS_SFN0_Offset_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_PRS_ExpectedRSTD_r16,
{ "nr-DL-PRS-ExpectedRSTD-r16", "lpp.nr_DL_PRS_ExpectedRSTD_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M3841_3841", HFILL }},
{ &hf_lpp_nr_DL_PRS_ExpectedRSTD_Uncertainty_r16,
{ "nr-DL-PRS-ExpectedRSTD-Uncertainty-r16", "lpp.nr_DL_PRS_ExpectedRSTD_Uncertainty_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_246", HFILL }},
{ &hf_lpp_nr_DL_PRS_Info_r16,
{ "nr-DL-PRS-Info-r16", "lpp.nr_DL_PRS_Info_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_SubcarrierSpacing_r16,
{ "dl-PRS-SubcarrierSpacing-r16", "lpp.dl_PRS_SubcarrierSpacing_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_SubcarrierSpacing_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_ResourceBandwidth_r16,
{ "dl-PRS-ResourceBandwidth-r16", "lpp.dl_PRS_ResourceBandwidth_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_63", HFILL }},
{ &hf_lpp_dl_PRS_StartPRB_r16,
{ "dl-PRS-StartPRB-r16", "lpp.dl_PRS_StartPRB_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_2176", HFILL }},
{ &hf_lpp_dl_PRS_PointA_r16,
{ "dl-PRS-PointA-r16", "lpp.dl_PRS_PointA_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR_r15", HFILL }},
{ &hf_lpp_dl_PRS_CombSizeN_r16,
{ "dl-PRS-CombSizeN-r16", "lpp.dl_PRS_CombSizeN_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_CombSizeN_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_CyclicPrefix_r16,
{ "dl-PRS-CyclicPrefix-r16", "lpp.dl_PRS_CyclicPrefix_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_CyclicPrefix_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_sfn_Offset_r16,
{ "sfn-Offset-r16", "lpp.sfn_Offset_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_integerSubframeOffset_r16,
{ "integerSubframeOffset-r16", "lpp.integerSubframeOffset_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9", HFILL }},
{ &hf_lpp_NR_DL_PRS_BeamInfo_r16_item,
{ "NR-DL-PRS-BeamInfoPerFreqLayer-r16", "lpp.NR_DL_PRS_BeamInfoPerFreqLayer_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NR_DL_PRS_BeamInfoPerFreqLayer_r16_item,
{ "NR-DL-PRS-BeamInfoPerTRP-r16", "lpp.NR_DL_PRS_BeamInfoPerTRP_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_associated_DL_PRS_ID_r16,
{ "associated-DL-PRS-ID-r16", "lpp.associated_DL_PRS_ID_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_lcs_GCS_TranslationParameter_r16,
{ "lcs-GCS-TranslationParameter-r16", "lpp.lcs_GCS_TranslationParameter_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_BeamInfoSet_r16,
{ "dl-PRS-BeamInfoSet-r16", "lpp.dl_PRS_BeamInfoSet_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_DL_PRS_BeamInfoSet_r16_item,
{ "DL-PRS-BeamInfoResourceSet-r16", "lpp.DL_PRS_BeamInfoResourceSet_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_DL_PRS_BeamInfoResourceSet_r16_item,
{ "DL-PRS-BeamInfoElement-r16", "lpp.DL_PRS_BeamInfoElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_Azimuth_r16,
{ "dl-PRS-Azimuth-r16", "lpp.dl_PRS_Azimuth_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_359", HFILL }},
{ &hf_lpp_dl_PRS_Azimuth_fine_r16,
{ "dl-PRS-Azimuth-fine-r16", "lpp.dl_PRS_Azimuth_fine_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9", HFILL }},
{ &hf_lpp_dl_PRS_Elevation_r16,
{ "dl-PRS-Elevation-r16", "lpp.dl_PRS_Elevation_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_180", HFILL }},
{ &hf_lpp_dl_PRS_Elevation_fine_r16,
{ "dl-PRS-Elevation-fine-r16", "lpp.dl_PRS_Elevation_fine_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9", HFILL }},
{ &hf_lpp_alpha_r16,
{ "alpha-r16", "lpp.alpha_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_359", HFILL }},
{ &hf_lpp_alpha_fine_r16,
{ "alpha-fine-r16", "lpp.alpha_fine_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9", HFILL }},
{ &hf_lpp_beta_r16,
{ "beta-r16", "lpp.beta_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_359", HFILL }},
{ &hf_lpp_beta_fine_r16,
{ "beta-fine-r16", "lpp.beta_fine_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9", HFILL }},
{ &hf_lpp_gamma_r16,
{ "gamma-r16", "lpp.gamma_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_359", HFILL }},
{ &hf_lpp_gamma_fine_r16,
{ "gamma-fine-r16", "lpp.gamma_fine_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9", HFILL }},
{ &hf_lpp_nr_DL_PRS_ResourceSetList_r16,
{ "nr-DL-PRS-ResourceSetList-r16", "lpp.nr_DL_PRS_ResourceSetList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ResourceSet_r16", HFILL }},
{ &hf_lpp_nr_DL_PRS_ResourceSetList_r16_item,
{ "NR-DL-PRS-ResourceSet-r16", "lpp.NR_DL_PRS_ResourceSet_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_Periodicity_and_ResourceSetSlotOffset_r16,
{ "dl-PRS-Periodicity-and-ResourceSetSlotOffset-r16", "lpp.dl_PRS_Periodicity_and_ResourceSetSlotOffset_r16",
FT_UINT32, BASE_DEC, VALS(lpp_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16_vals), 0,
"NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16", HFILL }},
{ &hf_lpp_dl_PRS_ResourceRepetitionFactor_r16,
{ "dl-PRS-ResourceRepetitionFactor-r16", "lpp.dl_PRS_ResourceRepetitionFactor_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_ResourceRepetitionFactor_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_ResourceTimeGap_r16,
{ "dl-PRS-ResourceTimeGap-r16", "lpp.dl_PRS_ResourceTimeGap_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_ResourceTimeGap_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_NumSymbols_r16,
{ "dl-PRS-NumSymbols-r16", "lpp.dl_PRS_NumSymbols_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_NumSymbols_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_MutingOption1_r16,
{ "dl-PRS-MutingOption1-r16", "lpp.dl_PRS_MutingOption1_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_MutingOption2_r16,
{ "dl-PRS-MutingOption2-r16", "lpp.dl_PRS_MutingOption2_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_ResourcePower_r16,
{ "dl-PRS-ResourcePower-r16", "lpp.dl_PRS_ResourcePower_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M60_50", HFILL }},
{ &hf_lpp_dl_PRS_ResourceList_r16,
{ "dl-PRS-ResourceList-r16", "lpp.dl_PRS_ResourceList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_NR_DL_PRS_Resource_r16", HFILL }},
{ &hf_lpp_dl_PRS_ResourceList_r16_item,
{ "NR-DL-PRS-Resource-r16", "lpp.NR_DL_PRS_Resource_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_prs_MutingBitRepetitionFactor_r16,
{ "dl-prs-MutingBitRepetitionFactor-r16", "lpp.dl_prs_MutingBitRepetitionFactor_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_dl_prs_MutingBitRepetitionFactor_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nr_option1_muting_r16,
{ "nr-option1-muting-r16", "lpp.nr_option1_muting_r16",
FT_UINT32, BASE_DEC, VALS(lpp_NR_MutingPattern_r16_vals), 0,
"NR_MutingPattern_r16", HFILL }},
{ &hf_lpp_nr_option2_muting_r16,
{ "nr-option2-muting-r16", "lpp.nr_option2_muting_r16",
FT_UINT32, BASE_DEC, VALS(lpp_NR_MutingPattern_r16_vals), 0,
"NR_MutingPattern_r16", HFILL }},
{ &hf_lpp_po2_r16,
{ "po2-r16", "lpp.po2_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_2", HFILL }},
{ &hf_lpp_po4_r16,
{ "po4-r16", "lpp.po4_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_4", HFILL }},
{ &hf_lpp_po6_r16,
{ "po6-r16", "lpp.po6_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_6", HFILL }},
{ &hf_lpp_po8_r16,
{ "po8-r16", "lpp.po8_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_8", HFILL }},
{ &hf_lpp_po16_r16,
{ "po16-r16", "lpp.po16_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_16", HFILL }},
{ &hf_lpp_po32_r16,
{ "po32-r16", "lpp.po32_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_32", HFILL }},
{ &hf_lpp_nr_DL_PRS_ResourceID_r16,
{ "nr-DL-PRS-ResourceID-r16", "lpp.nr_DL_PRS_ResourceID_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_SequenceID_r16,
{ "dl-PRS-SequenceID-r16", "lpp.dl_PRS_SequenceID_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_dl_PRS_CombSizeN_AndReOffset_r16,
{ "dl-PRS-CombSizeN-AndReOffset-r16", "lpp.dl_PRS_CombSizeN_AndReOffset_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_CombSizeN_AndReOffset_r16_vals), 0,
"T_dl_PRS_CombSizeN_AndReOffset_r16", HFILL }},
{ &hf_lpp_n2_r16,
{ "n2-r16", "lpp.n2_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_n4_r16,
{ "n4-r16", "lpp.n4_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_n6_r16,
{ "n6-r16", "lpp.n6_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_5", HFILL }},
{ &hf_lpp_n12_r16,
{ "n12-r16", "lpp.n12_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_11", HFILL }},
{ &hf_lpp_dl_PRS_ResourceSlotOffset_r16,
{ "dl-PRS-ResourceSlotOffset-r16", "lpp.dl_PRS_ResourceSlotOffset_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_nrMaxResourceOffsetValue_1_r16", HFILL }},
{ &hf_lpp_dl_PRS_ResourceSymbolOffset_r16,
{ "dl-PRS-ResourceSymbolOffset-r16", "lpp.dl_PRS_ResourceSymbolOffset_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_12", HFILL }},
{ &hf_lpp_dl_PRS_QCL_Info_r16,
{ "dl-PRS-QCL-Info-r16", "lpp.dl_PRS_QCL_Info_r16",
FT_UINT32, BASE_DEC, VALS(lpp_DL_PRS_QCL_Info_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_ssb_r16,
{ "ssb-r16", "lpp.ssb_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_pci_r16,
{ "pci-r16", "lpp.pci_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"NR_PhysCellID_r16", HFILL }},
{ &hf_lpp_ssb_Index_r16,
{ "ssb-Index-r16", "lpp.ssb_Index_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_rs_Type_r16,
{ "rs-Type-r16", "lpp.rs_Type_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_rs_Type_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_r16,
{ "dl-PRS-r16", "lpp.dl_PRS_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_qcl_DL_PRS_ResourceID_r16,
{ "qcl-DL-PRS-ResourceID-r16", "lpp.qcl_DL_PRS_ResourceID_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"NR_DL_PRS_ResourceID_r16", HFILL }},
{ &hf_lpp_qcl_DL_PRS_ResourceSetID_r16,
{ "qcl-DL-PRS-ResourceSetID-r16", "lpp.qcl_DL_PRS_ResourceSetID_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"NR_DL_PRS_ResourceSetID_r16", HFILL }},
{ &hf_lpp_scs15_r16,
{ "scs15-r16", "lpp.scs15_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_scs15_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_n5_r16,
{ "n5-r16", "lpp.n5_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4", HFILL }},
{ &hf_lpp_n8_r16,
{ "n8-r16", "lpp.n8_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_7", HFILL }},
{ &hf_lpp_n10_r16,
{ "n10-r16", "lpp.n10_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9", HFILL }},
{ &hf_lpp_n16_r16,
{ "n16-r16", "lpp.n16_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_n20_r16,
{ "n20-r16", "lpp.n20_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_19", HFILL }},
{ &hf_lpp_n32_r16,
{ "n32-r16", "lpp.n32_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_31", HFILL }},
{ &hf_lpp_n40_r16,
{ "n40-r16", "lpp.n40_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_39", HFILL }},
{ &hf_lpp_n64_r16,
{ "n64-r16", "lpp.n64_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_n80_r16,
{ "n80-r16", "lpp.n80_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_79", HFILL }},
{ &hf_lpp_n160_r16,
{ "n160-r16", "lpp.n160_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_159", HFILL }},
{ &hf_lpp_n320_r16,
{ "n320-r16", "lpp.n320_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_319", HFILL }},
{ &hf_lpp_n640_r16,
{ "n640-r16", "lpp.n640_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_639", HFILL }},
{ &hf_lpp_n1280_r16,
{ "n1280-r16", "lpp.n1280_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1279", HFILL }},
{ &hf_lpp_n2560_r16,
{ "n2560-r16", "lpp.n2560_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_2559", HFILL }},
{ &hf_lpp_n5120_r16,
{ "n5120-r16", "lpp.n5120_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_5119", HFILL }},
{ &hf_lpp_n10240_r16,
{ "n10240-r16", "lpp.n10240_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_10239", HFILL }},
{ &hf_lpp_scs30_r16,
{ "scs30-r16", "lpp.scs30_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_scs30_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_n128_r16,
{ "n128-r16", "lpp.n128_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_n20480_r16,
{ "n20480-r16", "lpp.n20480_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_20479", HFILL }},
{ &hf_lpp_scs60_r16,
{ "scs60-r16", "lpp.scs60_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_scs60_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_n256_r16,
{ "n256-r16", "lpp.n256_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_n40960_r16,
{ "n40960-r16", "lpp.n40960_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_40959", HFILL }},
{ &hf_lpp_scs120_r16,
{ "scs120-r16", "lpp.scs120_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_scs120_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_n512_r16,
{ "n512-r16", "lpp.n512_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_n81920_r16,
{ "n81920-r16", "lpp.n81920_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_81919", HFILL }},
{ &hf_lpp_prs_ProcessingCapabilityBandList_r16,
{ "prs-ProcessingCapabilityBandList-r16", "lpp.prs_ProcessingCapabilityBandList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxBands_r16_OF_PRS_ProcessingCapabilityPerBand_r16", HFILL }},
{ &hf_lpp_prs_ProcessingCapabilityBandList_r16_item,
{ "PRS-ProcessingCapabilityPerBand-r16", "lpp.PRS_ProcessingCapabilityPerBand_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_maxSupportedFreqLayers_r16,
{ "maxSupportedFreqLayers-r16", "lpp.maxSupportedFreqLayers_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_4", HFILL }},
{ &hf_lpp_simulLTE_NR_PRS_r16,
{ "simulLTE-NR-PRS-r16", "lpp.simulLTE_NR_PRS_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_simulLTE_NR_PRS_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_freqBandIndicatorNR_r16,
{ "freqBandIndicatorNR-r16", "lpp.freqBandIndicatorNR_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_supportedBandwidthPRS_r16,
{ "supportedBandwidthPRS-r16", "lpp.supportedBandwidthPRS_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_supportedBandwidthPRS_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_fr1,
{ "fr1", "lpp.fr1",
FT_UINT32, BASE_DEC, VALS(lpp_T_fr1_vals), 0,
NULL, HFILL }},
{ &hf_lpp_fr2,
{ "fr2", "lpp.fr2",
FT_UINT32, BASE_DEC, VALS(lpp_T_fr2_vals), 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_BufferType_r16,
{ "dl-PRS-BufferType-r16", "lpp.dl_PRS_BufferType_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_BufferType_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_durationOfPRS_Processing_r16,
{ "durationOfPRS-Processing-r16", "lpp.durationOfPRS_Processing_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_durationOfPRS_ProcessingSymbols_r16,
{ "durationOfPRS-ProcessingSymbols-r16", "lpp.durationOfPRS_ProcessingSymbols_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_durationOfPRS_ProcessingSymbols_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_durationOfPRS_ProcessingSymbolsInEveryTms_r16,
{ "durationOfPRS-ProcessingSymbolsInEveryTms-r16", "lpp.durationOfPRS_ProcessingSymbolsInEveryTms_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_durationOfPRS_ProcessingSymbolsInEveryTms_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxNumOfDL_PRS_ResProcessedPerSlot_r16,
{ "maxNumOfDL-PRS-ResProcessedPerSlot-r16", "lpp.maxNumOfDL_PRS_ResProcessedPerSlot_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_maxNumOfDL_PRS_ResProcessedPerSlot_r16", HFILL }},
{ &hf_lpp_scs15_r16_01,
{ "scs15-r16", "lpp.scs15_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_scs15_r16_01_vals), 0,
"T_scs15_r16_01", HFILL }},
{ &hf_lpp_scs30_r16_01,
{ "scs30-r16", "lpp.scs30_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_scs30_r16_01_vals), 0,
"T_scs30_r16_01", HFILL }},
{ &hf_lpp_scs60_r16_01,
{ "scs60-r16", "lpp.scs60_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_scs60_r16_01_vals), 0,
"T_scs60_r16_01", HFILL }},
{ &hf_lpp_scs120_r16_01,
{ "scs120-r16", "lpp.scs120_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_scs120_r16_01_vals), 0,
"T_scs120_r16_01", HFILL }},
{ &hf_lpp_dl_PRS_QCL_ProcessingCapabilityBandList_r16,
{ "dl-PRS-QCL-ProcessingCapabilityBandList-r16", "lpp.dl_PRS_QCL_ProcessingCapabilityBandList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_QCL_ProcessingCapabilityPerBand_r16", HFILL }},
{ &hf_lpp_dl_PRS_QCL_ProcessingCapabilityBandList_r16_item,
{ "DL-PRS-QCL-ProcessingCapabilityPerBand-r16", "lpp.DL_PRS_QCL_ProcessingCapabilityPerBand_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ssb_FromNeighCellAsQCL_r16,
{ "ssb-FromNeighCellAsQCL-r16", "lpp.ssb_FromNeighCellAsQCL_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_ssb_FromNeighCellAsQCL_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_prs_FromServNeighCellAsQCL_r16,
{ "prs-FromServNeighCellAsQCL-r16", "lpp.prs_FromServNeighCellAsQCL_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_prs_FromServNeighCellAsQCL_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxNrOfDL_PRS_ResourceSetPerTrpPerFrequencyLayer_r16,
{ "maxNrOfDL-PRS-ResourceSetPerTrpPerFrequencyLayer-r16", "lpp.maxNrOfDL_PRS_ResourceSetPerTrpPerFrequencyLayer_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_2", HFILL }},
{ &hf_lpp_maxNrOfTRP_AcrossFreqs_r16,
{ "maxNrOfTRP-AcrossFreqs-r16", "lpp.maxNrOfTRP_AcrossFreqs_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxNrOfTRP_AcrossFreqs_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxNrOfPosLayer_r16,
{ "maxNrOfPosLayer-r16", "lpp.maxNrOfPosLayer_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_4", HFILL }},
{ &hf_lpp_dl_PRS_ResourcesCapabilityBandList_r16,
{ "dl-PRS-ResourcesCapabilityBandList-r16", "lpp.dl_PRS_ResourcesCapabilityBandList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_ResourcesCapabilityPerBand_r16", HFILL }},
{ &hf_lpp_dl_PRS_ResourcesCapabilityBandList_r16_item,
{ "DL-PRS-ResourcesCapabilityPerBand-r16", "lpp.DL_PRS_ResourcesCapabilityPerBand_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_ResourcesBandCombinationList_r16,
{ "dl-PRS-ResourcesBandCombinationList-r16", "lpp.dl_PRS_ResourcesBandCombinationList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_maxNrOfDL_PRS_ResourcesPerResourceSet_r16,
{ "maxNrOfDL-PRS-ResourcesPerResourceSet-r16", "lpp.maxNrOfDL_PRS_ResourcesPerResourceSet_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxNrOfDL_PRS_ResourcesPerResourceSet_r16_vals), 0,
"T_maxNrOfDL_PRS_ResourcesPerResourceSet_r16", HFILL }},
{ &hf_lpp_maxNrOfDL_PRS_ResourcesPerPositioningFrequencylayer_r16,
{ "maxNrOfDL-PRS-ResourcesPerPositioningFrequencylayer-r16", "lpp.maxNrOfDL_PRS_ResourcesPerPositioningFrequencylayer_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxNrOfDL_PRS_ResourcesPerPositioningFrequencylayer_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_DL_PRS_ResourcesBandCombinationList_r16_item,
{ "DL-PRS-ResourcesBandCombination-r16", "lpp.DL_PRS_ResourcesBandCombination_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bandList_r16,
{ "bandList-r16", "lpp.bandList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxSimultaneousBands_r16_OF_FreqBandIndicatorNR_r16", HFILL }},
{ &hf_lpp_bandList_r16_item,
{ "FreqBandIndicatorNR-r16", "lpp.FreqBandIndicatorNR_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16,
{ "maxNrOfDL-PRS-ResourcesAcrossAllFL-TRP-ResourceSet-r16", "lpp.maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16_vals), 0,
"T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16", HFILL }},
{ &hf_lpp_fr1_Only_r16,
{ "fr1-Only-r16", "lpp.fr1_Only_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_fr1_Only_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_fr2_Only_r16,
{ "fr2-Only-r16", "lpp.fr2_Only_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_fr2_Only_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_fr1_FR2Mix_r16,
{ "fr1-FR2Mix-r16", "lpp.fr1_FR2Mix_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_fr1_r16,
{ "fr1-r16", "lpp.fr1_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_fr1_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_fr2_r16,
{ "fr2-r16", "lpp.fr2_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_fr2_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nr_TRP_LocationInfo_r16,
{ "nr-TRP-LocationInfo-r16", "lpp.nr_TRP_LocationInfo_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_PRS_BeamInfo_r16,
{ "nr-DL-PRS-BeamInfo-r16", "lpp.nr_DL_PRS_BeamInfo_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_RTD_Info_r16,
{ "nr-RTD-Info-r16", "lpp.nr_RTD_Info_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_referenceTRP_RTD_Info_r16,
{ "referenceTRP-RTD-Info-r16", "lpp.referenceTRP_RTD_Info_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_rtd_InfoList_r16,
{ "rtd-InfoList-r16", "lpp.rtd_InfoList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_ID_Ref_r16,
{ "dl-PRS-ID-Ref-r16", "lpp.dl_PRS_ID_Ref_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_nr_PhysCellID_Ref_r16,
{ "nr-PhysCellID-Ref-r16", "lpp.nr_PhysCellID_Ref_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"NR_PhysCellID_r16", HFILL }},
{ &hf_lpp_nr_CellGlobalID_Ref_r16,
{ "nr-CellGlobalID-Ref-r16", "lpp.nr_CellGlobalID_Ref_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NCGI_r15", HFILL }},
{ &hf_lpp_nr_ARFCN_Ref_r16,
{ "nr-ARFCN-Ref-r16", "lpp.nr_ARFCN_Ref_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR_r15", HFILL }},
{ &hf_lpp_refTime_r16,
{ "refTime-r16", "lpp.refTime_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_refTime_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_systemFrameNumber_r16,
{ "systemFrameNumber-r16", "lpp.systemFrameNumber_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_10", HFILL }},
{ &hf_lpp_utc_r16,
{ "utc-r16", "lpp.utc_r16",
FT_STRING, BASE_NONE, NULL, 0,
"UTCTime", HFILL }},
{ &hf_lpp_rtd_RefQuality_r16,
{ "rtd-RefQuality-r16", "lpp.rtd_RefQuality_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_TimingQuality_r16", HFILL }},
{ &hf_lpp_RTD_InfoList_r16_item,
{ "RTD-InfoListPerFreqLayer-r16", "lpp.RTD_InfoListPerFreqLayer_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_RTD_InfoListPerFreqLayer_r16_item,
{ "RTD-InfoElement-r16", "lpp.RTD_InfoElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_subframeOffset_r16,
{ "subframeOffset-r16", "lpp.subframeOffset_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1966079", HFILL }},
{ &hf_lpp_rtd_Quality_r16,
{ "rtd-Quality-r16", "lpp.rtd_Quality_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_TimingQuality_r16", HFILL }},
{ &hf_lpp_NR_SelectedDL_PRS_IndexList_r16_item,
{ "NR-SelectedDL-PRS-PerFreq-r16", "lpp.NR_SelectedDL_PRS_PerFreq_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_SelectedDL_PRS_FrequencyLayerIndex_r16,
{ "nr-SelectedDL-PRS-FrequencyLayerIndex-r16", "lpp.nr_SelectedDL_PRS_FrequencyLayerIndex_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_nrMaxFreqLayers_1_r16", HFILL }},
{ &hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r16,
{ "nr-SelectedDL-PRS-IndexListPerFreq-r16", "lpp.nr_SelectedDL_PRS_IndexListPerFreq_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r16", HFILL }},
{ &hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r16_item,
{ "NR-SelectedDL-PRS-IndexPerTRP-r16", "lpp.NR_SelectedDL_PRS_IndexPerTRP_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_SelectedTRP_Index_r16,
{ "nr-SelectedTRP-Index-r16", "lpp.nr_SelectedTRP_Index_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_nrMaxTRPsPerFreq_1_r16", HFILL }},
{ &hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r16,
{ "dl-SelectedPRS-ResourceSetIndexList-r16", "lpp.dl_SelectedPRS_ResourceSetIndexList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_SelectedPRS_ResourceSetIndex_r16", HFILL }},
{ &hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r16_item,
{ "DL-SelectedPRS-ResourceSetIndex-r16", "lpp.DL_SelectedPRS_ResourceSetIndex_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_SelectedPRS_ResourceSetIndex_r16,
{ "nr-DL-SelectedPRS-ResourceSetIndex-r16", "lpp.nr_DL_SelectedPRS_ResourceSetIndex_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_nrMaxSetsPerTrpPerFreqLayer_1_r16", HFILL }},
{ &hf_lpp_dl_SelectedPRS_ResourceIndexList_r16,
{ "dl-SelectedPRS-ResourceIndexList-r16", "lpp.dl_SelectedPRS_ResourceIndexList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_SelectedPRS_ResourceIndex_r16", HFILL }},
{ &hf_lpp_dl_SelectedPRS_ResourceIndexList_r16_item,
{ "DL-SelectedPRS-ResourceIndex-r16", "lpp.DL_SelectedPRS_ResourceIndex_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_SelectedPRS_ResourceIdIndex_r16,
{ "nr-DL-SelectedPRS-ResourceIdIndex-r16", "lpp.nr_DL_SelectedPRS_ResourceIdIndex_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_nrMaxNumDL_PRS_ResourcesPerSet_1_r16", HFILL }},
{ &hf_lpp_ss_PBCH_BlockPower_r16,
{ "ss-PBCH-BlockPower-r16", "lpp.ss_PBCH_BlockPower_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M60_50", HFILL }},
{ &hf_lpp_halfFrameIndex_r16,
{ "halfFrameIndex-r16", "lpp.halfFrameIndex_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_ssb_periodicity_r16,
{ "ssb-periodicity-r16", "lpp.ssb_periodicity_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_ssb_periodicity_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_ssb_PositionsInBurst_r16,
{ "ssb-PositionsInBurst-r16", "lpp.ssb_PositionsInBurst_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_ssb_PositionsInBurst_r16_vals), 0,
"T_ssb_PositionsInBurst_r16", HFILL }},
{ &hf_lpp_shortBitmap_r16,
{ "shortBitmap-r16", "lpp.shortBitmap_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_4", HFILL }},
{ &hf_lpp_mediumBitmap_r16,
{ "mediumBitmap-r16", "lpp.mediumBitmap_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_8", HFILL }},
{ &hf_lpp_longBitmap_r16,
{ "longBitmap-r16", "lpp.longBitmap_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_64", HFILL }},
{ &hf_lpp_ssb_SubcarrierSpacing_r16,
{ "ssb-SubcarrierSpacing-r16", "lpp.ssb_SubcarrierSpacing_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_ssb_SubcarrierSpacing_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_sfn_SSB_Offset_r16,
{ "sfn-SSB-Offset-r16", "lpp.sfn_SSB_Offset_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_nr_SFN_r16,
{ "nr-SFN-r16", "lpp.nr_SFN_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_nr_Slot_r16,
{ "nr-Slot-r16", "lpp.nr_Slot_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_nr_Slot_r16_vals), 0,
"T_nr_Slot_r16", HFILL }},
{ &hf_lpp_scs15_r16_02,
{ "scs15-r16", "lpp.scs15_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9", HFILL }},
{ &hf_lpp_scs30_r16_02,
{ "scs30-r16", "lpp.scs30_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_19", HFILL }},
{ &hf_lpp_scs60_r16_02,
{ "scs60-r16", "lpp.scs60_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_39", HFILL }},
{ &hf_lpp_scs120_r16_02,
{ "scs120-r16", "lpp.scs120_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_79", HFILL }},
{ &hf_lpp_timingQualityValue_r16,
{ "timingQualityValue-r16", "lpp.timingQualityValue_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_31", HFILL }},
{ &hf_lpp_timingQualityResolution_r16,
{ "timingQualityResolution-r16", "lpp.timingQualityResolution_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_timingQualityResolution_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_NR_TRP_LocationInfo_r16_item,
{ "NR-TRP-LocationInfoPerFreqLayer-r16", "lpp.NR_TRP_LocationInfoPerFreqLayer_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_referencePoint_r16,
{ "referencePoint-r16", "lpp.referencePoint_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_trp_LocationInfoList_r16,
{ "trp-LocationInfoList-r16", "lpp.trp_LocationInfoList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_TRP_LocationInfoElement_r16", HFILL }},
{ &hf_lpp_trp_LocationInfoList_r16_item,
{ "TRP-LocationInfoElement-r16", "lpp.TRP_LocationInfoElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_trp_Location_r16,
{ "trp-Location-r16", "lpp.trp_Location_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"RelativeLocation_r16", HFILL }},
{ &hf_lpp_trp_DL_PRS_ResourceSets_r16,
{ "trp-DL-PRS-ResourceSets-r16", "lpp.trp_DL_PRS_ResourceSets_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_ResourceSets_TRP_Element_r16", HFILL }},
{ &hf_lpp_trp_DL_PRS_ResourceSets_r16_item,
{ "DL-PRS-ResourceSets-TRP-Element-r16", "lpp.DL_PRS_ResourceSets_TRP_Element_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_ResourceSetARP_r16,
{ "dl-PRS-ResourceSetARP-r16", "lpp.dl_PRS_ResourceSetARP_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"RelativeLocation_r16", HFILL }},
{ &hf_lpp_dl_PRS_Resource_ARP_List_r16,
{ "dl-PRS-Resource-ARP-List-r16", "lpp.dl_PRS_Resource_ARP_List_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_Resource_ARP_Element_r16", HFILL }},
{ &hf_lpp_dl_PRS_Resource_ARP_List_r16_item,
{ "DL-PRS-Resource-ARP-Element-r16", "lpp.DL_PRS_Resource_ARP_Element_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_Resource_ARP_location_r16,
{ "dl-PRS-Resource-ARP-location-r16", "lpp.dl_PRS_Resource_ARP_location_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"RelativeLocation_r16", HFILL }},
{ &hf_lpp_srs_CapabilityBandList_r16,
{ "srs-CapabilityBandList-r16", "lpp.srs_CapabilityBandList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxBands_r16_OF_SRS_CapabilityPerBand_r16", HFILL }},
{ &hf_lpp_srs_CapabilityBandList_r16_item,
{ "SRS-CapabilityPerBand-r16", "lpp.SRS_CapabilityPerBand_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_srs_PosResourceConfigCA_BandList_r16,
{ "srs-PosResourceConfigCA-BandList-r16", "lpp.srs_PosResourceConfigCA_BandList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxConfiguredBands_r16_OF_SRS_PosResourcesPerBand_r16", HFILL }},
{ &hf_lpp_srs_PosResourceConfigCA_BandList_r16_item,
{ "SRS-PosResourcesPerBand-r16", "lpp.SRS_PosResourcesPerBand_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_maxNumberSRS_PosPathLossEstimateAllServingCells_r16,
{ "maxNumberSRS-PosPathLossEstimateAllServingCells-r16", "lpp.maxNumberSRS_PosPathLossEstimateAllServingCells_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxNumberSRS_PosSpatialRelationsAllServingCells_r16,
{ "maxNumberSRS-PosSpatialRelationsAllServingCells-r16", "lpp.maxNumberSRS_PosSpatialRelationsAllServingCells_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_olpc_SRS_Pos_r16,
{ "olpc-SRS-Pos-r16", "lpp.olpc_SRS_Pos_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_spatialRelationsSRS_Pos_r16,
{ "spatialRelationsSRS-Pos-r16", "lpp.spatialRelationsSRS_Pos_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_olpc_SRS_PosBasedOnPRS_Serving_r16,
{ "olpc-SRS-PosBasedOnPRS-Serving-r16", "lpp.olpc_SRS_PosBasedOnPRS_Serving_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_olpc_SRS_PosBasedOnPRS_Serving_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_olpc_SRS_PosBasedOnSSB_Neigh_r16,
{ "olpc-SRS-PosBasedOnSSB-Neigh-r16", "lpp.olpc_SRS_PosBasedOnSSB_Neigh_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_olpc_SRS_PosBasedOnSSB_Neigh_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_olpc_SRS_PosBasedOnPRS_Neigh_r16,
{ "olpc-SRS-PosBasedOnPRS-Neigh-r16", "lpp.olpc_SRS_PosBasedOnPRS_Neigh_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_olpc_SRS_PosBasedOnPRS_Neigh_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxNumberPathLossEstimatePerServing_r16,
{ "maxNumberPathLossEstimatePerServing-r16", "lpp.maxNumberPathLossEstimatePerServing_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumberPathLossEstimatePerServing_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_spatialRelation_SRS_PosBasedOnSSB_Serving_r16,
{ "spatialRelation-SRS-PosBasedOnSSB-Serving-r16", "lpp.spatialRelation_SRS_PosBasedOnSSB_Serving_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16,
{ "spatialRelation-SRS-PosBasedOnCSI-RS-Serving-r16", "lpp.spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_spatialRelation_SRS_PosBasedOnPRS_Serving_r16,
{ "spatialRelation-SRS-PosBasedOnPRS-Serving-r16", "lpp.spatialRelation_SRS_PosBasedOnPRS_Serving_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_spatialRelation_SRS_PosBasedOnSRS_r16,
{ "spatialRelation-SRS-PosBasedOnSRS-r16", "lpp.spatialRelation_SRS_PosBasedOnSRS_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_spatialRelation_SRS_PosBasedOnSRS_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16,
{ "spatialRelation-SRS-PosBasedOnSSB-Neigh-r16", "lpp.spatialRelation_SRS_PosBasedOnSSB_Neigh_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16,
{ "spatialRelation-SRS-PosBasedOnPRS-Neigh-r16", "lpp.spatialRelation_SRS_PosBasedOnPRS_Neigh_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxNumberSRS_PosResourceSetsPerBWP_r16,
{ "maxNumberSRS-PosResourceSetsPerBWP-r16", "lpp.maxNumberSRS_PosResourceSetsPerBWP_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumberSRS_PosResourceSetsPerBWP_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxNumberSRS_PosResourcesPerBWP_r16,
{ "maxNumberSRS-PosResourcesPerBWP-r16", "lpp.maxNumberSRS_PosResourcesPerBWP_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumberSRS_PosResourcesPerBWP_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxNumberPeriodicSRS_PosResourcesPerBWP_r16,
{ "maxNumberPeriodicSRS-PosResourcesPerBWP-r16", "lpp.maxNumberPeriodicSRS_PosResourcesPerBWP_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxNumberAP_SRS_PosResourcesPerBWP_r16,
{ "maxNumberAP-SRS-PosResourcesPerBWP-r16", "lpp.maxNumberAP_SRS_PosResourcesPerBWP_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumberAP_SRS_PosResourcesPerBWP_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxNumberSP_SRS_PosResourcesPerBWP_r16,
{ "maxNumberSP-SRS-PosResourcesPerBWP-r16", "lpp.maxNumberSP_SRS_PosResourcesPerBWP_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumberSP_SRS_PosResourcesPerBWP_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_referencePointGeographicLocation_r16,
{ "referencePointGeographicLocation-r16", "lpp.referencePointGeographicLocation_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_referencePointGeographicLocation_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_location3D_r16,
{ "location3D-r16", "lpp.location3D_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"EllipsoidPointWithAltitudeAndUncertaintyEllipsoid", HFILL }},
{ &hf_lpp_ha_location3D_r16,
{ "ha-location3D-r16", "lpp.ha_location3D_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15", HFILL }},
{ &hf_lpp_milli_arc_second_units_r16,
{ "milli-arc-second-units-r16", "lpp.milli_arc_second_units_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_milli_arc_second_units_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_height_units_r16,
{ "height-units-r16", "lpp.height_units_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_height_units_r16_vals), 0,
"T_height_units_r16", HFILL }},
{ &hf_lpp_delta_latitude_r16,
{ "delta-latitude-r16", "lpp.delta_latitude_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_delta_longitude_r16,
{ "delta-longitude-r16", "lpp.delta_longitude_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_delta_height_r16,
{ "delta-height-r16", "lpp.delta_height_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_locationUNC_r16,
{ "locationUNC-r16", "lpp.locationUNC_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"LocationUncertainty_r16", HFILL }},
{ &hf_lpp_delta_Latitude_r16,
{ "delta-Latitude-r16", "lpp.delta_Latitude_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_coarse_delta_Latitude_r16,
{ "coarse-delta-Latitude-r16", "lpp.coarse_delta_Latitude_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_delta_Longitude_r16,
{ "delta-Longitude-r16", "lpp.delta_Longitude_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_coarse_delta_Longitude_r16,
{ "coarse-delta-Longitude-r16", "lpp.coarse_delta_Longitude_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_delta_Height_r16,
{ "delta-Height-r16", "lpp.delta_Height_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_coarse_delta_Height_r16,
{ "coarse-delta-Height-r16", "lpp.coarse_delta_Height_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_horizontalUncertainty_r16,
{ "horizontalUncertainty-r16", "lpp.horizontalUncertainty_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_horizontalConfidence_r16,
{ "horizontalConfidence-r16", "lpp.horizontalConfidence_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_verticalUncertainty_r16,
{ "verticalUncertainty-r16", "lpp.verticalUncertainty_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_verticalConfidence_r16,
{ "verticalConfidence-r16", "lpp.verticalConfidence_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_otdoa_ReferenceCellInfo,
{ "otdoa-ReferenceCellInfo", "lpp.otdoa_ReferenceCellInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_otdoa_NeighbourCellInfo,
{ "otdoa-NeighbourCellInfo", "lpp.otdoa_NeighbourCellInfo",
FT_UINT32, BASE_DEC, NULL, 0,
"OTDOA_NeighbourCellInfoList", HFILL }},
{ &hf_lpp_otdoa_Error,
{ "otdoa-Error", "lpp.otdoa_Error",
FT_UINT32, BASE_DEC, VALS(lpp_OTDOA_Error_vals), 0,
NULL, HFILL }},
{ &hf_lpp_otdoa_ReferenceCellInfoNB_r14,
{ "otdoa-ReferenceCellInfoNB-r14", "lpp.otdoa_ReferenceCellInfoNB_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_otdoa_NeighbourCellInfoNB_r14,
{ "otdoa-NeighbourCellInfoNB-r14", "lpp.otdoa_NeighbourCellInfoNB_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"OTDOA_NeighbourCellInfoListNB_r14", HFILL }},
{ &hf_lpp_physCellId,
{ "physCellId", "lpp.physCellId",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_503", HFILL }},
{ &hf_lpp_cellGlobalId,
{ "cellGlobalId", "lpp.cellGlobalId_element",
FT_NONE, BASE_NONE, NULL, 0,
"ECGI", HFILL }},
{ &hf_lpp_earfcnRef,
{ "earfcnRef", "lpp.earfcnRef",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA", HFILL }},
{ &hf_lpp_antennaPortConfig,
{ "antennaPortConfig", "lpp.antennaPortConfig",
FT_UINT32, BASE_DEC, VALS(lpp_T_antennaPortConfig_vals), 0,
NULL, HFILL }},
{ &hf_lpp_cpLength,
{ "cpLength", "lpp.cpLength",
FT_UINT32, BASE_DEC, VALS(lpp_T_cpLength_vals), 0,
NULL, HFILL }},
{ &hf_lpp_prsInfo,
{ "prsInfo", "lpp.prsInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
"PRS_Info", HFILL }},
{ &hf_lpp_earfcnRef_v9a0,
{ "earfcnRef-v9a0", "lpp.earfcnRef_v9a0",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA_v9a0", HFILL }},
{ &hf_lpp_tpId_r14,
{ "tpId-r14", "lpp.tpId_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_cpLengthCRS_r14,
{ "cpLengthCRS-r14", "lpp.cpLengthCRS_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_cpLengthCRS_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_sameMBSFNconfigRef_r14,
{ "sameMBSFNconfigRef-r14", "lpp.sameMBSFNconfigRef_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_dlBandwidth_r14,
{ "dlBandwidth-r14", "lpp.dlBandwidth_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_dlBandwidth_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_addPRSconfigRef_r14,
{ "addPRSconfigRef-r14", "lpp.addPRSconfigRef_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info", HFILL }},
{ &hf_lpp_addPRSconfigRef_r14_item,
{ "PRS-Info", "lpp.PRS_Info_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_LTE_SFN_Offset_r15,
{ "nr-LTE-SFN-Offset-r15", "lpp.nr_LTE_SFN_Offset_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_tdd_config_v1520,
{ "tdd-config-v1520", "lpp.tdd_config_v1520_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_LTE_fineTiming_Offset_r15,
{ "nr-LTE-fineTiming-Offset-r15", "lpp.nr_LTE_fineTiming_Offset_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_nr_LTE_fineTiming_Offset_fmt), 0,
"INTEGER_0_19", HFILL }},
{ &hf_lpp_prs_Bandwidth,
{ "prs-Bandwidth", "lpp.prs_Bandwidth",
FT_UINT32, BASE_DEC, VALS(lpp_T_prs_Bandwidth_vals), 0,
NULL, HFILL }},
{ &hf_lpp_prs_ConfigurationIndex,
{ "prs-ConfigurationIndex", "lpp.prs_ConfigurationIndex",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_numDL_Frames,
{ "numDL-Frames", "lpp.numDL_Frames",
FT_UINT32, BASE_DEC, VALS(lpp_T_numDL_Frames_vals), 0,
NULL, HFILL }},
{ &hf_lpp_prs_MutingInfo_r9,
{ "prs-MutingInfo-r9", "lpp.prs_MutingInfo_r9",
FT_UINT32, BASE_DEC, VALS(lpp_T_prs_MutingInfo_r9_vals), 0,
NULL, HFILL }},
{ &hf_lpp_po2_r9,
{ "po2-r9", "lpp.po2_r9",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_2", HFILL }},
{ &hf_lpp_po4_r9,
{ "po4-r9", "lpp.po4_r9",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_4", HFILL }},
{ &hf_lpp_po8_r9,
{ "po8-r9", "lpp.po8_r9",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_8", HFILL }},
{ &hf_lpp_po16_r9,
{ "po16-r9", "lpp.po16_r9",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_16", HFILL }},
{ &hf_lpp_po32_v1420,
{ "po32-v1420", "lpp.po32_v1420",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_32", HFILL }},
{ &hf_lpp_po64_v1420,
{ "po64-v1420", "lpp.po64_v1420",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_64", HFILL }},
{ &hf_lpp_po128_v1420,
{ "po128-v1420", "lpp.po128_v1420",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_128", HFILL }},
{ &hf_lpp_po256_v1420,
{ "po256-v1420", "lpp.po256_v1420",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_256", HFILL }},
{ &hf_lpp_po512_v1420,
{ "po512-v1420", "lpp.po512_v1420",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_512", HFILL }},
{ &hf_lpp_po1024_v1420,
{ "po1024-v1420", "lpp.po1024_v1420",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_1024", HFILL }},
{ &hf_lpp_prsID_r14,
{ "prsID-r14", "lpp.prsID_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_add_numDL_Frames_r14,
{ "add-numDL-Frames-r14", "lpp.add_numDL_Frames_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_160", HFILL }},
{ &hf_lpp_prsOccGroupLen_r14,
{ "prsOccGroupLen-r14", "lpp.prsOccGroupLen_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_prsOccGroupLen_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_prsHoppingInfo_r14,
{ "prsHoppingInfo-r14", "lpp.prsHoppingInfo_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_prsHoppingInfo_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nb2_r14,
{ "nb2-r14", "lpp.nb2_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_maxAvailNarrowBands_Minus1_r14", HFILL }},
{ &hf_lpp_nb4_r14,
{ "nb4-r14", "lpp.nb4_r14",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nb4_r14_item,
{ "nb4-r14 item", "lpp.nb4_r14_item",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_maxAvailNarrowBands_Minus1_r14", HFILL }},
{ &hf_lpp_subframeAssignment_v1520,
{ "subframeAssignment-v1520", "lpp.subframeAssignment_v1520",
FT_UINT32, BASE_DEC, VALS(lpp_T_subframeAssignment_v1520_vals), 0,
"T_subframeAssignment_v1520", HFILL }},
{ &hf_lpp_OTDOA_NeighbourCellInfoList_item,
{ "OTDOA-NeighbourFreqInfo", "lpp.OTDOA_NeighbourFreqInfo",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_OTDOA_NeighbourFreqInfo_item,
{ "OTDOA-NeighbourCellInfoElement", "lpp.OTDOA_NeighbourCellInfoElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_earfcn,
{ "earfcn", "lpp.earfcn",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA", HFILL }},
{ &hf_lpp_cpLength_01,
{ "cpLength", "lpp.cpLength",
FT_UINT32, BASE_DEC, VALS(lpp_T_cpLength_01_vals), 0,
"T_cpLength_01", HFILL }},
{ &hf_lpp_antennaPortConfig_01,
{ "antennaPortConfig", "lpp.antennaPortConfig",
FT_UINT32, BASE_DEC, VALS(lpp_T_antennaPortConfig_01_vals), 0,
"T_antennaPortConfig_01", HFILL }},
{ &hf_lpp_slotNumberOffset,
{ "slotNumberOffset", "lpp.slotNumberOffset",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_19", HFILL }},
{ &hf_lpp_prs_SubframeOffset,
{ "prs-SubframeOffset", "lpp.prs_SubframeOffset",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1279", HFILL }},
{ &hf_lpp_expectedRSTD,
{ "expectedRSTD", "lpp.expectedRSTD",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_expectedRSTD_fmt), 0,
"INTEGER_0_16383", HFILL }},
{ &hf_lpp_expectedRSTD_Uncertainty,
{ "expectedRSTD-Uncertainty", "lpp.expectedRSTD_Uncertainty",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_expectedRSTD_Uncertainty_fmt), 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_earfcn_v9a0,
{ "earfcn-v9a0", "lpp.earfcn_v9a0",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA_v9a0", HFILL }},
{ &hf_lpp_prs_only_tp_r14,
{ "prs-only-tp-r14", "lpp.prs_only_tp_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_prs_only_tp_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_cpLengthCRS_r14_01,
{ "cpLengthCRS-r14", "lpp.cpLengthCRS_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_cpLengthCRS_r14_01_vals), 0,
"T_cpLengthCRS_r14_01", HFILL }},
{ &hf_lpp_sameMBSFNconfigNeighbour_r14,
{ "sameMBSFNconfigNeighbour-r14", "lpp.sameMBSFNconfigNeighbour_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_dlBandwidth_r14_01,
{ "dlBandwidth-r14", "lpp.dlBandwidth_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_dlBandwidth_r14_01_vals), 0,
"T_dlBandwidth_r14_01", HFILL }},
{ &hf_lpp_addPRSconfigNeighbour_r14,
{ "addPRSconfigNeighbour-r14", "lpp.addPRSconfigNeighbour_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14", HFILL }},
{ &hf_lpp_addPRSconfigNeighbour_r14_item,
{ "Add-PRSconfigNeighbourElement-r14", "lpp.Add_PRSconfigNeighbourElement_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_add_prsInfo_r14,
{ "add-prsInfo-r14", "lpp.add_prsInfo_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"PRS_Info", HFILL }},
{ &hf_lpp_physCellIdNB_r14,
{ "physCellIdNB-r14", "lpp.physCellIdNB_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_503", HFILL }},
{ &hf_lpp_cellGlobalIdNB_r14,
{ "cellGlobalIdNB-r14", "lpp.cellGlobalIdNB_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"ECGI", HFILL }},
{ &hf_lpp_carrierFreqRef_r14,
{ "carrierFreqRef-r14", "lpp.carrierFreqRef_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"CarrierFreq_NB_r14", HFILL }},
{ &hf_lpp_earfcn_r14,
{ "earfcn-r14", "lpp.earfcn_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA_r14", HFILL }},
{ &hf_lpp_eutra_NumCRS_Ports_r14,
{ "eutra-NumCRS-Ports-r14", "lpp.eutra_NumCRS_Ports_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_eutra_NumCRS_Ports_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_otdoa_SIB1_NB_repetitions_r14,
{ "otdoa-SIB1-NB-repetitions-r14", "lpp.otdoa_SIB1_NB_repetitions_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_otdoa_SIB1_NB_repetitions_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nprsInfo_r14,
{ "nprsInfo-r14", "lpp.nprsInfo_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"PRS_Info_NB_r14", HFILL }},
{ &hf_lpp_nprsInfo_Type2_v1470,
{ "nprsInfo-Type2-v1470", "lpp.nprsInfo_Type2_v1470",
FT_UINT32, BASE_DEC, NULL, 0,
"PRS_Info_NB_r14", HFILL }},
{ &hf_lpp_tdd_config_r15,
{ "tdd-config-r15", "lpp.tdd_config_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"TDD_Config_v1520", HFILL }},
{ &hf_lpp_PRS_Info_NB_r14_item,
{ "NPRS-Info-r14", "lpp.NPRS_Info_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_operationModeInfoNPRS_r14,
{ "operationModeInfoNPRS-r14", "lpp.operationModeInfoNPRS_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_operationModeInfoNPRS_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nprs_carrier_r14,
{ "nprs-carrier-r14", "lpp.nprs_carrier_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"CarrierFreq_NB_r14", HFILL }},
{ &hf_lpp_nprsSequenceInfo_r14,
{ "nprsSequenceInfo-r14", "lpp.nprsSequenceInfo_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_174", HFILL }},
{ &hf_lpp_nprsID_r14,
{ "nprsID-r14", "lpp.nprsID_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_partA_r14,
{ "partA-r14", "lpp.partA_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nprsBitmap_r14,
{ "nprsBitmap-r14", "lpp.nprsBitmap_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_nprsBitmap_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_subframePattern10_r14,
{ "subframePattern10-r14", "lpp.subframePattern10_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_10", HFILL }},
{ &hf_lpp_subframePattern40_r14,
{ "subframePattern40-r14", "lpp.subframePattern40_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_40", HFILL }},
{ &hf_lpp_nprs_MutingInfoA_r14,
{ "nprs-MutingInfoA-r14", "lpp.nprs_MutingInfoA_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_nprs_MutingInfoA_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_po2_r14,
{ "po2-r14", "lpp.po2_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_2", HFILL }},
{ &hf_lpp_po4_r14,
{ "po4-r14", "lpp.po4_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_4", HFILL }},
{ &hf_lpp_po8_r14,
{ "po8-r14", "lpp.po8_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_8", HFILL }},
{ &hf_lpp_po16_r14,
{ "po16-r14", "lpp.po16_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_16", HFILL }},
{ &hf_lpp_partB_r14,
{ "partB-r14", "lpp.partB_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nprs_Period_r14,
{ "nprs-Period-r14", "lpp.nprs_Period_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_nprs_Period_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nprs_startSF_r14,
{ "nprs-startSF-r14", "lpp.nprs_startSF_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_nprs_startSF_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nprs_NumSF_r14,
{ "nprs-NumSF-r14", "lpp.nprs_NumSF_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_nprs_NumSF_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nprs_MutingInfoB_r14,
{ "nprs-MutingInfoB-r14", "lpp.nprs_MutingInfoB_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_nprs_MutingInfoB_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_sib1_SF_TDD_r15,
{ "sib1-SF-TDD-r15", "lpp.sib1_SF_TDD_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_sib1_SF_TDD_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_partA_TDD_r15,
{ "partA-TDD-r15", "lpp.partA_TDD_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nprsBitmap_r15,
{ "nprsBitmap-r15", "lpp.nprsBitmap_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_nprsBitmap_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_subframePattern10_TDD_r15,
{ "subframePattern10-TDD-r15", "lpp.subframePattern10_TDD_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_8", HFILL }},
{ &hf_lpp_subframePattern40_TDD_r15,
{ "subframePattern40-TDD-r15", "lpp.subframePattern40_TDD_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_32", HFILL }},
{ &hf_lpp_nprs_MutingInfoA_r15,
{ "nprs-MutingInfoA-r15", "lpp.nprs_MutingInfoA_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_nprs_MutingInfoA_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_po2_r15,
{ "po2-r15", "lpp.po2_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_2", HFILL }},
{ &hf_lpp_po4_r15,
{ "po4-r15", "lpp.po4_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_4", HFILL }},
{ &hf_lpp_po8_r15,
{ "po8-r15", "lpp.po8_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_8", HFILL }},
{ &hf_lpp_po16_r15,
{ "po16-r15", "lpp.po16_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_16", HFILL }},
{ &hf_lpp_OTDOA_NeighbourCellInfoListNB_r14_item,
{ "OTDOA-NeighbourCellInfoNB-r14", "lpp.OTDOA_NeighbourCellInfoNB_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_carrierFreq_r14_01,
{ "carrierFreq-r14", "lpp.carrierFreq_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"CarrierFreq_NB_r14", HFILL }},
{ &hf_lpp_eutra_NumCRS_Ports_r14_01,
{ "eutra-NumCRS-Ports-r14", "lpp.eutra_NumCRS_Ports_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_eutra_NumCRS_Ports_r14_01_vals), 0,
"T_eutra_NumCRS_Ports_r14_01", HFILL }},
{ &hf_lpp_otdoa_SIB1_NB_repetitions_r14_01,
{ "otdoa-SIB1-NB-repetitions-r14", "lpp.otdoa_SIB1_NB_repetitions_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_otdoa_SIB1_NB_repetitions_r14_01_vals), 0,
"T_otdoa_SIB1_NB_repetitions_r14_01", HFILL }},
{ &hf_lpp_nprs_slotNumberOffset_r14,
{ "nprs-slotNumberOffset-r14", "lpp.nprs_slotNumberOffset_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_19", HFILL }},
{ &hf_lpp_nprs_SFN_Offset_r14,
{ "nprs-SFN-Offset-r14", "lpp.nprs_SFN_Offset_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_nprs_SubframeOffset_r14,
{ "nprs-SubframeOffset-r14", "lpp.nprs_SubframeOffset_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1279", HFILL }},
{ &hf_lpp_expectedRSTD_r14,
{ "expectedRSTD-r14", "lpp.expectedRSTD_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_16383", HFILL }},
{ &hf_lpp_expectedRSTD_Uncertainty_r14,
{ "expectedRSTD-Uncertainty-r14", "lpp.expectedRSTD_Uncertainty_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_prsNeighbourCellIndex_r14,
{ "prsNeighbourCellIndex-r14", "lpp.prsNeighbourCellIndex_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_72", HFILL }},
{ &hf_lpp_adType_r14,
{ "adType-r14", "lpp.adType_r14",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nrPhysCellId_r15,
{ "nrPhysCellId-r15", "lpp.nrPhysCellId_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1007", HFILL }},
{ &hf_lpp_otdoaSignalMeasurementInformation,
{ "otdoaSignalMeasurementInformation", "lpp.otdoaSignalMeasurementInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
"OTDOA_SignalMeasurementInformation", HFILL }},
{ &hf_lpp_otdoaSignalMeasurementInformation_NB_r14,
{ "otdoaSignalMeasurementInformation-NB-r14", "lpp.otdoaSignalMeasurementInformation_NB_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"OTDOA_SignalMeasurementInformation_NB_r14", HFILL }},
{ &hf_lpp_systemFrameNumber,
{ "systemFrameNumber", "lpp.systemFrameNumber",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_10", HFILL }},
{ &hf_lpp_physCellIdRef,
{ "physCellIdRef", "lpp.physCellIdRef",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_503", HFILL }},
{ &hf_lpp_cellGlobalIdRef,
{ "cellGlobalIdRef", "lpp.cellGlobalIdRef_element",
FT_NONE, BASE_NONE, NULL, 0,
"ECGI", HFILL }},
{ &hf_lpp_referenceQuality,
{ "referenceQuality", "lpp.referenceQuality_element",
FT_NONE, BASE_NONE, NULL, 0,
"OTDOA_MeasQuality", HFILL }},
{ &hf_lpp_neighbourMeasurementList,
{ "neighbourMeasurementList", "lpp.neighbourMeasurementList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tpIdRef_r14,
{ "tpIdRef-r14", "lpp.tpIdRef_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_prsIdRef_r14,
{ "prsIdRef-r14", "lpp.prsIdRef_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_additionalPathsRef_r14,
{ "additionalPathsRef-r14", "lpp.additionalPathsRef_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"AdditionalPathList_r14", HFILL }},
{ &hf_lpp_nprsIdRef_r14,
{ "nprsIdRef-r14", "lpp.nprsIdRef_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_carrierFreqOffsetNB_Ref_r14,
{ "carrierFreqOffsetNB-Ref-r14", "lpp.carrierFreqOffsetNB_Ref_r14",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &lpp_CarrierFreqOffsetNB_r14_vals_ext, 0,
"CarrierFreqOffsetNB_r14", HFILL }},
{ &hf_lpp_hyperSFN_r14,
{ "hyperSFN-r14", "lpp.hyperSFN_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_10", HFILL }},
{ &hf_lpp_motionTimeSource_r15,
{ "motionTimeSource-r15", "lpp.motionTimeSource_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NeighbourMeasurementList_item,
{ "NeighbourMeasurementElement", "lpp.NeighbourMeasurementElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_physCellIdNeighbour,
{ "physCellIdNeighbour", "lpp.physCellIdNeighbour",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_503", HFILL }},
{ &hf_lpp_cellGlobalIdNeighbour,
{ "cellGlobalIdNeighbour", "lpp.cellGlobalIdNeighbour_element",
FT_NONE, BASE_NONE, NULL, 0,
"ECGI", HFILL }},
{ &hf_lpp_earfcnNeighbour,
{ "earfcnNeighbour", "lpp.earfcnNeighbour",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA", HFILL }},
{ &hf_lpp_rstd,
{ "rstd", "lpp.rstd",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_rstd_fmt), 0,
"INTEGER_0_12711", HFILL }},
{ &hf_lpp_rstd_Quality,
{ "rstd-Quality", "lpp.rstd_Quality_element",
FT_NONE, BASE_NONE, NULL, 0,
"OTDOA_MeasQuality", HFILL }},
{ &hf_lpp_earfcnNeighbour_v9a0,
{ "earfcnNeighbour-v9a0", "lpp.earfcnNeighbour_v9a0",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA_v9a0", HFILL }},
{ &hf_lpp_tpIdNeighbour_r14,
{ "tpIdNeighbour-r14", "lpp.tpIdNeighbour_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_prsIdNeighbour_r14,
{ "prsIdNeighbour-r14", "lpp.prsIdNeighbour_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_delta_rstd_r14,
{ "delta-rstd-r14", "lpp.delta_rstd_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_5", HFILL }},
{ &hf_lpp_additionalPathsNeighbour_r14,
{ "additionalPathsNeighbour-r14", "lpp.additionalPathsNeighbour_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"AdditionalPathList_r14", HFILL }},
{ &hf_lpp_nprsIdNeighbour_r14,
{ "nprsIdNeighbour-r14", "lpp.nprsIdNeighbour_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_carrierFreqOffsetNB_Neighbour_r14,
{ "carrierFreqOffsetNB-Neighbour-r14", "lpp.carrierFreqOffsetNB_Neighbour_r14",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &lpp_CarrierFreqOffsetNB_r14_vals_ext, 0,
"CarrierFreqOffsetNB_r14", HFILL }},
{ &hf_lpp_delta_SFN_r15,
{ "delta-SFN-r15", "lpp.delta_SFN_r15",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_AdditionalPathList_r14_item,
{ "AdditionalPath-r14", "lpp.AdditionalPath_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_timeSource_r15,
{ "timeSource-r15", "lpp.timeSource_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_timeSource_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_systemFrameNumber_r14,
{ "systemFrameNumber-r14", "lpp.systemFrameNumber_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_10", HFILL }},
{ &hf_lpp_physCellIdRef_r14,
{ "physCellIdRef-r14", "lpp.physCellIdRef_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_503", HFILL }},
{ &hf_lpp_cellGlobalIdRef_r14,
{ "cellGlobalIdRef-r14", "lpp.cellGlobalIdRef_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"ECGI", HFILL }},
{ &hf_lpp_earfcnRef_r14,
{ "earfcnRef-r14", "lpp.earfcnRef_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA_r14", HFILL }},
{ &hf_lpp_referenceQuality_r14,
{ "referenceQuality-r14", "lpp.referenceQuality_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"OTDOA_MeasQuality", HFILL }},
{ &hf_lpp_neighbourMeasurementList_r14,
{ "neighbourMeasurementList-r14", "lpp.neighbourMeasurementList_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"NeighbourMeasurementList_NB_r14", HFILL }},
{ &hf_lpp_NeighbourMeasurementList_NB_r14_item,
{ "NeighbourMeasurementElement-NB-r14", "lpp.NeighbourMeasurementElement_NB_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_physCellIdNeighbour_r14,
{ "physCellIdNeighbour-r14", "lpp.physCellIdNeighbour_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_503", HFILL }},
{ &hf_lpp_cellGlobalIdNeighbour_r14,
{ "cellGlobalIdNeighbour-r14", "lpp.cellGlobalIdNeighbour_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"ECGI", HFILL }},
{ &hf_lpp_earfcnNeighbour_r14,
{ "earfcnNeighbour-r14", "lpp.earfcnNeighbour_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA_r14", HFILL }},
{ &hf_lpp_rstd_r14,
{ "rstd-r14", "lpp.rstd_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_12711", HFILL }},
{ &hf_lpp_rstd_Quality_r14,
{ "rstd-Quality-r14", "lpp.rstd_Quality_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"OTDOA_MeasQuality", HFILL }},
{ &hf_lpp_error_Resolution,
{ "error-Resolution", "lpp.error_Resolution",
FT_UINT8, BASE_DEC, VALS(lpp_error_Resolution_vals), 0,
NULL, HFILL }},
{ &hf_lpp_error_Value,
{ "error-Value", "lpp.error_Value",
FT_UINT8, BASE_DEC|BASE_EXT_STRING, &lpp_error_Value_vals_ext, 0,
NULL, HFILL }},
{ &hf_lpp_error_NumSamples,
{ "error-NumSamples", "lpp.error_NumSamples",
FT_UINT8, BASE_DEC, VALS(lpp_error_NumSamples_vals), 0,
NULL, HFILL }},
{ &hf_lpp_relativeTimeDifference_r14,
{ "relativeTimeDifference-r14", "lpp.relativeTimeDifference_r14",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_relativeTimeDifference_fmt), 0,
"INTEGER_M256_255", HFILL }},
{ &hf_lpp_path_Quality_r14,
{ "path-Quality-r14", "lpp.path_Quality_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"OTDOA_MeasQuality", HFILL }},
{ &hf_lpp_assistanceAvailability,
{ "assistanceAvailability", "lpp.assistanceAvailability",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_multipathRSTD_r14,
{ "multipathRSTD-r14", "lpp.multipathRSTD_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_multipathRSTD_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxNoOfRSTDmeas_r14,
{ "maxNoOfRSTDmeas-r14", "lpp.maxNoOfRSTDmeas_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_32", HFILL }},
{ &hf_lpp_motionMeasurements_r15,
{ "motionMeasurements-r15", "lpp.motionMeasurements_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_motionMeasurements_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_otdoa_Mode,
{ "otdoa-Mode", "lpp.otdoa_Mode",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_supportedBandListEUTRA,
{ "supportedBandListEUTRA", "lpp.supportedBandListEUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA", HFILL }},
{ &hf_lpp_supportedBandListEUTRA_item,
{ "SupportedBandEUTRA", "lpp.SupportedBandEUTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_supportedBandListEUTRA_v9a0,
{ "supportedBandListEUTRA-v9a0", "lpp.supportedBandListEUTRA_v9a0",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0", HFILL }},
{ &hf_lpp_supportedBandListEUTRA_v9a0_item,
{ "SupportedBandEUTRA-v9a0", "lpp.SupportedBandEUTRA_v9a0_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_interFreqRSTDmeasurement_r10,
{ "interFreqRSTDmeasurement-r10", "lpp.interFreqRSTDmeasurement_r10",
FT_UINT32, BASE_DEC, VALS(lpp_T_interFreqRSTDmeasurement_r10_vals), 0,
"T_interFreqRSTDmeasurement_r10", HFILL }},
{ &hf_lpp_additionalNeighbourCellInfoList_r10,
{ "additionalNeighbourCellInfoList-r10", "lpp.additionalNeighbourCellInfoList_r10",
FT_UINT32, BASE_DEC, VALS(lpp_T_additionalNeighbourCellInfoList_r10_vals), 0,
"T_additionalNeighbourCellInfoList_r10", HFILL }},
{ &hf_lpp_prs_id_r14,
{ "prs-id-r14", "lpp.prs_id_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_prs_id_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_tp_separation_via_muting_r14,
{ "tp-separation-via-muting-r14", "lpp.tp_separation_via_muting_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_tp_separation_via_muting_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_additional_prs_config_r14,
{ "additional-prs-config-r14", "lpp.additional_prs_config_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_additional_prs_config_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_prs_based_tbs_r14,
{ "prs-based-tbs-r14", "lpp.prs_based_tbs_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_prs_based_tbs_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_additionalPathsReport_r14,
{ "additionalPathsReport-r14", "lpp.additionalPathsReport_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_additionalPathsReport_r14_vals), 0,
"T_additionalPathsReport_r14", HFILL }},
{ &hf_lpp_densePrsConfig_r14,
{ "densePrsConfig-r14", "lpp.densePrsConfig_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_densePrsConfig_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxSupportedPrsBandwidth_r14,
{ "maxSupportedPrsBandwidth-r14", "lpp.maxSupportedPrsBandwidth_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxSupportedPrsBandwidth_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_prsOccGroup_r14,
{ "prsOccGroup-r14", "lpp.prsOccGroup_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_prsOccGroup_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_prsFrequencyHopping_r14,
{ "prsFrequencyHopping-r14", "lpp.prsFrequencyHopping_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_prsFrequencyHopping_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxSupportedPrsConfigs_r14,
{ "maxSupportedPrsConfigs-r14", "lpp.maxSupportedPrsConfigs_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_maxSupportedPrsConfigs_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_periodicalReporting_r14,
{ "periodicalReporting-r14", "lpp.periodicalReporting_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_periodicalReporting_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_multiPrbNprs_r14,
{ "multiPrbNprs-r14", "lpp.multiPrbNprs_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_multiPrbNprs_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_idleStateForMeasurements_r14,
{ "idleStateForMeasurements-r14", "lpp.idleStateForMeasurements_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_idleStateForMeasurements_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_numberOfRXantennas_r14,
{ "numberOfRXantennas-r14", "lpp.numberOfRXantennas_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_numberOfRXantennas_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_motionMeasurements_r15_01,
{ "motionMeasurements-r15", "lpp.motionMeasurements_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_motionMeasurements_r15_01_vals), 0,
"T_motionMeasurements_r15_01", HFILL }},
{ &hf_lpp_interRAT_RSTDmeasurement_r15,
{ "interRAT-RSTDmeasurement-r15", "lpp.interRAT_RSTDmeasurement_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_interRAT_RSTDmeasurement_r15_vals), 0,
"T_interRAT_RSTDmeasurement_r15", HFILL }},
{ &hf_lpp_bandEUTRA,
{ "bandEUTRA", "lpp.bandEUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_maxFBI", HFILL }},
{ &hf_lpp_bandEUTRA_v9a0,
{ "bandEUTRA-v9a0", "lpp.bandEUTRA_v9a0",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_maxFBI_Plus1_maxFBI2", HFILL }},
{ &hf_lpp_locationServerErrorCauses,
{ "locationServerErrorCauses", "lpp.locationServerErrorCauses_element",
FT_NONE, BASE_NONE, NULL, 0,
"OTDOA_LocationServerErrorCauses", HFILL }},
{ &hf_lpp_targetDeviceErrorCauses,
{ "targetDeviceErrorCauses", "lpp.targetDeviceErrorCauses_element",
FT_NONE, BASE_NONE, NULL, 0,
"OTDOA_TargetDeviceErrorCauses", HFILL }},
{ &hf_lpp_cause,
{ "cause", "lpp.cause",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_vals), 0,
NULL, HFILL }},
{ &hf_lpp_cause_01,
{ "cause", "lpp.cause",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_01_vals), 0,
"T_cause_01", HFILL }},
{ &hf_lpp_gnss_CommonAssistData,
{ "gnss-CommonAssistData", "lpp.gnss_CommonAssistData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_GenericAssistData,
{ "gnss-GenericAssistData", "lpp.gnss_GenericAssistData",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_Error,
{ "gnss-Error", "lpp.gnss_Error",
FT_UINT32, BASE_DEC, VALS(lpp_A_GNSS_Error_vals), 0,
"A_GNSS_Error", HFILL }},
{ &hf_lpp_gnss_PeriodicAssistData_r15,
{ "gnss-PeriodicAssistData-r15", "lpp.gnss_PeriodicAssistData_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_ReferenceTime,
{ "gnss-ReferenceTime", "lpp.gnss_ReferenceTime_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_ReferenceLocation,
{ "gnss-ReferenceLocation", "lpp.gnss_ReferenceLocation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_IonosphericModel,
{ "gnss-IonosphericModel", "lpp.gnss_IonosphericModel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_EarthOrientationParameters,
{ "gnss-EarthOrientationParameters", "lpp.gnss_EarthOrientationParameters_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_ReferenceStationInfo_r15,
{ "gnss-RTK-ReferenceStationInfo-r15", "lpp.gnss_RTK_ReferenceStationInfo_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_CommonObservationInfo_r15,
{ "gnss-RTK-CommonObservationInfo-r15", "lpp.gnss_RTK_CommonObservationInfo_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_AuxiliaryStationData_r15,
{ "gnss-RTK-AuxiliaryStationData-r15", "lpp.gnss_RTK_AuxiliaryStationData_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_CorrectionPoints_r16,
{ "gnss-SSR-CorrectionPoints-r16", "lpp.gnss_SSR_CorrectionPoints_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_GenericAssistData_item,
{ "GNSS-GenericAssistDataElement", "lpp.GNSS_GenericAssistDataElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_ID,
{ "gnss-ID", "lpp.gnss_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_sbas_ID,
{ "sbas-ID", "lpp.sbas_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_TimeModels,
{ "gnss-TimeModels", "lpp.gnss_TimeModels",
FT_UINT32, BASE_DEC, NULL, 0,
"GNSS_TimeModelList", HFILL }},
{ &hf_lpp_gnss_DifferentialCorrections,
{ "gnss-DifferentialCorrections", "lpp.gnss_DifferentialCorrections_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_NavigationModel,
{ "gnss-NavigationModel", "lpp.gnss_NavigationModel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RealTimeIntegrity,
{ "gnss-RealTimeIntegrity", "lpp.gnss_RealTimeIntegrity_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_DataBitAssistance,
{ "gnss-DataBitAssistance", "lpp.gnss_DataBitAssistance_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_AcquisitionAssistance,
{ "gnss-AcquisitionAssistance", "lpp.gnss_AcquisitionAssistance_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_Almanac,
{ "gnss-Almanac", "lpp.gnss_Almanac_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_UTC_Model,
{ "gnss-UTC-Model", "lpp.gnss_UTC_Model",
FT_UINT32, BASE_DEC, VALS(lpp_GNSS_UTC_Model_vals), 0,
NULL, HFILL }},
{ &hf_lpp_gnss_AuxiliaryInformation,
{ "gnss-AuxiliaryInformation", "lpp.gnss_AuxiliaryInformation",
FT_UINT32, BASE_DEC, VALS(lpp_GNSS_AuxiliaryInformation_vals), 0,
NULL, HFILL }},
{ &hf_lpp_bds_DifferentialCorrections_r12,
{ "bds-DifferentialCorrections-r12", "lpp.bds_DifferentialCorrections_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bds_GridModel_r12,
{ "bds-GridModel-r12", "lpp.bds_GridModel_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
"BDS_GridModelParameter_r12", HFILL }},
{ &hf_lpp_gnss_RTK_Observations_r15,
{ "gnss-RTK-Observations-r15", "lpp.gnss_RTK_Observations_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_glo_RTK_BiasInformation_r15,
{ "glo-RTK-BiasInformation-r15", "lpp.glo_RTK_BiasInformation_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_MAC_CorrectionDifferences_r15,
{ "gnss-RTK-MAC-CorrectionDifferences-r15", "lpp.gnss_RTK_MAC_CorrectionDifferences_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_Residuals_r15,
{ "gnss-RTK-Residuals-r15", "lpp.gnss_RTK_Residuals_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_FKP_Gradients_r15,
{ "gnss-RTK-FKP-Gradients-r15", "lpp.gnss_RTK_FKP_Gradients_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_OrbitCorrections_r15,
{ "gnss-SSR-OrbitCorrections-r15", "lpp.gnss_SSR_OrbitCorrections_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_ClockCorrections_r15,
{ "gnss-SSR-ClockCorrections-r15", "lpp.gnss_SSR_ClockCorrections_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_CodeBias_r15,
{ "gnss-SSR-CodeBias-r15", "lpp.gnss_SSR_CodeBias_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_URA_r16,
{ "gnss-SSR-URA-r16", "lpp.gnss_SSR_URA_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_PhaseBias_r16,
{ "gnss-SSR-PhaseBias-r16", "lpp.gnss_SSR_PhaseBias_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_STEC_Correction_r16,
{ "gnss-SSR-STEC-Correction-r16", "lpp.gnss_SSR_STEC_Correction_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_GriddedCorrection_r16,
{ "gnss-SSR-GriddedCorrection-r16", "lpp.gnss_SSR_GriddedCorrection_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_navic_DifferentialCorrections_r16,
{ "navic-DifferentialCorrections-r16", "lpp.navic_DifferentialCorrections_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_navic_GridModel_r16,
{ "navic-GridModel-r16", "lpp.navic_GridModel_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NavIC_GridModelParameter_r16", HFILL }},
{ &hf_lpp_gnss_RTK_PeriodicObservations_r15,
{ "gnss-RTK-PeriodicObservations-r15", "lpp.gnss_RTK_PeriodicObservations_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_glo_RTK_PeriodicBiasInformation_r15,
{ "glo-RTK-PeriodicBiasInformation-r15", "lpp.glo_RTK_PeriodicBiasInformation_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_RTK_MAC_PeriodicCorrectionDifferences_r15,
{ "gnss-RTK-MAC-PeriodicCorrectionDifferences-r15", "lpp.gnss_RTK_MAC_PeriodicCorrectionDifferences_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_RTK_PeriodicResiduals_r15,
{ "gnss-RTK-PeriodicResiduals-r15", "lpp.gnss_RTK_PeriodicResiduals_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_RTK_FKP_PeriodicGradients_r15,
{ "gnss-RTK-FKP-PeriodicGradients-r15", "lpp.gnss_RTK_FKP_PeriodicGradients_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicOrbitCorrections_r15,
{ "gnss-SSR-PeriodicOrbitCorrections-r15", "lpp.gnss_SSR_PeriodicOrbitCorrections_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicClockCorrections_r15,
{ "gnss-SSR-PeriodicClockCorrections-r15", "lpp.gnss_SSR_PeriodicClockCorrections_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicCodeBias_r15,
{ "gnss-SSR-PeriodicCodeBias-r15", "lpp.gnss_SSR_PeriodicCodeBias_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicURA_r16,
{ "gnss-SSR-PeriodicURA-r16", "lpp.gnss_SSR_PeriodicURA_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicPhaseBias_r16,
{ "gnss-SSR-PeriodicPhaseBias-r16", "lpp.gnss_SSR_PeriodicPhaseBias_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicSTEC_Correction_r16,
{ "gnss-SSR-PeriodicSTEC-Correction-r16", "lpp.gnss_SSR_PeriodicSTEC_Correction_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicGriddedCorrection_r16,
{ "gnss-SSR-PeriodicGriddedCorrection-r16", "lpp.gnss_SSR_PeriodicGriddedCorrection_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SystemTime,
{ "gnss-SystemTime", "lpp.gnss_SystemTime_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_referenceTimeUnc,
{ "referenceTimeUnc", "lpp.referenceTimeUnc",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_referenceTimeUnc_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_gnss_ReferenceTimeForCells,
{ "gnss-ReferenceTimeForCells", "lpp.gnss_ReferenceTimeForCells",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell", HFILL }},
{ &hf_lpp_gnss_ReferenceTimeForCells_item,
{ "GNSS-ReferenceTimeForOneCell", "lpp.GNSS_ReferenceTimeForOneCell_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_networkTime,
{ "networkTime", "lpp.networkTime_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bsAlign,
{ "bsAlign", "lpp.bsAlign",
FT_UINT32, BASE_DEC, VALS(lpp_T_bsAlign_vals), 0,
NULL, HFILL }},
{ &hf_lpp_gnss_TimeID,
{ "gnss-TimeID", "lpp.gnss_TimeID_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_ID", HFILL }},
{ &hf_lpp_gnss_DayNumber,
{ "gnss-DayNumber", "lpp.gnss_DayNumber",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_32767", HFILL }},
{ &hf_lpp_gnss_TimeOfDay,
{ "gnss-TimeOfDay", "lpp.gnss_TimeOfDay",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_86399", HFILL }},
{ &hf_lpp_gnss_TimeOfDayFrac_msec,
{ "gnss-TimeOfDayFrac-msec", "lpp.gnss_TimeOfDayFrac_msec",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_999", HFILL }},
{ &hf_lpp_notificationOfLeapSecond,
{ "notificationOfLeapSecond", "lpp.notificationOfLeapSecond",
FT_UINT8, BASE_DEC, VALS(lpp_kp_vals), 0,
NULL, HFILL }},
{ &hf_lpp_gps_TOW_Assist,
{ "gps-TOW-Assist", "lpp.gps_TOW_Assist",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GPS_TOW_Assist_item,
{ "GPS-TOW-AssistElement", "lpp.GPS_TOW_AssistElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_satelliteID,
{ "satelliteID", "lpp.satelliteID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_64", HFILL }},
{ &hf_lpp_tlmWord,
{ "tlmWord", "lpp.tlmWord",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_16383", HFILL }},
{ &hf_lpp_antiSpoof,
{ "antiSpoof", "lpp.antiSpoof",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_alert,
{ "alert", "lpp.alert",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_tlmRsvdBits,
{ "tlmRsvdBits", "lpp.tlmRsvdBits",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_secondsFromFrameStructureStart,
{ "secondsFromFrameStructureStart", "lpp.secondsFromFrameStructureStart",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_12533", HFILL }},
{ &hf_lpp_fractionalSecondsFromFrameStructureStart,
{ "fractionalSecondsFromFrameStructureStart", "lpp.fractionalSecondsFromFrameStructureStart",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_fractionalSecondsFromFrameStructureStart_fmt), 0,
"INTEGER_0_3999999", HFILL }},
{ &hf_lpp_frameDrift,
{ "frameDrift", "lpp.frameDrift",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_frameDrift_fmt), 0,
"INTEGER_M64_63", HFILL }},
{ &hf_lpp_cellID,
{ "cellID", "lpp.cellID",
FT_UINT32, BASE_DEC, VALS(lpp_T_cellID_vals), 0,
NULL, HFILL }},
{ &hf_lpp_eUTRA,
{ "eUTRA", "lpp.eUTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_cellGlobalIdEUTRA,
{ "cellGlobalIdEUTRA", "lpp.cellGlobalIdEUTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
"CellGlobalIdEUTRA_AndUTRA", HFILL }},
{ &hf_lpp_uTRA,
{ "uTRA", "lpp.uTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_mode,
{ "mode", "lpp.mode",
FT_UINT32, BASE_DEC, VALS(lpp_T_mode_vals), 0,
NULL, HFILL }},
{ &hf_lpp_fdd,
{ "fdd", "lpp.fdd_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_primary_CPICH_Info,
{ "primary-CPICH-Info", "lpp.primary_CPICH_Info",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_tdd,
{ "tdd", "lpp.tdd_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_cellParameters,
{ "cellParameters", "lpp.cellParameters",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_cellGlobalIdUTRA,
{ "cellGlobalIdUTRA", "lpp.cellGlobalIdUTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
"CellGlobalIdEUTRA_AndUTRA", HFILL }},
{ &hf_lpp_uarfcn,
{ "uarfcn", "lpp.uarfcn",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueUTRA", HFILL }},
{ &hf_lpp_gSM,
{ "gSM", "lpp.gSM_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bcchCarrier,
{ "bcchCarrier", "lpp.bcchCarrier",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_bsic,
{ "bsic", "lpp.bsic",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_cellGlobalIdGERAN,
{ "cellGlobalIdGERAN", "lpp.cellGlobalIdGERAN_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nBIoT_r14,
{ "nBIoT-r14", "lpp.nBIoT_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_nBIoT_r14", HFILL }},
{ &hf_lpp_nbPhysCellId_r14,
{ "nbPhysCellId-r14", "lpp.nbPhysCellId_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_503", HFILL }},
{ &hf_lpp_nbCellGlobalId_r14,
{ "nbCellGlobalId-r14", "lpp.nbCellGlobalId_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"ECGI", HFILL }},
{ &hf_lpp_nbCarrierFreq_r14,
{ "nbCarrierFreq-r14", "lpp.nbCarrierFreq_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"CarrierFreq_NB_r14", HFILL }},
{ &hf_lpp_nr_r15,
{ "nr-r15", "lpp.nr_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nrCellGlobalID_r15,
{ "nrCellGlobalID-r15", "lpp.nrCellGlobalID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"NCGI_r15", HFILL }},
{ &hf_lpp_nrARFCN_r15,
{ "nrARFCN-r15", "lpp.nrARFCN_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR_r15", HFILL }},
{ &hf_lpp_threeDlocation,
{ "threeDlocation", "lpp.threeDlocation_element",
FT_NONE, BASE_NONE, NULL, 0,
"EllipsoidPointWithAltitudeAndUncertaintyEllipsoid", HFILL }},
{ &hf_lpp_klobucharModel,
{ "klobucharModel", "lpp.klobucharModel_element",
FT_NONE, BASE_NONE, NULL, 0,
"KlobucharModelParameter", HFILL }},
{ &hf_lpp_neQuickModel,
{ "neQuickModel", "lpp.neQuickModel_element",
FT_NONE, BASE_NONE, NULL, 0,
"NeQuickModelParameter", HFILL }},
{ &hf_lpp_klobucharModel2_r16,
{ "klobucharModel2-r16", "lpp.klobucharModel2_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"KlobucharModel2Parameter_r16", HFILL }},
{ &hf_lpp_dataID,
{ "dataID", "lpp.dataID",
FT_UINT8, BASE_DEC, VALS(lpp_dataID_vals), 0,
NULL, HFILL }},
{ &hf_lpp_alfa0,
{ "alfa0", "lpp.alfa0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_alpha0_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_alfa1,
{ "alfa1", "lpp.alfa1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_alpha1_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_alfa2,
{ "alfa2", "lpp.alfa2",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_alpha2_3_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_alfa3,
{ "alfa3", "lpp.alfa3",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_alpha2_3_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_beta0,
{ "beta0", "lpp.beta0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_beta0_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_beta1,
{ "beta1", "lpp.beta1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_beta1_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_beta2,
{ "beta2", "lpp.beta2",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_beta2_3_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_beta3,
{ "beta3", "lpp.beta3",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_beta2_3_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_alfa1_r16,
{ "alfa1-r16", "lpp.alfa1_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_alfa2_r16,
{ "alfa2-r16", "lpp.alfa2_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_alfa3_r16,
{ "alfa3-r16", "lpp.alfa3_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_alfa4_r16,
{ "alfa4-r16", "lpp.alfa4_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_alfa5_r16,
{ "alfa5-r16", "lpp.alfa5_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_alfa6_r16,
{ "alfa6-r16", "lpp.alfa6_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_alfa7_r16,
{ "alfa7-r16", "lpp.alfa7_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_alfa8_r16,
{ "alfa8-r16", "lpp.alfa8_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_alfa9_r16,
{ "alfa9-r16", "lpp.alfa9_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_ai0,
{ "ai0", "lpp.ai0",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_ai0_fmt), 0,
"INTEGER_0_2047", HFILL }},
{ &hf_lpp_ai1,
{ "ai1", "lpp.ai1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_ai1_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_ai2,
{ "ai2", "lpp.ai2",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_ai2_fmt), 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_ionoStormFlag1,
{ "ionoStormFlag1", "lpp.ionoStormFlag1",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_ionoStormFlag2,
{ "ionoStormFlag2", "lpp.ionoStormFlag2",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_ionoStormFlag3,
{ "ionoStormFlag3", "lpp.ionoStormFlag3",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_ionoStormFlag4,
{ "ionoStormFlag4", "lpp.ionoStormFlag4",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_ionoStormFlag5,
{ "ionoStormFlag5", "lpp.ionoStormFlag5",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_teop,
{ "teop", "lpp.teop",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_teop_fmt), 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_pmX,
{ "pmX", "lpp.pmX",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_pmX_Y_fmt), 0,
"INTEGER_M1048576_1048575", HFILL }},
{ &hf_lpp_pmXdot,
{ "pmXdot", "lpp.pmXdot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_pmX_Ydot_fmt), 0,
"INTEGER_M16384_16383", HFILL }},
{ &hf_lpp_pmY,
{ "pmY", "lpp.pmY",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_pmX_Y_fmt), 0,
"INTEGER_M1048576_1048575", HFILL }},
{ &hf_lpp_pmYdot,
{ "pmYdot", "lpp.pmYdot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_pmX_Ydot_fmt), 0,
"INTEGER_M16384_16383", HFILL }},
{ &hf_lpp_deltaUT1,
{ "deltaUT1", "lpp.deltaUT1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_deltaUT1_fmt), 0,
"INTEGER_M1073741824_1073741823", HFILL }},
{ &hf_lpp_deltaUT1dot,
{ "deltaUT1dot", "lpp.deltaUT1dot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_deltaUT1dot_fmt), 0,
"INTEGER_M262144_262143", HFILL }},
{ &hf_lpp_referenceStationID_r15,
{ "referenceStationID-r15", "lpp.referenceStationID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_ReferenceStationID_r15", HFILL }},
{ &hf_lpp_referenceStationIndicator_r15,
{ "referenceStationIndicator-r15", "lpp.referenceStationIndicator_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_referenceStationIndicator_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_antenna_reference_point_ECEF_X_r15,
{ "antenna-reference-point-ECEF-X-r15", "lpp.antenna_reference_point_ECEF_X_r15",
FT_INT64, BASE_CUSTOM, CF_FUNC(lpp_1_1000m_64_fmt), 0,
"INTEGER_M137438953472_137438953471", HFILL }},
{ &hf_lpp_antenna_reference_point_ECEF_Y_r15,
{ "antenna-reference-point-ECEF-Y-r15", "lpp.antenna_reference_point_ECEF_Y_r15",
FT_INT64, BASE_CUSTOM, CF_FUNC(lpp_1_1000m_64_fmt), 0,
"INTEGER_M137438953472_137438953471", HFILL }},
{ &hf_lpp_antenna_reference_point_ECEF_Z_r15,
{ "antenna-reference-point-ECEF-Z-r15", "lpp.antenna_reference_point_ECEF_Z_r15",
FT_INT64, BASE_CUSTOM, CF_FUNC(lpp_1_1000m_64_fmt), 0,
"INTEGER_M137438953472_137438953471", HFILL }},
{ &hf_lpp_antennaHeight_r15,
{ "antennaHeight-r15", "lpp.antennaHeight_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_1_1000m_32_fmt), 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_antennaDescription_r15,
{ "antennaDescription-r15", "lpp.antennaDescription_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_antenna_reference_point_unc_r15,
{ "antenna-reference-point-unc-r15", "lpp.antenna_reference_point_unc_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"AntennaReferencePointUnc_r15", HFILL }},
{ &hf_lpp_physical_reference_station_info_r15,
{ "physical-reference-station-info-r15", "lpp.physical_reference_station_info_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"PhysicalReferenceStationInfo_r15", HFILL }},
{ &hf_lpp_equalIntegerAmbiguityLevel_r16,
{ "equalIntegerAmbiguityLevel-r16", "lpp.equalIntegerAmbiguityLevel_r16",
FT_UINT32, BASE_DEC, VALS(lpp_EqualIntegerAmbiguityLevel_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_antennaDescriptor_r15,
{ "antennaDescriptor-r15", "lpp.antennaDescriptor_r15",
FT_STRING, BASE_NONE, NULL, 0,
"VisibleString_SIZE_1_256", HFILL }},
{ &hf_lpp_antennaSetUpID_r15,
{ "antennaSetUpID-r15", "lpp.antennaSetUpID_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_antennaSetUpID_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_uncertainty_X_r15,
{ "uncertainty-X-r15", "lpp.uncertainty_X_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_confidence_X_r15,
{ "confidence-X-r15", "lpp.confidence_X_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_confidence_fmt), 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_uncertainty_Y_r15,
{ "uncertainty-Y-r15", "lpp.uncertainty_Y_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_confidence_Y_r15,
{ "confidence-Y-r15", "lpp.confidence_Y_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_confidence_fmt), 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_uncertainty_Z_r15,
{ "uncertainty-Z-r15", "lpp.uncertainty_Z_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_confidence_Z_r15,
{ "confidence-Z-r15", "lpp.confidence_Z_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_confidence_fmt), 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_physicalReferenceStationID_r15,
{ "physicalReferenceStationID-r15", "lpp.physicalReferenceStationID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_ReferenceStationID_r15", HFILL }},
{ &hf_lpp_physical_ARP_ECEF_X_r15,
{ "physical-ARP-ECEF-X-r15", "lpp.physical_ARP_ECEF_X_r15",
FT_INT64, BASE_CUSTOM, CF_FUNC(lpp_1_1000m_64_fmt), 0,
"INTEGER_M137438953472_137438953471", HFILL }},
{ &hf_lpp_physical_ARP_ECEF_Y_r15,
{ "physical-ARP-ECEF-Y-r15", "lpp.physical_ARP_ECEF_Y_r15",
FT_INT64, BASE_CUSTOM, CF_FUNC(lpp_1_1000m_64_fmt), 0,
"INTEGER_M137438953472_137438953471", HFILL }},
{ &hf_lpp_physical_ARP_ECEF_Z_r15,
{ "physical-ARP-ECEF-Z-r15", "lpp.physical_ARP_ECEF_Z_r15",
FT_INT64, BASE_CUSTOM, CF_FUNC(lpp_1_1000m_64_fmt), 0,
"INTEGER_M137438953472_137438953471", HFILL }},
{ &hf_lpp_physical_ARP_unc_r15,
{ "physical-ARP-unc-r15", "lpp.physical_ARP_unc_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"AntennaReferencePointUnc_r15", HFILL }},
{ &hf_lpp_allReferenceStations_r16,
{ "allReferenceStations-r16", "lpp.allReferenceStations_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_referenceStationList_r16,
{ "referenceStationList-r16", "lpp.referenceStationList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ReferenceStationList_r16_item,
{ "GNSS-ReferenceStationID-r15", "lpp.GNSS_ReferenceStationID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_clockSteeringIndicator_r15,
{ "clockSteeringIndicator-r15", "lpp.clockSteeringIndicator_r15",
FT_UINT8, BASE_DEC, VALS(lpp_clockSteeringIndicator_vals), 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_externalClockIndicator_r15,
{ "externalClockIndicator-r15", "lpp.externalClockIndicator_r15",
FT_UINT8, BASE_DEC, VALS(lpp_externalClockIndicator_vals), 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_smoothingIndicator_r15,
{ "smoothingIndicator-r15", "lpp.smoothingIndicator_r15",
FT_UINT8, BASE_DEC, VALS(lpp_smoothingIndicator_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_smoothingInterval_r15,
{ "smoothingInterval-r15", "lpp.smoothingInterval_r15",
FT_UINT8, BASE_DEC, VALS(lpp_smoothingInterval_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_networkID_r15,
{ "networkID-r15", "lpp.networkID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_NetworkID_r15", HFILL }},
{ &hf_lpp_subNetworkID_r15,
{ "subNetworkID-r15", "lpp.subNetworkID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SubNetworkID_r15", HFILL }},
{ &hf_lpp_master_referenceStationID_r15,
{ "master-referenceStationID-r15", "lpp.master_referenceStationID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_ReferenceStationID_r15", HFILL }},
{ &hf_lpp_auxiliaryStationList_r15,
{ "auxiliaryStationList-r15", "lpp.auxiliaryStationList_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_AuxiliaryStationList_r15_item,
{ "AuxiliaryStationElement-r15", "lpp.AuxiliaryStationElement_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_aux_referenceStationID_r15,
{ "aux-referenceStationID-r15", "lpp.aux_referenceStationID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_ReferenceStationID_r15", HFILL }},
{ &hf_lpp_aux_master_delta_latitude_r15,
{ "aux-master-delta-latitude-r15", "lpp.aux_master_delta_latitude_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_aux_master_delta_fmt), 0,
"INTEGER_M524288_524287", HFILL }},
{ &hf_lpp_aux_master_delta_longitude_r15,
{ "aux-master-delta-longitude-r15", "lpp.aux_master_delta_longitude_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_aux_master_delta_fmt), 0,
"INTEGER_M1048576_1048575", HFILL }},
{ &hf_lpp_aux_master_delta_height_r15,
{ "aux-master-delta-height-r15", "lpp.aux_master_delta_height_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_1_1000m_32_fmt), 0,
"INTEGER_M4194304_4194303", HFILL }},
{ &hf_lpp_aux_ARP_unc_r15,
{ "aux-ARP-unc-r15", "lpp.aux_ARP_unc_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_horizontalUncertainty_r15,
{ "horizontalUncertainty-r15", "lpp.horizontalUncertainty_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_verticalUncertainty_r15,
{ "verticalUncertainty-r15", "lpp.verticalUncertainty_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_correctionPointSetID_r16,
{ "correctionPointSetID-r16", "lpp.correctionPointSetID_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_16383", HFILL }},
{ &hf_lpp_correctionPoints_r16,
{ "correctionPoints-r16", "lpp.correctionPoints_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_correctionPoints_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_listOfCorrectionPoints_r16,
{ "listOfCorrectionPoints-r16", "lpp.listOfCorrectionPoints_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SSR_ListOfCorrectionPoints_r16", HFILL }},
{ &hf_lpp_arrayOfCorrectionPoints_r16,
{ "arrayOfCorrectionPoints-r16", "lpp.arrayOfCorrectionPoints_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SSR_ArrayOfCorrectionPoints_r16", HFILL }},
{ &hf_lpp_referencePointLatitude_r16,
{ "referencePointLatitude-r16", "lpp.referencePointLatitude_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M16384_16383", HFILL }},
{ &hf_lpp_referencePointLongitude_r16,
{ "referencePointLongitude-r16", "lpp.referencePointLongitude_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_relativeLocationsList_r16,
{ "relativeLocationsList-r16", "lpp.relativeLocationsList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_0_63_OF_RelativeLocationElement_r16", HFILL }},
{ &hf_lpp_relativeLocationsList_r16_item,
{ "RelativeLocationElement-r16", "lpp.RelativeLocationElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_deltaLatitude_r16,
{ "deltaLatitude-r16", "lpp.deltaLatitude_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M512_511", HFILL }},
{ &hf_lpp_deltaLongitude_r16,
{ "deltaLongitude-r16", "lpp.deltaLongitude_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_numberOfStepsLatitude_r16,
{ "numberOfStepsLatitude-r16", "lpp.numberOfStepsLatitude_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_numberOfStepsLongitude_r16,
{ "numberOfStepsLongitude-r16", "lpp.numberOfStepsLongitude_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_stepOfLatitude_r16,
{ "stepOfLatitude-r16", "lpp.stepOfLatitude_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_511", HFILL }},
{ &hf_lpp_stepOfLongitude_r16,
{ "stepOfLongitude-r16", "lpp.stepOfLongitude_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_1023", HFILL }},
{ &hf_lpp_bitmaskOfGrids_r16,
{ "bitmaskOfGrids-r16", "lpp.bitmaskOfGrids_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_64", HFILL }},
{ &hf_lpp_GNSS_TimeModelList_item,
{ "GNSS-TimeModelElement", "lpp.GNSS_TimeModelElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_TimeModelRefTime,
{ "gnss-TimeModelRefTime", "lpp.gnss_TimeModelRefTime",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_gnss_TimeModelRefTime_fmt), 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_tA0,
{ "tA0", "lpp.tA0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_tA0_fmt), 0,
"INTEGER_M67108864_67108863", HFILL }},
{ &hf_lpp_tA1,
{ "tA1", "lpp.tA1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_tA1_fmt), 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_tA2,
{ "tA2", "lpp.tA2",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_tA2_fmt), 0,
"INTEGER_M64_63", HFILL }},
{ &hf_lpp_gnss_TO_ID,
{ "gnss-TO-ID", "lpp.gnss_TO_ID",
FT_UINT32, BASE_DEC, VALS(lpp_gnss_TO_ID_vals), 0,
"INTEGER_1_15", HFILL }},
{ &hf_lpp_weekNumber,
{ "weekNumber", "lpp.weekNumber",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_8191", HFILL }},
{ &hf_lpp_deltaT,
{ "deltaT", "lpp.deltaT",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_dgnss_RefTime,
{ "dgnss-RefTime", "lpp.dgnss_RefTime",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_0_3599", HFILL }},
{ &hf_lpp_dgnss_SgnTypeList,
{ "dgnss-SgnTypeList", "lpp.dgnss_SgnTypeList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_DGNSS_SgnTypeList_item,
{ "DGNSS-SgnTypeElement", "lpp.DGNSS_SgnTypeElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SignalID,
{ "gnss-SignalID", "lpp.gnss_SignalID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_StatusHealth,
{ "gnss-StatusHealth", "lpp.gnss_StatusHealth",
FT_UINT32, BASE_DEC, VALS(lpp_gnss_StatusHealth_vals), 0,
"INTEGER_0_7", HFILL }},
{ &hf_lpp_dgnss_SatList,
{ "dgnss-SatList", "lpp.dgnss_SatList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_DGNSS_SatList_item,
{ "DGNSS-CorrectionsElement", "lpp.DGNSS_CorrectionsElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_svID,
{ "svID", "lpp.svID_element",
FT_NONE, BASE_NONE, NULL, 0,
"SV_ID", HFILL }},
{ &hf_lpp_iod,
{ "iod", "lpp.iod",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_11", HFILL }},
{ &hf_lpp_udre,
{ "udre", "lpp.udre",
FT_UINT32, BASE_DEC, VALS(lpp_udre_vals), 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_pseudoRangeCor,
{ "pseudoRangeCor", "lpp.pseudoRangeCor",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_pseudoRangeCor_fmt), 0,
"INTEGER_M2047_2047", HFILL }},
{ &hf_lpp_rangeRateCor,
{ "rangeRateCor", "lpp.rangeRateCor",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_rangeRateCor_fmt), 0,
"INTEGER_M127_127", HFILL }},
{ &hf_lpp_udreGrowthRate,
{ "udreGrowthRate", "lpp.udreGrowthRate",
FT_UINT32, BASE_DEC, VALS(lpp_udreGrowthRate_vals), 0,
"INTEGER_0_7", HFILL }},
{ &hf_lpp_udreValidityTime,
{ "udreValidityTime", "lpp.udreValidityTime",
FT_UINT32, BASE_DEC, VALS(lpp_udreValidityTime_vals), 0,
"INTEGER_0_7", HFILL }},
{ &hf_lpp_nonBroadcastIndFlag,
{ "nonBroadcastIndFlag", "lpp.nonBroadcastIndFlag",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_gnss_SatelliteList,
{ "gnss-SatelliteList", "lpp.gnss_SatelliteList",
FT_UINT32, BASE_DEC, NULL, 0,
"GNSS_NavModelSatelliteList", HFILL }},
{ &hf_lpp_GNSS_NavModelSatelliteList_item,
{ "GNSS-NavModelSatelliteElement", "lpp.GNSS_NavModelSatelliteElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_svHealth,
{ "svHealth", "lpp.svHealth",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_8", HFILL }},
{ &hf_lpp_gnss_ClockModel,
{ "gnss-ClockModel", "lpp.gnss_ClockModel",
FT_UINT32, BASE_DEC, VALS(lpp_GNSS_ClockModel_vals), 0,
NULL, HFILL }},
{ &hf_lpp_gnss_OrbitModel,
{ "gnss-OrbitModel", "lpp.gnss_OrbitModel",
FT_UINT32, BASE_DEC, VALS(lpp_GNSS_OrbitModel_vals), 0,
NULL, HFILL }},
{ &hf_lpp_svHealthExt_v1240,
{ "svHealthExt-v1240", "lpp.svHealthExt_v1240",
FT_BYTES, BASE_NONE, NULL, 0,
"T_svHealthExt_v1240", HFILL }},
{ &hf_lpp_standardClockModelList,
{ "standardClockModelList", "lpp.standardClockModelList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nav_ClockModel,
{ "nav-ClockModel", "lpp.nav_ClockModel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_cnav_ClockModel,
{ "cnav-ClockModel", "lpp.cnav_ClockModel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_glonass_ClockModel,
{ "glonass-ClockModel", "lpp.glonass_ClockModel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_sbas_ClockModel,
{ "sbas-ClockModel", "lpp.sbas_ClockModel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bds_ClockModel_r12,
{ "bds-ClockModel-r12", "lpp.bds_ClockModel_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bds_ClockModel2_r16,
{ "bds-ClockModel2-r16", "lpp.bds_ClockModel2_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_navic_ClockModel_r16,
{ "navic-ClockModel-r16", "lpp.navic_ClockModel_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_keplerianSet,
{ "keplerianSet", "lpp.keplerianSet_element",
FT_NONE, BASE_NONE, NULL, 0,
"NavModelKeplerianSet", HFILL }},
{ &hf_lpp_nav_KeplerianSet,
{ "nav-KeplerianSet", "lpp.nav_KeplerianSet_element",
FT_NONE, BASE_NONE, NULL, 0,
"NavModelNAV_KeplerianSet", HFILL }},
{ &hf_lpp_cnav_KeplerianSet,
{ "cnav-KeplerianSet", "lpp.cnav_KeplerianSet_element",
FT_NONE, BASE_NONE, NULL, 0,
"NavModelCNAV_KeplerianSet", HFILL }},
{ &hf_lpp_glonass_ECEF,
{ "glonass-ECEF", "lpp.glonass_ECEF_element",
FT_NONE, BASE_NONE, NULL, 0,
"NavModel_GLONASS_ECEF", HFILL }},
{ &hf_lpp_sbas_ECEF,
{ "sbas-ECEF", "lpp.sbas_ECEF_element",
FT_NONE, BASE_NONE, NULL, 0,
"NavModel_SBAS_ECEF", HFILL }},
{ &hf_lpp_bds_KeplerianSet_r12,
{ "bds-KeplerianSet-r12", "lpp.bds_KeplerianSet_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
"NavModel_BDS_KeplerianSet_r12", HFILL }},
{ &hf_lpp_bds_KeplerianSet2_r16,
{ "bds-KeplerianSet2-r16", "lpp.bds_KeplerianSet2_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NavModel_BDS_KeplerianSet2_r16", HFILL }},
{ &hf_lpp_navic_KeplerianSet_r16,
{ "navic-KeplerianSet-r16", "lpp.navic_KeplerianSet_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NavModel_NavIC_KeplerianSet_r16", HFILL }},
{ &hf_lpp_StandardClockModelList_item,
{ "StandardClockModelElement", "lpp.StandardClockModelElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_stanClockToc,
{ "stanClockToc", "lpp.stanClockToc",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_stanClockToc_fmt), 0,
"INTEGER_0_16383", HFILL }},
{ &hf_lpp_stanClockAF2,
{ "stanClockAF2", "lpp.stanClockAF2",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_stanClockAF2_fmt), 0,
"INTEGER_M32_31", HFILL }},
{ &hf_lpp_stanClockAF1,
{ "stanClockAF1", "lpp.stanClockAF1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_stanClockAF1_fmt), 0,
"INTEGER_M1048576_1048575", HFILL }},
{ &hf_lpp_stanClockAF0,
{ "stanClockAF0", "lpp.stanClockAF0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_stanClockAF0_fmt), 0,
"INTEGER_M1073741824_1073741823", HFILL }},
{ &hf_lpp_stanClockTgd,
{ "stanClockTgd", "lpp.stanClockTgd",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_stanClockTgd_fmt), 0,
"INTEGER_M512_511", HFILL }},
{ &hf_lpp_sisa,
{ "sisa", "lpp.sisa",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_sisa_fmt), 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_stanModelID,
{ "stanModelID", "lpp.stanModelID",
FT_UINT32, BASE_DEC, VALS(lpp_stanModelID_vals), 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_navToc,
{ "navToc", "lpp.navToc",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_navToc_fmt), 0,
"INTEGER_0_37799", HFILL }},
{ &hf_lpp_navaf2,
{ "navaf2", "lpp.navaf2",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navaf2_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_navaf1,
{ "navaf1", "lpp.navaf1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navaf1_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navaf0,
{ "navaf0", "lpp.navaf0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navaf0_navTgd_fmt), 0,
"INTEGER_M2097152_2097151", HFILL }},
{ &hf_lpp_navTgd,
{ "navTgd", "lpp.navTgd",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navaf0_navTgd_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_cnavToc,
{ "cnavToc", "lpp.cnavToc",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_cnavToc_cnavTop_fmt), 0,
"INTEGER_0_2015", HFILL }},
{ &hf_lpp_cnavTop,
{ "cnavTop", "lpp.cnavTop",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_cnavToc_cnavTop_fmt), 0,
"INTEGER_0_2015", HFILL }},
{ &hf_lpp_cnavURA0,
{ "cnavURA0", "lpp.cnavURA0",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M16_15", HFILL }},
{ &hf_lpp_cnavURA1,
{ "cnavURA1", "lpp.cnavURA1",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_7", HFILL }},
{ &hf_lpp_cnavURA2,
{ "cnavURA2", "lpp.cnavURA2",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_7", HFILL }},
{ &hf_lpp_cnavAf2,
{ "cnavAf2", "lpp.cnavAf2",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavAf2_fmt), 0,
"INTEGER_M512_511", HFILL }},
{ &hf_lpp_cnavAf1,
{ "cnavAf1", "lpp.cnavAf1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavAf1_fmt), 0,
"INTEGER_M524288_524287", HFILL }},
{ &hf_lpp_cnavAf0,
{ "cnavAf0", "lpp.cnavAf0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavX_fmt), 0,
"INTEGER_M33554432_33554431", HFILL }},
{ &hf_lpp_cnavTgd,
{ "cnavTgd", "lpp.cnavTgd",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavX_fmt), 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_cnavISCl1cp,
{ "cnavISCl1cp", "lpp.cnavISCl1cp",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavX_fmt), 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_cnavISCl1cd,
{ "cnavISCl1cd", "lpp.cnavISCl1cd",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavX_fmt), 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_cnavISCl1ca,
{ "cnavISCl1ca", "lpp.cnavISCl1ca",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavX_fmt), 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_cnavISCl2c,
{ "cnavISCl2c", "lpp.cnavISCl2c",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavX_fmt), 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_cnavISCl5i5,
{ "cnavISCl5i5", "lpp.cnavISCl5i5",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavX_fmt), 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_cnavISCl5q5,
{ "cnavISCl5q5", "lpp.cnavISCl5q5",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavX_fmt), 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_gloTau,
{ "gloTau", "lpp.gloTau",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloTau_gloDeltaTau_fmt), 0,
"INTEGER_M2097152_2097151", HFILL }},
{ &hf_lpp_gloGamma,
{ "gloGamma", "lpp.gloGamma",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloGamma_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_gloDeltaTau,
{ "gloDeltaTau", "lpp.gloDeltaTau",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloTau_gloDeltaTau_fmt), 0,
"INTEGER_M16_15", HFILL }},
{ &hf_lpp_sbasTo,
{ "sbasTo", "lpp.sbasTo",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_sbasTo_fmt), 0,
"INTEGER_0_5399", HFILL }},
{ &hf_lpp_sbasAgfo,
{ "sbasAgfo", "lpp.sbasAgfo",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasAgfo_fmt), 0,
"INTEGER_M2048_2047", HFILL }},
{ &hf_lpp_sbasAgf1,
{ "sbasAgf1", "lpp.sbasAgf1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasAgf1_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_bdsAODC_r12,
{ "bdsAODC-r12", "lpp.bdsAODC_r12",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAODC_AODE_r12_fmt), 0,
"INTEGER_0_31", HFILL }},
{ &hf_lpp_bdsToc_r12,
{ "bdsToc-r12", "lpp.bdsToc_r12",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_bdsToc_Toe_r12_fmt), 0,
"INTEGER_0_131071", HFILL }},
{ &hf_lpp_bdsA0_r12,
{ "bdsA0-r12", "lpp.bdsA0_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsA0_r12_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_bdsA1_r12,
{ "bdsA1-r12", "lpp.bdsA1_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsA1_r12_fmt), 0,
"INTEGER_M2097152_2097151", HFILL }},
{ &hf_lpp_bdsA2_r12,
{ "bdsA2-r12", "lpp.bdsA2_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsA2_r12_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_bdsTgd1_r12,
{ "bdsTgd1-r12", "lpp.bdsTgd1_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsTgd1_r12_fmt), 0,
"INTEGER_M512_511", HFILL }},
{ &hf_lpp_bdsToc_r16,
{ "bdsToc-r16", "lpp.bdsToc_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_2047", HFILL }},
{ &hf_lpp_bdsA0_r16,
{ "bdsA0-r16", "lpp.bdsA0_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M16777216_16777215", HFILL }},
{ &hf_lpp_bdsA1_r16,
{ "bdsA1-r16", "lpp.bdsA1_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2097152_2097151", HFILL }},
{ &hf_lpp_bdsA2_r16,
{ "bdsA2-r16", "lpp.bdsA2_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_bdsTgdB1Cp_r16,
{ "bdsTgdB1Cp-r16", "lpp.bdsTgdB1Cp_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2048_2047", HFILL }},
{ &hf_lpp_bdsIscB1Cd_r16,
{ "bdsIscB1Cd-r16", "lpp.bdsIscB1Cd_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2048_2047", HFILL }},
{ &hf_lpp_navic_Toc_r16,
{ "navic-Toc-r16", "lpp.navic_Toc_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_navic_af2_r16,
{ "navic-af2-r16", "lpp.navic_af2_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_navic_af1_r16,
{ "navic-af1-r16", "lpp.navic_af1_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navic_af0_r16,
{ "navic-af0-r16", "lpp.navic_af0_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2097152_2097151", HFILL }},
{ &hf_lpp_navic_Tgd_r16,
{ "navic-Tgd-r16", "lpp.navic_Tgd_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_keplerToe,
{ "keplerToe", "lpp.keplerToe",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_keplerToe_fmt), 0,
"INTEGER_0_16383", HFILL }},
{ &hf_lpp_keplerW,
{ "keplerW", "lpp.keplerW",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerW_M0_I0_Omega0_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_keplerDeltaN,
{ "keplerDeltaN", "lpp.keplerDeltaN",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerDeltaN_OmegaDot_IDot_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_keplerM0,
{ "keplerM0", "lpp.keplerM0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerW_M0_I0_Omega0_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_keplerOmegaDot,
{ "keplerOmegaDot", "lpp.keplerOmegaDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerDeltaN_OmegaDot_IDot_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_keplerE,
{ "keplerE", "lpp.keplerE",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_keplerE_fmt), 0,
"INTEGER_0_4294967295", HFILL }},
{ &hf_lpp_keplerIDot,
{ "keplerIDot", "lpp.keplerIDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerDeltaN_OmegaDot_IDot_fmt), 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_keplerAPowerHalf,
{ "keplerAPowerHalf", "lpp.keplerAPowerHalf",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_keplerAPowerHalf_fmt), 0,
"INTEGER_0_4294967295", HFILL }},
{ &hf_lpp_keplerI0,
{ "keplerI0", "lpp.keplerI0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerW_M0_I0_Omega0_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_keplerOmega0,
{ "keplerOmega0", "lpp.keplerOmega0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerW_M0_I0_Omega0_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_keplerCrs,
{ "keplerCrs", "lpp.keplerCrs",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerCrs_Crc_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_keplerCis,
{ "keplerCis", "lpp.keplerCis",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerCx_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_keplerCus,
{ "keplerCus", "lpp.keplerCus",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerCx_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_keplerCrc,
{ "keplerCrc", "lpp.keplerCrc",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerCrs_Crc_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_keplerCic,
{ "keplerCic", "lpp.keplerCic",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerCx_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_keplerCuc,
{ "keplerCuc", "lpp.keplerCuc",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_keplerCx_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navURA,
{ "navURA", "lpp.navURA",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_navFitFlag,
{ "navFitFlag", "lpp.navFitFlag",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_navToe,
{ "navToe", "lpp.navToe",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_navToe_fmt), 0,
"INTEGER_0_37799", HFILL }},
{ &hf_lpp_navOmega,
{ "navOmega", "lpp.navOmega",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navOmega_M0_I0_OmegaA0_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_navDeltaN,
{ "navDeltaN", "lpp.navDeltaN",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navDeltaN_OmegaADot_IDot_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navM0,
{ "navM0", "lpp.navM0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navOmega_M0_I0_OmegaA0_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_navOmegaADot,
{ "navOmegaADot", "lpp.navOmegaADot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navDeltaN_OmegaADot_IDot_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_navE,
{ "navE", "lpp.navE",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_navE_fmt), 0,
"INTEGER_0_4294967295", HFILL }},
{ &hf_lpp_navIDot,
{ "navIDot", "lpp.navIDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navDeltaN_OmegaADot_IDot_fmt), 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_navAPowerHalf,
{ "navAPowerHalf", "lpp.navAPowerHalf",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_navAPowerHalf_fmt), 0,
"INTEGER_0_4294967295", HFILL }},
{ &hf_lpp_navI0,
{ "navI0", "lpp.navI0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navOmega_M0_I0_OmegaA0_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_navOmegaA0,
{ "navOmegaA0", "lpp.navOmegaA0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navOmega_M0_I0_OmegaA0_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_navCrs,
{ "navCrs", "lpp.navCrs",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navCrs_Crc_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navCis,
{ "navCis", "lpp.navCis",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navCx_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navCus,
{ "navCus", "lpp.navCus",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navCx_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navCrc,
{ "navCrc", "lpp.navCrc",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navCrs_Crc_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navCic,
{ "navCic", "lpp.navCic",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navCx_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navCuc,
{ "navCuc", "lpp.navCuc",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navCx_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_addNAVparam,
{ "addNAVparam", "lpp.addNAVparam_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ephemCodeOnL2,
{ "ephemCodeOnL2", "lpp.ephemCodeOnL2",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_ephemL2Pflag,
{ "ephemL2Pflag", "lpp.ephemL2Pflag",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_ephemSF1Rsvd,
{ "ephemSF1Rsvd", "lpp.ephemSF1Rsvd_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_reserved1,
{ "reserved1", "lpp.reserved1",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_8388607", HFILL }},
{ &hf_lpp_reserved2,
{ "reserved2", "lpp.reserved2",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_16777215", HFILL }},
{ &hf_lpp_reserved3,
{ "reserved3", "lpp.reserved3",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_16777215", HFILL }},
{ &hf_lpp_reserved4,
{ "reserved4", "lpp.reserved4",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_ephemAODA,
{ "ephemAODA", "lpp.ephemAODA",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_31", HFILL }},
{ &hf_lpp_cnavURAindex,
{ "cnavURAindex", "lpp.cnavURAindex",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M16_15", HFILL }},
{ &hf_lpp_cnavDeltaA,
{ "cnavDeltaA", "lpp.cnavDeltaA",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavDeltaA_fmt), 0,
"INTEGER_M33554432_33554431", HFILL }},
{ &hf_lpp_cnavAdot,
{ "cnavAdot", "lpp.cnavAdot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavAdot_fmt), 0,
"INTEGER_M16777216_16777215", HFILL }},
{ &hf_lpp_cnavDeltaNo,
{ "cnavDeltaNo", "lpp.cnavDeltaNo",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavDeltaNo_fmt), 0,
"INTEGER_M65536_65535", HFILL }},
{ &hf_lpp_cnavDeltaNoDot,
{ "cnavDeltaNoDot", "lpp.cnavDeltaNoDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavDeltaNoDot_fmt), 0,
"INTEGER_M4194304_4194303", HFILL }},
{ &hf_lpp_cnavMo,
{ "cnavMo", "lpp.cnavMo",
FT_INT64, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_cnavE,
{ "cnavE", "lpp.cnavE",
FT_UINT64, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_cnavOmega,
{ "cnavOmega", "lpp.cnavOmega",
FT_INT64, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_cnavOMEGA0,
{ "cnavOMEGA0", "lpp.cnavOMEGA0",
FT_INT64, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_cnavDeltaOmegaDot,
{ "cnavDeltaOmegaDot", "lpp.cnavDeltaOmegaDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavDeltaOmegaDot_IoDot_fmt), 0,
"INTEGER_M65536_65535", HFILL }},
{ &hf_lpp_cnavIo,
{ "cnavIo", "lpp.cnavIo",
FT_INT64, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_cnavIoDot,
{ "cnavIoDot", "lpp.cnavIoDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavDeltaOmegaDot_IoDot_fmt), 0,
"INTEGER_M16384_16383", HFILL }},
{ &hf_lpp_cnavCis,
{ "cnavCis", "lpp.cnavCis",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavCx_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_cnavCic,
{ "cnavCic", "lpp.cnavCic",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavCx_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_cnavCrs,
{ "cnavCrs", "lpp.cnavCrs",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavCrs_Crc_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_cnavCrc,
{ "cnavCrc", "lpp.cnavCrc",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavCrs_Crc_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_cnavCus,
{ "cnavCus", "lpp.cnavCus",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavCx_fmt), 0,
"INTEGER_M1048576_1048575", HFILL }},
{ &hf_lpp_cnavCuc,
{ "cnavCuc", "lpp.cnavCuc",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cnavCx_fmt), 0,
"INTEGER_M1048576_1048575", HFILL }},
{ &hf_lpp_gloEn,
{ "gloEn", "lpp.gloEn",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_day_days, 0,
"INTEGER_0_31", HFILL }},
{ &hf_lpp_gloP1,
{ "gloP1", "lpp.gloP1",
FT_UINT8, BASE_DEC|BASE_UNIT_STRING, &units_minutes, 0,
NULL, HFILL }},
{ &hf_lpp_gloP2,
{ "gloP2", "lpp.gloP2",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_gloM,
{ "gloM", "lpp.gloM",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_gloX,
{ "gloX", "lpp.gloX",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloX_Y_Z_fmt), 0,
"INTEGER_M67108864_67108863", HFILL }},
{ &hf_lpp_gloXdot,
{ "gloXdot", "lpp.gloXdot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloXdot_Ydot_Zdot_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_gloXdotdot,
{ "gloXdotdot", "lpp.gloXdotdot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloXdotdot_Ydotdot_Zdotdot_fmt), 0,
"INTEGER_M16_15", HFILL }},
{ &hf_lpp_gloY,
{ "gloY", "lpp.gloY",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloX_Y_Z_fmt), 0,
"INTEGER_M67108864_67108863", HFILL }},
{ &hf_lpp_gloYdot,
{ "gloYdot", "lpp.gloYdot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloXdot_Ydot_Zdot_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_gloYdotdot,
{ "gloYdotdot", "lpp.gloYdotdot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloXdotdot_Ydotdot_Zdotdot_fmt), 0,
"INTEGER_M16_15", HFILL }},
{ &hf_lpp_gloZ,
{ "gloZ", "lpp.gloZ",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloX_Y_Z_fmt), 0,
"INTEGER_M67108864_67108863", HFILL }},
{ &hf_lpp_gloZdot,
{ "gloZdot", "lpp.gloZdot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloXdot_Ydot_Zdot_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_gloZdotdot,
{ "gloZdotdot", "lpp.gloZdotdot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloXdotdot_Ydotdot_Zdotdot_fmt), 0,
"INTEGER_M16_15", HFILL }},
{ &hf_lpp_sbasAccuracy,
{ "sbasAccuracy", "lpp.sbasAccuracy",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_4", HFILL }},
{ &hf_lpp_sbasXg,
{ "sbasXg", "lpp.sbasXg",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasXg_Yg_fmt), 0,
"INTEGER_M536870912_536870911", HFILL }},
{ &hf_lpp_sbasYg,
{ "sbasYg", "lpp.sbasYg",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasXg_Yg_fmt), 0,
"INTEGER_M536870912_536870911", HFILL }},
{ &hf_lpp_sbasZg,
{ "sbasZg", "lpp.sbasZg",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasZg_fmt), 0,
"INTEGER_M16777216_16777215", HFILL }},
{ &hf_lpp_sbasXgDot,
{ "sbasXgDot", "lpp.sbasXgDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasXgDot_YgDot_fmt), 0,
"INTEGER_M65536_65535", HFILL }},
{ &hf_lpp_sbasYgDot,
{ "sbasYgDot", "lpp.sbasYgDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasXgDot_YgDot_fmt), 0,
"INTEGER_M65536_65535", HFILL }},
{ &hf_lpp_sbasZgDot,
{ "sbasZgDot", "lpp.sbasZgDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasZgDot_fmt), 0,
"INTEGER_M131072_131071", HFILL }},
{ &hf_lpp_sbasXgDotDot,
{ "sbasXgDotDot", "lpp.sbasXgDotDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasXgDotDot_YgDotDot_fmt), 0,
"INTEGER_M512_511", HFILL }},
{ &hf_lpp_sbagYgDotDot,
{ "sbagYgDotDot", "lpp.sbagYgDotDot",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M512_511", HFILL }},
{ &hf_lpp_sbasZgDotDot,
{ "sbasZgDotDot", "lpp.sbasZgDotDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasZgDotDot_fmt), 0,
"INTEGER_M512_511", HFILL }},
{ &hf_lpp_bdsAODE_r12,
{ "bdsAODE-r12", "lpp.bdsAODE_r12",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAODC_AODE_r12_fmt), 0,
"INTEGER_0_31", HFILL }},
{ &hf_lpp_bdsURAI_r12,
{ "bdsURAI-r12", "lpp.bdsURAI_r12",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_meters, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_bdsToe_r12,
{ "bdsToe-r12", "lpp.bdsToe_r12",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_bdsToc_Toe_r12_fmt), 0,
"INTEGER_0_131071", HFILL }},
{ &hf_lpp_bdsAPowerHalf_r12,
{ "bdsAPowerHalf-r12", "lpp.bdsAPowerHalf_r12",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAPowerHalf_r12_fmt), 0,
"INTEGER_0_4294967295", HFILL }},
{ &hf_lpp_bdsE_r12,
{ "bdsE-r12", "lpp.bdsE_r12",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_bdsE_r12_fmt), 0,
"INTEGER_0_4294967295", HFILL }},
{ &hf_lpp_bdsW_r12,
{ "bdsW-r12", "lpp.bdsW_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsW_M0_Omega0_I0_r12_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_bdsDeltaN_r12,
{ "bdsDeltaN-r12", "lpp.bdsDeltaN_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsDeltaN_OmegaDot_IDot_r12_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_bdsM0_r12,
{ "bdsM0-r12", "lpp.bdsM0_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsW_M0_Omega0_I0_r12_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_bdsOmega0_r12,
{ "bdsOmega0-r12", "lpp.bdsOmega0_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsW_M0_Omega0_I0_r12_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_bdsOmegaDot_r12,
{ "bdsOmegaDot-r12", "lpp.bdsOmegaDot_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsDeltaN_OmegaDot_IDot_r12_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_bdsI0_r12,
{ "bdsI0-r12", "lpp.bdsI0_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsW_M0_Omega0_I0_r12_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_bdsIDot_r12,
{ "bdsIDot-r12", "lpp.bdsIDot_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsDeltaN_OmegaDot_IDot_r12_fmt), 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_bdsCuc_r12,
{ "bdsCuc-r12", "lpp.bdsCuc_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsCuc_Cus_Cic_Cis_r12_fmt), 0,
"INTEGER_M131072_131071", HFILL }},
{ &hf_lpp_bdsCus_r12,
{ "bdsCus-r12", "lpp.bdsCus_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsCuc_Cus_Cic_Cis_r12_fmt), 0,
"INTEGER_M131072_131071", HFILL }},
{ &hf_lpp_bdsCrc_r12,
{ "bdsCrc-r12", "lpp.bdsCrc_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsCrc_Crs_r12_fmt), 0,
"INTEGER_M131072_131071", HFILL }},
{ &hf_lpp_bdsCrs_r12,
{ "bdsCrs-r12", "lpp.bdsCrs_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsCrc_Crs_r12_fmt), 0,
"INTEGER_M131072_131071", HFILL }},
{ &hf_lpp_bdsCic_r12,
{ "bdsCic-r12", "lpp.bdsCic_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsCuc_Cus_Cic_Cis_r12_fmt), 0,
"INTEGER_M131072_131071", HFILL }},
{ &hf_lpp_bdsCis_r12,
{ "bdsCis-r12", "lpp.bdsCis_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsCuc_Cus_Cic_Cis_r12_fmt), 0,
"INTEGER_M131072_131071", HFILL }},
{ &hf_lpp_bdsIODE_r16,
{ "bdsIODE-r16", "lpp.bdsIODE_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_bdsToe_r16,
{ "bdsToe-r16", "lpp.bdsToe_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_2047", HFILL }},
{ &hf_lpp_bdsDeltaA_r16,
{ "bdsDeltaA-r16", "lpp.bdsDeltaA_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M33554432_33554431", HFILL }},
{ &hf_lpp_bdsAdot_r16,
{ "bdsAdot-r16", "lpp.bdsAdot_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M16777216_16777216", HFILL }},
{ &hf_lpp_bdsDeltaN0_r16,
{ "bdsDeltaN0-r16", "lpp.bdsDeltaN0_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M65536_65535", HFILL }},
{ &hf_lpp_bdsDeltaN0dot_r16,
{ "bdsDeltaN0dot-r16", "lpp.bdsDeltaN0dot_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M4194304_4194303", HFILL }},
{ &hf_lpp_bdsM0_r16,
{ "bdsM0-r16", "lpp.bdsM0_r16",
FT_INT64, BASE_DEC, NULL, 0,
"INTEGER_M4294967296_4294967295", HFILL }},
{ &hf_lpp_bdsE_r16,
{ "bdsE-r16", "lpp.bdsE_r16",
FT_UINT64, BASE_DEC, NULL, 0,
"INTEGER_0_8589934591", HFILL }},
{ &hf_lpp_bdsOmega_r16,
{ "bdsOmega-r16", "lpp.bdsOmega_r16",
FT_INT64, BASE_DEC, NULL, 0,
"INTEGER_M4294967296_4294967295", HFILL }},
{ &hf_lpp_bdsOmega0_r16,
{ "bdsOmega0-r16", "lpp.bdsOmega0_r16",
FT_INT64, BASE_DEC, NULL, 0,
"INTEGER_M4294967296_4294967295", HFILL }},
{ &hf_lpp_bdsI0_r16,
{ "bdsI0-r16", "lpp.bdsI0_r16",
FT_INT64, BASE_DEC, NULL, 0,
"INTEGER_M4294967296_4294967295", HFILL }},
{ &hf_lpp_bdsOmegaDot_r16,
{ "bdsOmegaDot-r16", "lpp.bdsOmegaDot_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M262144_262143", HFILL }},
{ &hf_lpp_bdsI0Dot_r16,
{ "bdsI0Dot-r16", "lpp.bdsI0Dot_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M16384_16383", HFILL }},
{ &hf_lpp_bdsCuc_r16,
{ "bdsCuc-r16", "lpp.bdsCuc_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M1048576_1048575", HFILL }},
{ &hf_lpp_bdsCus_r16,
{ "bdsCus-r16", "lpp.bdsCus_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M1048576_1048575", HFILL }},
{ &hf_lpp_bdsCrc_r16,
{ "bdsCrc-r16", "lpp.bdsCrc_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_bdsCrs_r16,
{ "bdsCrs-r16", "lpp.bdsCrs_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_bdsCic_r16,
{ "bdsCic-r16", "lpp.bdsCic_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_bdsCis_r16,
{ "bdsCis-r16", "lpp.bdsCis_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navic_Toe_r16,
{ "navic-Toe-r16", "lpp.navic_Toe_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65536", HFILL }},
{ &hf_lpp_navic_URAI_r16,
{ "navic-URAI-r16", "lpp.navic_URAI_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_navic_W_r16,
{ "navic-W-r16", "lpp.navic_W_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_navic_DeltaN_r16,
{ "navic-DeltaN-r16", "lpp.navic_DeltaN_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2097152_2097151", HFILL }},
{ &hf_lpp_navic_M0_r16,
{ "navic-M0-r16", "lpp.navic_M0_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_navic_OmegaDot_r16,
{ "navic-OmegaDot-r16", "lpp.navic_OmegaDot_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_navic_E_r16,
{ "navic-E-r16", "lpp.navic_E_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4294967295", HFILL }},
{ &hf_lpp_navic_IDot_r16,
{ "navic-IDot-r16", "lpp.navic_IDot_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_navic_APowerHalf_r16,
{ "navic-APowerHalf-r16", "lpp.navic_APowerHalf_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4294967295", HFILL }},
{ &hf_lpp_navic_I0_r16,
{ "navic-I0-r16", "lpp.navic_I0_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_navic_Omega0_r16,
{ "navic-Omega0-r16", "lpp.navic_Omega0_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_navic_Crs_r16,
{ "navic-Crs-r16", "lpp.navic_Crs_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navic_Cis_r16,
{ "navic-Cis-r16", "lpp.navic_Cis_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navic_Cus_r16,
{ "navic-Cus-r16", "lpp.navic_Cus_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navic_Crc_r16,
{ "navic-Crc-r16", "lpp.navic_Crc_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navic_Cic_r16,
{ "navic-Cic-r16", "lpp.navic_Cic_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navic_Cuc_r16,
{ "navic-Cuc-r16", "lpp.navic_Cuc_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_gnss_BadSignalList,
{ "gnss-BadSignalList", "lpp.gnss_BadSignalList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_BadSignalList_item,
{ "BadSignalElement", "lpp.BadSignalElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_badSVID,
{ "badSVID", "lpp.badSVID_element",
FT_NONE, BASE_NONE, NULL, 0,
"SV_ID", HFILL }},
{ &hf_lpp_badSignalID,
{ "badSignalID", "lpp.badSignalID_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_gnss_TOD,
{ "gnss-TOD", "lpp.gnss_TOD",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_0_3599", HFILL }},
{ &hf_lpp_gnss_TODfrac,
{ "gnss-TODfrac", "lpp.gnss_TODfrac",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
"INTEGER_0_999", HFILL }},
{ &hf_lpp_gnss_DataBitsSatList,
{ "gnss-DataBitsSatList", "lpp.gnss_DataBitsSatList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_DataBitsSatList_item,
{ "GNSS-DataBitsSatElement", "lpp.GNSS_DataBitsSatElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_DataBitsSgnList,
{ "gnss-DataBitsSgnList", "lpp.gnss_DataBitsSgnList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_DataBitsSgnList_item,
{ "GNSS-DataBitsSgnElement", "lpp.GNSS_DataBitsSgnElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SignalType,
{ "gnss-SignalType", "lpp.gnss_SignalType_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalID", HFILL }},
{ &hf_lpp_gnss_DataBits,
{ "gnss-DataBits", "lpp.gnss_DataBits",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_1_1024", HFILL }},
{ &hf_lpp_gnss_AcquisitionAssistList,
{ "gnss-AcquisitionAssistList", "lpp.gnss_AcquisitionAssistList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_confidence_r10,
{ "confidence-r10", "lpp.confidence_r10",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_confidence_fmt), 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_GNSS_AcquisitionAssistList_item,
{ "GNSS-AcquisitionAssistElement", "lpp.GNSS_AcquisitionAssistElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_doppler0,
{ "doppler0", "lpp.doppler0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_doppler0_fmt), 0,
"INTEGER_M2048_2047", HFILL }},
{ &hf_lpp_doppler1,
{ "doppler1", "lpp.doppler1",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_doppler1_fmt), 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_dopplerUncertainty,
{ "dopplerUncertainty", "lpp.dopplerUncertainty",
FT_UINT32, BASE_DEC, VALS(lpp_dopplerUncertainty_vals), 0,
"INTEGER_0_4", HFILL }},
{ &hf_lpp_codePhase,
{ "codePhase", "lpp.codePhase",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_codePhase_fmt), 0,
"INTEGER_0_1022", HFILL }},
{ &hf_lpp_intCodePhase,
{ "intCodePhase", "lpp.intCodePhase",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_codePhaseSearchWindow,
{ "codePhaseSearchWindow", "lpp.codePhaseSearchWindow",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &lpp_codePhaseSearchWindow_vals_ext, 0,
"INTEGER_0_31", HFILL }},
{ &hf_lpp_azimuth,
{ "azimuth", "lpp.azimuth",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_azimuth_elevation_fmt), 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_elevation,
{ "elevation", "lpp.elevation",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_azimuth_elevation_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_codePhase1023,
{ "codePhase1023", "lpp.codePhase1023",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_dopplerUncertaintyExt_r10,
{ "dopplerUncertaintyExt-r10", "lpp.dopplerUncertaintyExt_r10",
FT_UINT32, BASE_DEC, VALS(lpp_T_dopplerUncertaintyExt_r10_vals), 0,
"T_dopplerUncertaintyExt_r10", HFILL }},
{ &hf_lpp_weekNumber_01,
{ "weekNumber", "lpp.weekNumber",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_toa,
{ "toa", "lpp.toa",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ioda,
{ "ioda", "lpp.ioda",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_completeAlmanacProvided,
{ "completeAlmanacProvided", "lpp.completeAlmanacProvided",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_gnss_AlmanacList,
{ "gnss-AlmanacList", "lpp.gnss_AlmanacList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_toa_ext_v1240,
{ "toa-ext-v1240", "lpp.toa_ext_v1240",
FT_UINT32, BASE_DEC, NULL, 0,
"T_toa_ext_v1240", HFILL }},
{ &hf_lpp_ioda_ext_v1240,
{ "ioda-ext-v1240", "lpp.ioda_ext_v1240",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_4_15", HFILL }},
{ &hf_lpp_weekNumber_ext_r16,
{ "weekNumber-ext-r16", "lpp.weekNumber_ext_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_256_8191", HFILL }},
{ &hf_lpp_toa_ext2_r16,
{ "toa-ext2-r16", "lpp.toa_ext2_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_256_65535", HFILL }},
{ &hf_lpp_GNSS_AlmanacList_item,
{ "GNSS-AlmanacElement", "lpp.GNSS_AlmanacElement",
FT_UINT32, BASE_DEC, VALS(lpp_GNSS_AlmanacElement_vals), 0,
NULL, HFILL }},
{ &hf_lpp_keplerianAlmanacSet,
{ "keplerianAlmanacSet", "lpp.keplerianAlmanacSet_element",
FT_NONE, BASE_NONE, NULL, 0,
"AlmanacKeplerianSet", HFILL }},
{ &hf_lpp_keplerianNAV_Almanac,
{ "keplerianNAV-Almanac", "lpp.keplerianNAV_Almanac_element",
FT_NONE, BASE_NONE, NULL, 0,
"AlmanacNAV_KeplerianSet", HFILL }},
{ &hf_lpp_keplerianReducedAlmanac,
{ "keplerianReducedAlmanac", "lpp.keplerianReducedAlmanac_element",
FT_NONE, BASE_NONE, NULL, 0,
"AlmanacReducedKeplerianSet", HFILL }},
{ &hf_lpp_keplerianMidiAlmanac,
{ "keplerianMidiAlmanac", "lpp.keplerianMidiAlmanac_element",
FT_NONE, BASE_NONE, NULL, 0,
"AlmanacMidiAlmanacSet", HFILL }},
{ &hf_lpp_keplerianGLONASS,
{ "keplerianGLONASS", "lpp.keplerianGLONASS_element",
FT_NONE, BASE_NONE, NULL, 0,
"AlmanacGLONASS_AlmanacSet", HFILL }},
{ &hf_lpp_ecef_SBAS_Almanac,
{ "ecef-SBAS-Almanac", "lpp.ecef_SBAS_Almanac_element",
FT_NONE, BASE_NONE, NULL, 0,
"AlmanacECEF_SBAS_AlmanacSet", HFILL }},
{ &hf_lpp_keplerianBDS_Almanac_r12,
{ "keplerianBDS-Almanac-r12", "lpp.keplerianBDS_Almanac_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
"AlmanacBDS_AlmanacSet_r12", HFILL }},
{ &hf_lpp_keplerianNavIC_Almanac_r16,
{ "keplerianNavIC-Almanac-r16", "lpp.keplerianNavIC_Almanac_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"AlmanacNavIC_AlmanacSet_r16", HFILL }},
{ &hf_lpp_kepAlmanacE,
{ "kepAlmanacE", "lpp.kepAlmanacE",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_kepAlmanacE_fmt), 0,
"INTEGER_0_2047", HFILL }},
{ &hf_lpp_kepAlmanacDeltaI,
{ "kepAlmanacDeltaI", "lpp.kepAlmanacDeltaI",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_kepAlmanacDeltaI_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_kepAlmanacOmegaDot,
{ "kepAlmanacOmegaDot", "lpp.kepAlmanacOmegaDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_kepAlmanacOmegaDot_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_kepSV_StatusINAV,
{ "kepSV-StatusINAV", "lpp.kepSV_StatusINAV",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_kepSV_StatusFNAV,
{ "kepSV-StatusFNAV", "lpp.kepSV_StatusFNAV",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_kepAlmanacAPowerHalf,
{ "kepAlmanacAPowerHalf", "lpp.kepAlmanacAPowerHalf",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_kepAlmanacAPowerHalf_fmt), 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_kepAlmanacOmega0,
{ "kepAlmanacOmega0", "lpp.kepAlmanacOmega0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_kepAlmanacOmega0_W_M0_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_kepAlmanacW,
{ "kepAlmanacW", "lpp.kepAlmanacW",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_kepAlmanacOmega0_W_M0_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_kepAlmanacM0,
{ "kepAlmanacM0", "lpp.kepAlmanacM0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_kepAlmanacOmega0_W_M0_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_kepAlmanacAF0,
{ "kepAlmanacAF0", "lpp.kepAlmanacAF0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_kepAlmanacAF0_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_kepAlmanacAF1,
{ "kepAlmanacAF1", "lpp.kepAlmanacAF1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_kepAlmanacAF1_fmt), 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_navAlmE,
{ "navAlmE", "lpp.navAlmE",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_navAlmE_fmt), 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_navAlmDeltaI,
{ "navAlmDeltaI", "lpp.navAlmDeltaI",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navAlmDeltaI_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navAlmOMEGADOT,
{ "navAlmOMEGADOT", "lpp.navAlmOMEGADOT",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navAlmOMEGADOT_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navAlmSVHealth,
{ "navAlmSVHealth", "lpp.navAlmSVHealth",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_navAlmSqrtA,
{ "navAlmSqrtA", "lpp.navAlmSqrtA",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_navAlmSqrtA_fmt), 0,
"INTEGER_0_16777215", HFILL }},
{ &hf_lpp_navAlmOMEGAo,
{ "navAlmOMEGAo", "lpp.navAlmOMEGAo",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navAlmOMEGAo_Omega_Mo_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_navAlmOmega,
{ "navAlmOmega", "lpp.navAlmOmega",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navAlmOMEGAo_Omega_Mo_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_navAlmMo,
{ "navAlmMo", "lpp.navAlmMo",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navAlmOMEGAo_Omega_Mo_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_navAlmaf0,
{ "navAlmaf0", "lpp.navAlmaf0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navAlmaf0_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_navAlmaf1,
{ "navAlmaf1", "lpp.navAlmaf1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_navAlmaf1_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_redAlmDeltaA,
{ "redAlmDeltaA", "lpp.redAlmDeltaA",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_redAlmDeltaA_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_redAlmOmega0,
{ "redAlmOmega0", "lpp.redAlmOmega0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_redAlmOmega0_Phi0_fmt), 0,
"INTEGER_M64_63", HFILL }},
{ &hf_lpp_redAlmPhi0,
{ "redAlmPhi0", "lpp.redAlmPhi0",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M64_63", HFILL }},
{ &hf_lpp_redAlmL1Health,
{ "redAlmL1Health", "lpp.redAlmL1Health",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_redAlmL2Health,
{ "redAlmL2Health", "lpp.redAlmL2Health",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_redAlmL5Health,
{ "redAlmL5Health", "lpp.redAlmL5Health",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_midiAlmE,
{ "midiAlmE", "lpp.midiAlmE",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_midiAlmE_fmt), 0,
"INTEGER_0_2047", HFILL }},
{ &hf_lpp_midiAlmDeltaI,
{ "midiAlmDeltaI", "lpp.midiAlmDeltaI",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_midiAlmDeltaI_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_midiAlmOmegaDot,
{ "midiAlmOmegaDot", "lpp.midiAlmOmegaDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_midiAlmOmegaDot_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_midiAlmSqrtA,
{ "midiAlmSqrtA", "lpp.midiAlmSqrtA",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_midiAlmSqrtA_fmt), 0,
"INTEGER_0_131071", HFILL }},
{ &hf_lpp_midiAlmOmega0,
{ "midiAlmOmega0", "lpp.midiAlmOmega0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_midiAlmOmega0_Omega_Mo_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_midiAlmOmega,
{ "midiAlmOmega", "lpp.midiAlmOmega",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_midiAlmOmega0_Omega_Mo_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_midiAlmMo,
{ "midiAlmMo", "lpp.midiAlmMo",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_midiAlmOmega0_Omega_Mo_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_midiAlmaf0,
{ "midiAlmaf0", "lpp.midiAlmaf0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_midiAlmaf0_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_midiAlmaf1,
{ "midiAlmaf1", "lpp.midiAlmaf1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_midiAlmaf1_fmt), 0,
"INTEGER_M512_511", HFILL }},
{ &hf_lpp_midiAlmL1Health,
{ "midiAlmL1Health", "lpp.midiAlmL1Health",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_midiAlmL2Health,
{ "midiAlmL2Health", "lpp.midiAlmL2Health",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_midiAlmL5Health,
{ "midiAlmL5Health", "lpp.midiAlmL5Health",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_gloAlm_NA,
{ "gloAlm-NA", "lpp.gloAlm_NA",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_day_days, 0,
"INTEGER_1_1461", HFILL }},
{ &hf_lpp_gloAlmnA,
{ "gloAlmnA", "lpp.gloAlmnA",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_24", HFILL }},
{ &hf_lpp_gloAlmHA,
{ "gloAlmHA", "lpp.gloAlmHA",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_31", HFILL }},
{ &hf_lpp_gloAlmLambdaA,
{ "gloAlmLambdaA", "lpp.gloAlmLambdaA",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloAlmLambdaA_DeltaIa_fmt), 0,
"INTEGER_M1048576_1048575", HFILL }},
{ &hf_lpp_gloAlmtlambdaA,
{ "gloAlmtlambdaA", "lpp.gloAlmtlambdaA",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_gloAlmtlambdaA_fmt), 0,
"INTEGER_0_2097151", HFILL }},
{ &hf_lpp_gloAlmDeltaIa,
{ "gloAlmDeltaIa", "lpp.gloAlmDeltaIa",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloAlmLambdaA_DeltaIa_fmt), 0,
"INTEGER_M131072_131071", HFILL }},
{ &hf_lpp_gloAlmDeltaTA,
{ "gloAlmDeltaTA", "lpp.gloAlmDeltaTA",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloAlmDeltaTA_fmt), 0,
"INTEGER_M2097152_2097151", HFILL }},
{ &hf_lpp_gloAlmDeltaTdotA,
{ "gloAlmDeltaTdotA", "lpp.gloAlmDeltaTdotA",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloAlmDeltaTdotA_fmt), 0,
"INTEGER_M64_63", HFILL }},
{ &hf_lpp_gloAlmEpsilonA,
{ "gloAlmEpsilonA", "lpp.gloAlmEpsilonA",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_gloAlmEpsilonA_fmt), 0,
"INTEGER_0_32767", HFILL }},
{ &hf_lpp_gloAlmOmegaA,
{ "gloAlmOmegaA", "lpp.gloAlmOmegaA",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloAlmOmegaA_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_gloAlmTauA,
{ "gloAlmTauA", "lpp.gloAlmTauA",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gloAlmTauA_fmt), 0,
"INTEGER_M512_511", HFILL }},
{ &hf_lpp_gloAlmCA,
{ "gloAlmCA", "lpp.gloAlmCA",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_lpp_gloAlmMA,
{ "gloAlmMA", "lpp.gloAlmMA",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_2", HFILL }},
{ &hf_lpp_sbasAlmDataID,
{ "sbasAlmDataID", "lpp.sbasAlmDataID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_sbasAlmHealth,
{ "sbasAlmHealth", "lpp.sbasAlmHealth",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_8", HFILL }},
{ &hf_lpp_sbasAlmXg,
{ "sbasAlmXg", "lpp.sbasAlmXg",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasAlmXg_Yg_fmt), 0,
"INTEGER_M16384_16383", HFILL }},
{ &hf_lpp_sbasAlmYg,
{ "sbasAlmYg", "lpp.sbasAlmYg",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasAlmXg_Yg_fmt), 0,
"INTEGER_M16384_16383", HFILL }},
{ &hf_lpp_sbasAlmZg,
{ "sbasAlmZg", "lpp.sbasAlmZg",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasAlmZg_fmt), 0,
"INTEGER_M256_255", HFILL }},
{ &hf_lpp_sbasAlmXgdot,
{ "sbasAlmXgdot", "lpp.sbasAlmXgdot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasAlmXgdot_YgDot_fmt), 0,
"INTEGER_M4_3", HFILL }},
{ &hf_lpp_sbasAlmYgDot,
{ "sbasAlmYgDot", "lpp.sbasAlmYgDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasAlmXgdot_YgDot_fmt), 0,
"INTEGER_M4_3", HFILL }},
{ &hf_lpp_sbasAlmZgDot,
{ "sbasAlmZgDot", "lpp.sbasAlmZgDot",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_sbasAlmZgDot_fmt), 0,
"INTEGER_M8_7", HFILL }},
{ &hf_lpp_sbasAlmTo,
{ "sbasAlmTo", "lpp.sbasAlmTo",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_sbasAlmTo_fmt), 0,
"INTEGER_0_2047", HFILL }},
{ &hf_lpp_bdsAlmToa_r12,
{ "bdsAlmToa-r12", "lpp.bdsAlmToa_r12",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAlmToa_r12_fmt), 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_bdsAlmSqrtA_r12,
{ "bdsAlmSqrtA-r12", "lpp.bdsAlmSqrtA_r12",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAlmSqrtA_r12_fmt), 0,
"INTEGER_0_16777215", HFILL }},
{ &hf_lpp_bdsAlmE_r12,
{ "bdsAlmE-r12", "lpp.bdsAlmE_r12",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAlmE_r12_fmt), 0,
"INTEGER_0_131071", HFILL }},
{ &hf_lpp_bdsAlmW_r12,
{ "bdsAlmW-r12", "lpp.bdsAlmW_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAlmW_M0_Omega0_r12_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_bdsAlmM0_r12,
{ "bdsAlmM0-r12", "lpp.bdsAlmM0_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAlmW_M0_Omega0_r12_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_bdsAlmOmega0_r12,
{ "bdsAlmOmega0-r12", "lpp.bdsAlmOmega0_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAlmW_M0_Omega0_r12_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_bdsAlmOmegaDot_r12,
{ "bdsAlmOmegaDot-r12", "lpp.bdsAlmOmegaDot_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAlmOmegaDot_r12_fmt), 0,
"INTEGER_M65536_65535", HFILL }},
{ &hf_lpp_bdsAlmDeltaI_r12,
{ "bdsAlmDeltaI-r12", "lpp.bdsAlmDeltaI_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAlmDeltaI_r12_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_bdsAlmA0_r12,
{ "bdsAlmA0-r12", "lpp.bdsAlmA0_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAlmA0_r12_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_bdsAlmA1_r12,
{ "bdsAlmA1-r12", "lpp.bdsAlmA1_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bdsAlmA1_r12_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_bdsSvHealth_r12,
{ "bdsSvHealth-r12", "lpp.bdsSvHealth_r12",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_svID_r16,
{ "svID-r16", "lpp.svID_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"SV_ID", HFILL }},
{ &hf_lpp_navic_AlmToa_r16,
{ "navic-AlmToa-r16", "lpp.navic_AlmToa_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_navic_AlmE_r16,
{ "navic-AlmE-r16", "lpp.navic_AlmE_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_navic_AlmOMEGADOT_r16,
{ "navic-AlmOMEGADOT-r16", "lpp.navic_AlmOMEGADOT_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navic_AlmSqrtA_r16,
{ "navic-AlmSqrtA-r16", "lpp.navic_AlmSqrtA_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_16777215", HFILL }},
{ &hf_lpp_navic_AlmOMEGAo_r16,
{ "navic-AlmOMEGAo-r16", "lpp.navic_AlmOMEGAo_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_navic_AlmOmega_r16,
{ "navic-AlmOmega-r16", "lpp.navic_AlmOmega_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_navic_AlmMo_r16,
{ "navic-AlmMo-r16", "lpp.navic_AlmMo_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_navic_Almaf0_r16,
{ "navic-Almaf0-r16", "lpp.navic_Almaf0_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_navic_Almaf1_r16,
{ "navic-Almaf1-r16", "lpp.navic_Almaf1_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_utcModel1,
{ "utcModel1", "lpp.utcModel1_element",
FT_NONE, BASE_NONE, NULL, 0,
"UTC_ModelSet1", HFILL }},
{ &hf_lpp_utcModel2,
{ "utcModel2", "lpp.utcModel2_element",
FT_NONE, BASE_NONE, NULL, 0,
"UTC_ModelSet2", HFILL }},
{ &hf_lpp_utcModel3,
{ "utcModel3", "lpp.utcModel3_element",
FT_NONE, BASE_NONE, NULL, 0,
"UTC_ModelSet3", HFILL }},
{ &hf_lpp_utcModel4,
{ "utcModel4", "lpp.utcModel4_element",
FT_NONE, BASE_NONE, NULL, 0,
"UTC_ModelSet4", HFILL }},
{ &hf_lpp_utcModel5_r12,
{ "utcModel5-r12", "lpp.utcModel5_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
"UTC_ModelSet5_r12", HFILL }},
{ &hf_lpp_gnss_Utc_A1,
{ "gnss-Utc-A1", "lpp.gnss_Utc_A1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gnss_Utc_A1_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_gnss_Utc_A0,
{ "gnss-Utc-A0", "lpp.gnss_Utc_A0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gnss_Utc_A0_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_gnss_Utc_Tot,
{ "gnss-Utc-Tot", "lpp.gnss_Utc_Tot",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_gnss_Utc_Tot_fmt), 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_gnss_Utc_WNt,
{ "gnss-Utc-WNt", "lpp.gnss_Utc_WNt",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_week_weeks, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_gnss_Utc_DeltaTls,
{ "gnss-Utc-DeltaTls", "lpp.gnss_Utc_DeltaTls",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_gnss_Utc_WNlsf,
{ "gnss-Utc-WNlsf", "lpp.gnss_Utc_WNlsf",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_week_weeks, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_gnss_Utc_DN,
{ "gnss-Utc-DN", "lpp.gnss_Utc_DN",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_day_days, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_gnss_Utc_DeltaTlsf,
{ "gnss-Utc-DeltaTlsf", "lpp.gnss_Utc_DeltaTlsf",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_utcA0,
{ "utcA0", "lpp.utcA0",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_tA0_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_utcA1,
{ "utcA1", "lpp.utcA1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_tA1_fmt), 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_utcA2,
{ "utcA2", "lpp.utcA2",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_tA2_fmt), 0,
"INTEGER_M64_63", HFILL }},
{ &hf_lpp_utcDeltaTls,
{ "utcDeltaTls", "lpp.utcDeltaTls",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_utcTot,
{ "utcTot", "lpp.utcTot",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_gnss_TimeModelRefTime_fmt), 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_utcWNot,
{ "utcWNot", "lpp.utcWNot",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_week_weeks, 0,
"INTEGER_0_8191", HFILL }},
{ &hf_lpp_utcWNlsf,
{ "utcWNlsf", "lpp.utcWNlsf",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_week_weeks, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_utcDN,
{ "utcDN", "lpp.utcDN",
FT_UINT8, BASE_DEC|BASE_UNIT_STRING, &units_day_days, 0,
NULL, HFILL }},
{ &hf_lpp_utcDeltaTlsf,
{ "utcDeltaTlsf", "lpp.utcDeltaTlsf",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_utcWNlsf_ext_r16,
{ "utcWNlsf-ext-r16", "lpp.utcWNlsf_ext_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_256_8191", HFILL }},
{ &hf_lpp_nA,
{ "nA", "lpp.nA",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_day_days, 0,
"INTEGER_1_1461", HFILL }},
{ &hf_lpp_tauC,
{ "tauC", "lpp.tauC",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_tauC_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_b1,
{ "b1", "lpp.b1",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_b1_fmt), 0,
"INTEGER_M1024_1023", HFILL }},
{ &hf_lpp_b2,
{ "b2", "lpp.b2",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_b2_fmt), 0,
"INTEGER_M512_511", HFILL }},
{ &hf_lpp_kp,
{ "kp", "lpp.kp",
FT_UINT8, BASE_DEC, VALS(lpp_kp_vals), 0,
NULL, HFILL }},
{ &hf_lpp_utcA1wnt,
{ "utcA1wnt", "lpp.utcA1wnt",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gnss_Utc_A1_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_utcA0wnt,
{ "utcA0wnt", "lpp.utcA0wnt",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gnss_Utc_A0_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_utcTot_01,
{ "utcTot", "lpp.utcTot",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_gnss_Utc_Tot_fmt), 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_utcWNt,
{ "utcWNt", "lpp.utcWNt",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_week_weeks, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_UTC_ModelSet4_utcDN,
{ "utcDN", "lpp.uTC-ModelSet4.utcDN",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_day_days, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_utcStandardID,
{ "utcStandardID", "lpp.utcStandardID",
FT_UINT8, BASE_DEC, VALS(lpp_utcStandardID_vals), 0,
"INTEGER_0_7", HFILL }},
{ &hf_lpp_utcA0_r12,
{ "utcA0-r12", "lpp.utcA0_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gnss_Utc_A0_fmt), 0,
"INTEGER_M2147483648_2147483647", HFILL }},
{ &hf_lpp_utcA1_r12,
{ "utcA1-r12", "lpp.utcA1_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_gnss_Utc_A1_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_utcDeltaTls_r12,
{ "utcDeltaTls-r12", "lpp.utcDeltaTls_r12",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_utcWNlsf_r12,
{ "utcWNlsf-r12", "lpp.utcWNlsf_r12",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_week_weeks, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_utcDN_r12,
{ "utcDN-r12", "lpp.utcDN_r12",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_day_days, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_utcDeltaTlsf_r12,
{ "utcDeltaTlsf-r12", "lpp.utcDeltaTlsf_r12",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_gnss_ID_GPS,
{ "gnss-ID-GPS", "lpp.gnss_ID_GPS",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_ID_GLONASS,
{ "gnss-ID-GLONASS", "lpp.gnss_ID_GLONASS",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_ID_BDS_r16,
{ "gnss-ID-BDS-r16", "lpp.gnss_ID_BDS_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_ID_GPS_item,
{ "GNSS-ID-GPS-SatElement", "lpp.GNSS_ID_GPS_SatElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_signalsAvailable,
{ "signalsAvailable", "lpp.signalsAvailable_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_GNSS_ID_GLONASS_item,
{ "GNSS-ID-GLONASS-SatElement", "lpp.GNSS_ID_GLONASS_SatElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_channelNumber,
{ "channelNumber", "lpp.channelNumber",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M7_13", HFILL }},
{ &hf_lpp_GNSS_ID_BDS_r16_item,
{ "GNSS-ID-BDS-SatElement-r16", "lpp.GNSS_ID_BDS_SatElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_satType_r16,
{ "satType-r16", "lpp.satType_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_dbds_RefTime_r12,
{ "dbds-RefTime-r12", "lpp.dbds_RefTime_r12",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_0_3599", HFILL }},
{ &hf_lpp_bds_SgnTypeList_r12,
{ "bds-SgnTypeList-r12", "lpp.bds_SgnTypeList_r12",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_BDS_SgnTypeList_r12_item,
{ "BDS-SgnTypeElement-r12", "lpp.BDS_SgnTypeElement_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dbds_CorrectionList_r12,
{ "dbds-CorrectionList-r12", "lpp.dbds_CorrectionList_r12",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_DBDS_CorrectionList_r12_item,
{ "DBDS-CorrectionElement-r12", "lpp.DBDS_CorrectionElement_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bds_UDREI_r12,
{ "bds-UDREI-r12", "lpp.bds_UDREI_r12",
FT_UINT8, BASE_DEC|BASE_EXT_STRING, &lpp_bds_UDREI_vals_ext, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_bds_RURAI_r12,
{ "bds-RURAI-r12", "lpp.bds_RURAI_r12",
FT_UINT8, BASE_DEC|BASE_EXT_STRING, &lpp_bds_RURAI_vals_ext, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_bds_ECC_DeltaT_r12,
{ "bds-ECC-DeltaT-r12", "lpp.bds_ECC_DeltaT_r12",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_bds_ECC_DeltaT_r12_fmt), 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_bds_RefTime_r12,
{ "bds-RefTime-r12", "lpp.bds_RefTime_r12",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_0_3599", HFILL }},
{ &hf_lpp_gridIonList_r12,
{ "gridIonList-r12", "lpp.gridIonList_r12",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GridIonList_r12_item,
{ "GridIonElement-r12", "lpp.GridIonElement_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_igp_ID_r12,
{ "igp-ID-r12", "lpp.igp_ID_r12",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_320", HFILL }},
{ &hf_lpp_dt_r12,
{ "dt-r12", "lpp.dt_r12",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_bds_GridIonElement_dt_r12_fmt), 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei_r12,
{ "givei-r12", "lpp.givei_r12",
FT_UINT8, BASE_DEC|BASE_EXT_STRING, &lpp_bds_givei_vals_ext, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_epochTime_r15,
{ "epochTime-r15", "lpp.epochTime_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SystemTime", HFILL }},
{ &hf_lpp_gnss_ObservationList_r15,
{ "gnss-ObservationList-r15", "lpp.gnss_ObservationList_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_ObservationList_r15_item,
{ "GNSS-RTK-SatelliteDataElement-r15", "lpp.GNSS_RTK_SatelliteDataElement_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_svID_r15,
{ "svID-r15", "lpp.svID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"SV_ID", HFILL }},
{ &hf_lpp_integer_ms_r15,
{ "integer-ms-r15", "lpp.integer_ms_r15",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
"INTEGER_0_254", HFILL }},
{ &hf_lpp_rough_range_r15,
{ "rough-range-r15", "lpp.rough_range_r15",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_rough_phase_range_rate_r15,
{ "rough-phase-range-rate-r15", "lpp.rough_phase_range_rate_r15",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_meter_sec, 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_gnss_rtk_SatelliteSignalDataList_r15,
{ "gnss-rtk-SatelliteSignalDataList-r15", "lpp.gnss_rtk_SatelliteSignalDataList_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_RTK_SatelliteSignalDataList_r15_item,
{ "GNSS-RTK-SatelliteSignalDataElement-r15", "lpp.GNSS_RTK_SatelliteSignalDataElement_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SignalID_r15,
{ "gnss-SignalID-r15", "lpp.gnss_SignalID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalID", HFILL }},
{ &hf_lpp_fine_PseudoRange_r15,
{ "fine-PseudoRange-r15", "lpp.fine_PseudoRange_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_fine_PseudoRange_r15_fmt), 0,
"INTEGER_M524288_524287", HFILL }},
{ &hf_lpp_fine_PhaseRange_r15,
{ "fine-PhaseRange-r15", "lpp.fine_PhaseRange_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_fine_PhaseRange_r15_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_lpp_lockTimeIndicator_r15,
{ "lockTimeIndicator-r15", "lpp.lockTimeIndicator_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_halfCycleAmbiguityIndicator_r15,
{ "halfCycleAmbiguityIndicator-r15", "lpp.halfCycleAmbiguityIndicator_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_1", HFILL }},
{ &hf_lpp_carrier_to_noise_ratio_r15,
{ "carrier-to-noise-ratio-r15", "lpp.carrier_to_noise_ratio_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_carrier_to_noise_ratio_r15_fmt), 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_fine_PhaseRangeRate_r15,
{ "fine-PhaseRangeRate-r15", "lpp.fine_PhaseRangeRate_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_fine_PhaseRangeRate_r15_fmt), 0,
"INTEGER_M16384_16383", HFILL }},
{ &hf_lpp_cpbIndicator_r15,
{ "cpbIndicator-r15", "lpp.cpbIndicator_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_1", HFILL }},
{ &hf_lpp_l1_ca_cpBias_r15,
{ "l1-ca-cpBias-r15", "lpp.l1_ca_cpBias_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cpBias_r15_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_l1_p_cpBias_r15,
{ "l1-p-cpBias-r15", "lpp.l1_p_cpBias_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cpBias_r15_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_l2_ca_cpBias_r15,
{ "l2-ca-cpBias-r15", "lpp.l2_ca_cpBias_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cpBias_r15_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_l2_p_cpBias_r15,
{ "l2-p-cpBias-r15", "lpp.l2_p_cpBias_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_cpBias_r15_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_master_ReferenceStationID_r15,
{ "master-ReferenceStationID-r15", "lpp.master_ReferenceStationID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_ReferenceStationID_r15", HFILL }},
{ &hf_lpp_l1_r15,
{ "l1-r15", "lpp.l1_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_FrequencyID_r15", HFILL }},
{ &hf_lpp_l2_r15,
{ "l2-r15", "lpp.l2_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_FrequencyID_r15", HFILL }},
{ &hf_lpp_rtkCorrectionDifferencesList_r15,
{ "rtkCorrectionDifferencesList-r15", "lpp.rtkCorrectionDifferencesList_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"RTK_CorrectionDifferencesList_r15", HFILL }},
{ &hf_lpp_RTK_CorrectionDifferencesList_r15_item,
{ "RTK-CorrectionDifferencesElement-r15", "lpp.RTK_CorrectionDifferencesElement_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_auxiliary_referenceStationID_r15,
{ "auxiliary-referenceStationID-r15", "lpp.auxiliary_referenceStationID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_ReferenceStationID_r15", HFILL }},
{ &hf_lpp_geometric_ionospheric_corrections_differences_r15,
{ "geometric-ionospheric-corrections-differences-r15", "lpp.geometric_ionospheric_corrections_differences_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_Geometric_Ionospheric_Corrections_Differences_r15_item,
{ "Geometric-Ionospheric-Corrections-Differences-Element-r15", "lpp.Geometric_Ionospheric_Corrections_Differences_Element_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ambiguityStatusFlag_r15,
{ "ambiguityStatusFlag-r15", "lpp.ambiguityStatusFlag_r15",
FT_UINT8, BASE_DEC, VALS(lpp_ambiguityStatusFlag_r15_vals), 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_non_synch_count_r15,
{ "non-synch-count-r15", "lpp.non_synch_count_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_7", HFILL }},
{ &hf_lpp_geometricCarrierPhaseCorrectionDifference_r15,
{ "geometricCarrierPhaseCorrectionDifference-r15", "lpp.geometricCarrierPhaseCorrectionDifference_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_1_2000m_fmt), 0,
"INTEGER_M65536_65535", HFILL }},
{ &hf_lpp_iod_r15,
{ "iod-r15", "lpp.iod_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_11", HFILL }},
{ &hf_lpp_ionosphericCarrierPhaseCorrectionDifference_r15,
{ "ionosphericCarrierPhaseCorrectionDifference-r15", "lpp.ionosphericCarrierPhaseCorrectionDifference_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_1_2000m_fmt), 0,
"INTEGER_M65536_65535", HFILL }},
{ &hf_lpp_n_Refs_r15,
{ "n-Refs-r15", "lpp.n_Refs_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_rtk_residuals_list_r15,
{ "rtk-residuals-list-r15", "lpp.rtk_residuals_list_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_RTK_Residuals_List_r15_item,
{ "RTK-Residuals-Element-r15", "lpp.RTK_Residuals_Element_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_s_oc_r15,
{ "s-oc-r15", "lpp.s_oc_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_1_2000m_fmt), 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_s_od_r15,
{ "s-od-r15", "lpp.s_od_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_1_100ppm_fmt), 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_s_oh_r15,
{ "s-oh-r15", "lpp.s_oh_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_1_10ppm_fmt), 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_s_lc_r15,
{ "s-lc-r15", "lpp.s_lc_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_1_2000m_fmt), 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_s_ld_r15,
{ "s-ld-r15", "lpp.s_ld_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_fkp_gradients_list_r15,
{ "fkp-gradients-list-r15", "lpp.fkp_gradients_list_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_FKP_Gradients_List_r15_item,
{ "FKP-Gradients-Element-r15", "lpp.FKP_Gradients_Element_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_north_geometric_gradient_r15,
{ "north-geometric-gradient-r15", "lpp.north_geometric_gradient_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_1_100ppm_fmt), 0,
"INTEGER_M2048_2047", HFILL }},
{ &hf_lpp_east_geometric_gradient_r15,
{ "east-geometric-gradient-r15", "lpp.east_geometric_gradient_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_1_100ppm_fmt), 0,
"INTEGER_M2048_2047", HFILL }},
{ &hf_lpp_north_ionospheric_gradient_r15,
{ "north-ionospheric-gradient-r15", "lpp.north_ionospheric_gradient_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_1_100ppm_fmt), 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_east_ionospheric_gradient_r15,
{ "east-ionospheric-gradient-r15", "lpp.east_ionospheric_gradient_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_1_100ppm_fmt), 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_ssrUpdateInterval_r15,
{ "ssrUpdateInterval-r15", "lpp.ssrUpdateInterval_r15",
FT_UINT8, BASE_DEC, VALS(lpp_ssrUpdateInterval_r15_vals), 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_satelliteReferenceDatum_r15,
{ "satelliteReferenceDatum-r15", "lpp.satelliteReferenceDatum_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_satelliteReferenceDatum_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_iod_ssr_r15,
{ "iod-ssr-r15", "lpp.iod_ssr_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_ssr_OrbitCorrectionList_r15,
{ "ssr-OrbitCorrectionList-r15", "lpp.ssr_OrbitCorrectionList_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_SSR_OrbitCorrectionList_r15_item,
{ "SSR-OrbitCorrectionSatelliteElement-r15", "lpp.SSR_OrbitCorrectionSatelliteElement_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_delta_radial_r15,
{ "delta-radial-r15", "lpp.delta_radial_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_1_10000m_fmt), 0,
"INTEGER_M2097152_2097151", HFILL }},
{ &hf_lpp_delta_AlongTrack_r15,
{ "delta-AlongTrack-r15", "lpp.delta_AlongTrack_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_4_10000m_fmt), 0,
"INTEGER_M524288_524287", HFILL }},
{ &hf_lpp_delta_CrossTrack_r15,
{ "delta-CrossTrack-r15", "lpp.delta_CrossTrack_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_4_10000m_fmt), 0,
"INTEGER_M524288_524287", HFILL }},
{ &hf_lpp_dot_delta_radial_r15,
{ "dot-delta-radial-r15", "lpp.dot_delta_radial_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_1_1000000m_s_fmt), 0,
"INTEGER_M1048576_1048575", HFILL }},
{ &hf_lpp_dot_delta_AlongTrack_r15,
{ "dot-delta-AlongTrack-r15", "lpp.dot_delta_AlongTrack_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_4_1000000m_s_fmt), 0,
"INTEGER_M262144_262143", HFILL }},
{ &hf_lpp_dot_delta_CrossTrack_r15,
{ "dot-delta-CrossTrack-r15", "lpp.dot_delta_CrossTrack_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_4_1000000m_s_fmt), 0,
"INTEGER_M262144_262143", HFILL }},
{ &hf_lpp_ssr_ClockCorrectionList_r15,
{ "ssr-ClockCorrectionList-r15", "lpp.ssr_ClockCorrectionList_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_SSR_ClockCorrectionList_r15_item,
{ "SSR-ClockCorrectionSatelliteElement-r15", "lpp.SSR_ClockCorrectionSatelliteElement_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_delta_Clock_C0_r15,
{ "delta-Clock-C0-r15", "lpp.delta_Clock_C0_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_1_10000m_fmt), 0,
"INTEGER_M2097152_2097151", HFILL }},
{ &hf_lpp_delta_Clock_C1_r15,
{ "delta-Clock-C1-r15", "lpp.delta_Clock_C1_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_1_1000000m_s_fmt), 0,
"INTEGER_M1048576_1048575", HFILL }},
{ &hf_lpp_delta_Clock_C2_r15,
{ "delta-Clock-C2-r15", "lpp.delta_Clock_C2_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_2_100000000m_s2_fmt), 0,
"INTEGER_M67108864_67108863", HFILL }},
{ &hf_lpp_ssr_CodeBiasSatList_r15,
{ "ssr-CodeBiasSatList-r15", "lpp.ssr_CodeBiasSatList_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_SSR_CodeBiasSatList_r15_item,
{ "SSR-CodeBiasSatElement-r15", "lpp.SSR_CodeBiasSatElement_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ssr_CodeBiasSignalList_r15,
{ "ssr-CodeBiasSignalList-r15", "lpp.ssr_CodeBiasSignalList_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_SSR_CodeBiasSignalList_r15_item,
{ "SSR-CodeBiasSignalElement-r15", "lpp.SSR_CodeBiasSignalElement_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_signal_and_tracking_mode_ID_r15,
{ "signal-and-tracking-mode-ID-r15", "lpp.signal_and_tracking_mode_ID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalID", HFILL }},
{ &hf_lpp_codeBias_r15,
{ "codeBias-r15", "lpp.codeBias_r15",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_1_100000m_fmt), 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_epochTime_r16,
{ "epochTime-r16", "lpp.epochTime_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SystemTime", HFILL }},
{ &hf_lpp_ssrUpdateInterval_r16,
{ "ssrUpdateInterval-r16", "lpp.ssrUpdateInterval_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_iod_ssr_r16,
{ "iod-ssr-r16", "lpp.iod_ssr_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_ssr_URA_SatList_r16,
{ "ssr-URA-SatList-r16", "lpp.ssr_URA_SatList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_SSR_URA_SatList_r16_item,
{ "SSR-URA-SatElement-r16", "lpp.SSR_URA_SatElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ssr_URA_r16,
{ "ssr-URA-r16", "lpp.ssr_URA_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_6", HFILL }},
{ &hf_lpp_ssr_PhaseBiasSatList_r16,
{ "ssr-PhaseBiasSatList-r16", "lpp.ssr_PhaseBiasSatList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_SSR_PhaseBiasSatList_r16_item,
{ "SSR-PhaseBiasSatElement-r16", "lpp.SSR_PhaseBiasSatElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ssr_PhaseBiasSignalList_r16,
{ "ssr-PhaseBiasSignalList-r16", "lpp.ssr_PhaseBiasSignalList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_SSR_PhaseBiasSignalList_r16_item,
{ "SSR-PhaseBiasSignalElement-r16", "lpp.SSR_PhaseBiasSignalElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_signal_and_tracking_mode_ID_r16,
{ "signal-and-tracking-mode-ID-r16", "lpp.signal_and_tracking_mode_ID_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalID", HFILL }},
{ &hf_lpp_phaseBias_r16,
{ "phaseBias-r16", "lpp.phaseBias_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M16384_16383", HFILL }},
{ &hf_lpp_phaseDiscontinuityIndicator_r16,
{ "phaseDiscontinuityIndicator-r16", "lpp.phaseDiscontinuityIndicator_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_phaseBiasIntegerIndicator_r16,
{ "phaseBiasIntegerIndicator-r16", "lpp.phaseBiasIntegerIndicator_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_stec_SatList_r16,
{ "stec-SatList-r16", "lpp.stec_SatList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_STEC_SatList_r16_item,
{ "STEC-SatElement-r16", "lpp.STEC_SatElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_stecQualityIndicator_r16,
{ "stecQualityIndicator-r16", "lpp.stecQualityIndicator_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_6", HFILL }},
{ &hf_lpp_stec_C00_r16,
{ "stec-C00-r16", "lpp.stec_C00_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_stec_C01_r16,
{ "stec-C01-r16", "lpp.stec_C01_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2048_2047", HFILL }},
{ &hf_lpp_stec_C10_r16,
{ "stec-C10-r16", "lpp.stec_C10_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2048_2047", HFILL }},
{ &hf_lpp_stec_C11_r16,
{ "stec-C11-r16", "lpp.stec_C11_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M512_511", HFILL }},
{ &hf_lpp_troposphericDelayQualityIndicator_r16,
{ "troposphericDelayQualityIndicator-r16", "lpp.troposphericDelayQualityIndicator_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_6", HFILL }},
{ &hf_lpp_gridList_r16,
{ "gridList-r16", "lpp.gridList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GridList_r16_item,
{ "GridElement-r16", "lpp.GridElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tropospericDelayCorrection_r16,
{ "tropospericDelayCorrection-r16", "lpp.tropospericDelayCorrection_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_stec_ResidualSatList_r16,
{ "stec-ResidualSatList-r16", "lpp.stec_ResidualSatList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tropoHydroStaticVerticalDelay_r16,
{ "tropoHydroStaticVerticalDelay-r16", "lpp.tropoHydroStaticVerticalDelay_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M256_255", HFILL }},
{ &hf_lpp_tropoWetVerticalDelay_r16,
{ "tropoWetVerticalDelay-r16", "lpp.tropoWetVerticalDelay_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_STEC_ResidualSatList_r16_item,
{ "STEC-ResidualSatElement-r16", "lpp.STEC_ResidualSatElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_stecResidualCorrection_r16,
{ "stecResidualCorrection-r16", "lpp.stecResidualCorrection_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_stecResidualCorrection_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_b7_r16,
{ "b7-r16", "lpp.b7_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M64_63", HFILL }},
{ &hf_lpp_b16_r16,
{ "b16-r16", "lpp.b16_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_navic_RefTOWC_r16,
{ "navic-RefTOWC-r16", "lpp.navic_RefTOWC_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_50400", HFILL }},
{ &hf_lpp_navic_CorrectionListAutoNav_r16,
{ "navic-CorrectionListAutoNav-r16", "lpp.navic_CorrectionListAutoNav_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NavIC_CorrectionListAutoNav_r16_item,
{ "NavIC-CorrectionElementAutoNav-r16", "lpp.NavIC_CorrectionElementAutoNav_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_navic_Tod_r16,
{ "navic-Tod-r16", "lpp.navic_Tod_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_navic_iodec_r16,
{ "navic-iodec-r16", "lpp.navic_iodec_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_navic_UDRAI_r16,
{ "navic-UDRAI-r16", "lpp.navic_UDRAI_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M16_15", HFILL }},
{ &hf_lpp_navic_UDRArateI_r16,
{ "navic-UDRArateI-r16", "lpp.navic_UDRArateI_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M16_15", HFILL }},
{ &hf_lpp_navic_EDC_r16,
{ "navic-EDC-r16", "lpp.navic_EDC_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_navic_CDC_r16,
{ "navic-CDC-r16", "lpp.navic_CDC_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_navic_AlphaEDC_r16,
{ "navic-AlphaEDC-r16", "lpp.navic_AlphaEDC_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_navic_BetaEDC_r16,
{ "navic-BetaEDC-r16", "lpp.navic_BetaEDC_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M8192_8191", HFILL }},
{ &hf_lpp_navic_GammaEDC_r16,
{ "navic-GammaEDC-r16", "lpp.navic_GammaEDC_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M16384_16383", HFILL }},
{ &hf_lpp_navic_AoIcorrection_r16,
{ "navic-AoIcorrection-r16", "lpp.navic_AoIcorrection_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2048_2047", HFILL }},
{ &hf_lpp_navic_AoRAcorrection_r16,
{ "navic-AoRAcorrection-r16", "lpp.navic_AoRAcorrection_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2048_2047", HFILL }},
{ &hf_lpp_navic_SemiMajorcorrection_r16,
{ "navic-SemiMajorcorrection-r16", "lpp.navic_SemiMajorcorrection_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M2048_2047", HFILL }},
{ &hf_lpp_navic_ClockBiasCorrection_r16,
{ "navic-ClockBiasCorrection-r16", "lpp.navic_ClockBiasCorrection_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M4096_4095", HFILL }},
{ &hf_lpp_navic_ClockDriftCorrection_r16,
{ "navic-ClockDriftCorrection-r16", "lpp.navic_ClockDriftCorrection_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_regionMasked_r16,
{ "regionMasked-r16", "lpp.regionMasked_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_regionIgpList_r16,
{ "regionIgpList-r16", "lpp.regionIgpList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_RegionIgpList_r16_item,
{ "RegionIgpElement-r16", "lpp.RegionIgpElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_regionID_r16,
{ "regionID-r16", "lpp.regionID_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givei1_r16,
{ "givei1-r16", "lpp.givei1_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd1_r16,
{ "givd1-r16", "lpp.givd1_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei2_r16,
{ "givei2-r16", "lpp.givei2_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd2_r16,
{ "givd2-r16", "lpp.givd2_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei3_r16,
{ "givei3-r16", "lpp.givei3_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd3_r16,
{ "givd3-r16", "lpp.givd3_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei4_r16,
{ "givei4-r16", "lpp.givei4_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd4_r16,
{ "givd4-r16", "lpp.givd4_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei5_r16,
{ "givei5-r16", "lpp.givei5_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd5_r16,
{ "givd5-r16", "lpp.givd5_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei6_r16,
{ "givei6-r16", "lpp.givei6_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd6_r16,
{ "givd6-r16", "lpp.givd6_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei7_r16,
{ "givei7-r16", "lpp.givei7_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd7_r16,
{ "givd7-r16", "lpp.givd7_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei8_r16,
{ "givei8-r16", "lpp.givei8_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd8_r16,
{ "givd8-r16", "lpp.givd8_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei9_r16,
{ "givei9-r16", "lpp.givei9_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd9_r16,
{ "givd9-r16", "lpp.givd9_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei10_r16,
{ "givei10-r16", "lpp.givei10_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd10_r16,
{ "givd10-r16", "lpp.givd10_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei11_r16,
{ "givei11-r16", "lpp.givei11_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd11_r16,
{ "givd11-r16", "lpp.givd11_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei12_r16,
{ "givei12-r16", "lpp.givei12_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd12_r16,
{ "givd12-r16", "lpp.givd12_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei13_r16,
{ "givei13-r16", "lpp.givei13_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd13_r16,
{ "givd13-r16", "lpp.givd13_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei14_r16,
{ "givei14-r16", "lpp.givei14_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd14_r16,
{ "givd14-r16", "lpp.givd14_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_givei15_r16,
{ "givei15-r16", "lpp.givei15_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_givd15_r16,
{ "givd15-r16", "lpp.givd15_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_gnss_CommonAssistDataReq,
{ "gnss-CommonAssistDataReq", "lpp.gnss_CommonAssistDataReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_GenericAssistDataReq,
{ "gnss-GenericAssistDataReq", "lpp.gnss_GenericAssistDataReq",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_PeriodicAssistDataReq_r15,
{ "gnss-PeriodicAssistDataReq-r15", "lpp.gnss_PeriodicAssistDataReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_ReferenceTimeReq,
{ "gnss-ReferenceTimeReq", "lpp.gnss_ReferenceTimeReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_ReferenceLocationReq,
{ "gnss-ReferenceLocationReq", "lpp.gnss_ReferenceLocationReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_IonosphericModelReq,
{ "gnss-IonosphericModelReq", "lpp.gnss_IonosphericModelReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_EarthOrientationParametersReq,
{ "gnss-EarthOrientationParametersReq", "lpp.gnss_EarthOrientationParametersReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_ReferenceStationInfoReq_r15,
{ "gnss-RTK-ReferenceStationInfoReq-r15", "lpp.gnss_RTK_ReferenceStationInfoReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_AuxiliaryStationDataReq_r15,
{ "gnss-RTK-AuxiliaryStationDataReq-r15", "lpp.gnss_RTK_AuxiliaryStationDataReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_CorrectionPointsReq_r16,
{ "gnss-SSR-CorrectionPointsReq-r16", "lpp.gnss_SSR_CorrectionPointsReq_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_GenericAssistDataReq_item,
{ "GNSS-GenericAssistDataReqElement", "lpp.GNSS_GenericAssistDataReqElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_TimeModelsReq,
{ "gnss-TimeModelsReq", "lpp.gnss_TimeModelsReq",
FT_UINT32, BASE_DEC, NULL, 0,
"GNSS_TimeModelListReq", HFILL }},
{ &hf_lpp_gnss_DifferentialCorrectionsReq,
{ "gnss-DifferentialCorrectionsReq", "lpp.gnss_DifferentialCorrectionsReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_NavigationModelReq,
{ "gnss-NavigationModelReq", "lpp.gnss_NavigationModelReq",
FT_UINT32, BASE_DEC, VALS(lpp_GNSS_NavigationModelReq_vals), 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RealTimeIntegrityReq,
{ "gnss-RealTimeIntegrityReq", "lpp.gnss_RealTimeIntegrityReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_DataBitAssistanceReq,
{ "gnss-DataBitAssistanceReq", "lpp.gnss_DataBitAssistanceReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_AcquisitionAssistanceReq,
{ "gnss-AcquisitionAssistanceReq", "lpp.gnss_AcquisitionAssistanceReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_AlmanacReq,
{ "gnss-AlmanacReq", "lpp.gnss_AlmanacReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_UTCModelReq,
{ "gnss-UTCModelReq", "lpp.gnss_UTCModelReq_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_UTC_ModelReq", HFILL }},
{ &hf_lpp_gnss_AuxiliaryInformationReq,
{ "gnss-AuxiliaryInformationReq", "lpp.gnss_AuxiliaryInformationReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bds_DifferentialCorrectionsReq_r12,
{ "bds-DifferentialCorrectionsReq-r12", "lpp.bds_DifferentialCorrectionsReq_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bds_GridModelReq_r12,
{ "bds-GridModelReq-r12", "lpp.bds_GridModelReq_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_ObservationsReq_r15,
{ "gnss-RTK-ObservationsReq-r15", "lpp.gnss_RTK_ObservationsReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_glo_RTK_BiasInformationReq_r15,
{ "glo-RTK-BiasInformationReq-r15", "lpp.glo_RTK_BiasInformationReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_MAC_CorrectionDifferencesReq_r15,
{ "gnss-RTK-MAC-CorrectionDifferencesReq-r15", "lpp.gnss_RTK_MAC_CorrectionDifferencesReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_ResidualsReq_r15,
{ "gnss-RTK-ResidualsReq-r15", "lpp.gnss_RTK_ResidualsReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_FKP_GradientsReq_r15,
{ "gnss-RTK-FKP-GradientsReq-r15", "lpp.gnss_RTK_FKP_GradientsReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_OrbitCorrectionsReq_r15,
{ "gnss-SSR-OrbitCorrectionsReq-r15", "lpp.gnss_SSR_OrbitCorrectionsReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_ClockCorrectionsReq_r15,
{ "gnss-SSR-ClockCorrectionsReq-r15", "lpp.gnss_SSR_ClockCorrectionsReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_CodeBiasReq_r15,
{ "gnss-SSR-CodeBiasReq-r15", "lpp.gnss_SSR_CodeBiasReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_URA_Req_r16,
{ "gnss-SSR-URA-Req-r16", "lpp.gnss_SSR_URA_Req_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_PhaseBiasReq_r16,
{ "gnss-SSR-PhaseBiasReq-r16", "lpp.gnss_SSR_PhaseBiasReq_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_STEC_CorrectionReq_r16,
{ "gnss-SSR-STEC-CorrectionReq-r16", "lpp.gnss_SSR_STEC_CorrectionReq_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_GriddedCorrectionReq_r16,
{ "gnss-SSR-GriddedCorrectionReq-r16", "lpp.gnss_SSR_GriddedCorrectionReq_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_navic_DifferentialCorrectionsReq_r16,
{ "navic-DifferentialCorrectionsReq-r16", "lpp.navic_DifferentialCorrectionsReq_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_navic_GridModelReq_r16,
{ "navic-GridModelReq-r16", "lpp.navic_GridModelReq_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_PeriodicObservationsReq_r15,
{ "gnss-RTK-PeriodicObservationsReq-r15", "lpp.gnss_RTK_PeriodicObservationsReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_glo_RTK_PeriodicBiasInformationReq_r15,
{ "glo-RTK-PeriodicBiasInformationReq-r15", "lpp.glo_RTK_PeriodicBiasInformationReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_RTK_MAC_PeriodicCorrectionDifferencesReq_r15,
{ "gnss-RTK-MAC-PeriodicCorrectionDifferencesReq-r15", "lpp.gnss_RTK_MAC_PeriodicCorrectionDifferencesReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_RTK_PeriodicResidualsReq_r15,
{ "gnss-RTK-PeriodicResidualsReq-r15", "lpp.gnss_RTK_PeriodicResidualsReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_RTK_FKP_PeriodicGradientsReq_r15,
{ "gnss-RTK-FKP-PeriodicGradientsReq-r15", "lpp.gnss_RTK_FKP_PeriodicGradientsReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicOrbitCorrectionsReq_r15,
{ "gnss-SSR-PeriodicOrbitCorrectionsReq-r15", "lpp.gnss_SSR_PeriodicOrbitCorrectionsReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicClockCorrectionsReq_r15,
{ "gnss-SSR-PeriodicClockCorrectionsReq-r15", "lpp.gnss_SSR_PeriodicClockCorrectionsReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicCodeBiasReq_r15,
{ "gnss-SSR-PeriodicCodeBiasReq-r15", "lpp.gnss_SSR_PeriodicCodeBiasReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicURA_Req_r16,
{ "gnss-SSR-PeriodicURA-Req-r16", "lpp.gnss_SSR_PeriodicURA_Req_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicPhaseBiasReq_r16,
{ "gnss-SSR-PeriodicPhaseBiasReq-r16", "lpp.gnss_SSR_PeriodicPhaseBiasReq_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicSTEC_CorrectionReq_r16,
{ "gnss-SSR-PeriodicSTEC-CorrectionReq-r16", "lpp.gnss_SSR_PeriodicSTEC_CorrectionReq_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_SSR_PeriodicGriddedCorrectionReq_r16,
{ "gnss-SSR-PeriodicGriddedCorrectionReq-r16", "lpp.gnss_SSR_PeriodicGriddedCorrectionReq_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_PeriodicControlParam_r15", HFILL }},
{ &hf_lpp_gnss_TimeReqPrefList,
{ "gnss-TimeReqPrefList", "lpp.gnss_TimeReqPrefList",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_8_OF_GNSS_ID", HFILL }},
{ &hf_lpp_gnss_TimeReqPrefList_item,
{ "GNSS-ID", "lpp.GNSS_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gps_TOW_assistReq,
{ "gps-TOW-assistReq", "lpp.gps_TOW_assistReq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_notOfLeapSecReq,
{ "notOfLeapSecReq", "lpp.notOfLeapSecReq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_klobucharModelReq,
{ "klobucharModelReq", "lpp.klobucharModelReq",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_2", HFILL }},
{ &hf_lpp_neQuickModelReq,
{ "neQuickModelReq", "lpp.neQuickModelReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_klobucharModel2Req_r16,
{ "klobucharModel2Req-r16", "lpp.klobucharModel2Req_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_antennaDescriptionReq_r15,
{ "antennaDescriptionReq-r15", "lpp.antennaDescriptionReq_r15",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_antennaHeightReq_r15,
{ "antennaHeightReq-r15", "lpp.antennaHeightReq_r15",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_physicalReferenceStationReq_r15,
{ "physicalReferenceStationReq-r15", "lpp.physicalReferenceStationReq_r15",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_stationID_r15,
{ "stationID-r15", "lpp.stationID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_ReferenceStationID_r15", HFILL }},
{ &hf_lpp_correctionPointSetID_Req_r16,
{ "correctionPointSetID-Req-r16", "lpp.correctionPointSetID_Req_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_16383", HFILL }},
{ &hf_lpp_GNSS_TimeModelListReq_item,
{ "GNSS-TimeModelElementReq", "lpp.GNSS_TimeModelElementReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_TO_IDsReq,
{ "gnss-TO-IDsReq", "lpp.gnss_TO_IDsReq",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_15", HFILL }},
{ &hf_lpp_deltaTreq,
{ "deltaTreq", "lpp.deltaTreq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_dgnss_SignalsReq,
{ "dgnss-SignalsReq", "lpp.dgnss_SignalsReq_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_dgnss_ValidityTimeReq,
{ "dgnss-ValidityTimeReq", "lpp.dgnss_ValidityTimeReq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_storedNavList,
{ "storedNavList", "lpp.storedNavList_element",
FT_NONE, BASE_NONE, NULL, 0,
"StoredNavListInfo", HFILL }},
{ &hf_lpp_reqNavList,
{ "reqNavList", "lpp.reqNavList_element",
FT_NONE, BASE_NONE, NULL, 0,
"ReqNavListInfo", HFILL }},
{ &hf_lpp_gnss_WeekOrDay,
{ "gnss-WeekOrDay", "lpp.gnss_WeekOrDay",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_Toe,
{ "gnss-Toe", "lpp.gnss_Toe",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_t_toeLimit,
{ "t-toeLimit", "lpp.t_toeLimit",
FT_UINT32, BASE_DEC, NULL, 0,
"T_t_toeLimit", HFILL }},
{ &hf_lpp_satListRelatedDataList,
{ "satListRelatedDataList", "lpp.satListRelatedDataList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_SatListRelatedDataList_item,
{ "SatListRelatedDataElement", "lpp.SatListRelatedDataElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_clockModelID,
{ "clockModelID", "lpp.clockModelID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_8", HFILL }},
{ &hf_lpp_orbitModelID,
{ "orbitModelID", "lpp.orbitModelID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_8", HFILL }},
{ &hf_lpp_svReqList,
{ "svReqList", "lpp.svReqList",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_64", HFILL }},
{ &hf_lpp_clockModelID_PrefList,
{ "clockModelID-PrefList", "lpp.clockModelID_PrefList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_clockModelID_PrefList_item,
{ "clockModelID-PrefList item", "lpp.clockModelID_PrefList_item",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_8", HFILL }},
{ &hf_lpp_orbitModelID_PrefList,
{ "orbitModelID-PrefList", "lpp.orbitModelID_PrefList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_orbitModelID_PrefList_item,
{ "orbitModelID-PrefList item", "lpp.orbitModelID_PrefList_item",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_8", HFILL }},
{ &hf_lpp_addNavparamReq,
{ "addNavparamReq", "lpp.addNavparamReq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_gnss_TOD_Req,
{ "gnss-TOD-Req", "lpp.gnss_TOD_Req",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_0_3599", HFILL }},
{ &hf_lpp_gnss_TOD_FracReq,
{ "gnss-TOD-FracReq", "lpp.gnss_TOD_FracReq",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
"INTEGER_0_999", HFILL }},
{ &hf_lpp_dataBitInterval,
{ "dataBitInterval", "lpp.dataBitInterval",
FT_UINT8, BASE_DEC|BASE_EXT_STRING, &lpp_dataBitInterval_vals_ext, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_gnss_SignalType_01,
{ "gnss-SignalType", "lpp.gnss_SignalType_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_gnss_DataBitsReq,
{ "gnss-DataBitsReq", "lpp.gnss_DataBitsReq",
FT_UINT32, BASE_DEC, NULL, 0,
"GNSS_DataBitsReqSatList", HFILL }},
{ &hf_lpp_GNSS_DataBitsReqSatList_item,
{ "GNSS-DataBitsReqSatElement", "lpp.GNSS_DataBitsReqSatElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SignalID_Req,
{ "gnss-SignalID-Req", "lpp.gnss_SignalID_Req_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalID", HFILL }},
{ &hf_lpp_modelID,
{ "modelID", "lpp.modelID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_8", HFILL }},
{ &hf_lpp_gnss_RTK_SignalsReq_r15,
{ "gnss-RTK-SignalsReq-r15", "lpp.gnss_RTK_SignalsReq_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_gnss_RTK_Integer_ms_Req_r15,
{ "gnss-RTK-Integer-ms-Req-r15", "lpp.gnss_RTK_Integer_ms_Req_r15",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_gnss_RTK_PhaseRangeRateReq_r15,
{ "gnss-RTK-PhaseRangeRateReq-r15", "lpp.gnss_RTK_PhaseRangeRateReq_r15",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_gnss_RTK_CNR_Req_r15,
{ "gnss-RTK-CNR-Req-r15", "lpp.gnss_RTK_CNR_Req_r15",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_aux_ReferenceStationList_r15,
{ "aux-ReferenceStationList-r15", "lpp.aux_ReferenceStationList_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_linkCombinations_PrefList_r15,
{ "linkCombinations-PrefList-r15", "lpp.linkCombinations_PrefList_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"GNSS_Link_CombinationsList_r15", HFILL }},
{ &hf_lpp_AUX_ReferenceStationList_r15_item,
{ "AUX-ReferenceStationID-Element-r15", "lpp.AUX_ReferenceStationID_Element_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_aux_stationID_r15,
{ "aux-stationID-r15", "lpp.aux_stationID_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_ReferenceStationID_r15", HFILL }},
{ &hf_lpp_storedNavList_r15,
{ "storedNavList-r15", "lpp.storedNavList_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"GNSS_NavListInfo_r15", HFILL }},
{ &hf_lpp_signal_and_tracking_mode_ID_Map_r15,
{ "signal-and-tracking-mode-ID-Map-r15", "lpp.signal_and_tracking_mode_ID_Map_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_signal_and_tracking_mode_ID_Map_r16,
{ "signal-and-tracking-mode-ID-Map-r16", "lpp.signal_and_tracking_mode_ID_Map_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_storedNavList_r16,
{ "storedNavList-r16", "lpp.storedNavList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"GNSS_NavListInfo_r15", HFILL }},
{ &hf_lpp_dgnss_SignalsReq_r16,
{ "dgnss-SignalsReq-r16", "lpp.dgnss_SignalsReq_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_gnss_SignalMeasurementInformation,
{ "gnss-SignalMeasurementInformation", "lpp.gnss_SignalMeasurementInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_LocationInformation,
{ "gnss-LocationInformation", "lpp.gnss_LocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_measurementReferenceTime,
{ "measurementReferenceTime", "lpp.measurementReferenceTime_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_MeasurementList,
{ "gnss-MeasurementList", "lpp.gnss_MeasurementList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_TOD_msec,
{ "gnss-TOD-msec", "lpp.gnss_TOD_msec",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
"INTEGER_0_3599999", HFILL }},
{ &hf_lpp_gnss_TOD_frac,
{ "gnss-TOD-frac", "lpp.gnss_TOD_frac",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_fractionalSecondsFromFrameStructureStart_fmt), 0,
"INTEGER_0_3999", HFILL }},
{ &hf_lpp_gnss_TOD_unc,
{ "gnss-TOD-unc", "lpp.gnss_TOD_unc",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_referenceTimeUnc_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_networkTime_01,
{ "networkTime", "lpp.networkTime",
FT_UINT32, BASE_DEC, VALS(lpp_T_networkTime_vals), 0,
NULL, HFILL }},
{ &hf_lpp_eUTRA_01,
{ "eUTRA", "lpp.eUTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_eUTRA_01", HFILL }},
{ &hf_lpp_cellGlobalId_01,
{ "cellGlobalId", "lpp.cellGlobalId_element",
FT_NONE, BASE_NONE, NULL, 0,
"CellGlobalIdEUTRA_AndUTRA", HFILL }},
{ &hf_lpp_uTRA_01,
{ "uTRA", "lpp.uTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_uTRA_01", HFILL }},
{ &hf_lpp_mode_01,
{ "mode", "lpp.mode",
FT_UINT32, BASE_DEC, VALS(lpp_T_mode_01_vals), 0,
"T_mode_01", HFILL }},
{ &hf_lpp_fdd_01,
{ "fdd", "lpp.fdd_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_fdd_01", HFILL }},
{ &hf_lpp_tdd_01,
{ "tdd", "lpp.tdd_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_tdd_01", HFILL }},
{ &hf_lpp_referenceSystemFrameNumber,
{ "referenceSystemFrameNumber", "lpp.referenceSystemFrameNumber",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_gSM_01,
{ "gSM", "lpp.gSM_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_gSM_01", HFILL }},
{ &hf_lpp_cellGlobalId_02,
{ "cellGlobalId", "lpp.cellGlobalId_element",
FT_NONE, BASE_NONE, NULL, 0,
"CellGlobalIdGERAN", HFILL }},
{ &hf_lpp_referenceFrame,
{ "referenceFrame", "lpp.referenceFrame_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_referenceFN,
{ "referenceFN", "lpp.referenceFN",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_referenceFNMSB,
{ "referenceFNMSB", "lpp.referenceFNMSB",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_deltaGNSS_TOD,
{ "deltaGNSS-TOD", "lpp.deltaGNSS_TOD",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_nbIoT_r14,
{ "nbIoT-r14", "lpp.nbIoT_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_nbIoT_r14", HFILL }},
{ &hf_lpp_sfn_r14,
{ "sfn-r14", "lpp.sfn_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_10", HFILL }},
{ &hf_lpp_nr_r15_01,
{ "nr-r15", "lpp.nr_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_nr_r15_01", HFILL }},
{ &hf_lpp_nr_sfn_r15,
{ "nr-sfn-r15", "lpp.nr_sfn_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_10", HFILL }},
{ &hf_lpp_GNSS_MeasurementList_item,
{ "GNSS-MeasurementForOneGNSS", "lpp.GNSS_MeasurementForOneGNSS_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SgnMeasList,
{ "gnss-SgnMeasList", "lpp.gnss_SgnMeasList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_SgnMeasList_item,
{ "GNSS-SgnMeasElement", "lpp.GNSS_SgnMeasElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_CodePhaseAmbiguity,
{ "gnss-CodePhaseAmbiguity", "lpp.gnss_CodePhaseAmbiguity",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_gnss_SatMeasList,
{ "gnss-SatMeasList", "lpp.gnss_SatMeasList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_SatMeasList_item,
{ "GNSS-SatMeasElement", "lpp.GNSS_SatMeasElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_cNo,
{ "cNo", "lpp.cNo",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_dbhz, 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_mpathDet,
{ "mpathDet", "lpp.mpathDet",
FT_UINT32, BASE_DEC, VALS(lpp_T_mpathDet_vals), 0,
NULL, HFILL }},
{ &hf_lpp_carrierQualityInd,
{ "carrierQualityInd", "lpp.carrierQualityInd",
FT_UINT8, BASE_DEC, VALS(lpp_carrierQualityInd_vals), 0,
"INTEGER_0_3", HFILL }},
{ &hf_lpp_codePhase_01,
{ "codePhase", "lpp.codePhase",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_GNSS_SatMeas_codePhase_fmt), 0,
"INTEGER_0_2097151", HFILL }},
{ &hf_lpp_integerCodePhase,
{ "integerCodePhase", "lpp.integerCodePhase",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_codePhaseRMSError,
{ "codePhaseRMSError", "lpp.codePhaseRMSError",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_codePhaseRMSError_fmt), 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_doppler,
{ "doppler", "lpp.doppler",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_doppler_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_lpp_adr,
{ "adr", "lpp.adr",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_adr_fmt), 0,
"INTEGER_0_33554431", HFILL }},
{ &hf_lpp_adrMSB_r15,
{ "adrMSB-r15", "lpp.adrMSB_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_adrMSB_r15_fmt), 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_adrSign_r15,
{ "adrSign-r15", "lpp.adrSign_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_adrSign_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_adrRMSerror_r15,
{ "adrRMSerror-r15", "lpp.adrRMSerror_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_adr_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_delta_codePhase_r15,
{ "delta-codePhase-r15", "lpp.delta_codePhase_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_GNSS_SatMeas_delta_codePhase_r15_fmt), 0,
"INTEGER_0_7", HFILL }},
{ &hf_lpp_agnss_List,
{ "agnss-List", "lpp.agnss_List_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_ID_Bitmap", HFILL }},
{ &hf_lpp_gnss_PositioningInstructions,
{ "gnss-PositioningInstructions", "lpp.gnss_PositioningInstructions_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_Methods,
{ "gnss-Methods", "lpp.gnss_Methods_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_ID_Bitmap", HFILL }},
{ &hf_lpp_fineTimeAssistanceMeasReq,
{ "fineTimeAssistanceMeasReq", "lpp.fineTimeAssistanceMeasReq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_adrMeasReq,
{ "adrMeasReq", "lpp.adrMeasReq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_multiFreqMeasReq,
{ "multiFreqMeasReq", "lpp.multiFreqMeasReq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ha_GNSS_Req_r15,
{ "ha-GNSS-Req-r15", "lpp.ha_GNSS_Req_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_ha_GNSS_Req_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SupportList,
{ "gnss-SupportList", "lpp.gnss_SupportList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_assistanceDataSupportList,
{ "assistanceDataSupportList", "lpp.assistanceDataSupportList_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_periodicalReportingNotSupported_r14,
{ "periodicalReportingNotSupported-r14", "lpp.periodicalReportingNotSupported_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"PositioningModes", HFILL }},
{ &hf_lpp_idleStateForMeasurements_r14_01,
{ "idleStateForMeasurements-r14", "lpp.idleStateForMeasurements_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_idleStateForMeasurements_r14_01_vals), 0,
"T_idleStateForMeasurements_r14_01", HFILL }},
{ &hf_lpp_periodicAssistanceData_r15_01,
{ "periodicAssistanceData-r15", "lpp.periodicAssistanceData_r15",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_SupportList_item,
{ "GNSS-SupportElement", "lpp.GNSS_SupportElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_sbas_IDs,
{ "sbas-IDs", "lpp.sbas_IDs_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_agnss_Modes,
{ "agnss-Modes", "lpp.agnss_Modes_element",
FT_NONE, BASE_NONE, NULL, 0,
"PositioningModes", HFILL }},
{ &hf_lpp_gnss_Signals,
{ "gnss-Signals", "lpp.gnss_Signals_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_fta_MeasSupport,
{ "fta-MeasSupport", "lpp.fta_MeasSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_cellTime,
{ "cellTime", "lpp.cellTime_element",
FT_NONE, BASE_NONE, NULL, 0,
"AccessTypes", HFILL }},
{ &hf_lpp_mode_02,
{ "mode", "lpp.mode_element",
FT_NONE, BASE_NONE, NULL, 0,
"PositioningModes", HFILL }},
{ &hf_lpp_adr_Support,
{ "adr-Support", "lpp.adr_Support",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_velocityMeasurementSupport,
{ "velocityMeasurementSupport", "lpp.velocityMeasurementSupport",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_adrEnhancementsSupport_r15,
{ "adrEnhancementsSupport-r15", "lpp.adrEnhancementsSupport_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_adrEnhancementsSupport_r15_vals), 0,
"T_adrEnhancementsSupport_r15", HFILL }},
{ &hf_lpp_ha_gnss_Modes_r15,
{ "ha-gnss-Modes-r15", "lpp.ha_gnss_Modes_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"PositioningModes", HFILL }},
{ &hf_lpp_gnss_CommonAssistanceDataSupport,
{ "gnss-CommonAssistanceDataSupport", "lpp.gnss_CommonAssistanceDataSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_GenericAssistanceDataSupport,
{ "gnss-GenericAssistanceDataSupport", "lpp.gnss_GenericAssistanceDataSupport",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_ReferenceTimeSupport,
{ "gnss-ReferenceTimeSupport", "lpp.gnss_ReferenceTimeSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_ReferenceLocationSupport,
{ "gnss-ReferenceLocationSupport", "lpp.gnss_ReferenceLocationSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_IonosphericModelSupport,
{ "gnss-IonosphericModelSupport", "lpp.gnss_IonosphericModelSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_EarthOrientationParametersSupport,
{ "gnss-EarthOrientationParametersSupport", "lpp.gnss_EarthOrientationParametersSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_ReferenceStationInfoSupport_r15,
{ "gnss-RTK-ReferenceStationInfoSupport-r15", "lpp.gnss_RTK_ReferenceStationInfoSupport_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_AuxiliaryStationDataSupport_r15,
{ "gnss-RTK-AuxiliaryStationDataSupport-r15", "lpp.gnss_RTK_AuxiliaryStationDataSupport_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SystemTime_01,
{ "gnss-SystemTime", "lpp.gnss_SystemTime_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_ID_Bitmap", HFILL }},
{ &hf_lpp_fta_Support,
{ "fta-Support", "lpp.fta_Support_element",
FT_NONE, BASE_NONE, NULL, 0,
"AccessTypes", HFILL }},
{ &hf_lpp_ionoModel,
{ "ionoModel", "lpp.ionoModel",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_GenericAssistanceDataSupport_item,
{ "GNSS-GenericAssistDataSupportElement", "lpp.GNSS_GenericAssistDataSupportElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_TimeModelsSupport,
{ "gnss-TimeModelsSupport", "lpp.gnss_TimeModelsSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_TimeModelListSupport", HFILL }},
{ &hf_lpp_gnss_DifferentialCorrectionsSupport,
{ "gnss-DifferentialCorrectionsSupport", "lpp.gnss_DifferentialCorrectionsSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_NavigationModelSupport,
{ "gnss-NavigationModelSupport", "lpp.gnss_NavigationModelSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RealTimeIntegritySupport,
{ "gnss-RealTimeIntegritySupport", "lpp.gnss_RealTimeIntegritySupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_DataBitAssistanceSupport,
{ "gnss-DataBitAssistanceSupport", "lpp.gnss_DataBitAssistanceSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_AcquisitionAssistanceSupport,
{ "gnss-AcquisitionAssistanceSupport", "lpp.gnss_AcquisitionAssistanceSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_AlmanacSupport,
{ "gnss-AlmanacSupport", "lpp.gnss_AlmanacSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_UTC_ModelSupport,
{ "gnss-UTC-ModelSupport", "lpp.gnss_UTC_ModelSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_AuxiliaryInformationSupport,
{ "gnss-AuxiliaryInformationSupport", "lpp.gnss_AuxiliaryInformationSupport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bds_DifferentialCorrectionsSupport_r12,
{ "bds-DifferentialCorrectionsSupport-r12", "lpp.bds_DifferentialCorrectionsSupport_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bds_GridModelSupport_r12,
{ "bds-GridModelSupport-r12", "lpp.bds_GridModelSupport_r12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_ObservationsSupport_r15,
{ "gnss-RTK-ObservationsSupport-r15", "lpp.gnss_RTK_ObservationsSupport_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_glo_RTK_BiasInformationSupport_r15,
{ "glo-RTK-BiasInformationSupport-r15", "lpp.glo_RTK_BiasInformationSupport_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_MAC_CorrectionDifferencesSupport_r15,
{ "gnss-RTK-MAC-CorrectionDifferencesSupport-r15", "lpp.gnss_RTK_MAC_CorrectionDifferencesSupport_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_ResidualsSupport_r15,
{ "gnss-RTK-ResidualsSupport-r15", "lpp.gnss_RTK_ResidualsSupport_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_RTK_FKP_GradientsSupport_r15,
{ "gnss-RTK-FKP-GradientsSupport-r15", "lpp.gnss_RTK_FKP_GradientsSupport_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_OrbitCorrectionsSupport_r15,
{ "gnss-SSR-OrbitCorrectionsSupport-r15", "lpp.gnss_SSR_OrbitCorrectionsSupport_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_ClockCorrectionsSupport_r15,
{ "gnss-SSR-ClockCorrectionsSupport-r15", "lpp.gnss_SSR_ClockCorrectionsSupport_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_CodeBiasSupport_r15,
{ "gnss-SSR-CodeBiasSupport-r15", "lpp.gnss_SSR_CodeBiasSupport_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_URA_Support_r16,
{ "gnss-SSR-URA-Support-r16", "lpp.gnss_SSR_URA_Support_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_PhaseBiasSupport_r16,
{ "gnss-SSR-PhaseBiasSupport-r16", "lpp.gnss_SSR_PhaseBiasSupport_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_STEC_CorrectionSupport_r16,
{ "gnss-SSR-STEC-CorrectionSupport-r16", "lpp.gnss_SSR_STEC_CorrectionSupport_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_SSR_GriddedCorrectionSupport_r16,
{ "gnss-SSR-GriddedCorrectionSupport-r16", "lpp.gnss_SSR_GriddedCorrectionSupport_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_navic_DifferentialCorrectionsSupport_r16,
{ "navic-DifferentialCorrectionsSupport-r16", "lpp.navic_DifferentialCorrectionsSupport_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_navic_GridModelSupport_r16,
{ "navic-GridModelSupport-r16", "lpp.navic_GridModelSupport_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnssSignalIDs,
{ "gnssSignalIDs", "lpp.gnssSignalIDs_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_dgnss_ValidityTimeSup,
{ "dgnss-ValidityTimeSup", "lpp.dgnss_ValidityTimeSup",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_clockModel,
{ "clockModel", "lpp.clockModel",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_orbitModel,
{ "orbitModel", "lpp.orbitModel",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_confidenceSupport_r10,
{ "confidenceSupport-r10", "lpp.confidenceSupport_r10",
FT_UINT32, BASE_DEC, VALS(lpp_T_confidenceSupport_r10_vals), 0,
"T_confidenceSupport_r10", HFILL }},
{ &hf_lpp_dopplerUncertaintyExtSupport_r10,
{ "dopplerUncertaintyExtSupport-r10", "lpp.dopplerUncertaintyExtSupport_r10",
FT_UINT32, BASE_DEC, VALS(lpp_T_dopplerUncertaintyExtSupport_r10_vals), 0,
"T_dopplerUncertaintyExtSupport_r10", HFILL }},
{ &hf_lpp_almanacModel,
{ "almanacModel", "lpp.almanacModel",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_utc_Model,
{ "utc-Model", "lpp.utc_Model",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnssSignalIDs_r15,
{ "gnssSignalIDs-r15", "lpp.gnssSignalIDs_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_link_combinations_support_r15,
{ "link-combinations-support-r15", "lpp.link_combinations_support_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"GNSS_Link_CombinationsList_r15", HFILL }},
{ &hf_lpp_signal_and_tracking_mode_ID_Sup_r15,
{ "signal-and-tracking-mode-ID-Sup-r15", "lpp.signal_and_tracking_mode_ID_Sup_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_signal_and_tracking_mode_ID_Sup_r16,
{ "signal-and-tracking-mode-ID-Sup-r16", "lpp.signal_and_tracking_mode_ID_Sup_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_gnssSignalIDs_r16,
{ "gnssSignalIDs-r16", "lpp.gnssSignalIDs_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SignalIDs", HFILL }},
{ &hf_lpp_gnss_SupportListReq,
{ "gnss-SupportListReq", "lpp.gnss_SupportListReq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_assistanceDataSupportListReq,
{ "assistanceDataSupportListReq", "lpp.assistanceDataSupportListReq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_locationVelocityTypesReq,
{ "locationVelocityTypesReq", "lpp.locationVelocityTypesReq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_locationServerErrorCauses_01,
{ "locationServerErrorCauses", "lpp.locationServerErrorCauses_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_LocationServerErrorCauses", HFILL }},
{ &hf_lpp_targetDeviceErrorCauses_01,
{ "targetDeviceErrorCauses", "lpp.targetDeviceErrorCauses_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_TargetDeviceErrorCauses", HFILL }},
{ &hf_lpp_cause_02,
{ "cause", "lpp.cause",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_02_vals), 0,
"T_cause_02", HFILL }},
{ &hf_lpp_cause_03,
{ "cause", "lpp.cause",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_03_vals), 0,
"T_cause_03", HFILL }},
{ &hf_lpp_fineTimeAssistanceMeasurementsNotPossible,
{ "fineTimeAssistanceMeasurementsNotPossible", "lpp.fineTimeAssistanceMeasurementsNotPossible_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_adrMeasurementsNotPossible,
{ "adrMeasurementsNotPossible", "lpp.adrMeasurementsNotPossible_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_multiFrequencyMeasurementsNotPossible,
{ "multiFrequencyMeasurementsNotPossible", "lpp.multiFrequencyMeasurementsNotPossible_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gnss_FrequencyID_r15,
{ "gnss-FrequencyID-r15", "lpp.gnss_FrequencyID_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_7", HFILL }},
{ &hf_lpp_gnss_id,
{ "gnss-id", "lpp.gnss_id",
FT_UINT32, BASE_DEC, VALS(lpp_T_gnss_id_vals), 0,
NULL, HFILL }},
{ &hf_lpp_gnss_ids,
{ "gnss-ids", "lpp.gnss_ids",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_Link_CombinationsList_r15_item,
{ "GNSS-Link-Combinations-r15", "lpp.GNSS_Link_Combinations_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_GNSS_NavListInfo_r15_item,
{ "SatListElement-r15", "lpp.SatListElement_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_networkID_r15_01,
{ "networkID-r15", "lpp.networkID_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_deliveryAmount_r15,
{ "deliveryAmount-r15", "lpp.deliveryAmount_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_deliveryAmount_r15_fmt), 0,
"INTEGER_1_32", HFILL }},
{ &hf_lpp_deliveryInterval_r15,
{ "deliveryInterval-r15", "lpp.deliveryInterval_r15",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_1_64", HFILL }},
{ &hf_lpp_referenceStationID_r15_01,
{ "referenceStationID-r15", "lpp.referenceStationID_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_providerName_r15,
{ "providerName-r15", "lpp.providerName_r15",
FT_STRING, BASE_NONE, NULL, 0,
"VisibleString_SIZE_1_32", HFILL }},
{ &hf_lpp_gnss_SignalID_01,
{ "gnss-SignalID", "lpp.gnss_SignalID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_7", HFILL }},
{ &hf_lpp_gnss_SignalID_Ext_r15,
{ "gnss-SignalID-Ext-r15", "lpp.gnss_SignalID_Ext_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_8_23", HFILL }},
{ &hf_lpp_gnss_SignalIDs,
{ "gnss-SignalIDs", "lpp.gnss_SignalIDs",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_8", HFILL }},
{ &hf_lpp_gnss_SignalIDs_Ext_r15,
{ "gnss-SignalIDs-Ext-r15", "lpp.gnss_SignalIDs_Ext_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_16", HFILL }},
{ &hf_lpp_subNetworkID_r15_01,
{ "subNetworkID-r15", "lpp.subNetworkID_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_lpp_sbas_id,
{ "sbas-id", "lpp.sbas_id",
FT_UINT32, BASE_DEC, VALS(lpp_T_sbas_id_vals), 0,
NULL, HFILL }},
{ &hf_lpp_sbas_IDs_01,
{ "sbas-IDs", "lpp.sbas_IDs",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_satellite_id,
{ "satellite-id", "lpp.satellite_id",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_ecid_SignalMeasurementInformation,
{ "ecid-SignalMeasurementInformation", "lpp.ecid_SignalMeasurementInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ecid_Error,
{ "ecid-Error", "lpp.ecid_Error",
FT_UINT32, BASE_DEC, VALS(lpp_ECID_Error_vals), 0,
NULL, HFILL }},
{ &hf_lpp_primaryCellMeasuredResults,
{ "primaryCellMeasuredResults", "lpp.primaryCellMeasuredResults_element",
FT_NONE, BASE_NONE, NULL, 0,
"MeasuredResultsElement", HFILL }},
{ &hf_lpp_measuredResultsList,
{ "measuredResultsList", "lpp.measuredResultsList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_MeasuredResultsList_item,
{ "MeasuredResultsElement", "lpp.MeasuredResultsElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_arfcnEUTRA,
{ "arfcnEUTRA", "lpp.arfcnEUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA", HFILL }},
{ &hf_lpp_rsrp_Result,
{ "rsrp-Result", "lpp.rsrp_Result",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_rsrp_Result_fmt), 0,
"INTEGER_0_97", HFILL }},
{ &hf_lpp_rsrq_Result,
{ "rsrq-Result", "lpp.rsrq_Result",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_rsrq_Result_fmt), 0,
"INTEGER_0_34", HFILL }},
{ &hf_lpp_ue_RxTxTimeDiff,
{ "ue-RxTxTimeDiff", "lpp.ue_RxTxTimeDiff",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_ue_RxTxTimeDiff_fmt), 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_arfcnEUTRA_v9a0,
{ "arfcnEUTRA-v9a0", "lpp.arfcnEUTRA_v9a0",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA_v9a0", HFILL }},
{ &hf_lpp_nrsrp_Result_r14,
{ "nrsrp-Result-r14", "lpp.nrsrp_Result_r14",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_nrsrp_Result_fmt), 0,
"INTEGER_0_113", HFILL }},
{ &hf_lpp_nrsrq_Result_r14,
{ "nrsrq-Result-r14", "lpp.nrsrq_Result_r14",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_nrsrq_Result_fmt), 0,
"INTEGER_0_74", HFILL }},
{ &hf_lpp_carrierFreqOffsetNB_r14,
{ "carrierFreqOffsetNB-r14", "lpp.carrierFreqOffsetNB_r14",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &lpp_CarrierFreqOffsetNB_r14_vals_ext, 0,
NULL, HFILL }},
{ &hf_lpp_rsrp_Result_v1470,
{ "rsrp-Result-v1470", "lpp.rsrp_Result_v1470",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_rsrp_Result_v1470_fmt), 0,
"INTEGER_M17_M1", HFILL }},
{ &hf_lpp_rsrq_Result_v1470,
{ "rsrq-Result-v1470", "lpp.rsrq_Result_v1470",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_rsrq_Result_v1470_fmt), 0,
"INTEGER_M30_46", HFILL }},
{ &hf_lpp_requestedMeasurements,
{ "requestedMeasurements", "lpp.requestedMeasurements",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ecid_MeasSupported,
{ "ecid-MeasSupported", "lpp.ecid_MeasSupported",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ueRxTxSupTDD_r13,
{ "ueRxTxSupTDD-r13", "lpp.ueRxTxSupTDD_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_ueRxTxSupTDD_r13_vals), 0,
NULL, HFILL }},
{ &hf_lpp_periodicalReporting_r14_01,
{ "periodicalReporting-r14", "lpp.periodicalReporting_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_periodicalReporting_r14_01_vals), 0,
"T_periodicalReporting_r14_01", HFILL }},
{ &hf_lpp_triggeredReporting_r14,
{ "triggeredReporting-r14", "lpp.triggeredReporting_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_triggeredReporting_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_idleStateForMeasurements_r14_02,
{ "idleStateForMeasurements-r14", "lpp.idleStateForMeasurements_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_idleStateForMeasurements_r14_02_vals), 0,
"T_idleStateForMeasurements_r14_02", HFILL }},
{ &hf_lpp_locationServerErrorCauses_02,
{ "locationServerErrorCauses", "lpp.locationServerErrorCauses_element",
FT_NONE, BASE_NONE, NULL, 0,
"ECID_LocationServerErrorCauses", HFILL }},
{ &hf_lpp_targetDeviceErrorCauses_02,
{ "targetDeviceErrorCauses", "lpp.targetDeviceErrorCauses_element",
FT_NONE, BASE_NONE, NULL, 0,
"ECID_TargetDeviceErrorCauses", HFILL }},
{ &hf_lpp_cause_04,
{ "cause", "lpp.cause",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_04_vals), 0,
"T_cause_04", HFILL }},
{ &hf_lpp_cause_05,
{ "cause", "lpp.cause",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_05_vals), 0,
"T_cause_05", HFILL }},
{ &hf_lpp_rsrpMeasurementNotPossible,
{ "rsrpMeasurementNotPossible", "lpp.rsrpMeasurementNotPossible_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_rsrqMeasurementNotPossible,
{ "rsrqMeasurementNotPossible", "lpp.rsrqMeasurementNotPossible_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ueRxTxMeasurementNotPossible,
{ "ueRxTxMeasurementNotPossible", "lpp.ueRxTxMeasurementNotPossible_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nrsrpMeasurementNotPossible_r14,
{ "nrsrpMeasurementNotPossible-r14", "lpp.nrsrpMeasurementNotPossible_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nrsrqMeasurementNotPossible_r14,
{ "nrsrqMeasurementNotPossible-r14", "lpp.nrsrqMeasurementNotPossible_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tbs_MeasurementInformation_r13,
{ "tbs-MeasurementInformation-r13", "lpp.tbs_MeasurementInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tbs_Error_r13,
{ "tbs-Error-r13", "lpp.tbs_Error_r13",
FT_UINT32, BASE_DEC, VALS(lpp_TBS_Error_r13_vals), 0,
NULL, HFILL }},
{ &hf_lpp_measurementReferenceTime_r13,
{ "measurementReferenceTime-r13", "lpp.measurementReferenceTime_r13",
FT_STRING, BASE_NONE, NULL, 0,
"UTCTime", HFILL }},
{ &hf_lpp_mbs_SgnMeasList_r13,
{ "mbs-SgnMeasList-r13", "lpp.mbs_SgnMeasList_r13",
FT_UINT32, BASE_DEC, NULL, 0,
"MBS_BeaconMeasList_r13", HFILL }},
{ &hf_lpp_MBS_BeaconMeasList_r13_item,
{ "MBS-BeaconMeasElement-r13", "lpp.MBS_BeaconMeasElement_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_transmitterID_r13,
{ "transmitterID-r13", "lpp.transmitterID_r13",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_32767", HFILL }},
{ &hf_lpp_codePhase_r13,
{ "codePhase-r13", "lpp.codePhase_r13",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_mbs_beaconMeasElt_codePhase_fmt), 0,
"INTEGER_0_2097151", HFILL }},
{ &hf_lpp_codePhaseRMSError_r13,
{ "codePhaseRMSError-r13", "lpp.codePhaseRMSError_r13",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_codePhaseRMSError_fmt), 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_rssi_r14,
{ "rssi-r14", "lpp.rssi_r14",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
"INTEGER_M130_M30", HFILL }},
{ &hf_lpp_mbsSgnMeasListReq_r13,
{ "mbsSgnMeasListReq-r13", "lpp.mbsSgnMeasListReq_r13",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_mbsAssistanceAvailability_r14,
{ "mbsAssistanceAvailability-r14", "lpp.mbsAssistanceAvailability_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_mbsRequestedMeasurements_r14,
{ "mbsRequestedMeasurements-r14", "lpp.mbsRequestedMeasurements_r14",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tbs_Modes_r13,
{ "tbs-Modes-r13", "lpp.tbs_Modes_r13",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_mbs_AssistanceDataSupportList_r14,
{ "mbs-AssistanceDataSupportList-r14", "lpp.mbs_AssistanceDataSupportList_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_periodicalReportingSupported_r14,
{ "periodicalReportingSupported-r14", "lpp.periodicalReportingSupported_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"PositioningModes", HFILL }},
{ &hf_lpp_mbs_ConfigSupport_r14,
{ "mbs-ConfigSupport-r14", "lpp.mbs_ConfigSupport_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"T_mbs_ConfigSupport_r14", HFILL }},
{ &hf_lpp_mbs_IdleStateForMeasurements_r14,
{ "mbs-IdleStateForMeasurements-r14", "lpp.mbs_IdleStateForMeasurements_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_mbs_IdleStateForMeasurements_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_mbs_AcquisitionAssistanceDataSupport_r14,
{ "mbs-AcquisitionAssistanceDataSupport-r14", "lpp.mbs_AcquisitionAssistanceDataSupport_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_mbs_AlmanacAssistanceDataSupport_r14,
{ "mbs-AlmanacAssistanceDataSupport-r14", "lpp.mbs_AlmanacAssistanceDataSupport_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_locationServerErrorCauses_r13,
{ "locationServerErrorCauses-r13", "lpp.locationServerErrorCauses_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
"TBS_LocationServerErrorCauses_r13", HFILL }},
{ &hf_lpp_targetDeviceErrorCauses_r13,
{ "targetDeviceErrorCauses-r13", "lpp.targetDeviceErrorCauses_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
"TBS_TargetDeviceErrorCauses_r13", HFILL }},
{ &hf_lpp_cause_r13,
{ "cause-r13", "lpp.cause_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r13_vals), 0,
NULL, HFILL }},
{ &hf_lpp_cause_r13_01,
{ "cause-r13", "lpp.cause_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r13_01_vals), 0,
"T_cause_r13_01", HFILL }},
{ &hf_lpp_tbs_AssistanceDataList_r14,
{ "tbs-AssistanceDataList-r14", "lpp.tbs_AssistanceDataList_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_tbs_Error_r14,
{ "tbs-Error-r14", "lpp.tbs_Error_r14",
FT_UINT32, BASE_DEC, VALS(lpp_TBS_Error_r13_vals), 0,
"TBS_Error_r13", HFILL }},
{ &hf_lpp_mbs_AssistanceDataList_r14,
{ "mbs-AssistanceDataList-r14", "lpp.mbs_AssistanceDataList_r14",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_MBS_AssistanceDataList_r14_item,
{ "MBS-AssistanceDataElement-r14", "lpp.MBS_AssistanceDataElement_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_mbs_AlmanacAssistance_r14,
{ "mbs-AlmanacAssistance-r14", "lpp.mbs_AlmanacAssistance_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_mbs_AcquisitionAssistance_r14,
{ "mbs-AcquisitionAssistance-r14", "lpp.mbs_AcquisitionAssistance_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_transmitterID_r14,
{ "transmitterID-r14", "lpp.transmitterID_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_32767", HFILL }},
{ &hf_lpp_transmitterLatitude_r14,
{ "transmitterLatitude-r14", "lpp.transmitterLatitude_r14",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_transmitterLatitude_fmt), 0,
NULL, HFILL }},
{ &hf_lpp_transmitterLongitude_r14,
{ "transmitterLongitude-r14", "lpp.transmitterLongitude_r14",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_transmitterLongitude_fmt), 0,
NULL, HFILL }},
{ &hf_lpp_transmitterAltitude_r14,
{ "transmitterAltitude-r14", "lpp.transmitterAltitude_r14",
FT_UINT16, BASE_CUSTOM, CF_FUNC(lpp_transmitterAltitude_fmt), 0,
NULL, HFILL }},
{ &hf_lpp_timeCorrection_r14,
{ "timeCorrection-r14", "lpp.timeCorrection_r14",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_nanoseconds, 0,
"INTEGER_0_25", HFILL }},
{ &hf_lpp_mbsConfiguration_r14,
{ "mbsConfiguration-r14", "lpp.mbsConfiguration_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_mbsConfiguration_r14_vals), 0,
NULL, HFILL }},
{ &hf_lpp_pnCodeIndex_r14,
{ "pnCodeIndex-r14", "lpp.pnCodeIndex_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_128", HFILL }},
{ &hf_lpp_freq_r14,
{ "freq-r14", "lpp.freq_r14",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_hz, 0,
"INTEGER_919750000_927250000", HFILL }},
{ &hf_lpp_mbs_AlmanacAssistanceDataReq_r14,
{ "mbs-AlmanacAssistanceDataReq-r14", "lpp.mbs_AlmanacAssistanceDataReq_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_mbs_AcquisitionAssistanceDataReq_r14,
{ "mbs-AcquisitionAssistanceDataReq-r14", "lpp.mbs_AcquisitionAssistanceDataReq_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_sensor_MeasurementInformation_r13,
{ "sensor-MeasurementInformation-r13", "lpp.sensor_MeasurementInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_sensor_Error_r13,
{ "sensor-Error-r13", "lpp.sensor_Error_r13",
FT_UINT32, BASE_DEC, VALS(lpp_Sensor_Error_r13_vals), 0,
NULL, HFILL }},
{ &hf_lpp_sensor_MotionInformation_r15,
{ "sensor-MotionInformation-r15", "lpp.sensor_MotionInformation_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_uncompensatedBarometricPressure_r13,
{ "uncompensatedBarometricPressure-r13", "lpp.uncompensatedBarometricPressure_r13",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_pa, 0,
"INTEGER_30000_115000", HFILL }},
{ &hf_lpp_uncertainty_r14,
{ "uncertainty-r14", "lpp.uncertainty_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_range_r14,
{ "range-r14", "lpp.range_r14",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_pa, 0,
"INTEGER_0_1000", HFILL }},
{ &hf_lpp_confidence_r14,
{ "confidence-r14", "lpp.confidence_r14",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_confidence_fmt), 0,
"INTEGER_1_100", HFILL }},
{ &hf_lpp_adjustment_r16,
{ "adjustment-r16", "lpp.adjustment_r16",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M5000_5000", HFILL }},
{ &hf_lpp_refTime_r15,
{ "refTime-r15", "lpp.refTime_r15",
FT_UINT32, BASE_DEC, VALS(lpp_DisplacementTimeStamp_r15_vals), 0,
"DisplacementTimeStamp_r15", HFILL }},
{ &hf_lpp_displacementInfoList_r15,
{ "displacementInfoList-r15", "lpp.displacementInfoList_r15",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_DisplacementInfoList_r15_item,
{ "DisplacementInfoListElement-r15", "lpp.DisplacementInfoListElement_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_deltaTimeStamp_r15,
{ "deltaTimeStamp-r15", "lpp.deltaTimeStamp_r15",
FT_UINT32, BASE_DEC, VALS(lpp_DeltaTime_r15_vals), 0,
"DeltaTime_r15", HFILL }},
{ &hf_lpp_displacement_r15,
{ "displacement-r15", "lpp.displacement_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_utcTime_r15,
{ "utcTime-r15", "lpp.utcTime_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"UTC_Time_r15", HFILL }},
{ &hf_lpp_gnssTime_r15,
{ "gnssTime-r15", "lpp.gnssTime_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"MeasurementReferenceTime", HFILL }},
{ &hf_lpp_systemFrameNumber_r15,
{ "systemFrameNumber-r15", "lpp.systemFrameNumber_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"SFN_r15", HFILL }},
{ &hf_lpp_measurementSFN_r15,
{ "measurementSFN-r15", "lpp.measurementSFN_r15",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M8192_9214", HFILL }},
{ &hf_lpp_deltaTimeSec_r15,
{ "deltaTimeSec-r15", "lpp.deltaTimeSec_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_16384", HFILL }},
{ &hf_lpp_deltaTimeSFN_r15,
{ "deltaTimeSFN-r15", "lpp.deltaTimeSFN_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_4096", HFILL }},
{ &hf_lpp_sfn_r15,
{ "sfn-r15", "lpp.sfn_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_10", HFILL }},
{ &hf_lpp_hyperSFN_r15,
{ "hyperSFN-r15", "lpp.hyperSFN_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_10", HFILL }},
{ &hf_lpp_bearing_r15,
{ "bearing-r15", "lpp.bearing_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_1_10_degrees_fmt), 0,
"INTEGER_0_3599", HFILL }},
{ &hf_lpp_bearingUncConfidence_r15,
{ "bearingUncConfidence-r15", "lpp.bearingUncConfidence_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_confidence_fmt), 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_bearingRef_r15,
{ "bearingRef-r15", "lpp.bearingRef_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_bearingRef_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_horizontalDistance_r15,
{ "horizontalDistance-r15", "lpp.horizontalDistance_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_1_100_m_fmt), 0,
"INTEGER_0_8191", HFILL }},
{ &hf_lpp_horizontalDistanceUnc_r15,
{ "horizontalDistanceUnc-r15", "lpp.horizontalDistanceUnc_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_horizontalUncConfidence_r15,
{ "horizontalUncConfidence-r15", "lpp.horizontalUncConfidence_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_confidence_fmt), 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_verticalDirection_r15,
{ "verticalDirection-r15", "lpp.verticalDirection_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_verticalDirection_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_verticalDistance_r15,
{ "verticalDistance-r15", "lpp.verticalDistance_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_1_100_m_fmt), 0,
"INTEGER_0_8191", HFILL }},
{ &hf_lpp_verticalDistanceUnc_r15,
{ "verticalDistanceUnc-r15", "lpp.verticalDistanceUnc_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_verticalUncConfidence_r15,
{ "verticalUncConfidence-r15", "lpp.verticalUncConfidence_r15",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_confidence_fmt), 0,
"INTEGER_0_100", HFILL }},
{ &hf_lpp_utcTime_r15_01,
{ "utcTime-r15", "lpp.utcTime_r15",
FT_STRING, BASE_NONE, NULL, 0,
"UTCTime", HFILL }},
{ &hf_lpp_utcTime_ms_r15,
{ "utcTime-ms-r15", "lpp.utcTime_ms_r15",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
"INTEGER_0_999", HFILL }},
{ &hf_lpp_uncompensatedBarometricPressureReq_r13,
{ "uncompensatedBarometricPressureReq-r13", "lpp.uncompensatedBarometricPressureReq_r13",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_assistanceAvailability_r14,
{ "assistanceAvailability-r14", "lpp.assistanceAvailability_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_sensor_MotionInformationReq_r15,
{ "sensor-MotionInformationReq-r15", "lpp.sensor_MotionInformationReq_r15",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_adjustmentReq_r16,
{ "adjustmentReq-r16", "lpp.adjustmentReq_r16",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_sensor_Modes_r13,
{ "sensor-Modes-r13", "lpp.sensor_Modes_r13",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_sensor_AssistanceDataSupportList_r14,
{ "sensor-AssistanceDataSupportList-r14", "lpp.sensor_AssistanceDataSupportList_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_idleStateForMeasurements_r14_03,
{ "idleStateForMeasurements-r14", "lpp.idleStateForMeasurements_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_idleStateForMeasurements_r14_03_vals), 0,
"T_idleStateForMeasurements_r14_03", HFILL }},
{ &hf_lpp_sensor_MotionInformationSup_r15,
{ "sensor-MotionInformationSup-r15", "lpp.sensor_MotionInformationSup_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_sensor_MotionInformationSup_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_adjustmentSupported_r16,
{ "adjustmentSupported-r16", "lpp.adjustmentSupported_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_adjustmentSupported_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_validityPeriodSupported_v1520,
{ "validityPeriodSupported-v1520", "lpp.validityPeriodSupported_v1520",
FT_UINT32, BASE_DEC, VALS(lpp_T_validityPeriodSupported_v1520_vals), 0,
NULL, HFILL }},
{ &hf_lpp_validityAreaSupported_v1520,
{ "validityAreaSupported-v1520", "lpp.validityAreaSupported_v1520",
FT_UINT32, BASE_DEC, VALS(lpp_T_validityAreaSupported_v1520_vals), 0,
NULL, HFILL }},
{ &hf_lpp_locationServerErrorCauses_r13_01,
{ "locationServerErrorCauses-r13", "lpp.locationServerErrorCauses_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
"Sensor_LocationServerErrorCauses_r13", HFILL }},
{ &hf_lpp_targetDeviceErrorCauses_r13_01,
{ "targetDeviceErrorCauses-r13", "lpp.targetDeviceErrorCauses_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
"Sensor_TargetDeviceErrorCauses_r13", HFILL }},
{ &hf_lpp_cause_r13_02,
{ "cause-r13", "lpp.cause_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r13_02_vals), 0,
"T_cause_r13_02", HFILL }},
{ &hf_lpp_cause_r13_03,
{ "cause-r13", "lpp.cause_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r13_03_vals), 0,
"T_cause_r13_03", HFILL }},
{ &hf_lpp_sensor_AssistanceDataList_r14,
{ "sensor-AssistanceDataList-r14", "lpp.sensor_AssistanceDataList_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_sensor_Error_r14,
{ "sensor-Error-r14", "lpp.sensor_Error_r14",
FT_UINT32, BASE_DEC, VALS(lpp_Sensor_Error_r13_vals), 0,
"Sensor_Error_r13", HFILL }},
{ &hf_lpp_refPressure_r14,
{ "refPressure-r14", "lpp.refPressure_r14",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_refPressure_fmt), 0,
"INTEGER_M20000_10000", HFILL }},
{ &hf_lpp_refPosition_r14,
{ "refPosition-r14", "lpp.refPosition_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"EllipsoidPointWithAltitudeAndUncertaintyEllipsoid", HFILL }},
{ &hf_lpp_refTemperature_r14,
{ "refTemperature-r14", "lpp.refTemperature_r14",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_refTemperature_fmt), 0,
"INTEGER_M64_63", HFILL }},
{ &hf_lpp_period_v1520,
{ "period-v1520", "lpp.period_v1520_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_pressureValidityPeriod_v1520,
{ "pressureValidityPeriod-v1520", "lpp.pressureValidityPeriod_v1520_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_referencePressureRate_v1520,
{ "referencePressureRate-v1520", "lpp.referencePressureRate_v1520",
FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_referencePressureRate_v1520_fmt), 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_area_v1520,
{ "area-v1520", "lpp.area_v1520_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_pressureValidityArea_v1520,
{ "pressureValidityArea-v1520", "lpp.pressureValidityArea_v1520_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gN_pressure_v1520,
{ "gN-pressure-v1520", "lpp.gN_pressure_v1520",
FT_INT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_gE_pressure_v1520,
{ "gE-pressure-v1520", "lpp.gE_pressure_v1520",
FT_INT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_centerPoint_v1520,
{ "centerPoint-v1520", "lpp.centerPoint_v1520_element",
FT_NONE, BASE_NONE, NULL, 0,
"Ellipsoid_Point", HFILL }},
{ &hf_lpp_validityAreaWidth_v1520,
{ "validityAreaWidth-v1520", "lpp.validityAreaWidth_v1520",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_km, 0,
"INTEGER_1_128", HFILL }},
{ &hf_lpp_validityAreaHeight_v1520,
{ "validityAreaHeight-v1520", "lpp.validityAreaHeight_v1520",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_128", HFILL }},
{ &hf_lpp_beginTime_v1520,
{ "beginTime-v1520", "lpp.beginTime_v1520_element",
FT_NONE, BASE_NONE, NULL, 0,
"GNSS_SystemTime", HFILL }},
{ &hf_lpp_beginTimeAlt_v1520,
{ "beginTimeAlt-v1520", "lpp.beginTimeAlt_v1520",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_PressureValidityPeriod_v1520_fmt), 0,
"INTEGER_0_2881", HFILL }},
{ &hf_lpp_duration_v1520,
{ "duration-v1520", "lpp.duration_v1520",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_PressureValidityPeriod_v1520_fmt), 0,
"INTEGER_1_2881", HFILL }},
{ &hf_lpp_wlan_MeasurementInformation_r13,
{ "wlan-MeasurementInformation-r13", "lpp.wlan_MeasurementInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_Error_r13,
{ "wlan-Error-r13", "lpp.wlan_Error_r13",
FT_UINT32, BASE_DEC, VALS(lpp_WLAN_Error_r13_vals), 0,
NULL, HFILL }},
{ &hf_lpp_wlan_MeasurementList_r13,
{ "wlan-MeasurementList-r13", "lpp.wlan_MeasurementList_r13",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_WLAN_MeasurementList_r13_item,
{ "WLAN-MeasurementElement-r13", "lpp.WLAN_MeasurementElement_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_AP_Identifier_r13,
{ "wlan-AP-Identifier-r13", "lpp.wlan_AP_Identifier_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_rssi_r13,
{ "rssi-r13", "lpp.rssi_r13",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
"INTEGER_M127_128", HFILL }},
{ &hf_lpp_rtt_r13,
{ "rtt-r13", "lpp.rtt_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
"WLAN_RTT_r13", HFILL }},
{ &hf_lpp_apChannelFrequency_r13,
{ "apChannelFrequency-r13", "lpp.apChannelFrequency_r13",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_256", HFILL }},
{ &hf_lpp_servingFlag_r13,
{ "servingFlag-r13", "lpp.servingFlag_r13",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_bssid_r13,
{ "bssid-r13", "lpp.bssid_r13",
FT_ETHER, BASE_NONE, NULL, 0,
"OCTET_STRING_SIZE_6", HFILL }},
{ &hf_lpp_ssid_r13,
{ "ssid-r13", "lpp.ssid_r13",
FT_STRING, STR_ASCII, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_rttValue_r13,
{ "rttValue-r13", "lpp.rttValue_r13",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_16777215", HFILL }},
{ &hf_lpp_rttUnits_r13,
{ "rttUnits-r13", "lpp.rttUnits_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_rttUnits_r13_vals), 0,
NULL, HFILL }},
{ &hf_lpp_rttAccuracy_r13,
{ "rttAccuracy-r13", "lpp.rttAccuracy_r13",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_requestedMeasurements_r13,
{ "requestedMeasurements-r13", "lpp.requestedMeasurements_r13",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_Modes_r13,
{ "wlan-Modes-r13", "lpp.wlan_Modes_r13",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_MeasSupported_r13,
{ "wlan-MeasSupported-r13", "lpp.wlan_MeasSupported_r13",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_AP_AD_Supported_r14,
{ "wlan-AP-AD-Supported-r14", "lpp.wlan_AP_AD_Supported_r14",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_idleStateForMeasurements_r14_04,
{ "idleStateForMeasurements-r14", "lpp.idleStateForMeasurements_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_idleStateForMeasurements_r14_04_vals), 0,
"T_idleStateForMeasurements_r14_04", HFILL }},
{ &hf_lpp_locationServerErrorCauses_r13_02,
{ "locationServerErrorCauses-r13", "lpp.locationServerErrorCauses_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
"WLAN_LocationServerErrorCauses_r13", HFILL }},
{ &hf_lpp_targetDeviceErrorCauses_r13_02,
{ "targetDeviceErrorCauses-r13", "lpp.targetDeviceErrorCauses_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
"WLAN_TargetDeviceErrorCauses_r13", HFILL }},
{ &hf_lpp_cause_r13_04,
{ "cause-r13", "lpp.cause_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r13_04_vals), 0,
"T_cause_r13_04", HFILL }},
{ &hf_lpp_apLocationDataUnavailable_r14,
{ "apLocationDataUnavailable-r14", "lpp.apLocationDataUnavailable_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_cause_r13_05,
{ "cause-r13", "lpp.cause_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r13_05_vals), 0,
"T_cause_r13_05", HFILL }},
{ &hf_lpp_wlan_AP_RSSI_MeasurementNotPossible_r13,
{ "wlan-AP-RSSI-MeasurementNotPossible-r13", "lpp.wlan_AP_RSSI_MeasurementNotPossible_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_AP_RTT_MeasurementNotPossible_r13,
{ "wlan-AP-RTT-MeasurementNotPossible-r13", "lpp.wlan_AP_RTT_MeasurementNotPossible_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_DataSet_r14,
{ "wlan-DataSet-r14", "lpp.wlan_DataSet_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14", HFILL }},
{ &hf_lpp_wlan_DataSet_r14_item,
{ "WLAN-DataSet-r14", "lpp.WLAN_DataSet_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_Error_r14,
{ "wlan-Error-r14", "lpp.wlan_Error_r14",
FT_UINT32, BASE_DEC, VALS(lpp_WLAN_Error_r13_vals), 0,
"WLAN_Error_r13", HFILL }},
{ &hf_lpp_wlan_AP_List_r14,
{ "wlan-AP-List-r14", "lpp.wlan_AP_List_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14", HFILL }},
{ &hf_lpp_wlan_AP_List_r14_item,
{ "WLAN-AP-Data-r14", "lpp.WLAN_AP_Data_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_supportedChannels_11a_r14,
{ "supportedChannels-11a-r14", "lpp.supportedChannels_11a_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_supportedChannels_11bg_r14,
{ "supportedChannels-11bg-r14", "lpp.supportedChannels_11bg_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ch34_r14,
{ "ch34-r14", "lpp.ch34_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch36_r14,
{ "ch36-r14", "lpp.ch36_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch38_r14,
{ "ch38-r14", "lpp.ch38_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch40_r14,
{ "ch40-r14", "lpp.ch40_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch42_r14,
{ "ch42-r14", "lpp.ch42_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch44_r14,
{ "ch44-r14", "lpp.ch44_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch46_r14,
{ "ch46-r14", "lpp.ch46_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch48_r14,
{ "ch48-r14", "lpp.ch48_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch52_r14,
{ "ch52-r14", "lpp.ch52_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch56_r14,
{ "ch56-r14", "lpp.ch56_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch60_r14,
{ "ch60-r14", "lpp.ch60_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch64_r14,
{ "ch64-r14", "lpp.ch64_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch149_r14,
{ "ch149-r14", "lpp.ch149_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch153_r14,
{ "ch153-r14", "lpp.ch153_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch157_r14,
{ "ch157-r14", "lpp.ch157_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch161_r14,
{ "ch161-r14", "lpp.ch161_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch1_r14,
{ "ch1-r14", "lpp.ch1_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch2_r14,
{ "ch2-r14", "lpp.ch2_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch3_r14,
{ "ch3-r14", "lpp.ch3_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch4_r14,
{ "ch4-r14", "lpp.ch4_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch5_r14,
{ "ch5-r14", "lpp.ch5_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch6_r14,
{ "ch6-r14", "lpp.ch6_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch7_r14,
{ "ch7-r14", "lpp.ch7_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch8_r14,
{ "ch8-r14", "lpp.ch8_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch9_r14,
{ "ch9-r14", "lpp.ch9_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch10_r14,
{ "ch10-r14", "lpp.ch10_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch11_r14,
{ "ch11-r14", "lpp.ch11_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch12_r14,
{ "ch12-r14", "lpp.ch12_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch13_r14,
{ "ch13-r14", "lpp.ch13_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_ch14_r14,
{ "ch14-r14", "lpp.ch14_r14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_wlan_AP_Identifier_r14,
{ "wlan-AP-Identifier-r14", "lpp.wlan_AP_Identifier_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
"WLAN_AP_Identifier_r13", HFILL }},
{ &hf_lpp_wlan_AP_Location_r14,
{ "wlan-AP-Location-r14", "lpp.wlan_AP_Location_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_locationDataLCI_r14,
{ "locationDataLCI-r14", "lpp.locationDataLCI_r14_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_latitudeUncertainty_r14,
{ "latitudeUncertainty-r14", "lpp.latitudeUncertainty_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_6", HFILL }},
{ &hf_lpp_latitude_r14,
{ "latitude-r14", "lpp.latitude_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_34", HFILL }},
{ &hf_lpp_longitudeUncertainty_r14,
{ "longitudeUncertainty-r14", "lpp.longitudeUncertainty_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_6", HFILL }},
{ &hf_lpp_longitude_r14,
{ "longitude-r14", "lpp.longitude_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_34", HFILL }},
{ &hf_lpp_altitudeUncertainty_r14,
{ "altitudeUncertainty-r14", "lpp.altitudeUncertainty_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_6", HFILL }},
{ &hf_lpp_altitude_r14,
{ "altitude-r14", "lpp.altitude_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_30", HFILL }},
{ &hf_lpp_datum_r14,
{ "datum-r14", "lpp.datum_r14",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_8", HFILL }},
{ &hf_lpp_requestedAD_r14,
{ "requestedAD-r14", "lpp.requestedAD_r14",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_visibleAPs_r14,
{ "visibleAPs-r14", "lpp.visibleAPs_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13", HFILL }},
{ &hf_lpp_visibleAPs_r14_item,
{ "WLAN-AP-Identifier-r13", "lpp.WLAN_AP_Identifier_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_wlan_AP_StoredData_r14,
{ "wlan-AP-StoredData-r14", "lpp.wlan_AP_StoredData_r14",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13", HFILL }},
{ &hf_lpp_wlan_AP_StoredData_r14_item,
{ "WLAN-AP-Identifier-r13", "lpp.WLAN_AP_Identifier_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bt_MeasurementInformation_r13,
{ "bt-MeasurementInformation-r13", "lpp.bt_MeasurementInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_bt_Error_r13,
{ "bt-Error-r13", "lpp.bt_Error_r13",
FT_UINT32, BASE_DEC, VALS(lpp_BT_Error_r13_vals), 0,
NULL, HFILL }},
{ &hf_lpp_bt_MeasurementList_r13,
{ "bt-MeasurementList-r13", "lpp.bt_MeasurementList_r13",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_BT_MeasurementList_r13_item,
{ "BT-MeasurementElement-r13", "lpp.BT_MeasurementElement_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_btAddr_r13,
{ "btAddr-r13", "lpp.btAddr_r13",
FT_ETHER, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_rssi_r13_01,
{ "rssi-r13", "lpp.rssi_r13",
FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
"INTEGER_M128_127", HFILL }},
{ &hf_lpp_requestedMeasurements_r13_01,
{ "requestedMeasurements-r13", "lpp.requestedMeasurements_r13",
FT_BYTES, BASE_NONE, NULL, 0,
"T_requestedMeasurements_r13_01", HFILL }},
{ &hf_lpp_bt_Modes_r13,
{ "bt-Modes-r13", "lpp.bt_Modes_r13",
FT_BYTES, BASE_NONE, NULL, 0,
"T_bt_Modes_r13", HFILL }},
{ &hf_lpp_bt_MeasSupported_r13,
{ "bt-MeasSupported-r13", "lpp.bt_MeasSupported_r13",
FT_BYTES, BASE_NONE, NULL, 0,
"T_bt_MeasSupported_r13", HFILL }},
{ &hf_lpp_idleStateForMeasurements_r14_05,
{ "idleStateForMeasurements-r14", "lpp.idleStateForMeasurements_r14",
FT_UINT32, BASE_DEC, VALS(lpp_T_idleStateForMeasurements_r14_05_vals), 0,
"T_idleStateForMeasurements_r14_05", HFILL }},
{ &hf_lpp_locationServerErrorCauses_r13_03,
{ "locationServerErrorCauses-r13", "lpp.locationServerErrorCauses_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
"BT_LocationServerErrorCauses_r13", HFILL }},
{ &hf_lpp_targetDeviceErrorCauses_r13_03,
{ "targetDeviceErrorCauses-r13", "lpp.targetDeviceErrorCauses_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
"BT_TargetDeviceErrorCauses_r13", HFILL }},
{ &hf_lpp_cause_r13_06,
{ "cause-r13", "lpp.cause_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r13_06_vals), 0,
"T_cause_r13_06", HFILL }},
{ &hf_lpp_cause_r13_07,
{ "cause-r13", "lpp.cause_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r13_07_vals), 0,
"T_cause_r13_07", HFILL }},
{ &hf_lpp_bt_Beacon_rssiMeasurementNotPossible_r13,
{ "bt-Beacon-rssiMeasurementNotPossible-r13", "lpp.bt_Beacon_rssiMeasurementNotPossible_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_UL_SRS_Capability_r16,
{ "nr-UL-SRS-Capability-r16", "lpp.nr_UL_SRS_Capability_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_ECID_SignalMeasurementInformation_r16,
{ "nr-ECID-SignalMeasurementInformation-r16", "lpp.nr_ECID_SignalMeasurementInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_ECID_Error_r16,
{ "nr-ECID-Error-r16", "lpp.nr_ECID_Error_r16",
FT_UINT32, BASE_DEC, VALS(lpp_NR_ECID_Error_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nr_PrimaryCellMeasuredResults_r16,
{ "nr-PrimaryCellMeasuredResults-r16", "lpp.nr_PrimaryCellMeasuredResults_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_MeasuredResultsElement_r16", HFILL }},
{ &hf_lpp_nr_MeasuredResultsList_r16,
{ "nr-MeasuredResultsList-r16", "lpp.nr_MeasuredResultsList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NR_MeasuredResultsList_r16_item,
{ "NR-MeasuredResultsElement-r16", "lpp.NR_MeasuredResultsElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_ARFCN_r16_01,
{ "nr-ARFCN-r16", "lpp.nr_ARFCN_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_nr_ARFCN_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_ssb_ARFCN_r16,
{ "ssb-ARFCN-r16", "lpp.ssb_ARFCN_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR_r15", HFILL }},
{ &hf_lpp_csi_RS_pointA_r16,
{ "csi-RS-pointA-r16", "lpp.csi_RS_pointA_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR_r15", HFILL }},
{ &hf_lpp_resultsSSB_Cell_r16,
{ "resultsSSB-Cell-r16", "lpp.resultsSSB_Cell_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"MeasQuantityResults_r16", HFILL }},
{ &hf_lpp_resultsCSI_RS_Cell_r16,
{ "resultsCSI-RS-Cell-r16", "lpp.resultsCSI_RS_Cell_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"MeasQuantityResults_r16", HFILL }},
{ &hf_lpp_resultsSSB_Indexes_r16,
{ "resultsSSB-Indexes-r16", "lpp.resultsSSB_Indexes_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"ResultsPerSSB_IndexList_r16", HFILL }},
{ &hf_lpp_resultsCSI_RS_Indexes_r16,
{ "resultsCSI-RS-Indexes-r16", "lpp.resultsCSI_RS_Indexes_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"ResultsPerCSI_RS_IndexList_r16", HFILL }},
{ &hf_lpp_nr_RSRP_r16,
{ "nr-RSRP-r16", "lpp.nr_RSRP_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_nr_RSRQ_r16,
{ "nr-RSRQ-r16", "lpp.nr_RSRQ_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_127", HFILL }},
{ &hf_lpp_ResultsPerSSB_IndexList_r16_item,
{ "ResultsPerSSB-Index-r16", "lpp.ResultsPerSSB_Index_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ssb_Results_r16,
{ "ssb-Results-r16", "lpp.ssb_Results_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"MeasQuantityResults_r16", HFILL }},
{ &hf_lpp_ResultsPerCSI_RS_IndexList_r16_item,
{ "ResultsPerCSI-RS-Index-r16", "lpp.ResultsPerCSI_RS_Index_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_csi_RS_Index_r16,
{ "csi-RS-Index-r16", "lpp.csi_RS_Index_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_95", HFILL }},
{ &hf_lpp_csi_RS_Results_r16,
{ "csi-RS-Results-r16", "lpp.csi_RS_Results_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"MeasQuantityResults_r16", HFILL }},
{ &hf_lpp_requestedMeasurements_r16,
{ "requestedMeasurements-r16", "lpp.requestedMeasurements_r16",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_ECID_MeasSupported_r16,
{ "nr-ECID-MeasSupported-r16", "lpp.nr_ECID_MeasSupported_r16",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_periodicalReporting_r16,
{ "periodicalReporting-r16", "lpp.periodicalReporting_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_periodicalReporting_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_triggeredReporting_r16,
{ "triggeredReporting-r16", "lpp.triggeredReporting_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_triggeredReporting_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_locationServerErrorCauses_r16,
{ "locationServerErrorCauses-r16", "lpp.locationServerErrorCauses_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_ECID_LocationServerErrorCauses_r16", HFILL }},
{ &hf_lpp_targetDeviceErrorCauses_r16,
{ "targetDeviceErrorCauses-r16", "lpp.targetDeviceErrorCauses_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_ECID_TargetDeviceErrorCauses_r16", HFILL }},
{ &hf_lpp_cause_r16,
{ "cause-r16", "lpp.cause_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_cause_r16_01,
{ "cause-r16", "lpp.cause_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r16_01_vals), 0,
"T_cause_r16_01", HFILL }},
{ &hf_lpp_ss_RSRPMeasurementNotPossible_r16,
{ "ss-RSRPMeasurementNotPossible-r16", "lpp.ss_RSRPMeasurementNotPossible_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_ss_RSRQMeasurementNotPossible_r16,
{ "ss-RSRQMeasurementNotPossible-r16", "lpp.ss_RSRQMeasurementNotPossible_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_csi_RSRPMeasurementNotPossible_r16,
{ "csi-RSRPMeasurementNotPossible-r16", "lpp.csi_RSRPMeasurementNotPossible_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_csi_RSRQMeasurementNotPossible_r16,
{ "csi-RSRQMeasurementNotPossible-r16", "lpp.csi_RSRQMeasurementNotPossible_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_PRS_AssistanceData_r16,
{ "nr-DL-PRS-AssistanceData-r16", "lpp.nr_DL_PRS_AssistanceData_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_SelectedDL_PRS_IndexList_r16,
{ "nr-SelectedDL-PRS-IndexList-r16", "lpp.nr_SelectedDL_PRS_IndexList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_PositionCalculationAssistance_r16,
{ "nr-PositionCalculationAssistance-r16", "lpp.nr_PositionCalculationAssistance_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_TDOA_Error_r16,
{ "nr-DL-TDOA-Error-r16", "lpp.nr_DL_TDOA_Error_r16",
FT_UINT32, BASE_DEC, VALS(lpp_NR_DL_TDOA_Error_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nr_AdType_r16,
{ "nr-AdType-r16", "lpp.nr_AdType_r16",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_TDOA_SignalMeasurementInformation_r16,
{ "nr-DL-TDOA-SignalMeasurementInformation-r16", "lpp.nr_DL_TDOA_SignalMeasurementInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_dl_tdoa_LocationInformation_r16,
{ "nr-dl-tdoa-LocationInformation-r16", "lpp.nr_dl_tdoa_LocationInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_dl_PRS_ReferenceInfo_r16,
{ "dl-PRS-ReferenceInfo-r16", "lpp.dl_PRS_ReferenceInfo_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"DL_PRS_ID_Info_r16", HFILL }},
{ &hf_lpp_nr_DL_TDOA_MeasList_r16,
{ "nr-DL-TDOA-MeasList-r16", "lpp.nr_DL_TDOA_MeasList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NR_DL_TDOA_MeasList_r16_item,
{ "NR-DL-TDOA-MeasElement-r16", "lpp.NR_DL_TDOA_MeasElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_TimeStamp_r16,
{ "nr-TimeStamp-r16", "lpp.nr_TimeStamp_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_RSTD_r16,
{ "nr-RSTD-r16", "lpp.nr_RSTD_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_nr_RSTD_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_k0_r16_01,
{ "k0-r16", "lpp.k0_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1970049", HFILL }},
{ &hf_lpp_k1_r16_01,
{ "k1-r16", "lpp.k1_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_985025", HFILL }},
{ &hf_lpp_k2_r16_01,
{ "k2-r16", "lpp.k2_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_492513", HFILL }},
{ &hf_lpp_k3_r16_01,
{ "k3-r16", "lpp.k3_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_246257", HFILL }},
{ &hf_lpp_k4_r16_01,
{ "k4-r16", "lpp.k4_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_123129", HFILL }},
{ &hf_lpp_k5_r16_01,
{ "k5-r16", "lpp.k5_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_61565", HFILL }},
{ &hf_lpp_nr_AdditionalPathList_r16,
{ "nr-AdditionalPathList-r16", "lpp.nr_AdditionalPathList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_TimingQuality_r16,
{ "nr-TimingQuality-r16", "lpp.nr_TimingQuality_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_PRS_RSRP_Result_r16,
{ "nr-DL-PRS-RSRP-Result-r16", "lpp.nr_DL_PRS_RSRP_Result_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_126", HFILL }},
{ &hf_lpp_nr_DL_TDOA_AdditionalMeasurements_r16,
{ "nr-DL-TDOA-AdditionalMeasurements-r16", "lpp.nr_DL_TDOA_AdditionalMeasurements_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NR_DL_TDOA_AdditionalMeasurements_r16_item,
{ "NR-DL-TDOA-AdditionalMeasurementElement-r16", "lpp.NR_DL_TDOA_AdditionalMeasurementElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_RSTD_ResultDiff_r16,
{ "nr-RSTD-ResultDiff-r16", "lpp.nr_RSTD_ResultDiff_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_nr_RSTD_ResultDiff_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_k0_r16_02,
{ "k0-r16", "lpp.k0_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_8191", HFILL }},
{ &hf_lpp_k1_r16_02,
{ "k1-r16", "lpp.k1_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_lpp_k2_r16_02,
{ "k2-r16", "lpp.k2_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_2047", HFILL }},
{ &hf_lpp_k3_r16_02,
{ "k3-r16", "lpp.k3_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_lpp_k4_r16_02,
{ "k4-r16", "lpp.k4_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_lpp_k5_r16_02,
{ "k5-r16", "lpp.k5_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r16,
{ "nr-DL-PRS-RSRP-ResultDiff-r16", "lpp.nr_DL_PRS_RSRP_ResultDiff_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_61", HFILL }},
{ &hf_lpp_measurementReferenceTime_r16,
{ "measurementReferenceTime-r16", "lpp.measurementReferenceTime_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_measurementReferenceTime_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_systemFrameNumber_r16_01,
{ "systemFrameNumber-r16", "lpp.systemFrameNumber_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_TimeStamp_r16", HFILL }},
{ &hf_lpp_utc_time_r16,
{ "utc-time-r16", "lpp.utc_time_r16",
FT_STRING, BASE_NONE, NULL, 0,
"UTCTime", HFILL }},
{ &hf_lpp_nr_DL_PRS_RstdMeasurementInfoRequest_r16,
{ "nr-DL-PRS-RstdMeasurementInfoRequest-r16", "lpp.nr_DL_PRS_RstdMeasurementInfoRequest_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_RstdMeasurementInfoRequest_r16_vals), 0,
"T_nr_DL_PRS_RstdMeasurementInfoRequest_r16", HFILL }},
{ &hf_lpp_nr_RequestedMeasurements_r16,
{ "nr-RequestedMeasurements-r16", "lpp.nr_RequestedMeasurements_r16",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_AssistanceAvailability_r16,
{ "nr-AssistanceAvailability-r16", "lpp.nr_AssistanceAvailability_r16",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_lpp_nr_DL_TDOA_ReportConfig_r16,
{ "nr-DL-TDOA-ReportConfig-r16", "lpp.nr_DL_TDOA_ReportConfig_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_additionalPaths_r16,
{ "additionalPaths-r16", "lpp.additionalPaths_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_additionalPaths_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_maxDL_PRS_RSTD_MeasurementsPerTRPPair_r16,
{ "maxDL-PRS-RSTD-MeasurementsPerTRPPair-r16", "lpp.maxDL_PRS_RSTD_MeasurementsPerTRPPair_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_4", HFILL }},
{ &hf_lpp_timingReportingGranularityFactor_r16,
{ "timingReportingGranularityFactor-r16", "lpp.timingReportingGranularityFactor_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_5", HFILL }},
{ &hf_lpp_nr_DL_TDOA_Mode_r16,
{ "nr-DL-TDOA-Mode-r16", "lpp.nr_DL_TDOA_Mode_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"PositioningModes", HFILL }},
{ &hf_lpp_nr_DL_TDOA_PRS_Capability_r16,
{ "nr-DL-TDOA-PRS-Capability-r16", "lpp.nr_DL_TDOA_PRS_Capability_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_DL_PRS_ResourcesCapability_r16", HFILL }},
{ &hf_lpp_nr_DL_TDOA_MeasurementCapability_r16,
{ "nr-DL-TDOA-MeasurementCapability-r16", "lpp.nr_DL_TDOA_MeasurementCapability_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_PRS_QCL_ProcessingCapability_r16,
{ "nr-DL-PRS-QCL-ProcessingCapability-r16", "lpp.nr_DL_PRS_QCL_ProcessingCapability_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_PRS_ProcessingCapability_r16,
{ "nr-DL-PRS-ProcessingCapability-r16", "lpp.nr_DL_PRS_ProcessingCapability_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_additionalPathsReport_r16,
{ "additionalPathsReport-r16", "lpp.additionalPathsReport_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_additionalPathsReport_r16_vals), 0,
"T_additionalPathsReport_r16", HFILL }},
{ &hf_lpp_periodicalReporting_r16_01,
{ "periodicalReporting-r16", "lpp.periodicalReporting_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"PositioningModes", HFILL }},
{ &hf_lpp_dl_RSTD_MeasurementPerPairOfTRP_FR1_r16,
{ "dl-RSTD-MeasurementPerPairOfTRP-FR1-r16", "lpp.dl_RSTD_MeasurementPerPairOfTRP_FR1_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_4", HFILL }},
{ &hf_lpp_dl_RSTD_MeasurementPerPairOfTRP_FR2_r16,
{ "dl-RSTD-MeasurementPerPairOfTRP-FR2-r16", "lpp.dl_RSTD_MeasurementPerPairOfTRP_FR2_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_4", HFILL }},
{ &hf_lpp_supportOfDL_PRS_RSRP_MeasFR1_r16,
{ "supportOfDL-PRS-RSRP-MeasFR1-r16", "lpp.supportOfDL_PRS_RSRP_MeasFR1_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfDL_PRS_RSRP_MeasFR1_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_supportOfDL_PRS_RSRP_MeasFR2_r16,
{ "supportOfDL-PRS-RSRP-MeasFR2-r16", "lpp.supportOfDL_PRS_RSRP_MeasFR2_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfDL_PRS_RSRP_MeasFR2_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_locationServerErrorCauses_r16_01,
{ "locationServerErrorCauses-r16", "lpp.locationServerErrorCauses_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_DL_TDOA_LocationServerErrorCauses_r16", HFILL }},
{ &hf_lpp_targetDeviceErrorCauses_r16_01,
{ "targetDeviceErrorCauses-r16", "lpp.targetDeviceErrorCauses_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_DL_TDOA_TargetDeviceErrorCauses_r16", HFILL }},
{ &hf_lpp_cause_r16_02,
{ "cause-r16", "lpp.cause_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r16_02_vals), 0,
"T_cause_r16_02", HFILL }},
{ &hf_lpp_cause_r16_03,
{ "cause-r16", "lpp.cause_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r16_03_vals), 0,
"T_cause_r16_03", HFILL }},
{ &hf_lpp_nr_DL_AoD_Error_r16,
{ "nr-DL-AoD-Error-r16", "lpp.nr_DL_AoD_Error_r16",
FT_UINT32, BASE_DEC, VALS(lpp_NR_DL_AoD_Error_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nr_AdType_r16_01,
{ "nr-AdType-r16", "lpp.nr_AdType_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"T_nr_AdType_r16_01", HFILL }},
{ &hf_lpp_nr_DL_AoD_SignalMeasurementInformation_r16,
{ "nr-DL-AoD-SignalMeasurementInformation-r16", "lpp.nr_DL_AoD_SignalMeasurementInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_dl_AoD_LocationInformation_r16,
{ "nr-dl-AoD-LocationInformation-r16", "lpp.nr_dl_AoD_LocationInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_AoD_MeasList_r16,
{ "nr-DL-AoD-MeasList-r16", "lpp.nr_DL_AoD_MeasList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NR_DL_AoD_MeasList_r16_item,
{ "NR-DL-AoD-MeasElement-r16", "lpp.NR_DL_AoD_MeasElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_PRS_RxBeamIndex_r16,
{ "nr-DL-PRS-RxBeamIndex-r16", "lpp.nr_DL_PRS_RxBeamIndex_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_8", HFILL }},
{ &hf_lpp_nr_DL_AoD_AdditionalMeasurements_r16,
{ "nr-DL-AoD-AdditionalMeasurements-r16", "lpp.nr_DL_AoD_AdditionalMeasurements_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NR_DL_AoD_AdditionalMeasurements_r16_item,
{ "NR-DL-AoD-AdditionalMeasurementElement-r16", "lpp.NR_DL_AoD_AdditionalMeasurementElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r16_01,
{ "nr-DL-PRS-RSRP-ResultDiff-r16", "lpp.nr_DL_PRS_RSRP_ResultDiff_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_30", HFILL }},
{ &hf_lpp_measurementReferenceTime_r16_01,
{ "measurementReferenceTime-r16", "lpp.measurementReferenceTime_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_measurementReferenceTime_r16_01_vals), 0,
"T_measurementReferenceTime_r16_01", HFILL }},
{ &hf_lpp_sfn_time_r16,
{ "sfn-time-r16", "lpp.sfn_time_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_TimeStamp_r16", HFILL }},
{ &hf_lpp_nr_DL_AoD_ReportConfig_r16,
{ "nr-DL-AoD-ReportConfig-r16", "lpp.nr_DL_AoD_ReportConfig_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_maxDL_PRS_RSRP_MeasurementsPerTRP_r16,
{ "maxDL-PRS-RSRP-MeasurementsPerTRP-r16", "lpp.maxDL_PRS_RSRP_MeasurementsPerTRP_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_8", HFILL }},
{ &hf_lpp_nr_DL_AoD_Mode_r16,
{ "nr-DL-AoD-Mode-r16", "lpp.nr_DL_AoD_Mode_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"PositioningModes", HFILL }},
{ &hf_lpp_nr_DL_AoD_PRS_Capability_r16,
{ "nr-DL-AoD-PRS-Capability-r16", "lpp.nr_DL_AoD_PRS_Capability_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_DL_PRS_ResourcesCapability_r16", HFILL }},
{ &hf_lpp_nr_DL_AoD_MeasurementCapability_r16,
{ "nr-DL-AoD-MeasurementCapability-r16", "lpp.nr_DL_AoD_MeasurementCapability_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_maxDL_PRS_RSRP_MeasurementFR1_r16,
{ "maxDL-PRS-RSRP-MeasurementFR1-r16", "lpp.maxDL_PRS_RSRP_MeasurementFR1_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_8", HFILL }},
{ &hf_lpp_maxDL_PRS_RSRP_MeasurementFR2_r16,
{ "maxDL-PRS-RSRP-MeasurementFR2-r16", "lpp.maxDL_PRS_RSRP_MeasurementFR2_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_8", HFILL }},
{ &hf_lpp_dl_AoD_MeasCapabilityBandList_r16,
{ "dl-AoD-MeasCapabilityBandList-r16", "lpp.dl_AoD_MeasCapabilityBandList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_AoD_MeasCapabilityPerBand_r16", HFILL }},
{ &hf_lpp_dl_AoD_MeasCapabilityBandList_r16_item,
{ "DL-AoD-MeasCapabilityPerBand-r16", "lpp.DL_AoD_MeasCapabilityPerBand_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_simul_NR_DL_AoD_DL_TDOA_r16,
{ "simul-NR-DL-AoD-DL-TDOA-r16", "lpp.simul_NR_DL_AoD_DL_TDOA_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_simul_NR_DL_AoD_DL_TDOA_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_simul_NR_DL_AoD_Multi_RTT_r16,
{ "simul-NR-DL-AoD-Multi-RTT-r16", "lpp.simul_NR_DL_AoD_Multi_RTT_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_simul_NR_DL_AoD_Multi_RTT_r16_vals), 0,
"T_simul_NR_DL_AoD_Multi_RTT_r16", HFILL }},
{ &hf_lpp_locationServerErrorCauses_r16_02,
{ "locationServerErrorCauses-r16", "lpp.locationServerErrorCauses_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_DL_AoD_LocationServerErrorCauses_r16", HFILL }},
{ &hf_lpp_targetDeviceErrorCauses_r16_02,
{ "targetDeviceErrorCauses-r16", "lpp.targetDeviceErrorCauses_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_DL_AoD_TargetDeviceErrorCauses_r16", HFILL }},
{ &hf_lpp_cause_r16_04,
{ "cause-r16", "lpp.cause_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r16_04_vals), 0,
"T_cause_r16_04", HFILL }},
{ &hf_lpp_cause_r16_05,
{ "cause-r16", "lpp.cause_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r16_05_vals), 0,
"T_cause_r16_05", HFILL }},
{ &hf_lpp_nr_Multi_RTT_Error_r16,
{ "nr-Multi-RTT-Error-r16", "lpp.nr_Multi_RTT_Error_r16",
FT_UINT32, BASE_DEC, VALS(lpp_NR_Multi_RTT_Error_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nr_AdType_r16_02,
{ "nr-AdType-r16", "lpp.nr_AdType_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"T_nr_AdType_r16_02", HFILL }},
{ &hf_lpp_nr_Multi_RTT_SignalMeasurementInformation_r16,
{ "nr-Multi-RTT-SignalMeasurementInformation-r16", "lpp.nr_Multi_RTT_SignalMeasurementInformation_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_Multi_RTT_MeasList_r16,
{ "nr-Multi-RTT-MeasList-r16", "lpp.nr_Multi_RTT_MeasList_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_NTA_Offset_r16,
{ "nr-NTA-Offset-r16", "lpp.nr_NTA_Offset_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_nr_NTA_Offset_r16_vals), 0,
"T_nr_NTA_Offset_r16", HFILL }},
{ &hf_lpp_NR_Multi_RTT_MeasList_r16_item,
{ "NR-Multi-RTT-MeasElement-r16", "lpp.NR_Multi_RTT_MeasElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_UE_RxTxTimeDiff_r16,
{ "nr-UE-RxTxTimeDiff-r16", "lpp.nr_UE_RxTxTimeDiff_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_nr_UE_RxTxTimeDiff_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nr_Multi_RTT_AdditionalMeasurements_r16,
{ "nr-Multi-RTT-AdditionalMeasurements-r16", "lpp.nr_Multi_RTT_AdditionalMeasurements_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_NR_Multi_RTT_AdditionalMeasurements_r16_item,
{ "NR-Multi-RTT-AdditionalMeasurementElement-r16", "lpp.NR_Multi_RTT_AdditionalMeasurementElement_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_UE_RxTxTimeDiffAdditional_r16,
{ "nr-UE-RxTxTimeDiffAdditional-r16", "lpp.nr_UE_RxTxTimeDiffAdditional_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_nr_UE_RxTxTimeDiffAdditional_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_nr_UE_RxTxTimeDiffMeasurementInfoRequest_r16,
{ "nr-UE-RxTxTimeDiffMeasurementInfoRequest-r16", "lpp.nr_UE_RxTxTimeDiffMeasurementInfoRequest_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_nr_UE_RxTxTimeDiffMeasurementInfoRequest_r16_vals), 0,
"T_nr_UE_RxTxTimeDiffMeasurementInfoRequest_r16", HFILL }},
{ &hf_lpp_nr_RequestedMeasurements_r16_01,
{ "nr-RequestedMeasurements-r16", "lpp.nr_RequestedMeasurements_r16",
FT_BYTES, BASE_NONE, NULL, 0,
"T_nr_RequestedMeasurements_r16_01", HFILL }},
{ &hf_lpp_nr_Multi_RTT_ReportConfig_r16,
{ "nr-Multi-RTT-ReportConfig-r16", "lpp.nr_Multi_RTT_ReportConfig_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_additionalPaths_r16_01,
{ "additionalPaths-r16", "lpp.additionalPaths_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_additionalPaths_r16_01_vals), 0,
"T_additionalPaths_r16_01", HFILL }},
{ &hf_lpp_maxDL_PRS_RxTxTimeDiffMeasPerTRP_r16,
{ "maxDL-PRS-RxTxTimeDiffMeasPerTRP-r16", "lpp.maxDL_PRS_RxTxTimeDiffMeasPerTRP_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_4", HFILL }},
{ &hf_lpp_nr_Multi_RTT_PRS_Capability_r16,
{ "nr-Multi-RTT-PRS-Capability-r16", "lpp.nr_Multi_RTT_PRS_Capability_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_DL_PRS_ResourcesCapability_r16", HFILL }},
{ &hf_lpp_nr_Multi_RTT_MeasurementCapability_r16,
{ "nr-Multi-RTT-MeasurementCapability-r16", "lpp.nr_Multi_RTT_MeasurementCapability_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_additionalPathsReport_r16_01,
{ "additionalPathsReport-r16", "lpp.additionalPathsReport_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_additionalPathsReport_r16_01_vals), 0,
"T_additionalPathsReport_r16_01", HFILL }},
{ &hf_lpp_periodicalReporting_r16_02,
{ "periodicalReporting-r16", "lpp.periodicalReporting_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_periodicalReporting_r16_01_vals), 0,
"T_periodicalReporting_r16_01", HFILL }},
{ &hf_lpp_maxNrOfRx_TX_MeasFR1_r16,
{ "maxNrOfRx-TX-MeasFR1-r16", "lpp.maxNrOfRx_TX_MeasFR1_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_4", HFILL }},
{ &hf_lpp_maxNrOfRx_TX_MeasFR2_r16,
{ "maxNrOfRx-TX-MeasFR2-r16", "lpp.maxNrOfRx_TX_MeasFR2_r16",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_4", HFILL }},
{ &hf_lpp_supportOfRSRP_MeasFR1_r16,
{ "supportOfRSRP-MeasFR1-r16", "lpp.supportOfRSRP_MeasFR1_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfRSRP_MeasFR1_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_supportOfRSRP_MeasFR2_r16,
{ "supportOfRSRP-MeasFR2-r16", "lpp.supportOfRSRP_MeasFR2_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfRSRP_MeasFR2_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_srs_AssocPRS_MultiLayersFR1_r16,
{ "srs-AssocPRS-MultiLayersFR1-r16", "lpp.srs_AssocPRS_MultiLayersFR1_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_srs_AssocPRS_MultiLayersFR1_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_srs_AssocPRS_MultiLayersFR2_r16,
{ "srs-AssocPRS-MultiLayersFR2-r16", "lpp.srs_AssocPRS_MultiLayersFR2_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_srs_AssocPRS_MultiLayersFR2_r16_vals), 0,
NULL, HFILL }},
{ &hf_lpp_locationServerErrorCauses_r16_03,
{ "locationServerErrorCauses-r16", "lpp.locationServerErrorCauses_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_Multi_RTT_LocationServerErrorCauses_r16", HFILL }},
{ &hf_lpp_targetDeviceErrorCauses_r16_03,
{ "targetDeviceErrorCauses-r16", "lpp.targetDeviceErrorCauses_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_Multi_RTT_TargetDeviceErrorCauses_r16", HFILL }},
{ &hf_lpp_cause_r16_06,
{ "cause-r16", "lpp.cause_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r16_06_vals), 0,
"T_cause_r16_06", HFILL }},
{ &hf_lpp_cause_r16_07,
{ "cause-r16", "lpp.cause_r16",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r16_07_vals), 0,
"T_cause_r16_07", HFILL }},
{ &hf_lpp_valueTag_r15,
{ "valueTag-r15", "lpp.valueTag_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_expirationTime_r15,
{ "expirationTime-r15", "lpp.expirationTime_r15",
FT_STRING, BASE_NONE, NULL, 0,
"UTCTime", HFILL }},
{ &hf_lpp_cipheringKeyData_r15,
{ "cipheringKeyData-r15", "lpp.cipheringKeyData_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_segmentationInfo_r15,
{ "segmentationInfo-r15", "lpp.segmentationInfo_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_assistanceDataElement_r15,
{ "assistanceDataElement-r15", "lpp.assistanceDataElement_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"T_assistanceDataElement_r15", HFILL }},
{ &hf_lpp_cipherSetID_r15,
{ "cipherSetID-r15", "lpp.cipherSetID_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_lpp_d0_r15,
{ "d0-r15", "lpp.d0_r15",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_1_128", HFILL }},
{ &hf_lpp_segmentationOption_r15,
{ "segmentationOption-r15", "lpp.segmentationOption_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_segmentationOption_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_assistanceDataSegmentType_r15,
{ "assistanceDataSegmentType-r15", "lpp.assistanceDataSegmentType_r15",
FT_UINT32, BASE_DEC, VALS(lpp_T_assistanceDataSegmentType_r15_vals), 0,
NULL, HFILL }},
{ &hf_lpp_assistanceDataSegmentNumber_r15,
{ "assistanceDataSegmentNumber-r15", "lpp.assistanceDataSegmentNumber_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_lpp_otdoa_ReferenceCellInfo_r15,
{ "otdoa-ReferenceCellInfo-r15", "lpp.otdoa_ReferenceCellInfo_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
"OTDOA_ReferenceCellInfo", HFILL }},
{ &hf_lpp_otdoa_NeighbourCellInfo_r15,
{ "otdoa-NeighbourCellInfo-r15", "lpp.otdoa_NeighbourCellInfo_r15",
FT_UINT32, BASE_DEC, NULL, 0,
"OTDOA_NeighbourCellInfoList", HFILL }},
{ &hf_lpp_nr_trp_LocationInfo_r16,
{ "nr-trp-LocationInfo-r16", "lpp.nr_trp_LocationInfo_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_dl_prs_BeamInfo_r16,
{ "nr-dl-prs-BeamInfo-r16", "lpp.nr_dl_prs_BeamInfo_r16",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_nr_rtd_Info_r16,
{ "nr-rtd-Info-r16", "lpp.nr_rtd_Info_r16_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lpp_T_accessTypes_eutra,
{ "eutra", "lpp.T.accessTypes.eutra",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_accessTypes_utra,
{ "utra", "lpp.T.accessTypes.utra",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_accessTypes_gsm,
{ "gsm", "lpp.T.accessTypes.gsm",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_accessTypes_nb_iot,
{ "nb-iot", "lpp.T.accessTypes.nb.iot",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_T_accessTypes_nr_v1510,
{ "nr-v1510", "lpp.T.accessTypes.nr.v1510",
FT_BOOLEAN, 8, NULL, 0x08,
NULL, HFILL }},
{ &hf_lpp_UpdateCapabilities_r15_primaryCellID_r15,
{ "primaryCellID-r15", "lpp.UpdateCapabilities.r15.primaryCellID.r15",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_posModes_standalone,
{ "standalone", "lpp.T.posModes.standalone",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_posModes_ue_based,
{ "ue-based", "lpp.T.posModes.ue.based",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_posModes_ue_assisted,
{ "ue-assisted", "lpp.T.posModes.ue.assisted",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_lpp_message_segmentation_req_r14_serverToTarget,
{ "serverToTarget", "lpp.T.lpp.message.segmentation.req.r14.serverToTarget",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_lpp_message_segmentation_req_r14_targetToServer,
{ "targetToServer", "lpp.T.lpp.message.segmentation.req.r14.targetToServer",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_lpp_message_segmentation_r14_serverToTarget,
{ "serverToTarget", "lpp.T.lpp.message.segmentation.r14.serverToTarget",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_lpp_message_segmentation_r14_targetToServer,
{ "targetToServer", "lpp.T.lpp.message.segmentation.r14.targetToServer",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_LocationSource_r13_a_gnss,
{ "a-gnss", "lpp.LocationSource.r13.a.gnss",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_LocationSource_r13_wlan,
{ "wlan", "lpp.LocationSource.r13.wlan",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_LocationSource_r13_bt,
{ "bt", "lpp.LocationSource.r13.bt",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_LocationSource_r13_tbs,
{ "tbs", "lpp.LocationSource.r13.tbs",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_LocationSource_r13_sensor,
{ "sensor", "lpp.LocationSource.r13.sensor",
FT_BOOLEAN, 8, NULL, 0x08,
NULL, HFILL }},
{ &hf_lpp_LocationSource_r13_ha_gnss_v1510,
{ "ha-gnss-v1510", "lpp.LocationSource.r13.ha.gnss.v1510",
FT_BOOLEAN, 8, NULL, 0x04,
NULL, HFILL }},
{ &hf_lpp_LocationSource_r13_motion_sensor_v1550,
{ "motion-sensor-v1550", "lpp.LocationSource.r13.motion.sensor.v1550",
FT_BOOLEAN, 8, NULL, 0x02,
NULL, HFILL }},
{ &hf_lpp_LocationSource_r13_dl_tdoa_r16,
{ "dl-tdoa-r16", "lpp.LocationSource.r13.dl.tdoa.r16",
FT_BOOLEAN, 8, NULL, 0x01,
NULL, HFILL }},
{ &hf_lpp_LocationSource_r13_dl_aod_r16,
{ "dl-aod-r16", "lpp.LocationSource.r13.dl.aod.r16",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_adType_r14_prs,
{ "prs", "lpp.T.adType.r14.prs",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_adType_r14_nprs,
{ "nprs", "lpp.T.adType.r14.nprs",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_otdoa_Mode_ue_assisted,
{ "ue-assisted", "lpp.T.otdoa.Mode.ue.assisted",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_otdoa_Mode_ue_assisted_NB_r14,
{ "ue-assisted-NB-r14", "lpp.T.otdoa.Mode.ue.assisted.NB.r14",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_otdoa_Mode_ue_assisted_NB_TDD_r15,
{ "ue-assisted-NB-TDD-r15", "lpp.T.otdoa.Mode.ue.assisted.NB.TDD.r15",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_periodicAssistanceData_r15_solicited,
{ "solicited", "lpp.T.periodicAssistanceData.r15.solicited",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_periodicAssistanceData_r15_unsolicited,
{ "unsolicited", "lpp.T.periodicAssistanceData.r15.unsolicited",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_ionoModel_klobuchar,
{ "klobuchar", "lpp.T.ionoModel.klobuchar",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_ionoModel_neQuick,
{ "neQuick", "lpp.T.ionoModel.neQuick",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_ionoModel_klobuchar2_r16,
{ "klobuchar2-r16", "lpp.T.ionoModel.klobuchar2.r16",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_clockModel_model_1,
{ "model-1", "lpp.T.clockModel.model.1",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_clockModel_model_2,
{ "model-2", "lpp.T.clockModel.model.2",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_clockModel_model_3,
{ "model-3", "lpp.T.clockModel.model.3",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_clockModel_model_4,
{ "model-4", "lpp.T.clockModel.model.4",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_T_clockModel_model_5,
{ "model-5", "lpp.T.clockModel.model.5",
FT_BOOLEAN, 8, NULL, 0x08,
NULL, HFILL }},
{ &hf_lpp_T_clockModel_model_6,
{ "model-6", "lpp.T.clockModel.model.6",
FT_BOOLEAN, 8, NULL, 0x04,
NULL, HFILL }},
{ &hf_lpp_T_clockModel_model_7_r16,
{ "model-7-r16", "lpp.T.clockModel.model.7.r16",
FT_BOOLEAN, 8, NULL, 0x02,
NULL, HFILL }},
{ &hf_lpp_T_clockModel_model_8_r16,
{ "model-8-r16", "lpp.T.clockModel.model.8.r16",
FT_BOOLEAN, 8, NULL, 0x01,
NULL, HFILL }},
{ &hf_lpp_T_orbitModel_model_1,
{ "model-1", "lpp.T.orbitModel.model.1",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_orbitModel_model_2,
{ "model-2", "lpp.T.orbitModel.model.2",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_orbitModel_model_3,
{ "model-3", "lpp.T.orbitModel.model.3",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_orbitModel_model_4,
{ "model-4", "lpp.T.orbitModel.model.4",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_T_orbitModel_model_5,
{ "model-5", "lpp.T.orbitModel.model.5",
FT_BOOLEAN, 8, NULL, 0x08,
NULL, HFILL }},
{ &hf_lpp_T_orbitModel_model_6,
{ "model-6", "lpp.T.orbitModel.model.6",
FT_BOOLEAN, 8, NULL, 0x04,
NULL, HFILL }},
{ &hf_lpp_T_orbitModel_model_7_r16,
{ "model-7-r16", "lpp.T.orbitModel.model.7.r16",
FT_BOOLEAN, 8, NULL, 0x02,
NULL, HFILL }},
{ &hf_lpp_T_orbitModel_model_8_r16,
{ "model-8-r16", "lpp.T.orbitModel.model.8.r16",
FT_BOOLEAN, 8, NULL, 0x01,
NULL, HFILL }},
{ &hf_lpp_T_almanacModel_model_1,
{ "model-1", "lpp.T.almanacModel.model.1",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_almanacModel_model_2,
{ "model-2", "lpp.T.almanacModel.model.2",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_almanacModel_model_3,
{ "model-3", "lpp.T.almanacModel.model.3",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_almanacModel_model_4,
{ "model-4", "lpp.T.almanacModel.model.4",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_T_almanacModel_model_5,
{ "model-5", "lpp.T.almanacModel.model.5",
FT_BOOLEAN, 8, NULL, 0x08,
NULL, HFILL }},
{ &hf_lpp_T_almanacModel_model_6,
{ "model-6", "lpp.T.almanacModel.model.6",
FT_BOOLEAN, 8, NULL, 0x04,
NULL, HFILL }},
{ &hf_lpp_T_almanacModel_model_7,
{ "model-7", "lpp.T.almanacModel.model.7",
FT_BOOLEAN, 8, NULL, 0x02,
NULL, HFILL }},
{ &hf_lpp_T_utc_Model_model_1,
{ "model-1", "lpp.T.utc.Model.model.1",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_utc_Model_model_2,
{ "model-2", "lpp.T.utc.Model.model.2",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_utc_Model_model_3,
{ "model-3", "lpp.T.utc.Model.model.3",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_utc_Model_model_4,
{ "model-4", "lpp.T.utc.Model.model.4",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_T_utc_Model_model_5,
{ "model-5", "lpp.T.utc.Model.model.5",
FT_BOOLEAN, 8, NULL, 0x08,
NULL, HFILL }},
{ &hf_lpp_T_gnss_ids_gps,
{ "gps", "lpp.T.gnss.ids.gps",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_gnss_ids_sbas,
{ "sbas", "lpp.T.gnss.ids.sbas",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_gnss_ids_qzss,
{ "qzss", "lpp.T.gnss.ids.qzss",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_gnss_ids_galileo,
{ "galileo", "lpp.T.gnss.ids.galileo",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_T_gnss_ids_glonass,
{ "glonass", "lpp.T.gnss.ids.glonass",
FT_BOOLEAN, 8, NULL, 0x08,
NULL, HFILL }},
{ &hf_lpp_T_gnss_ids_bds,
{ "bds", "lpp.T.gnss.ids.bds",
FT_BOOLEAN, 8, NULL, 0x04,
NULL, HFILL }},
{ &hf_lpp_T_gnss_ids_navic_v1610,
{ "navic-v1610", "lpp.T.gnss.ids.navic.v1610",
FT_BOOLEAN, 8, NULL, 0x02,
NULL, HFILL }},
{ &hf_lpp_T_sbas_IDs_waas,
{ "waas", "lpp.T.sbas.IDs.waas",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_sbas_IDs_egnos,
{ "egnos", "lpp.T.sbas.IDs.egnos",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_sbas_IDs_msas,
{ "msas", "lpp.T.sbas.IDs.msas",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_sbas_IDs_gagan,
{ "gagan", "lpp.T.sbas.IDs.gagan",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_rsrpReq,
{ "rsrpReq", "lpp.T.requestedMeasurements.rsrpReq",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_rsrqReq,
{ "rsrqReq", "lpp.T.requestedMeasurements.rsrqReq",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_ueRxTxReq,
{ "ueRxTxReq", "lpp.T.requestedMeasurements.ueRxTxReq",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_nrsrpReq_r14,
{ "nrsrpReq-r14", "lpp.T.requestedMeasurements.nrsrpReq.r14",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_nrsrqReq_r14,
{ "nrsrqReq-r14", "lpp.T.requestedMeasurements.nrsrqReq.r14",
FT_BOOLEAN, 8, NULL, 0x08,
NULL, HFILL }},
{ &hf_lpp_T_ecid_MeasSupported_rsrpSup,
{ "rsrpSup", "lpp.T.ecid.MeasSupported.rsrpSup",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_ecid_MeasSupported_rsrqSup,
{ "rsrqSup", "lpp.T.ecid.MeasSupported.rsrqSup",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_ecid_MeasSupported_ueRxTxSup,
{ "ueRxTxSup", "lpp.T.ecid.MeasSupported.ueRxTxSup",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_ecid_MeasSupported_nrsrpSup_r14,
{ "nrsrpSup-r14", "lpp.T.ecid.MeasSupported.nrsrpSup.r14",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_T_ecid_MeasSupported_nrsrqSup_r14,
{ "nrsrqSup-r14", "lpp.T.ecid.MeasSupported.nrsrqSup.r14",
FT_BOOLEAN, 8, NULL, 0x08,
NULL, HFILL }},
{ &hf_lpp_T_mbsRequestedMeasurements_r14_rssi,
{ "rssi", "lpp.T.mbsRequestedMeasurements.r14.rssi",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_tbs_Modes_r13_standalone,
{ "standalone", "lpp.T.tbs.Modes.r13.standalone",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_tbs_Modes_r13_ue_assisted,
{ "ue-assisted", "lpp.T.tbs.Modes.r13.ue.assisted",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_tbs_Modes_r13_ue_based,
{ "ue-based", "lpp.T.tbs.Modes.r13.ue.based",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_mbs_ConfigSupport_r14_tb1,
{ "tb1", "lpp.T.mbs.ConfigSupport.r14.tb1",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_mbs_ConfigSupport_r14_tb2,
{ "tb2", "lpp.T.mbs.ConfigSupport.r14.tb2",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_mbs_ConfigSupport_r14_tb3,
{ "tb3", "lpp.T.mbs.ConfigSupport.r14.tb3",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_mbs_ConfigSupport_r14_tb4,
{ "tb4", "lpp.T.mbs.ConfigSupport.r14.tb4",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_T_sensor_Modes_r13_standalone,
{ "standalone", "lpp.T.sensor.Modes.r13.standalone",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_sensor_Modes_r13_ue_assisted,
{ "ue-assisted", "lpp.T.sensor.Modes.r13.ue.assisted",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_sensor_Modes_r13_ue_based,
{ "ue-based", "lpp.T.sensor.Modes.r13.ue.based",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_r13_rssi,
{ "rssi", "lpp.T.requestedMeasurements.r13.rssi",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_r13_rtt,
{ "rtt", "lpp.T.requestedMeasurements.r13.rtt",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_wlan_Modes_r13_standalone,
{ "standalone", "lpp.T.wlan.Modes.r13.standalone",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_wlan_Modes_r13_ue_assisted,
{ "ue-assisted", "lpp.T.wlan.Modes.r13.ue.assisted",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_wlan_Modes_r13_ue_based,
{ "ue-based", "lpp.T.wlan.Modes.r13.ue.based",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_wlan_MeasSupported_r13_rssi_r13,
{ "rssi-r13", "lpp.T.wlan.MeasSupported.r13.rssi.r13",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_wlan_MeasSupported_r13_rtt_r13,
{ "rtt-r13", "lpp.T.wlan.MeasSupported.r13.rtt.r13",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_wlan_AP_AD_Supported_r14_ap_identifier,
{ "ap-identifier", "lpp.T.wlan.AP.AD.Supported.r14.ap.identifier",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_wlan_AP_AD_Supported_r14_ap_location,
{ "ap-location", "lpp.T.wlan.AP.AD.Supported.r14.ap.location",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_requestedAD_r14_ap_identifier,
{ "ap-identifier", "lpp.T.requestedAD.r14.ap.identifier",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_requestedAD_r14_ap_location,
{ "ap-location", "lpp.T.requestedAD.r14.ap.location",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_r13_01_rssi,
{ "rssi", "lpp.T.requestedMeasurements.r13.01.rssi",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_bt_Modes_r13_standalone,
{ "standalone", "lpp.T.bt.Modes.r13.standalone",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_bt_Modes_r13_ue_assisted,
{ "ue-assisted", "lpp.T.bt.Modes.r13.ue.assisted",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_bt_MeasSupported_r13_rssi_r13,
{ "rssi-r13", "lpp.T.bt.MeasSupported.r13.rssi.r13",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_r16_ssrsrpReq,
{ "ssrsrpReq", "lpp.T.requestedMeasurements.r16.ssrsrpReq",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_r16_ssrsrqReq,
{ "ssrsrqReq", "lpp.T.requestedMeasurements.r16.ssrsrqReq",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_r16_csirsrpReq,
{ "csirsrpReq", "lpp.T.requestedMeasurements.r16.csirsrpReq",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_r16_csirsrqReq,
{ "csirsrqReq", "lpp.T.requestedMeasurements.r16.csirsrqReq",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_T_nr_ECID_MeasSupported_r16_ssrsrpSup,
{ "ssrsrpSup", "lpp.T.nr.ECID.MeasSupported.r16.ssrsrpSup",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_nr_ECID_MeasSupported_r16_ssrsrqSup,
{ "ssrsrqSup", "lpp.T.nr.ECID.MeasSupported.r16.ssrsrqSup",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_nr_ECID_MeasSupported_r16_csirsrpSup,
{ "csirsrpSup", "lpp.T.nr.ECID.MeasSupported.r16.csirsrpSup",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_lpp_T_nr_ECID_MeasSupported_r16_csirsrqSup,
{ "csirsrqSup", "lpp.T.nr.ECID.MeasSupported.r16.csirsrqSup",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_lpp_T_nr_AdType_r16_dl_prs,
{ "dl-prs", "lpp.T.nr.AdType.r16.dl.prs",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_nr_AdType_r16_posCalc,
{ "posCalc", "lpp.T.nr.AdType.r16.posCalc",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_nr_RequestedMeasurements_r16_prsrsrpReq,
{ "prsrsrpReq", "lpp.T.nr.RequestedMeasurements.r16.prsrsrpReq",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_nr_AdType_r16_01_dl_prs,
{ "dl-prs", "lpp.T.nr.AdType.r16.01.dl.prs",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_nr_AdType_r16_01_posCalc,
{ "posCalc", "lpp.T.nr.AdType.r16.01.posCalc",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_nr_AdType_r16_02_dl_prs,
{ "dl-prs", "lpp.T.nr.AdType.r16.02.dl.prs",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_lpp_T_nr_AdType_r16_02_ul_srs,
{ "ul-srs", "lpp.T.nr.AdType.r16.02.ul.srs",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_lpp_T_nr_RequestedMeasurements_r16_01_prsrsrpReq,
{ "prsrsrpReq", "lpp.T.nr.RequestedMeasurements.r16.01.prsrsrpReq",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
/*--- End of included file: packet-lpp-hfarr.c ---*/
#line 2079 "./asn1/lpp/packet-lpp-template.c"
{ &hf_lpp_svHealthExt_v1240_e5bhs,
{ "E5b Signal Health Status", "lpp.svHealthExt_v1240.e5bhs",
FT_UINT8, BASE_DEC, VALS(lpp_signal_health_status_vals), 0,
NULL, HFILL }},
{ &hf_lpp_svHealthExt_v1240_e1_bhs,
{ "E1-B Signal Health Status", "lpp.svHealthExt_v1240.e1_bhs",
FT_UINT8, BASE_DEC, VALS(lpp_signal_health_status_vals), 0,
NULL, HFILL }},
{ &hf_lpp_kepSV_StatusINAV_e5bhs,
{ "E5b Signal Health Status", "lpp.kepSV_StatusINAV.e5bhs",
FT_UINT8, BASE_DEC, VALS(lpp_signal_health_status_vals), 0,
NULL, HFILL }},
{ &hf_lpp_kepSV_StatusINAV_e1_bhs,
{ "E1-B Signal Health Status", "lpp.kepSV_StatusINAV.e1_bhs",
FT_UINT8, BASE_DEC, VALS(lpp_signal_health_status_vals), 0,
NULL, HFILL }},
{ &hf_lpp_kepSV_StatusFNAV_e5ahs,
{ "E5a Signal Health Status", "lpp.kepSV_StatusFNAV.e5ahs",
FT_UINT8, BASE_DEC, VALS(lpp_signal_health_status_vals), 0,
NULL, HFILL }},
{ &hf_lpp_bdsSvHealth_r12_sat_clock,
{ "Satellite Clock", "lpp.bdsSvHealth_r12.sat_clock",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_ok_error), 0,
NULL, HFILL }},
{ &hf_lpp_bdsSvHealth_r12_b1i,
{ "B1I Signal", "lpp.bdsSvHealth_r12.b1i",
FT_BOOLEAN, BASE_NONE, TFS(&lpp_bdsSvHealth_r12_b1i_b2i_value), 0,
NULL, HFILL }},
{ &hf_lpp_bdsSvHealth_r12_b2i,
{ "B2I Signal", "lpp.bdsSvHealth_r12.b2i",
FT_BOOLEAN, BASE_NONE, TFS(&lpp_bdsSvHealth_r12_b1i_b2i_value), 0,
NULL, HFILL }},
{ &hf_lpp_bdsSvHealth_r12_nav,
{ "NAV Message", "lpp.bdsSvHealth_r12.nav",
FT_BOOLEAN, BASE_NONE, TFS(&lpp_bdsSvHealth_r12_nav_value), 0,
NULL, HFILL }},
{ &hf_lpp_AssistanceDataSIBelement_r15_PDU,
{ "AssistanceDataSIBelement-r15", "lpp.AssistanceDataSIBelement_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
};
/* List of subtrees */
static gint *ett[] = {
&ett_lpp,
&ett_lpp_svHealthExt_v1240,
&ett_kepSV_StatusINAV,
&ett_kepSV_StatusFNAV,
&ett_lpp_bdsSvHealth_r12,
&ett_lpp_assistanceDataElement_r15,
/*--- Included file: packet-lpp-ettarr.c ---*/
#line 1 "./asn1/lpp/packet-lpp-ettarr.c"
&ett_lpp_LPP_Message,
&ett_lpp_Acknowledgement,
&ett_lpp_LPP_MessageBody,
&ett_lpp_T_c1,
&ett_lpp_T_messageClassExtension,
&ett_lpp_LPP_TransactionID,
&ett_lpp_RequestCapabilities,
&ett_lpp_T_criticalExtensions,
&ett_lpp_T_c1_01,
&ett_lpp_T_criticalExtensionsFuture,
&ett_lpp_RequestCapabilities_r9_IEs,
&ett_lpp_ProvideCapabilities,
&ett_lpp_T_criticalExtensions_01,
&ett_lpp_T_c1_02,
&ett_lpp_T_criticalExtensionsFuture_01,
&ett_lpp_ProvideCapabilities_r9_IEs,
&ett_lpp_RequestAssistanceData,
&ett_lpp_T_criticalExtensions_02,
&ett_lpp_T_c1_03,
&ett_lpp_T_criticalExtensionsFuture_02,
&ett_lpp_RequestAssistanceData_r9_IEs,
&ett_lpp_ProvideAssistanceData,
&ett_lpp_T_criticalExtensions_03,
&ett_lpp_T_c1_04,
&ett_lpp_T_criticalExtensionsFuture_03,
&ett_lpp_ProvideAssistanceData_r9_IEs,
&ett_lpp_RequestLocationInformation,
&ett_lpp_T_criticalExtensions_04,
&ett_lpp_T_c1_05,
&ett_lpp_T_criticalExtensionsFuture_04,
&ett_lpp_RequestLocationInformation_r9_IEs,
&ett_lpp_ProvideLocationInformation,
&ett_lpp_T_criticalExtensions_05,
&ett_lpp_T_c1_06,
&ett_lpp_T_criticalExtensionsFuture_05,
&ett_lpp_ProvideLocationInformation_r9_IEs,
&ett_lpp_Abort,
&ett_lpp_T_criticalExtensions_06,
&ett_lpp_T_c1_07,
&ett_lpp_T_criticalExtensionsFuture_06,
&ett_lpp_Abort_r9_IEs,
&ett_lpp_Error,
&ett_lpp_T_criticalExtensionsFuture_07,
&ett_lpp_Error_r9_IEs,
&ett_lpp_AccessTypes,
&ett_lpp_T_accessTypes,
&ett_lpp_CarrierFreq_NB_r14,
&ett_lpp_CellGlobalIdEUTRA_AndUTRA,
&ett_lpp_T_plmn_Identity,
&ett_lpp_T_mcc,
&ett_lpp_T_mnc,
&ett_lpp_T_cellIdentity,
&ett_lpp_CellGlobalIdGERAN,
&ett_lpp_T_plmn_Identity_01,
&ett_lpp_T_mcc_01,
&ett_lpp_T_mnc_01,
&ett_lpp_ECGI,
&ett_lpp_T_mcc_02,
&ett_lpp_T_mnc_02,
&ett_lpp_Ellipsoid_Point,
&ett_lpp_Ellipsoid_PointWithUncertaintyCircle,
&ett_lpp_EllipsoidPointWithUncertaintyEllipse,
&ett_lpp_EllipsoidPointWithAltitude,
&ett_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
&ett_lpp_EllipsoidArc,
&ett_lpp_EPDU_Sequence,
&ett_lpp_EPDU,
&ett_lpp_EPDU_Identifier,
&ett_lpp_HighAccuracyEllipsoidPointWithUncertaintyEllipse_r15,
&ett_lpp_HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15,
&ett_lpp_HorizontalVelocity,
&ett_lpp_HorizontalWithVerticalVelocity,
&ett_lpp_HorizontalVelocityWithUncertainty,
&ett_lpp_HorizontalWithVerticalVelocityAndUncertainty,
&ett_lpp_LocationCoordinateTypes,
&ett_lpp_NCGI_r15,
&ett_lpp_T_mcc_r15,
&ett_lpp_T_mnc_r15,
&ett_lpp_PeriodicAssistanceDataControlParameters_r15,
&ett_lpp_PeriodicSessionID_r15,
&ett_lpp_UpdateCapabilities_r15,
&ett_lpp_Polygon,
&ett_lpp_PolygonPoints,
&ett_lpp_PositioningModes,
&ett_lpp_T_posModes,
&ett_lpp_VelocityTypes,
&ett_lpp_CommonIEsRequestCapabilities,
&ett_lpp_T_lpp_message_segmentation_req_r14,
&ett_lpp_CommonIEsProvideCapabilities,
&ett_lpp_T_lpp_message_segmentation_r14,
&ett_lpp_CommonIEsRequestAssistanceData,
&ett_lpp_CommonIEsProvideAssistanceData,
&ett_lpp_CommonIEsRequestLocationInformation,
&ett_lpp_PeriodicalReportingCriteria,
&ett_lpp_TriggeredReportingCriteria,
&ett_lpp_QoS,
&ett_lpp_HorizontalAccuracy,
&ett_lpp_VerticalAccuracy,
&ett_lpp_HorizontalAccuracyExt_r15,
&ett_lpp_VerticalAccuracyExt_r15,
&ett_lpp_ResponseTime,
&ett_lpp_ResponseTimeNB_r14,
&ett_lpp_MessageSizeLimitNB_r14,
&ett_lpp_CommonIEsProvideLocationInformation,
&ett_lpp_LocationCoordinates,
&ett_lpp_Velocity,
&ett_lpp_LocationError,
&ett_lpp_LocationSource_r13,
&ett_lpp_CommonIEsAbort,
&ett_lpp_CommonIEsError,
&ett_lpp_DL_PRS_ID_Info_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxResourceIDs_r16_OF_NR_DL_PRS_ResourceID_r16,
&ett_lpp_NR_AdditionalPathList_r16,
&ett_lpp_NR_AdditionalPath_r16,
&ett_lpp_T_nr_RelativeTimeDifference_r16,
&ett_lpp_NR_DL_PRS_AssistanceData_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxFreqLayers_r16_OF_NR_DL_PRS_AssistanceDataPerFreq_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPs_r16_OF_NR_SSB_Config_r16,
&ett_lpp_NR_DL_PRS_AssistanceDataPerFreq_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_DL_PRS_AssistanceDataPerTRP_r16,
&ett_lpp_NR_DL_PRS_AssistanceDataPerTRP_r16,
&ett_lpp_NR_DL_PRS_PositioningFrequencyLayer_r16,
&ett_lpp_NR_DL_PRS_SFN0_Offset_r16,
&ett_lpp_NR_DL_PRS_BeamInfo_r16,
&ett_lpp_NR_DL_PRS_BeamInfoPerFreqLayer_r16,
&ett_lpp_NR_DL_PRS_BeamInfoPerTRP_r16,
&ett_lpp_DL_PRS_BeamInfoSet_r16,
&ett_lpp_DL_PRS_BeamInfoResourceSet_r16,
&ett_lpp_DL_PRS_BeamInfoElement_r16,
&ett_lpp_LCS_GCS_TranslationParameter_r16,
&ett_lpp_NR_DL_PRS_Info_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ResourceSet_r16,
&ett_lpp_NR_DL_PRS_ResourceSet_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_NR_DL_PRS_Resource_r16,
&ett_lpp_DL_PRS_MutingOption1_r16,
&ett_lpp_DL_PRS_MutingOption2_r16,
&ett_lpp_NR_MutingPattern_r16,
&ett_lpp_NR_DL_PRS_Resource_r16,
&ett_lpp_T_dl_PRS_CombSizeN_AndReOffset_r16,
&ett_lpp_DL_PRS_QCL_Info_r16,
&ett_lpp_T_ssb_r16,
&ett_lpp_T_dl_PRS_r16,
&ett_lpp_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16,
&ett_lpp_T_scs15_r16,
&ett_lpp_T_scs30_r16,
&ett_lpp_T_scs60_r16,
&ett_lpp_T_scs120_r16,
&ett_lpp_NR_DL_PRS_ProcessingCapability_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_PRS_ProcessingCapabilityPerBand_r16,
&ett_lpp_PRS_ProcessingCapabilityPerBand_r16,
&ett_lpp_T_supportedBandwidthPRS_r16,
&ett_lpp_T_durationOfPRS_Processing_r16,
&ett_lpp_T_maxNumOfDL_PRS_ResProcessedPerSlot_r16,
&ett_lpp_NR_DL_PRS_QCL_ProcessingCapability_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_QCL_ProcessingCapabilityPerBand_r16,
&ett_lpp_DL_PRS_QCL_ProcessingCapabilityPerBand_r16,
&ett_lpp_NR_DL_PRS_ResourcesCapability_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_ResourcesCapabilityPerBand_r16,
&ett_lpp_DL_PRS_ResourcesCapabilityPerBand_r16,
&ett_lpp_DL_PRS_ResourcesBandCombinationList_r16,
&ett_lpp_DL_PRS_ResourcesBandCombination_r16,
&ett_lpp_SEQUENCE_SIZE_1_maxSimultaneousBands_r16_OF_FreqBandIndicatorNR_r16,
&ett_lpp_T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16,
&ett_lpp_T_fr1_FR2Mix_r16,
&ett_lpp_NR_PositionCalculationAssistance_r16,
&ett_lpp_NR_RTD_Info_r16,
&ett_lpp_ReferenceTRP_RTD_Info_r16,
&ett_lpp_T_refTime_r16,
&ett_lpp_RTD_InfoList_r16,
&ett_lpp_RTD_InfoListPerFreqLayer_r16,
&ett_lpp_RTD_InfoElement_r16,
&ett_lpp_NR_SelectedDL_PRS_IndexList_r16,
&ett_lpp_NR_SelectedDL_PRS_PerFreq_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r16,
&ett_lpp_NR_SelectedDL_PRS_IndexPerTRP_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_SelectedPRS_ResourceSetIndex_r16,
&ett_lpp_DL_SelectedPRS_ResourceSetIndex_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_SelectedPRS_ResourceIndex_r16,
&ett_lpp_DL_SelectedPRS_ResourceIndex_r16,
&ett_lpp_NR_SSB_Config_r16,
&ett_lpp_T_ssb_PositionsInBurst_r16,
&ett_lpp_NR_TimeStamp_r16,
&ett_lpp_T_nr_Slot_r16,
&ett_lpp_NR_TimingQuality_r16,
&ett_lpp_NR_TRP_LocationInfo_r16,
&ett_lpp_NR_TRP_LocationInfoPerFreqLayer_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_TRP_LocationInfoElement_r16,
&ett_lpp_TRP_LocationInfoElement_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_ResourceSets_TRP_Element_r16,
&ett_lpp_DL_PRS_ResourceSets_TRP_Element_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_Resource_ARP_Element_r16,
&ett_lpp_DL_PRS_Resource_ARP_Element_r16,
&ett_lpp_NR_UL_SRS_Capability_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_SRS_CapabilityPerBand_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxConfiguredBands_r16_OF_SRS_PosResourcesPerBand_r16,
&ett_lpp_SRS_CapabilityPerBand_r16,
&ett_lpp_OLPC_SRS_Pos_r16,
&ett_lpp_SpatialRelationsSRS_Pos_r16,
&ett_lpp_SRS_PosResourcesPerBand_r16,
&ett_lpp_ReferencePoint_r16,
&ett_lpp_T_referencePointGeographicLocation_r16,
&ett_lpp_RelativeLocation_r16,
&ett_lpp_Delta_Latitude_r16,
&ett_lpp_Delta_Longitude_r16,
&ett_lpp_Delta_Height_r16,
&ett_lpp_LocationUncertainty_r16,
&ett_lpp_OTDOA_ProvideAssistanceData,
&ett_lpp_OTDOA_ReferenceCellInfo,
&ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info,
&ett_lpp_PRS_Info,
&ett_lpp_T_prs_MutingInfo_r9,
&ett_lpp_T_prsHoppingInfo_r14,
&ett_lpp_T_nb4_r14,
&ett_lpp_TDD_Config_v1520,
&ett_lpp_OTDOA_NeighbourCellInfoList,
&ett_lpp_OTDOA_NeighbourFreqInfo,
&ett_lpp_OTDOA_NeighbourCellInfoElement,
&ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14,
&ett_lpp_Add_PRSconfigNeighbourElement_r14,
&ett_lpp_OTDOA_ReferenceCellInfoNB_r14,
&ett_lpp_PRS_Info_NB_r14,
&ett_lpp_NPRS_Info_r14,
&ett_lpp_T_partA_r14,
&ett_lpp_T_nprsBitmap_r14,
&ett_lpp_T_nprs_MutingInfoA_r14,
&ett_lpp_T_partB_r14,
&ett_lpp_T_nprs_MutingInfoB_r14,
&ett_lpp_T_partA_TDD_r15,
&ett_lpp_T_nprsBitmap_r15,
&ett_lpp_T_nprs_MutingInfoA_r15,
&ett_lpp_OTDOA_NeighbourCellInfoListNB_r14,
&ett_lpp_OTDOA_NeighbourCellInfoNB_r14,
&ett_lpp_OTDOA_RequestAssistanceData,
&ett_lpp_T_adType_r14,
&ett_lpp_OTDOA_ProvideLocationInformation,
&ett_lpp_OTDOA_SignalMeasurementInformation,
&ett_lpp_NeighbourMeasurementList,
&ett_lpp_NeighbourMeasurementElement,
&ett_lpp_AdditionalPathList_r14,
&ett_lpp_MotionTimeSource_r15,
&ett_lpp_OTDOA_SignalMeasurementInformation_NB_r14,
&ett_lpp_NeighbourMeasurementList_NB_r14,
&ett_lpp_NeighbourMeasurementElement_NB_r14,
&ett_lpp_OTDOA_MeasQuality,
&ett_lpp_AdditionalPath_r14,
&ett_lpp_OTDOA_RequestLocationInformation,
&ett_lpp_OTDOA_ProvideCapabilities,
&ett_lpp_T_otdoa_Mode,
&ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA,
&ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0,
&ett_lpp_SupportedBandEUTRA,
&ett_lpp_SupportedBandEUTRA_v9a0,
&ett_lpp_OTDOA_RequestCapabilities,
&ett_lpp_OTDOA_Error,
&ett_lpp_OTDOA_LocationServerErrorCauses,
&ett_lpp_OTDOA_TargetDeviceErrorCauses,
&ett_lpp_A_GNSS_ProvideAssistanceData,
&ett_lpp_GNSS_CommonAssistData,
&ett_lpp_GNSS_GenericAssistData,
&ett_lpp_GNSS_GenericAssistDataElement,
&ett_lpp_GNSS_PeriodicAssistData_r15,
&ett_lpp_GNSS_ReferenceTime,
&ett_lpp_SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell,
&ett_lpp_GNSS_ReferenceTimeForOneCell,
&ett_lpp_GNSS_SystemTime,
&ett_lpp_GPS_TOW_Assist,
&ett_lpp_GPS_TOW_AssistElement,
&ett_lpp_NetworkTime,
&ett_lpp_T_cellID,
&ett_lpp_T_eUTRA,
&ett_lpp_T_uTRA,
&ett_lpp_T_mode,
&ett_lpp_T_fdd,
&ett_lpp_T_tdd,
&ett_lpp_T_gSM,
&ett_lpp_T_nBIoT_r14,
&ett_lpp_T_nr_r15,
&ett_lpp_GNSS_ReferenceLocation,
&ett_lpp_GNSS_IonosphericModel,
&ett_lpp_KlobucharModelParameter,
&ett_lpp_KlobucharModel2Parameter_r16,
&ett_lpp_NeQuickModelParameter,
&ett_lpp_GNSS_EarthOrientationParameters,
&ett_lpp_GNSS_RTK_ReferenceStationInfo_r15,
&ett_lpp_AntennaDescription_r15,
&ett_lpp_AntennaReferencePointUnc_r15,
&ett_lpp_PhysicalReferenceStationInfo_r15,
&ett_lpp_EqualIntegerAmbiguityLevel_r16,
&ett_lpp_ReferenceStationList_r16,
&ett_lpp_GNSS_RTK_CommonObservationInfo_r15,
&ett_lpp_GNSS_RTK_AuxiliaryStationData_r15,
&ett_lpp_AuxiliaryStationList_r15,
&ett_lpp_AuxiliaryStationElement_r15,
&ett_lpp_Aux_ARP_Unc_r15,
&ett_lpp_GNSS_SSR_CorrectionPoints_r16,
&ett_lpp_T_correctionPoints_r16,
&ett_lpp_GNSS_SSR_ListOfCorrectionPoints_r16,
&ett_lpp_SEQUENCE_SIZE_0_63_OF_RelativeLocationElement_r16,
&ett_lpp_RelativeLocationElement_r16,
&ett_lpp_GNSS_SSR_ArrayOfCorrectionPoints_r16,
&ett_lpp_GNSS_TimeModelList,
&ett_lpp_GNSS_TimeModelElement,
&ett_lpp_GNSS_DifferentialCorrections,
&ett_lpp_DGNSS_SgnTypeList,
&ett_lpp_DGNSS_SgnTypeElement,
&ett_lpp_DGNSS_SatList,
&ett_lpp_DGNSS_CorrectionsElement,
&ett_lpp_GNSS_NavigationModel,
&ett_lpp_GNSS_NavModelSatelliteList,
&ett_lpp_GNSS_NavModelSatelliteElement,
&ett_lpp_GNSS_ClockModel,
&ett_lpp_GNSS_OrbitModel,
&ett_lpp_StandardClockModelList,
&ett_lpp_StandardClockModelElement,
&ett_lpp_NAV_ClockModel,
&ett_lpp_CNAV_ClockModel,
&ett_lpp_GLONASS_ClockModel,
&ett_lpp_SBAS_ClockModel,
&ett_lpp_BDS_ClockModel_r12,
&ett_lpp_BDS_ClockModel2_r16,
&ett_lpp_NavIC_ClockModel_r16,
&ett_lpp_NavModelKeplerianSet,
&ett_lpp_NavModelNAV_KeplerianSet,
&ett_lpp_T_addNAVparam,
&ett_lpp_T_ephemSF1Rsvd,
&ett_lpp_NavModelCNAV_KeplerianSet,
&ett_lpp_NavModel_GLONASS_ECEF,
&ett_lpp_NavModel_SBAS_ECEF,
&ett_lpp_NavModel_BDS_KeplerianSet_r12,
&ett_lpp_NavModel_BDS_KeplerianSet2_r16,
&ett_lpp_NavModel_NavIC_KeplerianSet_r16,
&ett_lpp_GNSS_RealTimeIntegrity,
&ett_lpp_GNSS_BadSignalList,
&ett_lpp_BadSignalElement,
&ett_lpp_GNSS_DataBitAssistance,
&ett_lpp_GNSS_DataBitsSatList,
&ett_lpp_GNSS_DataBitsSatElement,
&ett_lpp_GNSS_DataBitsSgnList,
&ett_lpp_GNSS_DataBitsSgnElement,
&ett_lpp_GNSS_AcquisitionAssistance,
&ett_lpp_GNSS_AcquisitionAssistList,
&ett_lpp_GNSS_AcquisitionAssistElement,
&ett_lpp_GNSS_Almanac,
&ett_lpp_GNSS_AlmanacList,
&ett_lpp_GNSS_AlmanacElement,
&ett_lpp_AlmanacKeplerianSet,
&ett_lpp_AlmanacNAV_KeplerianSet,
&ett_lpp_AlmanacReducedKeplerianSet,
&ett_lpp_AlmanacMidiAlmanacSet,
&ett_lpp_AlmanacGLONASS_AlmanacSet,
&ett_lpp_AlmanacECEF_SBAS_AlmanacSet,
&ett_lpp_AlmanacBDS_AlmanacSet_r12,
&ett_lpp_AlmanacNavIC_AlmanacSet_r16,
&ett_lpp_GNSS_UTC_Model,
&ett_lpp_UTC_ModelSet1,
&ett_lpp_UTC_ModelSet2,
&ett_lpp_UTC_ModelSet3,
&ett_lpp_UTC_ModelSet4,
&ett_lpp_UTC_ModelSet5_r12,
&ett_lpp_GNSS_AuxiliaryInformation,
&ett_lpp_GNSS_ID_GPS,
&ett_lpp_GNSS_ID_GPS_SatElement,
&ett_lpp_GNSS_ID_GLONASS,
&ett_lpp_GNSS_ID_GLONASS_SatElement,
&ett_lpp_GNSS_ID_BDS_r16,
&ett_lpp_GNSS_ID_BDS_SatElement_r16,
&ett_lpp_BDS_DifferentialCorrections_r12,
&ett_lpp_BDS_SgnTypeList_r12,
&ett_lpp_BDS_SgnTypeElement_r12,
&ett_lpp_DBDS_CorrectionList_r12,
&ett_lpp_DBDS_CorrectionElement_r12,
&ett_lpp_BDS_GridModelParameter_r12,
&ett_lpp_GridIonList_r12,
&ett_lpp_GridIonElement_r12,
&ett_lpp_GNSS_RTK_Observations_r15,
&ett_lpp_GNSS_ObservationList_r15,
&ett_lpp_GNSS_RTK_SatelliteDataElement_r15,
&ett_lpp_GNSS_RTK_SatelliteSignalDataList_r15,
&ett_lpp_GNSS_RTK_SatelliteSignalDataElement_r15,
&ett_lpp_GLO_RTK_BiasInformation_r15,
&ett_lpp_GNSS_RTK_MAC_CorrectionDifferences_r15,
&ett_lpp_RTK_CorrectionDifferencesList_r15,
&ett_lpp_RTK_CorrectionDifferencesElement_r15,
&ett_lpp_Geometric_Ionospheric_Corrections_Differences_r15,
&ett_lpp_Geometric_Ionospheric_Corrections_Differences_Element_r15,
&ett_lpp_GNSS_RTK_Residuals_r15,
&ett_lpp_RTK_Residuals_List_r15,
&ett_lpp_RTK_Residuals_Element_r15,
&ett_lpp_GNSS_RTK_FKP_Gradients_r15,
&ett_lpp_FKP_Gradients_List_r15,
&ett_lpp_FKP_Gradients_Element_r15,
&ett_lpp_GNSS_SSR_OrbitCorrections_r15,
&ett_lpp_SSR_OrbitCorrectionList_r15,
&ett_lpp_SSR_OrbitCorrectionSatelliteElement_r15,
&ett_lpp_GNSS_SSR_ClockCorrections_r15,
&ett_lpp_SSR_ClockCorrectionList_r15,
&ett_lpp_SSR_ClockCorrectionSatelliteElement_r15,
&ett_lpp_GNSS_SSR_CodeBias_r15,
&ett_lpp_SSR_CodeBiasSatList_r15,
&ett_lpp_SSR_CodeBiasSatElement_r15,
&ett_lpp_SSR_CodeBiasSignalList_r15,
&ett_lpp_SSR_CodeBiasSignalElement_r15,
&ett_lpp_GNSS_SSR_URA_r16,
&ett_lpp_SSR_URA_SatList_r16,
&ett_lpp_SSR_URA_SatElement_r16,
&ett_lpp_GNSS_SSR_PhaseBias_r16,
&ett_lpp_SSR_PhaseBiasSatList_r16,
&ett_lpp_SSR_PhaseBiasSatElement_r16,
&ett_lpp_SSR_PhaseBiasSignalList_r16,
&ett_lpp_SSR_PhaseBiasSignalElement_r16,
&ett_lpp_GNSS_SSR_STEC_Correction_r16,
&ett_lpp_STEC_SatList_r16,
&ett_lpp_STEC_SatElement_r16,
&ett_lpp_GNSS_SSR_GriddedCorrection_r16,
&ett_lpp_GridList_r16,
&ett_lpp_GridElement_r16,
&ett_lpp_TropospericDelayCorrection_r16,
&ett_lpp_STEC_ResidualSatList_r16,
&ett_lpp_STEC_ResidualSatElement_r16,
&ett_lpp_T_stecResidualCorrection_r16,
&ett_lpp_NavIC_DifferentialCorrections_r16,
&ett_lpp_NavIC_CorrectionListAutoNav_r16,
&ett_lpp_NavIC_CorrectionElementAutoNav_r16,
&ett_lpp_NavIC_EDC_r16,
&ett_lpp_NavIC_CDC_r16,
&ett_lpp_NavIC_GridModelParameter_r16,
&ett_lpp_RegionIgpList_r16,
&ett_lpp_RegionIgpElement_r16,
&ett_lpp_A_GNSS_RequestAssistanceData,
&ett_lpp_GNSS_CommonAssistDataReq,
&ett_lpp_GNSS_GenericAssistDataReq,
&ett_lpp_GNSS_GenericAssistDataReqElement,
&ett_lpp_GNSS_PeriodicAssistDataReq_r15,
&ett_lpp_GNSS_ReferenceTimeReq,
&ett_lpp_SEQUENCE_SIZE_1_8_OF_GNSS_ID,
&ett_lpp_GNSS_ReferenceLocationReq,
&ett_lpp_GNSS_IonosphericModelReq,
&ett_lpp_GNSS_EarthOrientationParametersReq,
&ett_lpp_GNSS_RTK_ReferenceStationInfoReq_r15,
&ett_lpp_GNSS_RTK_AuxiliaryStationDataReq_r15,
&ett_lpp_GNSS_SSR_CorrectionPointsReq_r16,
&ett_lpp_GNSS_TimeModelListReq,
&ett_lpp_GNSS_TimeModelElementReq,
&ett_lpp_GNSS_DifferentialCorrectionsReq,
&ett_lpp_GNSS_NavigationModelReq,
&ett_lpp_StoredNavListInfo,
&ett_lpp_SatListRelatedDataList,
&ett_lpp_SatListRelatedDataElement,
&ett_lpp_ReqNavListInfo,
&ett_lpp_T_clockModelID_PrefList,
&ett_lpp_T_orbitModelID_PrefList,
&ett_lpp_GNSS_RealTimeIntegrityReq,
&ett_lpp_GNSS_DataBitAssistanceReq,
&ett_lpp_GNSS_DataBitsReqSatList,
&ett_lpp_GNSS_DataBitsReqSatElement,
&ett_lpp_GNSS_AcquisitionAssistanceReq,
&ett_lpp_GNSS_AlmanacReq,
&ett_lpp_GNSS_UTC_ModelReq,
&ett_lpp_GNSS_AuxiliaryInformationReq,
&ett_lpp_BDS_DifferentialCorrectionsReq_r12,
&ett_lpp_BDS_GridModelReq_r12,
&ett_lpp_GNSS_RTK_ObservationsReq_r15,
&ett_lpp_GLO_RTK_BiasInformationReq_r15,
&ett_lpp_GNSS_RTK_MAC_CorrectionDifferencesReq_r15,
&ett_lpp_AUX_ReferenceStationList_r15,
&ett_lpp_AUX_ReferenceStationID_Element_r15,
&ett_lpp_GNSS_RTK_ResidualsReq_r15,
&ett_lpp_GNSS_RTK_FKP_GradientsReq_r15,
&ett_lpp_GNSS_SSR_OrbitCorrectionsReq_r15,
&ett_lpp_GNSS_SSR_ClockCorrectionsReq_r15,
&ett_lpp_GNSS_SSR_CodeBiasReq_r15,
&ett_lpp_GNSS_SSR_URA_Req_r16,
&ett_lpp_GNSS_SSR_PhaseBiasReq_r16,
&ett_lpp_GNSS_SSR_STEC_CorrectionReq_r16,
&ett_lpp_GNSS_SSR_GriddedCorrectionReq_r16,
&ett_lpp_NavIC_DifferentialCorrectionsReq_r16,
&ett_lpp_NavIC_GridModelReq_r16,
&ett_lpp_A_GNSS_ProvideLocationInformation,
&ett_lpp_GNSS_SignalMeasurementInformation,
&ett_lpp_MeasurementReferenceTime,
&ett_lpp_T_networkTime,
&ett_lpp_T_eUTRA_01,
&ett_lpp_T_uTRA_01,
&ett_lpp_T_mode_01,
&ett_lpp_T_fdd_01,
&ett_lpp_T_tdd_01,
&ett_lpp_T_gSM_01,
&ett_lpp_T_referenceFrame,
&ett_lpp_T_nbIoT_r14,
&ett_lpp_T_nr_r15_01,
&ett_lpp_GNSS_MeasurementList,
&ett_lpp_GNSS_MeasurementForOneGNSS,
&ett_lpp_GNSS_SgnMeasList,
&ett_lpp_GNSS_SgnMeasElement,
&ett_lpp_GNSS_SatMeasList,
&ett_lpp_GNSS_SatMeasElement,
&ett_lpp_GNSS_LocationInformation,
&ett_lpp_A_GNSS_RequestLocationInformation,
&ett_lpp_GNSS_PositioningInstructions,
&ett_lpp_A_GNSS_ProvideCapabilities,
&ett_lpp_T_periodicAssistanceData_r15,
&ett_lpp_GNSS_SupportList,
&ett_lpp_GNSS_SupportElement,
&ett_lpp_T_fta_MeasSupport,
&ett_lpp_AssistanceDataSupportList,
&ett_lpp_GNSS_CommonAssistanceDataSupport,
&ett_lpp_GNSS_ReferenceTimeSupport,
&ett_lpp_GNSS_ReferenceLocationSupport,
&ett_lpp_GNSS_IonosphericModelSupport,
&ett_lpp_T_ionoModel,
&ett_lpp_GNSS_EarthOrientationParametersSupport,
&ett_lpp_GNSS_RTK_ReferenceStationInfoSupport_r15,
&ett_lpp_GNSS_RTK_AuxiliaryStationDataSupport_r15,
&ett_lpp_GNSS_GenericAssistanceDataSupport,
&ett_lpp_GNSS_GenericAssistDataSupportElement,
&ett_lpp_GNSS_TimeModelListSupport,
&ett_lpp_GNSS_DifferentialCorrectionsSupport,
&ett_lpp_GNSS_NavigationModelSupport,
&ett_lpp_T_clockModel,
&ett_lpp_T_orbitModel,
&ett_lpp_GNSS_RealTimeIntegritySupport,
&ett_lpp_GNSS_DataBitAssistanceSupport,
&ett_lpp_GNSS_AcquisitionAssistanceSupport,
&ett_lpp_GNSS_AlmanacSupport,
&ett_lpp_T_almanacModel,
&ett_lpp_GNSS_UTC_ModelSupport,
&ett_lpp_T_utc_Model,
&ett_lpp_GNSS_AuxiliaryInformationSupport,
&ett_lpp_BDS_DifferentialCorrectionsSupport_r12,
&ett_lpp_BDS_GridModelSupport_r12,
&ett_lpp_GNSS_RTK_ObservationsSupport_r15,
&ett_lpp_GLO_RTK_BiasInformationSupport_r15,
&ett_lpp_GNSS_RTK_MAC_CorrectionDifferencesSupport_r15,
&ett_lpp_GNSS_RTK_ResidualsSupport_r15,
&ett_lpp_GNSS_RTK_FKP_GradientsSupport_r15,
&ett_lpp_GNSS_SSR_OrbitCorrectionsSupport_r15,
&ett_lpp_GNSS_SSR_ClockCorrectionsSupport_r15,
&ett_lpp_GNSS_SSR_CodeBiasSupport_r15,
&ett_lpp_GNSS_SSR_URA_Support_r16,
&ett_lpp_GNSS_SSR_PhaseBiasSupport_r16,
&ett_lpp_GNSS_SSR_STEC_CorrectionSupport_r16,
&ett_lpp_GNSS_SSR_GriddedCorrectionSupport_r16,
&ett_lpp_NavIC_DifferentialCorrectionsSupport_r16,
&ett_lpp_NavIC_GridModelSupport_r16,
&ett_lpp_A_GNSS_RequestCapabilities,
&ett_lpp_A_GNSS_Error,
&ett_lpp_GNSS_LocationServerErrorCauses,
&ett_lpp_GNSS_TargetDeviceErrorCauses,
&ett_lpp_GNSS_FrequencyID_r15,
&ett_lpp_GNSS_ID,
&ett_lpp_GNSS_ID_Bitmap,
&ett_lpp_T_gnss_ids,
&ett_lpp_GNSS_Link_CombinationsList_r15,
&ett_lpp_GNSS_Link_Combinations_r15,
&ett_lpp_GNSS_NavListInfo_r15,
&ett_lpp_SatListElement_r15,
&ett_lpp_GNSS_NetworkID_r15,
&ett_lpp_GNSS_PeriodicControlParam_r15,
&ett_lpp_GNSS_ReferenceStationID_r15,
&ett_lpp_GNSS_SignalID,
&ett_lpp_GNSS_SignalIDs,
&ett_lpp_GNSS_SubNetworkID_r15,
&ett_lpp_SBAS_ID,
&ett_lpp_SBAS_IDs,
&ett_lpp_T_sbas_IDs,
&ett_lpp_SV_ID,
&ett_lpp_ECID_ProvideLocationInformation,
&ett_lpp_ECID_SignalMeasurementInformation,
&ett_lpp_MeasuredResultsList,
&ett_lpp_MeasuredResultsElement,
&ett_lpp_ECID_RequestLocationInformation,
&ett_lpp_T_requestedMeasurements,
&ett_lpp_ECID_ProvideCapabilities,
&ett_lpp_T_ecid_MeasSupported,
&ett_lpp_ECID_RequestCapabilities,
&ett_lpp_ECID_Error,
&ett_lpp_ECID_LocationServerErrorCauses,
&ett_lpp_ECID_TargetDeviceErrorCauses,
&ett_lpp_TBS_ProvideLocationInformation_r13,
&ett_lpp_TBS_MeasurementInformation_r13,
&ett_lpp_MBS_BeaconMeasList_r13,
&ett_lpp_MBS_BeaconMeasElement_r13,
&ett_lpp_TBS_RequestLocationInformation_r13,
&ett_lpp_T_mbsRequestedMeasurements_r14,
&ett_lpp_TBS_ProvideCapabilities_r13,
&ett_lpp_T_tbs_Modes_r13,
&ett_lpp_T_mbs_ConfigSupport_r14,
&ett_lpp_MBS_AssistanceDataSupportList_r14,
&ett_lpp_TBS_RequestCapabilities_r13,
&ett_lpp_TBS_Error_r13,
&ett_lpp_TBS_LocationServerErrorCauses_r13,
&ett_lpp_TBS_TargetDeviceErrorCauses_r13,
&ett_lpp_TBS_ProvideAssistanceData_r14,
&ett_lpp_TBS_AssistanceDataList_r14,
&ett_lpp_MBS_AssistanceDataList_r14,
&ett_lpp_MBS_AssistanceDataElement_r14,
&ett_lpp_MBS_AlmanacAssistance_r14,
&ett_lpp_MBS_AcquisitionAssistance_r14,
&ett_lpp_TBS_RequestAssistanceData_r14,
&ett_lpp_Sensor_ProvideLocationInformation_r13,
&ett_lpp_Sensor_MeasurementInformation_r13,
&ett_lpp_T_uncertainty_r14,
&ett_lpp_Sensor_MotionInformation_r15,
&ett_lpp_DisplacementInfoList_r15,
&ett_lpp_DisplacementInfoListElement_r15,
&ett_lpp_DisplacementTimeStamp_r15,
&ett_lpp_DeltaTime_r15,
&ett_lpp_SFN_r15,
&ett_lpp_Displacement_r15,
&ett_lpp_UTC_Time_r15,
&ett_lpp_Sensor_RequestLocationInformation_r13,
&ett_lpp_Sensor_ProvideCapabilities_r13,
&ett_lpp_T_sensor_Modes_r13,
&ett_lpp_Sensor_AssistanceDataSupportList_r14,
&ett_lpp_Sensor_RequestCapabilities_r13,
&ett_lpp_Sensor_Error_r13,
&ett_lpp_Sensor_LocationServerErrorCauses_r13,
&ett_lpp_Sensor_TargetDeviceErrorCauses_r13,
&ett_lpp_Sensor_ProvideAssistanceData_r14,
&ett_lpp_Sensor_AssistanceDataList_r14,
&ett_lpp_T_period_v1520,
&ett_lpp_T_area_v1520,
&ett_lpp_PressureValidityArea_v1520,
&ett_lpp_PressureValidityPeriod_v1520,
&ett_lpp_Sensor_RequestAssistanceData_r14,
&ett_lpp_WLAN_ProvideLocationInformation_r13,
&ett_lpp_WLAN_MeasurementInformation_r13,
&ett_lpp_WLAN_MeasurementList_r13,
&ett_lpp_WLAN_MeasurementElement_r13,
&ett_lpp_WLAN_AP_Identifier_r13,
&ett_lpp_WLAN_RTT_r13,
&ett_lpp_WLAN_RequestLocationInformation_r13,
&ett_lpp_T_requestedMeasurements_r13,
&ett_lpp_WLAN_ProvideCapabilities_r13,
&ett_lpp_T_wlan_Modes_r13,
&ett_lpp_T_wlan_MeasSupported_r13,
&ett_lpp_T_wlan_AP_AD_Supported_r14,
&ett_lpp_WLAN_RequestCapabilities_r13,
&ett_lpp_WLAN_Error_r13,
&ett_lpp_WLAN_LocationServerErrorCauses_r13,
&ett_lpp_WLAN_TargetDeviceErrorCauses_r13,
&ett_lpp_WLAN_ProvideAssistanceData_r14,
&ett_lpp_SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14,
&ett_lpp_WLAN_DataSet_r14,
&ett_lpp_SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14,
&ett_lpp_SupportedChannels_11a_r14,
&ett_lpp_SupportedChannels_11bg_r14,
&ett_lpp_WLAN_AP_Data_r14,
&ett_lpp_WLAN_AP_Location_r14,
&ett_lpp_LocationDataLCI_r14,
&ett_lpp_WLAN_RequestAssistanceData_r14,
&ett_lpp_T_requestedAD_r14,
&ett_lpp_SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13,
&ett_lpp_SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13,
&ett_lpp_BT_ProvideLocationInformation_r13,
&ett_lpp_BT_MeasurementInformation_r13,
&ett_lpp_BT_MeasurementList_r13,
&ett_lpp_BT_MeasurementElement_r13,
&ett_lpp_BT_RequestLocationInformation_r13,
&ett_lpp_T_requestedMeasurements_r13_01,
&ett_lpp_BT_ProvideCapabilities_r13,
&ett_lpp_T_bt_Modes_r13,
&ett_lpp_T_bt_MeasSupported_r13,
&ett_lpp_BT_RequestCapabilities_r13,
&ett_lpp_BT_Error_r13,
&ett_lpp_BT_LocationServerErrorCauses_r13,
&ett_lpp_BT_TargetDeviceErrorCauses_r13,
&ett_lpp_NR_UL_ProvideCapabilities_r16,
&ett_lpp_NR_UL_RequestCapabilities_r16,
&ett_lpp_NR_ECID_ProvideLocationInformation_r16,
&ett_lpp_NR_ECID_SignalMeasurementInformation_r16,
&ett_lpp_NR_MeasuredResultsList_r16,
&ett_lpp_NR_MeasuredResultsElement_r16,
&ett_lpp_T_nr_ARFCN_r16,
&ett_lpp_MeasQuantityResults_r16,
&ett_lpp_ResultsPerSSB_IndexList_r16,
&ett_lpp_ResultsPerSSB_Index_r16,
&ett_lpp_ResultsPerCSI_RS_IndexList_r16,
&ett_lpp_ResultsPerCSI_RS_Index_r16,
&ett_lpp_NR_ECID_RequestLocationInformation_r16,
&ett_lpp_T_requestedMeasurements_r16,
&ett_lpp_NR_ECID_ProvideCapabilities_r16,
&ett_lpp_T_nr_ECID_MeasSupported_r16,
&ett_lpp_NR_ECID_RequestCapabilities_r16,
&ett_lpp_NR_ECID_Error_r16,
&ett_lpp_NR_ECID_LocationServerErrorCauses_r16,
&ett_lpp_NR_ECID_TargetDeviceErrorCauses_r16,
&ett_lpp_NR_DL_TDOA_ProvideAssistanceData_r16,
&ett_lpp_NR_DL_TDOA_RequestAssistanceData_r16,
&ett_lpp_T_nr_AdType_r16,
&ett_lpp_NR_DL_TDOA_ProvideLocationInformation_r16,
&ett_lpp_NR_DL_TDOA_SignalMeasurementInformation_r16,
&ett_lpp_NR_DL_TDOA_MeasList_r16,
&ett_lpp_NR_DL_TDOA_MeasElement_r16,
&ett_lpp_T_nr_RSTD_r16,
&ett_lpp_NR_DL_TDOA_AdditionalMeasurements_r16,
&ett_lpp_NR_DL_TDOA_AdditionalMeasurementElement_r16,
&ett_lpp_T_nr_RSTD_ResultDiff_r16,
&ett_lpp_NR_DL_TDOA_LocationInformation_r16,
&ett_lpp_T_measurementReferenceTime_r16,
&ett_lpp_NR_DL_TDOA_RequestLocationInformation_r16,
&ett_lpp_T_nr_RequestedMeasurements_r16,
&ett_lpp_NR_DL_TDOA_ReportConfig_r16,
&ett_lpp_NR_DL_TDOA_ProvideCapabilities_r16,
&ett_lpp_NR_DL_TDOA_MeasurementCapability_r16,
&ett_lpp_NR_DL_TDOA_RequestCapabilities_r16,
&ett_lpp_NR_DL_TDOA_Error_r16,
&ett_lpp_NR_DL_TDOA_LocationServerErrorCauses_r16,
&ett_lpp_NR_DL_TDOA_TargetDeviceErrorCauses_r16,
&ett_lpp_NR_DL_AoD_ProvideAssistanceData_r16,
&ett_lpp_NR_DL_AoD_RequestAssistanceData_r16,
&ett_lpp_T_nr_AdType_r16_01,
&ett_lpp_NR_DL_AoD_ProvideLocationInformation_r16,
&ett_lpp_NR_DL_AoD_SignalMeasurementInformation_r16,
&ett_lpp_NR_DL_AoD_MeasList_r16,
&ett_lpp_NR_DL_AoD_MeasElement_r16,
&ett_lpp_NR_DL_AoD_AdditionalMeasurements_r16,
&ett_lpp_NR_DL_AoD_AdditionalMeasurementElement_r16,
&ett_lpp_NR_DL_AoD_LocationInformation_r16,
&ett_lpp_T_measurementReferenceTime_r16_01,
&ett_lpp_NR_DL_AoD_RequestLocationInformation_r16,
&ett_lpp_NR_DL_AoD_ReportConfig_r16,
&ett_lpp_NR_DL_AoD_ProvideCapabilities_r16,
&ett_lpp_NR_DL_AoD_MeasurementCapability_r16,
&ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_AoD_MeasCapabilityPerBand_r16,
&ett_lpp_DL_AoD_MeasCapabilityPerBand_r16,
&ett_lpp_NR_DL_AoD_RequestCapabilities_r16,
&ett_lpp_NR_DL_AoD_Error_r16,
&ett_lpp_NR_DL_AoD_LocationServerErrorCauses_r16,
&ett_lpp_NR_DL_AoD_TargetDeviceErrorCauses_r16,
&ett_lpp_NR_Multi_RTT_ProvideAssistanceData_r16,
&ett_lpp_NR_Multi_RTT_RequestAssistanceData_r16,
&ett_lpp_T_nr_AdType_r16_02,
&ett_lpp_NR_Multi_RTT_ProvideLocationInformation_r16,
&ett_lpp_NR_Multi_RTT_SignalMeasurementInformation_r16,
&ett_lpp_NR_Multi_RTT_MeasList_r16,
&ett_lpp_NR_Multi_RTT_MeasElement_r16,
&ett_lpp_T_nr_UE_RxTxTimeDiff_r16,
&ett_lpp_NR_Multi_RTT_AdditionalMeasurements_r16,
&ett_lpp_NR_Multi_RTT_AdditionalMeasurementElement_r16,
&ett_lpp_T_nr_UE_RxTxTimeDiffAdditional_r16,
&ett_lpp_NR_Multi_RTT_RequestLocationInformation_r16,
&ett_lpp_T_nr_RequestedMeasurements_r16_01,
&ett_lpp_NR_Multi_RTT_ReportConfig_r16,
&ett_lpp_NR_Multi_RTT_ProvideCapabilities_r16,
&ett_lpp_NR_Multi_RTT_MeasurementCapability_r16,
&ett_lpp_NR_Multi_RTT_RequestCapabilities_r16,
&ett_lpp_NR_Multi_RTT_Error_r16,
&ett_lpp_NR_Multi_RTT_LocationServerErrorCauses_r16,
&ett_lpp_NR_Multi_RTT_TargetDeviceErrorCauses_r16,
&ett_lpp_AssistanceDataSIBelement_r15,
&ett_lpp_CipheringKeyData_r15,
&ett_lpp_SegmentationInfo_r15,
&ett_lpp_OTDOA_UE_Assisted_r15,
&ett_lpp_NR_UEB_TRP_LocationData_r16,
&ett_lpp_NR_UEB_TRP_RTD_Info_r16,
/*--- End of included file: packet-lpp-ettarr.c ---*/
#line 2130 "./asn1/lpp/packet-lpp-template.c"
};
/* Register protocol */
proto_lpp = proto_register_protocol(PNAME, PSNAME, PFNAME);
register_dissector("lpp", dissect_lpp, proto_lpp);
/* Register fields and subtrees */
proto_register_field_array(proto_lpp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
/*--- proto_reg_handoff_lpp ---------------------------------------*/
void
proto_reg_handoff_lpp(void)
{
lppe_handle = find_dissector_add_dependency("lppe", proto_lpp);
}