/* Do not modify this file. Changes will be overwritten. */ /* Generated automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-lpp.c */ /* asn2wrs.py -q -L -p lpp -c ./lpp.cnf -s ./packet-lpp-template -D . -O ../.. LPP-PDU-Definitions.asn LPP-Broadcast-Definitions.asn */ /* packet-lpp.c * Routines for 3GPP LTE Positioning Protocol (LPP) packet dissection * Copyright 2011-2024 Pascal Quantin * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * SPDX-License-Identifier: GPL-2.0-or-later * * Ref 3GPP TS 37.355 version 18.2.0 Release 18 * http://www.3gpp.org */ #include "config.h" #include "math.h" #include #include #include #include #include #include #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; static int hf_lpp_LPP_Message_PDU; /* LPP_Message */ static int hf_lpp_lpp_Ellipsoid_Point_PDU; /* Ellipsoid_Point */ static int hf_lpp_lpp_Ellipsoid_PointWithUncertaintyCircle_PDU; /* Ellipsoid_PointWithUncertaintyCircle */ static int hf_lpp_lpp_EllipsoidPointWithUncertaintyEllipse_PDU; /* EllipsoidPointWithUncertaintyEllipse */ static int hf_lpp_lpp_EllipsoidPointWithAltitude_PDU; /* EllipsoidPointWithAltitude */ static int hf_lpp_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */ static int hf_lpp_lpp_EllipsoidArc_PDU; /* EllipsoidArc */ static int hf_lpp_lpp_HorizontalVelocity_PDU; /* HorizontalVelocity */ static int hf_lpp_lpp_HorizontalWithVerticalVelocity_PDU; /* HorizontalWithVerticalVelocity */ static int hf_lpp_lpp_HorizontalVelocityWithUncertainty_PDU; /* HorizontalVelocityWithUncertainty */ static int hf_lpp_lpp_Polygon_PDU; /* Polygon */ static int hf_lpp_lpp_LocationCoordinates_PDU; /* LocationCoordinates */ static int hf_lpp_lpp_Velocity_PDU; /* Velocity */ static int hf_lpp_lpp_LocationError_PDU; /* LocationError */ static int hf_lpp_lpp_LocationSource_r13_PDU; /* LocationSource_r13 */ static int hf_lpp_NR_DL_PRS_AssistanceData_r16_PDU; /* NR_DL_PRS_AssistanceData_r16 */ static int hf_lpp_NR_DL_PRS_TRP_TEG_Info_r17_PDU; /* NR_DL_PRS_TRP_TEG_Info_r17 */ static int hf_lpp_NR_IntegrityRiskParameters_r18_PDU; /* NR_IntegrityRiskParameters_r18 */ static int hf_lpp_NR_IntegrityServiceAlert_r18_PDU; /* NR_IntegrityServiceAlert_r18 */ static int hf_lpp_NR_IntegrityServiceParameters_r18_PDU; /* NR_IntegrityServiceParameters_r18 */ static int hf_lpp_NR_On_Demand_DL_PRS_Configurations_r17_PDU; /* NR_On_Demand_DL_PRS_Configurations_r17 */ static int hf_lpp_NR_PRU_DL_Info_r18_PDU; /* NR_PRU_DL_Info_r18 */ static int hf_lpp_NR_TRP_BeamAntennaInfo_r17_PDU; /* NR_TRP_BeamAntennaInfo_r17 */ static int hf_lpp_GNSS_ReferenceTime_PDU; /* GNSS_ReferenceTime */ static int hf_lpp_GNSS_ReferenceLocation_PDU; /* GNSS_ReferenceLocation */ static int hf_lpp_GNSS_IonosphericModel_PDU; /* GNSS_IonosphericModel */ static int hf_lpp_GNSS_EarthOrientationParameters_PDU; /* GNSS_EarthOrientationParameters */ static int hf_lpp_GNSS_RTK_ReferenceStationInfo_r15_PDU; /* GNSS_RTK_ReferenceStationInfo_r15 */ static int hf_lpp_GNSS_RTK_CommonObservationInfo_r15_PDU; /* GNSS_RTK_CommonObservationInfo_r15 */ static int hf_lpp_GNSS_RTK_AuxiliaryStationData_r15_PDU; /* GNSS_RTK_AuxiliaryStationData_r15 */ static int hf_lpp_GNSS_SSR_CorrectionPoints_r16_PDU; /* GNSS_SSR_CorrectionPoints_r16 */ static int hf_lpp_GNSS_Integrity_ServiceParameters_r17_PDU; /* GNSS_Integrity_ServiceParameters_r17 */ static int hf_lpp_GNSS_Integrity_ServiceAlert_r17_PDU; /* GNSS_Integrity_ServiceAlert_r17 */ static int hf_lpp_GNSS_LOS_NLOS_GridPoints_r18_PDU; /* GNSS_LOS_NLOS_GridPoints_r18 */ static int hf_lpp_GNSS_SSR_IOD_Update_r18_PDU; /* GNSS_SSR_IOD_Update_r18 */ static int hf_lpp_GNSS_TimeModelList_PDU; /* GNSS_TimeModelList */ static int hf_lpp_GNSS_DifferentialCorrections_PDU; /* GNSS_DifferentialCorrections */ static int hf_lpp_GNSS_NavigationModel_PDU; /* GNSS_NavigationModel */ static int hf_lpp_GNSS_RealTimeIntegrity_PDU; /* GNSS_RealTimeIntegrity */ static int hf_lpp_GNSS_DataBitAssistance_PDU; /* GNSS_DataBitAssistance */ static int hf_lpp_GNSS_AcquisitionAssistance_PDU; /* GNSS_AcquisitionAssistance */ static int hf_lpp_GNSS_Almanac_PDU; /* GNSS_Almanac */ static int hf_lpp_GNSS_UTC_Model_PDU; /* GNSS_UTC_Model */ static int hf_lpp_GNSS_AuxiliaryInformation_PDU; /* GNSS_AuxiliaryInformation */ static int hf_lpp_BDS_DifferentialCorrections_r12_PDU; /* BDS_DifferentialCorrections_r12 */ static int hf_lpp_BDS_GridModelParameter_r12_PDU; /* BDS_GridModelParameter_r12 */ static int hf_lpp_GNSS_RTK_Observations_r15_PDU; /* GNSS_RTK_Observations_r15 */ static int hf_lpp_GLO_RTK_BiasInformation_r15_PDU; /* GLO_RTK_BiasInformation_r15 */ static int hf_lpp_GNSS_RTK_MAC_CorrectionDifferences_r15_PDU; /* GNSS_RTK_MAC_CorrectionDifferences_r15 */ static int hf_lpp_GNSS_RTK_Residuals_r15_PDU; /* GNSS_RTK_Residuals_r15 */ static int hf_lpp_GNSS_RTK_FKP_Gradients_r15_PDU; /* GNSS_RTK_FKP_Gradients_r15 */ static int hf_lpp_GNSS_SSR_OrbitCorrections_r15_PDU; /* GNSS_SSR_OrbitCorrections_r15 */ static int hf_lpp_GNSS_SSR_ClockCorrections_r15_PDU; /* GNSS_SSR_ClockCorrections_r15 */ static int hf_lpp_GNSS_SSR_CodeBias_r15_PDU; /* GNSS_SSR_CodeBias_r15 */ static int hf_lpp_GNSS_SSR_URA_r16_PDU; /* GNSS_SSR_URA_r16 */ static int hf_lpp_GNSS_SSR_PhaseBias_r16_PDU; /* GNSS_SSR_PhaseBias_r16 */ static int hf_lpp_GNSS_SSR_STEC_Correction_r16_PDU; /* GNSS_SSR_STEC_Correction_r16 */ static int hf_lpp_GNSS_SSR_GriddedCorrection_r16_PDU; /* GNSS_SSR_GriddedCorrection_r16 */ static int hf_lpp_NavIC_DifferentialCorrections_r16_PDU; /* NavIC_DifferentialCorrections_r16 */ static int hf_lpp_NavIC_GridModelParameter_r16_PDU; /* NavIC_GridModelParameter_r16 */ static int hf_lpp_GNSS_SSR_OrbitCorrectionsSet2_r17_PDU; /* GNSS_SSR_OrbitCorrectionsSet2_r17 */ static int hf_lpp_GNSS_SSR_ClockCorrectionsSet2_r17_PDU; /* GNSS_SSR_ClockCorrectionsSet2_r17 */ static int hf_lpp_GNSS_SSR_URA_Set2_r17_PDU; /* GNSS_SSR_URA_Set2_r17 */ static int hf_lpp_GNSS_LOS_NLOS_GriddedIndications_r18_PDU; /* GNSS_LOS_NLOS_GriddedIndications_r18 */ static int hf_lpp_GNSS_SSR_SatellitePCVResiduals_r18_PDU; /* GNSS_SSR_SatellitePCVResiduals_r18 */ static int hf_lpp_TBS_AssistanceDataList_r14_PDU; /* TBS_AssistanceDataList_r14 */ static int hf_lpp_lpp_Sensor_MeasurementInformation_r13_PDU; /* Sensor_MeasurementInformation_r13 */ static int hf_lpp_lpp_Sensor_MotionInformation_r15_PDU; /* Sensor_MotionInformation_r15 */ static int hf_lpp_lpp_DisplacementTimeStamp_r15_PDU; /* DisplacementTimeStamp_r15 */ static int hf_lpp_Sensor_AssistanceDataList_r14_PDU; /* Sensor_AssistanceDataList_r14 */ static int hf_lpp_OTDOA_UE_Assisted_r15_PDU; /* OTDOA_UE_Assisted_r15 */ static int hf_lpp_NR_UEB_TRP_LocationData_r16_PDU; /* NR_UEB_TRP_LocationData_r16 */ static int hf_lpp_NR_UEB_TRP_RTD_Info_r16_PDU; /* NR_UEB_TRP_RTD_Info_r16 */ static int hf_lpp_NR_IntegrityParameters_r18_PDU; /* NR_IntegrityParameters_r18 */ static int hf_lpp_transactionID; /* LPP_TransactionID */ static int hf_lpp_endTransaction; /* BOOLEAN */ static int hf_lpp_sequenceNumber; /* SequenceNumber */ static int hf_lpp_acknowledgement; /* Acknowledgement */ static int hf_lpp_lpp_MessageBody; /* LPP_MessageBody */ static int hf_lpp_ackRequested; /* BOOLEAN */ static int hf_lpp_ackIndicator; /* SequenceNumber */ static int hf_lpp_c1; /* T_c1 */ static int hf_lpp_requestCapabilities; /* RequestCapabilities */ static int hf_lpp_provideCapabilities; /* ProvideCapabilities */ static int hf_lpp_requestAssistanceData; /* RequestAssistanceData */ static int hf_lpp_provideAssistanceData; /* ProvideAssistanceData */ static int hf_lpp_requestLocationInformation; /* RequestLocationInformation */ static int hf_lpp_provideLocationInformation; /* ProvideLocationInformation */ static int hf_lpp_abort; /* Abort */ static int hf_lpp_error; /* Error */ static int hf_lpp_spare7; /* NULL */ static int hf_lpp_spare6; /* NULL */ static int hf_lpp_spare5; /* NULL */ static int hf_lpp_spare4; /* NULL */ static int hf_lpp_spare3; /* NULL */ static int hf_lpp_spare2; /* NULL */ static int hf_lpp_spare1; /* NULL */ static int hf_lpp_spare0; /* NULL */ static int hf_lpp_messageClassExtension; /* T_messageClassExtension */ static int hf_lpp_initiator; /* Initiator */ static int hf_lpp_transactionNumber; /* TransactionNumber */ static int hf_lpp_criticalExtensions; /* T_criticalExtensions */ static int hf_lpp_c1_01; /* T_c1_01 */ static int hf_lpp_requestCapabilities_r9; /* RequestCapabilities_r9_IEs */ static int hf_lpp_criticalExtensionsFuture; /* T_criticalExtensionsFuture */ static int hf_lpp_commonIEsRequestCapabilities; /* CommonIEsRequestCapabilities */ static int hf_lpp_a_gnss_RequestCapabilities; /* A_GNSS_RequestCapabilities */ static int hf_lpp_otdoa_RequestCapabilities; /* OTDOA_RequestCapabilities */ static int hf_lpp_ecid_RequestCapabilities; /* ECID_RequestCapabilities */ static int hf_lpp_epdu_RequestCapabilities; /* EPDU_Sequence */ static int hf_lpp_sensor_RequestCapabilities_r13; /* Sensor_RequestCapabilities_r13 */ static int hf_lpp_tbs_RequestCapabilities_r13; /* TBS_RequestCapabilities_r13 */ static int hf_lpp_wlan_RequestCapabilities_r13; /* WLAN_RequestCapabilities_r13 */ static int hf_lpp_bt_RequestCapabilities_r13; /* BT_RequestCapabilities_r13 */ static int hf_lpp_nr_ECID_RequestCapabilities_r16; /* NR_ECID_RequestCapabilities_r16 */ static int hf_lpp_nr_Multi_RTT_RequestCapabilities_r16; /* NR_Multi_RTT_RequestCapabilities_r16 */ static int hf_lpp_nr_DL_AoD_RequestCapabilities_r16; /* NR_DL_AoD_RequestCapabilities_r16 */ static int hf_lpp_nr_DL_TDOA_RequestCapabilities_r16; /* NR_DL_TDOA_RequestCapabilities_r16 */ static int hf_lpp_nr_UL_RequestCapabilities_r16; /* NR_UL_RequestCapabilities_r16 */ static int hf_lpp_criticalExtensions_01; /* T_criticalExtensions_01 */ static int hf_lpp_c1_02; /* T_c1_02 */ static int hf_lpp_provideCapabilities_r9; /* ProvideCapabilities_r9_IEs */ static int hf_lpp_criticalExtensionsFuture_01; /* T_criticalExtensionsFuture_01 */ static int hf_lpp_commonIEsProvideCapabilities; /* CommonIEsProvideCapabilities */ static int hf_lpp_a_gnss_ProvideCapabilities; /* A_GNSS_ProvideCapabilities */ static int hf_lpp_otdoa_ProvideCapabilities; /* OTDOA_ProvideCapabilities */ static int hf_lpp_ecid_ProvideCapabilities; /* ECID_ProvideCapabilities */ static int hf_lpp_epdu_ProvideCapabilities; /* EPDU_Sequence */ static int hf_lpp_sensor_ProvideCapabilities_r13; /* Sensor_ProvideCapabilities_r13 */ static int hf_lpp_tbs_ProvideCapabilities_r13; /* TBS_ProvideCapabilities_r13 */ static int hf_lpp_wlan_ProvideCapabilities_r13; /* WLAN_ProvideCapabilities_r13 */ static int hf_lpp_bt_ProvideCapabilities_r13; /* BT_ProvideCapabilities_r13 */ static int hf_lpp_nr_ECID_ProvideCapabilities_r16; /* NR_ECID_ProvideCapabilities_r16 */ static int hf_lpp_nr_Multi_RTT_ProvideCapabilities_r16; /* NR_Multi_RTT_ProvideCapabilities_r16 */ static int hf_lpp_nr_DL_AoD_ProvideCapabilities_r16; /* NR_DL_AoD_ProvideCapabilities_r16 */ static int hf_lpp_nr_DL_TDOA_ProvideCapabilities_r16; /* NR_DL_TDOA_ProvideCapabilities_r16 */ static int hf_lpp_nr_UL_ProvideCapabilities_r16; /* NR_UL_ProvideCapabilities_r16 */ static int hf_lpp_criticalExtensions_02; /* T_criticalExtensions_02 */ static int hf_lpp_c1_03; /* T_c1_03 */ static int hf_lpp_requestAssistanceData_r9; /* RequestAssistanceData_r9_IEs */ static int hf_lpp_criticalExtensionsFuture_02; /* T_criticalExtensionsFuture_02 */ static int hf_lpp_commonIEsRequestAssistanceData; /* CommonIEsRequestAssistanceData */ static int hf_lpp_a_gnss_RequestAssistanceData; /* A_GNSS_RequestAssistanceData */ static int hf_lpp_otdoa_RequestAssistanceData; /* OTDOA_RequestAssistanceData */ static int hf_lpp_epdu_RequestAssistanceData; /* EPDU_Sequence */ static int hf_lpp_sensor_RequestAssistanceData_r14; /* Sensor_RequestAssistanceData_r14 */ static int hf_lpp_tbs_RequestAssistanceData_r14; /* TBS_RequestAssistanceData_r14 */ static int hf_lpp_wlan_RequestAssistanceData_r14; /* WLAN_RequestAssistanceData_r14 */ static int hf_lpp_nr_Multi_RTT_RequestAssistanceData_r16; /* NR_Multi_RTT_RequestAssistanceData_r16 */ static int hf_lpp_nr_DL_AoD_RequestAssistanceData_r16; /* NR_DL_AoD_RequestAssistanceData_r16 */ static int hf_lpp_nr_DL_TDOA_RequestAssistanceData_r16; /* NR_DL_TDOA_RequestAssistanceData_r16 */ static int hf_lpp_bt_RequestAssistanceData_r18; /* BT_RequestAssistanceData_r18 */ static int hf_lpp_criticalExtensions_03; /* T_criticalExtensions_03 */ static int hf_lpp_c1_04; /* T_c1_04 */ static int hf_lpp_provideAssistanceData_r9; /* ProvideAssistanceData_r9_IEs */ static int hf_lpp_criticalExtensionsFuture_03; /* T_criticalExtensionsFuture_03 */ static int hf_lpp_commonIEsProvideAssistanceData; /* CommonIEsProvideAssistanceData */ static int hf_lpp_a_gnss_ProvideAssistanceData; /* A_GNSS_ProvideAssistanceData */ static int hf_lpp_otdoa_ProvideAssistanceData; /* OTDOA_ProvideAssistanceData */ static int hf_lpp_epdu_Provide_Assistance_Data; /* EPDU_Sequence */ static int hf_lpp_sensor_ProvideAssistanceData_r14; /* Sensor_ProvideAssistanceData_r14 */ static int hf_lpp_tbs_ProvideAssistanceData_r14; /* TBS_ProvideAssistanceData_r14 */ static int hf_lpp_wlan_ProvideAssistanceData_r14; /* WLAN_ProvideAssistanceData_r14 */ static int hf_lpp_nr_Multi_RTT_ProvideAssistanceData_r16; /* NR_Multi_RTT_ProvideAssistanceData_r16 */ static int hf_lpp_nr_DL_AoD_ProvideAssistanceData_r16; /* NR_DL_AoD_ProvideAssistanceData_r16 */ static int hf_lpp_nr_DL_TDOA_ProvideAssistanceData_r16; /* NR_DL_TDOA_ProvideAssistanceData_r16 */ static int hf_lpp_bt_ProvideAssistanceData_r18; /* BT_ProvideAssistanceData_r18 */ static int hf_lpp_criticalExtensions_04; /* T_criticalExtensions_04 */ static int hf_lpp_c1_05; /* T_c1_05 */ static int hf_lpp_requestLocationInformation_r9; /* RequestLocationInformation_r9_IEs */ static int hf_lpp_criticalExtensionsFuture_04; /* T_criticalExtensionsFuture_04 */ static int hf_lpp_commonIEsRequestLocationInformation; /* CommonIEsRequestLocationInformation */ static int hf_lpp_a_gnss_RequestLocationInformation; /* A_GNSS_RequestLocationInformation */ static int hf_lpp_otdoa_RequestLocationInformation; /* OTDOA_RequestLocationInformation */ static int hf_lpp_ecid_RequestLocationInformation; /* ECID_RequestLocationInformation */ static int hf_lpp_epdu_RequestLocationInformation; /* EPDU_Sequence */ static int hf_lpp_sensor_RequestLocationInformation_r13; /* Sensor_RequestLocationInformation_r13 */ static int hf_lpp_tbs_RequestLocationInformation_r13; /* TBS_RequestLocationInformation_r13 */ static int hf_lpp_wlan_RequestLocationInformation_r13; /* WLAN_RequestLocationInformation_r13 */ static int hf_lpp_bt_RequestLocationInformation_r13; /* BT_RequestLocationInformation_r13 */ static int hf_lpp_nr_ECID_RequestLocationInformation_r16; /* NR_ECID_RequestLocationInformation_r16 */ static int hf_lpp_nr_Multi_RTT_RequestLocationInformation_r16; /* NR_Multi_RTT_RequestLocationInformation_r16 */ static int hf_lpp_nr_DL_AoD_RequestLocationInformation_r16; /* NR_DL_AoD_RequestLocationInformation_r16 */ static int hf_lpp_nr_DL_TDOA_RequestLocationInformation_r16; /* NR_DL_TDOA_RequestLocationInformation_r16 */ static int hf_lpp_criticalExtensions_05; /* T_criticalExtensions_05 */ static int hf_lpp_c1_06; /* T_c1_06 */ static int hf_lpp_provideLocationInformation_r9; /* ProvideLocationInformation_r9_IEs */ static int hf_lpp_criticalExtensionsFuture_05; /* T_criticalExtensionsFuture_05 */ static int hf_lpp_commonIEsProvideLocationInformation; /* CommonIEsProvideLocationInformation */ static int hf_lpp_a_gnss_ProvideLocationInformation; /* A_GNSS_ProvideLocationInformation */ static int hf_lpp_otdoa_ProvideLocationInformation; /* OTDOA_ProvideLocationInformation */ static int hf_lpp_ecid_ProvideLocationInformation; /* ECID_ProvideLocationInformation */ static int hf_lpp_epdu_ProvideLocationInformation; /* EPDU_Sequence */ static int hf_lpp_sensor_ProvideLocationInformation_r13; /* Sensor_ProvideLocationInformation_r13 */ static int hf_lpp_tbs_ProvideLocationInformation_r13; /* TBS_ProvideLocationInformation_r13 */ static int hf_lpp_wlan_ProvideLocationInformation_r13; /* WLAN_ProvideLocationInformation_r13 */ static int hf_lpp_bt_ProvideLocationInformation_r13; /* BT_ProvideLocationInformation_r13 */ static int hf_lpp_nr_ECID_ProvideLocationInformation_r16; /* NR_ECID_ProvideLocationInformation_r16 */ static int hf_lpp_nr_Multi_RTT_ProvideLocationInformation_r16; /* NR_Multi_RTT_ProvideLocationInformation_r16 */ static int hf_lpp_nr_DL_AoD_ProvideLocationInformation_r16; /* NR_DL_AoD_ProvideLocationInformation_r16 */ static int hf_lpp_nr_DL_TDOA_ProvideLocationInformation_r16; /* NR_DL_TDOA_ProvideLocationInformation_r16 */ static int hf_lpp_criticalExtensions_06; /* T_criticalExtensions_06 */ static int hf_lpp_c1_07; /* T_c1_07 */ static int hf_lpp_abort_r9; /* Abort_r9_IEs */ static int hf_lpp_criticalExtensionsFuture_06; /* T_criticalExtensionsFuture_06 */ static int hf_lpp_commonIEsAbort; /* CommonIEsAbort */ static int hf_lpp_epdu_Abort; /* EPDU_Sequence */ static int hf_lpp_error_r9; /* Error_r9_IEs */ static int hf_lpp_criticalExtensionsFuture_07; /* T_criticalExtensionsFuture_07 */ static int hf_lpp_commonIEsError; /* CommonIEsError */ static int hf_lpp_epdu_Error; /* EPDU_Sequence */ static int hf_lpp_accessTypes; /* T_accessTypes */ static int hf_lpp_carrierFreq_r14; /* ARFCN_ValueEUTRA_r14 */ static int hf_lpp_carrierFreqOffset_r14; /* CarrierFreqOffsetNB_r14 */ static int hf_lpp_plmn_Identity; /* T_plmn_Identity */ static int hf_lpp_mcc; /* T_mcc */ static int hf_lpp_mcc_item; /* INTEGER_0_9 */ static int hf_lpp_mnc; /* T_mnc */ static int hf_lpp_mnc_item; /* INTEGER_0_9 */ static int hf_lpp_cellIdentity; /* T_cellIdentity */ static int hf_lpp_eutra; /* BIT_STRING_SIZE_28 */ static int hf_lpp_utra; /* BIT_STRING_SIZE_32 */ static int hf_lpp_plmn_Identity_01; /* T_plmn_Identity_01 */ static int hf_lpp_mcc_01; /* T_mcc_01 */ static int hf_lpp_mnc_01; /* T_mnc_01 */ static int hf_lpp_locationAreaCode; /* BIT_STRING_SIZE_16 */ static int hf_lpp_cellGlobalIdGERAN_cellIdentity; /* BIT_STRING_SIZE_16 */ static int hf_lpp_mcc_02; /* T_mcc_02 */ static int hf_lpp_mnc_02; /* T_mnc_02 */ static int hf_lpp_cellidentity; /* BIT_STRING_SIZE_28 */ static int hf_lpp_latitudeSign; /* T_latitudeSign */ static int hf_lpp_degreesLatitude; /* INTEGER_0_8388607 */ static int hf_lpp_degreesLongitude; /* INTEGER_M8388608_8388607 */ static int hf_lpp_latitudeSign_01; /* T_latitudeSign_01 */ static int hf_lpp_uncertainty; /* INTEGER_0_127 */ static int hf_lpp_latitudeSign_02; /* T_latitudeSign_02 */ static int hf_lpp_uncertaintySemiMajor; /* INTEGER_0_127 */ static int hf_lpp_uncertaintySemiMinor; /* INTEGER_0_127 */ static int hf_lpp_orientationMajorAxis; /* INTEGER_0_179 */ static int hf_lpp_confidence; /* INTEGER_0_100 */ static int hf_lpp_latitudeSign_03; /* T_latitudeSign_03 */ static int hf_lpp_altitudeDirection; /* T_altitudeDirection */ static int hf_lpp_altitude; /* INTEGER_0_32767 */ static int hf_lpp_latitudeSign_04; /* T_latitudeSign_04 */ static int hf_lpp_altitudeDirection_01; /* T_altitudeDirection_01 */ static int hf_lpp_uncertaintyAltitude; /* INTEGER_0_127 */ static int hf_lpp_latitudeSign_05; /* T_latitudeSign_05 */ static int hf_lpp_innerRadius; /* INTEGER_0_65535 */ static int hf_lpp_uncertaintyRadius; /* INTEGER_0_127 */ static int hf_lpp_offsetAngle; /* INTEGER_0_179 */ static int hf_lpp_includedAngle; /* INTEGER_0_179 */ static int hf_lpp_EPDU_Sequence_item; /* EPDU */ static int hf_lpp_ePDU_Identifier; /* EPDU_Identifier */ static int hf_lpp_ePDU_Body; /* EPDU_Body */ static int hf_lpp_ePDU_ID; /* EPDU_ID */ static int hf_lpp_ePDU_Name; /* EPDU_Name */ static int hf_lpp_degreesLatitude_r16; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_degreesLongitude_r16; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_altitude_r16; /* INTEGER_M64000_1280000 */ static int hf_lpp_uncertaintySemiMajor_r16; /* INTEGER_0_255 */ static int hf_lpp_uncertaintySemiMinor_r16; /* INTEGER_0_255 */ static int hf_lpp_orientationMajorAxis_r16; /* INTEGER_0_179 */ static int hf_lpp_horizontalConfidence_r16; /* INTEGER_0_100 */ static int hf_lpp_uncertaintyAltitude_r16; /* INTEGER_0_255 */ static int hf_lpp_verticalConfidence_r16; /* INTEGER_0_100 */ static int hf_lpp_ha_HorizontalExtendedRangeUsed_r16; /* BOOLEAN */ static int hf_lpp_ha_VerticalExtendedRangeUsed_r16; /* BOOLEAN */ static int hf_lpp_confidence_r16; /* INTEGER_0_100 */ static int hf_lpp_ha_ExtendedUncertaintyRangeUsed_r16; /* BOOLEAN */ static int hf_lpp_degreesLatitude_r15; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_degreesLongitude_r15; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_uncertaintySemiMajor_r15; /* INTEGER_0_255 */ static int hf_lpp_uncertaintySemiMinor_r15; /* INTEGER_0_255 */ static int hf_lpp_orientationMajorAxis_r15; /* INTEGER_0_179 */ static int hf_lpp_confidence_r15; /* INTEGER_0_100 */ static int hf_lpp_altitude_r15; /* INTEGER_M64000_1280000 */ static int hf_lpp_horizontalConfidence_r15; /* INTEGER_0_100 */ static int hf_lpp_uncertaintyAltitude_r15; /* INTEGER_0_255 */ static int hf_lpp_verticalConfidence_r15; /* INTEGER_0_100 */ static int hf_lpp_bearing; /* INTEGER_0_359 */ static int hf_lpp_horizontalSpeed; /* INTEGER_0_2047 */ static int hf_lpp_verticalDirection; /* T_verticalDirection */ static int hf_lpp_verticalSpeed; /* INTEGER_0_255 */ static int hf_lpp_uncertaintySpeed; /* INTEGER_0_255 */ static int hf_lpp_verticalDirection_01; /* T_verticalDirection_01 */ static int hf_lpp_horizontalUncertaintySpeed; /* INTEGER_0_255 */ static int hf_lpp_verticalUncertaintySpeed; /* INTEGER_0_255 */ static int hf_lpp_localOrigin_r18; /* ReferencePoint_r16 */ static int hf_lpp_cartesianCoordinatesUnits_r18; /* T_cartesianCoordinatesUnits_r18 */ static int hf_lpp_x_value_r18; /* X_Value_r18 */ static int hf_lpp_y_value_r18; /* Y_Value_r18 */ static int hf_lpp_uncertaintySemiMajor_r18; /* INTEGER_0_127 */ static int hf_lpp_uncertaintySemiMinor_r18; /* INTEGER_0_127 */ static int hf_lpp_orientationMajorAxis_r18; /* INTEGER_0_179 */ static int hf_lpp_confidence_r18; /* INTEGER_0_100 */ static int hf_lpp_cartesianCoordinatesUnits_r18_01; /* T_cartesianCoordinatesUnits_r18_01 */ static int hf_lpp_z_value_r18; /* Z_Value_r18 */ static int hf_lpp_uncertaintyAltitude_r18; /* INTEGER_0_127 */ static int hf_lpp_vConfidence_r18; /* INTEGER_0_100 */ static int hf_lpp_ellipsoidPoint; /* BOOLEAN */ static int hf_lpp_ellipsoidPointWithUncertaintyCircle; /* BOOLEAN */ static int hf_lpp_ellipsoidPointWithUncertaintyEllipse; /* BOOLEAN */ static int hf_lpp_polygon; /* BOOLEAN */ static int hf_lpp_ellipsoidPointWithAltitude; /* BOOLEAN */ static int hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid; /* BOOLEAN */ static int hf_lpp_ellipsoidArc; /* BOOLEAN */ static int hf_lpp_highAccuracyEllipsoidPointWithUncertaintyEllipse_r15; /* BOOLEAN */ static int hf_lpp_highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15; /* BOOLEAN */ static int hf_lpp_ha_EllipsoidPointWithScalableUncertaintyEllipse_r16; /* BOOLEAN */ static int hf_lpp_ha_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_r16; /* BOOLEAN */ static int hf_lpp_local2dPointWithUncertaintyEllipse_r18; /* BOOLEAN */ static int hf_lpp_local3dPointWithUncertaintyEllipsoid_r18; /* BOOLEAN */ static int hf_lpp_mcc_r15; /* T_mcc_r15 */ static int hf_lpp_mcc_r15_item; /* INTEGER_0_9 */ static int hf_lpp_mnc_r15; /* T_mnc_r15 */ static int hf_lpp_mnc_r15_item; /* INTEGER_0_9 */ static int hf_lpp_nr_cellidentity_r15; /* BIT_STRING_SIZE_36 */ static int hf_lpp_periodicSessionID_r15; /* PeriodicSessionID_r15 */ static int hf_lpp_updateCapabilities_r15; /* UpdateCapabilities_r15 */ static int hf_lpp_periodicSessionInitiator_r15; /* T_periodicSessionInitiator_r15 */ static int hf_lpp_periodicSessionNumber_r15; /* INTEGER_0_255 */ static int hf_lpp_minPeriodicReportingIntervalMs_r18; /* T_minPeriodicReportingIntervalMs_r18 */ static int hf_lpp_minPeriodicReportingIntervalMs1_Supported_r18; /* PositioningModes */ static int hf_lpp_minPeriodicReportingIntervalMs10_Supported_r18; /* PositioningModes */ static int hf_lpp_minPeriodicReportingIntervalMs100_Supported_r18; /* PositioningModes */ static int hf_lpp_Polygon_item; /* PolygonPoints */ static int hf_lpp_latitudeSign_06; /* T_latitudeSign_06 */ static int hf_lpp_posModes; /* T_posModes */ static int hf_lpp_utcTime_r17; /* T_utcTime_r17 */ static int hf_lpp_gnssTime_r17; /* GNSS_ID_Bitmap */ static int hf_lpp_e_utraTime_r17; /* T_e_utraTime_r17 */ static int hf_lpp_nrTime_r17; /* T_nrTime_r17 */ static int hf_lpp_relativeTime_r17; /* T_relativeTime_r17 */ static int hf_lpp_utcTime_r17_01; /* PositioningModes */ static int hf_lpp_gnssTime_r17_01; /* T_gnssTime_r17 */ static int hf_lpp_posModes_r17; /* PositioningModes */ static int hf_lpp_gnss_TimeIDs_r17; /* GNSS_ID_Bitmap */ static int hf_lpp_e_utraTime_r17_01; /* PositioningModes */ static int hf_lpp_nrTime_r17_01; /* PositioningModes */ static int hf_lpp_relativeTime_r17_01; /* PositioningModes */ static int hf_lpp_horizontalVelocity; /* BOOLEAN */ static int hf_lpp_horizontalWithVerticalVelocity; /* BOOLEAN */ static int hf_lpp_horizontalVelocityWithUncertainty; /* BOOLEAN */ static int hf_lpp_horizontalWithVerticalVelocityAndUncertainty; /* BOOLEAN */ static int hf_lpp_lpp_message_segmentation_req_r14; /* T_lpp_message_segmentation_req_r14 */ static int hf_lpp_remoteUE_IndicationReq_r18; /* T_remoteUE_IndicationReq_r18 */ static int hf_lpp_segmentationInfo_r14; /* SegmentationInfo_r14 */ static int hf_lpp_lpp_message_segmentation_r14; /* T_lpp_message_segmentation_r14 */ static int hf_lpp_remoteUE_Indication_r18; /* BOOLEAN */ static int hf_lpp_locationEstimateAndMeasurementReporting_r18; /* T_locationEstimateAndMeasurementReporting_r18 */ static int hf_lpp_primaryCellID; /* ECGI */ static int hf_lpp_periodicAssistanceDataReq_r15; /* PeriodicAssistanceDataControlParameters_r15 */ static int hf_lpp_primaryCellID_r15; /* NCGI_r15 */ static int hf_lpp_periodicAssistanceData_r15; /* PeriodicAssistanceDataControlParameters_r15 */ static int hf_lpp_locationInformationType; /* LocationInformationType */ static int hf_lpp_triggeredReporting; /* TriggeredReportingCriteria */ static int hf_lpp_periodicalReporting; /* PeriodicalReportingCriteria */ static int hf_lpp_additionalInformation; /* AdditionalInformation */ static int hf_lpp_qos; /* QoS */ static int hf_lpp_environment; /* Environment */ static int hf_lpp_locationCoordinateTypes; /* LocationCoordinateTypes */ static int hf_lpp_velocityTypes; /* VelocityTypes */ static int hf_lpp_messageSizeLimitNB_r14; /* MessageSizeLimitNB_r14 */ static int hf_lpp_scheduledLocationTime_r17; /* ScheduledLocationTime_r17 */ static int hf_lpp_targetIntegrityRisk_r17; /* TargetIntegrityRisk_r17 */ static int hf_lpp_periodicalReportingExt_r18; /* PeriodicalReportingCriteriaExt_r18 */ static int hf_lpp_reportingAmount; /* T_reportingAmount */ static int hf_lpp_reportingInterval; /* T_reportingInterval */ static int hf_lpp_reportingAmount_r18; /* T_reportingAmount_r18 */ static int hf_lpp_reportingIntervalMs_r18; /* INTEGER_1_999 */ static int hf_lpp_cellChange; /* BOOLEAN */ static int hf_lpp_reportingDuration; /* ReportingDuration */ static int hf_lpp_horizontalAccuracy; /* HorizontalAccuracy */ static int hf_lpp_verticalCoordinateRequest; /* BOOLEAN */ static int hf_lpp_verticalAccuracy; /* VerticalAccuracy */ static int hf_lpp_responseTime; /* ResponseTime */ static int hf_lpp_velocityRequest; /* BOOLEAN */ static int hf_lpp_responseTimeNB_r14; /* ResponseTimeNB_r14 */ static int hf_lpp_horizontalAccuracyExt_r15; /* HorizontalAccuracyExt_r15 */ static int hf_lpp_verticalAccuracyExt_r15; /* VerticalAccuracyExt_r15 */ static int hf_lpp_accuracy; /* INTEGER_0_127 */ static int hf_lpp_accuracyExt_r15; /* INTEGER_0_255 */ static int hf_lpp_time; /* INTEGER_1_128 */ static int hf_lpp_responseTimeEarlyFix_r12; /* INTEGER_1_128 */ static int hf_lpp_unit_r15; /* T_unit_r15 */ static int hf_lpp_timeNB_r14; /* INTEGER_1_512 */ static int hf_lpp_responseTimeEarlyFixNB_r14; /* INTEGER_1_512 */ static int hf_lpp_unitNB_r15; /* T_unitNB_r15 */ static int hf_lpp_measurementLimit_r14; /* INTEGER_1_512 */ static int hf_lpp_utcTime_r17_02; /* UTCTime */ static int hf_lpp_gnssTime_r17_02; /* T_gnssTime_r17_01 */ static int hf_lpp_gnss_TOD_msec_r17; /* INTEGER_0_3599999 */ static int hf_lpp_gnss_TimeID_r17; /* GNSS_ID */ static int hf_lpp_networkTime_r17; /* T_networkTime_r17 */ static int hf_lpp_e_utraTime_r17_02; /* T_e_utraTime_r17_01 */ static int hf_lpp_lte_PhysCellId_r17; /* INTEGER_0_503 */ static int hf_lpp_lte_ArfcnEUTRA_r17; /* ARFCN_ValueEUTRA */ static int hf_lpp_lte_CellGlobalId_r17; /* CellGlobalIdEUTRA_AndUTRA */ static int hf_lpp_lte_SystemFrameNumber_r17; /* INTEGER_0_1023 */ static int hf_lpp_nrTime_r17_02; /* T_nrTime_r17_01 */ static int hf_lpp_nr_PhysCellID_r17; /* NR_PhysCellID_r16 */ static int hf_lpp_nr_ARFCN_r17; /* ARFCN_ValueNR_r15 */ static int hf_lpp_nr_CellGlobalID_r17; /* NCGI_r15 */ static int hf_lpp_nr_SFN_r17; /* INTEGER_0_1023 */ static int hf_lpp_nr_Slot_r17; /* T_nr_Slot_r17 */ static int hf_lpp_scs15_r17; /* INTEGER_0_9 */ static int hf_lpp_scs30_r17; /* INTEGER_0_19 */ static int hf_lpp_scs60_r17; /* INTEGER_0_39 */ static int hf_lpp_scs120_r17; /* INTEGER_0_79 */ static int hf_lpp_relativeTime_r17_02; /* INTEGER_1_1024 */ static int hf_lpp_locationEstimate; /* LocationCoordinates */ static int hf_lpp_velocityEstimate; /* Velocity */ static int hf_lpp_locationError; /* LocationError */ static int hf_lpp_earlyFixReport_r12; /* EarlyFixReport_r12 */ static int hf_lpp_locationSource_r13; /* LocationSource_r13 */ static int hf_lpp_locationTimestamp_r13; /* UTCTime */ static int hf_lpp_integrityInfo_r17; /* IntegrityInfo_r17 */ static int hf_lpp_ellipsoidPoint_01; /* Ellipsoid_Point */ static int hf_lpp_ellipsoidPointWithUncertaintyCircle_01; /* Ellipsoid_PointWithUncertaintyCircle */ static int hf_lpp_ellipsoidPointWithUncertaintyEllipse_01; /* EllipsoidPointWithUncertaintyEllipse */ static int hf_lpp_locationCoordinates_polygon; /* Polygon */ static int hf_lpp_ellipsoidPointWithAltitude_01; /* EllipsoidPointWithAltitude */ static int hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid_01; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */ static int hf_lpp_ellipsoidArc_01; /* EllipsoidArc */ static int hf_lpp_highAccuracyEllipsoidPointWithUncertaintyEllipse_v1510; /* HighAccuracyEllipsoidPointWithUncertaintyEllipse_r15 */ static int hf_lpp_highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_v1510; /* HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15 */ static int hf_lpp_ha_EllipsoidPointWithScalableUncertaintyEllipse_v1680; /* HA_EllipsoidPointWithScalableUncertaintyEllipse_r16 */ static int hf_lpp_ha_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_v1680; /* HA_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_r16 */ static int hf_lpp_local2dPointWithUncertaintyEllipse_v1800; /* Local2dPointWithUncertaintyEllipse_r18 */ static int hf_lpp_local3dPointWithUncertaintyEllipsoid_v1800; /* Local3dPointWithUncertaintyEllipsoid_r18 */ static int hf_lpp_horizontalVelocity_01; /* HorizontalVelocity */ static int hf_lpp_horizontalWithVerticalVelocity_01; /* HorizontalWithVerticalVelocity */ static int hf_lpp_horizontalVelocityWithUncertainty_01; /* HorizontalVelocityWithUncertainty */ static int hf_lpp_horizontalWithVerticalVelocityAndUncertainty_01; /* HorizontalWithVerticalVelocityAndUncertainty */ static int hf_lpp_locationfailurecause; /* LocationFailureCause */ static int hf_lpp_horizontalProtectionLevel_r17; /* INTEGER_0_50000 */ static int hf_lpp_verticalProtectionLevel_r17; /* INTEGER_0_50000 */ static int hf_lpp_achievableTargetIntegrityRisk_r17; /* INTEGER_10_90 */ static int hf_lpp_abortCause; /* T_abortCause */ static int hf_lpp_errorCause; /* T_errorCause */ static int hf_lpp_AreaID_CellList_r17_item; /* NR_Cell_IDs_r17 */ static int hf_lpp_dl_PRS_ID_r16; /* INTEGER_0_255 */ static int hf_lpp_nr_DL_PRS_ResourceID_List_r16; /* SEQUENCE_SIZE_1_nrMaxResourceIDs_r16_OF_NR_DL_PRS_ResourceID_r16 */ static int hf_lpp_nr_DL_PRS_ResourceID_List_r16_item; /* NR_DL_PRS_ResourceID_r16 */ static int hf_lpp_nr_DL_PRS_ResourceSetID_r16; /* NR_DL_PRS_ResourceSetID_r16 */ static int hf_lpp_alpha_r16; /* INTEGER_0_359 */ static int hf_lpp_alpha_fine_r16; /* INTEGER_0_9 */ static int hf_lpp_beta_r16; /* INTEGER_0_359 */ static int hf_lpp_beta_fine_r16; /* INTEGER_0_9 */ static int hf_lpp_gamma_r16; /* INTEGER_0_359 */ static int hf_lpp_gamma_fine_r16; /* INTEGER_0_9 */ static int hf_lpp_coordinateID_r18; /* VisibleString_SIZE_1_256 */ static int hf_lpp_point_r18; /* HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15 */ static int hf_lpp_horizAxesOrientation_r18; /* INTEGER_0_3599 */ static int hf_lpp_indicator_r17; /* T_indicator_r17 */ static int hf_lpp_soft_r17; /* INTEGER_0_10 */ static int hf_lpp_hard_r17; /* BOOLEAN */ static int hf_lpp_NR_AdditionalPathList_r16_item; /* NR_AdditionalPath_r16 */ static int hf_lpp_NR_AdditionalPathListExt_r17_item; /* NR_AdditionalPath_r16 */ static int hf_lpp_nr_RelativeTimeDifference_r16; /* T_nr_RelativeTimeDifference_r16 */ static int hf_lpp_k0_r16; /* INTEGER_0_16351 */ static int hf_lpp_k1_r16; /* INTEGER_0_8176 */ static int hf_lpp_k2_r16; /* INTEGER_0_4088 */ static int hf_lpp_k3_r16; /* INTEGER_0_2044 */ static int hf_lpp_k4_r16; /* INTEGER_0_1022 */ static int hf_lpp_k5_r16; /* INTEGER_0_511 */ static int hf_lpp_kMinus6_r18; /* INTEGER_0_1046401 */ static int hf_lpp_kMinus5_r18; /* INTEGER_0_523201 */ static int hf_lpp_kMinus4_r18; /* INTEGER_0_261601 */ static int hf_lpp_kMinus3_r18; /* INTEGER_0_130801 */ static int hf_lpp_kMinus2_r18; /* INTEGER_0_65401 */ static int hf_lpp_kMinus1_r18; /* INTEGER_0_32701 */ static int hf_lpp_nr_PathQuality_r16; /* NR_TimingQuality_r16 */ static int hf_lpp_nr_DL_PRS_RSRPP_r17; /* INTEGER_0_126 */ static int hf_lpp_aggregatedDL_PRS_ID_r18; /* INTEGER_0_255 */ static int hf_lpp_nr_DL_PRS_ResourceSetID_r18; /* NR_DL_PRS_ResourceSetID_r16 */ static int hf_lpp_nr_DL_PRS_ResourceID_r18; /* NR_DL_PRS_ResourceID_r16 */ static int hf_lpp_nr_DL_PRS_ReferenceInfo_r16; /* DL_PRS_ID_Info_r16 */ static int hf_lpp_nr_DL_PRS_AssistanceDataList_r16; /* SEQUENCE_SIZE_1_nrMaxFreqLayers_r16_OF_NR_DL_PRS_AssistanceDataPerFreq_r16 */ static int hf_lpp_nr_DL_PRS_AssistanceDataList_r16_item; /* NR_DL_PRS_AssistanceDataPerFreq_r16 */ static int hf_lpp_nr_SSB_Config_r16; /* SEQUENCE_SIZE_1_nrMaxTRPs_r16_OF_NR_SSB_Config_r16 */ static int hf_lpp_nr_SSB_Config_r16_item; /* NR_SSB_Config_r16 */ static int hf_lpp_nr_DL_PRS_AggregationInfo_r18; /* NR_DL_PRS_AggregationInfo_r18 */ static int hf_lpp_nr_DL_PRS_PositioningFrequencyLayer_r16; /* NR_DL_PRS_PositioningFrequencyLayer_r16 */ static int hf_lpp_nr_DL_PRS_AssistanceDataPerFreq_r16; /* SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_DL_PRS_AssistanceDataPerTRP_r16 */ static int hf_lpp_nr_DL_PRS_AssistanceDataPerFreq_r16_item; /* NR_DL_PRS_AssistanceDataPerTRP_r16 */ static int hf_lpp_nr_PhysCellID_r16; /* NR_PhysCellID_r16 */ static int hf_lpp_nr_CellGlobalID_r16; /* NCGI_r15 */ static int hf_lpp_nr_ARFCN_r16; /* ARFCN_ValueNR_r15 */ static int hf_lpp_nr_DL_PRS_SFN0_Offset_r16; /* NR_DL_PRS_SFN0_Offset_r16 */ static int hf_lpp_nr_DL_PRS_ExpectedRSTD_r16; /* INTEGER_M3841_3841 */ static int hf_lpp_nr_DL_PRS_ExpectedRSTD_Uncertainty_r16; /* INTEGER_0_246 */ static int hf_lpp_nr_DL_PRS_Info_r16; /* NR_DL_PRS_Info_r16 */ static int hf_lpp_prs_OnlyTP_r16; /* T_prs_OnlyTP_r16 */ static int hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_r17; /* NR_DL_PRS_ExpectedAoD_or_AoA_r17 */ static int hf_lpp_dl_PRS_SubcarrierSpacing_r16; /* T_dl_PRS_SubcarrierSpacing_r16 */ static int hf_lpp_dl_PRS_ResourceBandwidth_r16; /* INTEGER_1_63 */ static int hf_lpp_dl_PRS_StartPRB_r16; /* INTEGER_0_2176 */ static int hf_lpp_dl_PRS_PointA_r16; /* ARFCN_ValueNR_r15 */ static int hf_lpp_dl_PRS_CombSizeN_r16; /* T_dl_PRS_CombSizeN_r16 */ static int hf_lpp_dl_PRS_CyclicPrefix_r16; /* T_dl_PRS_CyclicPrefix_r16 */ static int hf_lpp_sfn_Offset_r16; /* INTEGER_0_1023 */ static int hf_lpp_integerSubframeOffset_r16; /* INTEGER_0_9 */ static int hf_lpp_expectedAoD_r17; /* T_expectedAoD_r17 */ static int hf_lpp_expectedDL_AzimuthAoD_r17; /* INTEGER_0_359 */ static int hf_lpp_expectedDL_AzimuthAoD_Unc_r17; /* INTEGER_0_60 */ static int hf_lpp_expectedDL_ZenithAoD_r17; /* INTEGER_0_180 */ static int hf_lpp_expectedDL_ZenithAoD_Unc_r17; /* INTEGER_0_30 */ static int hf_lpp_expectedAoA_r17; /* T_expectedAoA_r17 */ static int hf_lpp_expectedDL_AzimuthAoA_r17; /* INTEGER_0_359 */ static int hf_lpp_expectedDL_AzimuthAoA_Unc_r17; /* INTEGER_0_60 */ static int hf_lpp_expectedDL_ZenithAoA_r17; /* INTEGER_0_180 */ static int hf_lpp_expectedDL_ZenithAoA_Unc_r17; /* INTEGER_0_30 */ static int hf_lpp_NR_DL_PRS_AggregationInfo_r18_item; /* NR_linkedDL_PRS_ResourceSetID_PRS_AggregationList_r18 */ static int hf_lpp_NR_linkedDL_PRS_ResourceSetID_PRS_AggregationList_r18_item; /* NR_DL_PRS_AggregationElement_r18 */ static int hf_lpp_nr_DL_PRS_FrequencyLayerIndex_r18; /* INTEGER_0_nrMaxFreqLayers_1_r16 */ static int hf_lpp_nr_DL_PRS_TRP_Index_r18; /* INTEGER_0_nrMaxTRPsPerFreq_1_r16 */ static int hf_lpp_nr_DL_PRS_ResourceSetIndex_r18; /* INTEGER_0_nrMaxSetsPerTrpPerFreqLayer_1_r16 */ static int hf_lpp_NR_DL_PRS_BeamInfo_r16_item; /* NR_DL_PRS_BeamInfoPerFreqLayer_r16 */ static int hf_lpp_NR_DL_PRS_BeamInfoPerFreqLayer_r16_item; /* NR_DL_PRS_BeamInfoPerTRP_r16 */ static int hf_lpp_associated_DL_PRS_ID_r16; /* INTEGER_0_255 */ static int hf_lpp_lcs_GCS_TranslationParameter_r16; /* LCS_GCS_TranslationParameter_r16 */ static int hf_lpp_dl_PRS_BeamInfoSet_r16; /* DL_PRS_BeamInfoSet_r16 */ static int hf_lpp_DL_PRS_BeamInfoSet_r16_item; /* DL_PRS_BeamInfoResourceSet_r16 */ static int hf_lpp_DL_PRS_BeamInfoResourceSet_r16_item; /* DL_PRS_BeamInfoElement_r16 */ static int hf_lpp_dl_PRS_Azimuth_r16; /* INTEGER_0_359 */ static int hf_lpp_dl_PRS_Azimuth_fine_r16; /* INTEGER_0_9 */ static int hf_lpp_dl_PRS_Elevation_r16; /* INTEGER_0_180 */ static int hf_lpp_dl_PRS_Elevation_fine_r16; /* INTEGER_0_9 */ static int hf_lpp_nr_IntegrityBeamInfoBounds_r18; /* NR_IntegrityBeamInfoBounds_r18 */ static int hf_lpp_meanAzimuth_r18; /* INTEGER_0_255 */ static int hf_lpp_stdDevAzimuth_r18; /* INTEGER_0_255 */ static int hf_lpp_meanElevation_r18; /* INTEGER_0_255 */ static int hf_lpp_stdDevElevation_r18; /* INTEGER_0_255 */ static int hf_lpp_NR_DL_PRS_ExpectedLOS_NLOS_Assistance_r17_item; /* NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerFreqLayer_r17 */ static int hf_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerFreqLayer_r17_item; /* NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerTRP_r17 */ static int hf_lpp_dl_PRS_ID_r17; /* INTEGER_0_255 */ static int hf_lpp_nr_los_nlos_indicator_r17; /* T_nr_los_nlos_indicator_r17 */ static int hf_lpp_perTrp_r17; /* LOS_NLOS_Indicator_r17 */ static int hf_lpp_perResource_r17; /* SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17 */ static int hf_lpp_perResource_r17_item; /* NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17 */ static int hf_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17_item; /* LOS_NLOS_Indicator_r17 */ static int hf_lpp_nr_DL_PRS_ResourceSetList_r16; /* SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ResourceSet_r16 */ static int hf_lpp_nr_DL_PRS_ResourceSetList_r16_item; /* NR_DL_PRS_ResourceSet_r16 */ static int hf_lpp_dl_PRS_Periodicity_and_ResourceSetSlotOffset_r16; /* NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16 */ static int hf_lpp_dl_PRS_ResourceRepetitionFactor_r16; /* T_dl_PRS_ResourceRepetitionFactor_r16 */ static int hf_lpp_dl_PRS_ResourceTimeGap_r16; /* T_dl_PRS_ResourceTimeGap_r16 */ static int hf_lpp_dl_PRS_NumSymbols_r16; /* T_dl_PRS_NumSymbols_r16 */ static int hf_lpp_dl_PRS_MutingOption1_r16; /* DL_PRS_MutingOption1_r16 */ static int hf_lpp_dl_PRS_MutingOption2_r16; /* DL_PRS_MutingOption2_r16 */ static int hf_lpp_dl_PRS_ResourcePower_r16; /* INTEGER_M60_50 */ static int hf_lpp_dl_PRS_ResourceList_r16; /* SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_NR_DL_PRS_Resource_r16 */ static int hf_lpp_dl_PRS_ResourceList_r16_item; /* NR_DL_PRS_Resource_r16 */ static int hf_lpp_dl_prs_MutingBitRepetitionFactor_r16; /* T_dl_prs_MutingBitRepetitionFactor_r16 */ static int hf_lpp_nr_option1_muting_r16; /* NR_MutingPattern_r16 */ static int hf_lpp_nr_option2_muting_r16; /* NR_MutingPattern_r16 */ static int hf_lpp_po2_r16; /* BIT_STRING_SIZE_2 */ static int hf_lpp_po4_r16; /* BIT_STRING_SIZE_4 */ static int hf_lpp_po6_r16; /* BIT_STRING_SIZE_6 */ static int hf_lpp_po8_r16; /* BIT_STRING_SIZE_8 */ static int hf_lpp_po16_r16; /* BIT_STRING_SIZE_16 */ static int hf_lpp_po32_r16; /* BIT_STRING_SIZE_32 */ static int hf_lpp_nr_DL_PRS_ResourceID_r16; /* NR_DL_PRS_ResourceID_r16 */ static int hf_lpp_dl_PRS_SequenceID_r16; /* INTEGER_0_4095 */ static int hf_lpp_dl_PRS_CombSizeN_AndReOffset_r16; /* T_dl_PRS_CombSizeN_AndReOffset_r16 */ static int hf_lpp_n2_r16; /* INTEGER_0_1 */ static int hf_lpp_n4_r16; /* INTEGER_0_3 */ static int hf_lpp_n6_r16; /* INTEGER_0_5 */ static int hf_lpp_n12_r16; /* INTEGER_0_11 */ static int hf_lpp_dl_PRS_ResourceSlotOffset_r16; /* INTEGER_0_nrMaxResourceOffsetValue_1_r16 */ static int hf_lpp_dl_PRS_ResourceSymbolOffset_r16; /* INTEGER_0_12 */ static int hf_lpp_dl_PRS_QCL_Info_r16; /* DL_PRS_QCL_Info_r16 */ static int hf_lpp_dl_PRS_ResourcePrioritySubset_r17; /* DL_PRS_ResourcePrioritySubset_r17 */ static int hf_lpp_dl_PRS_ResourceSymbolOffset_v1800; /* INTEGER_13 */ static int hf_lpp_ssb_r16; /* T_ssb_r16 */ static int hf_lpp_pci_r16; /* NR_PhysCellID_r16 */ static int hf_lpp_ssb_Index_r16; /* INTEGER_0_63 */ static int hf_lpp_rs_Type_r16; /* T_rs_Type_r16 */ static int hf_lpp_dl_PRS_r16; /* T_dl_PRS_r16 */ static int hf_lpp_qcl_DL_PRS_ResourceID_r16; /* NR_DL_PRS_ResourceID_r16 */ static int hf_lpp_qcl_DL_PRS_ResourceSetID_r16; /* NR_DL_PRS_ResourceSetID_r16 */ static int hf_lpp_scs15_r16; /* T_scs15_r16 */ static int hf_lpp_n5_r16; /* INTEGER_0_4 */ static int hf_lpp_n8_r16; /* INTEGER_0_7 */ static int hf_lpp_n10_r16; /* INTEGER_0_9 */ static int hf_lpp_n16_r16; /* INTEGER_0_15 */ static int hf_lpp_n20_r16; /* INTEGER_0_19 */ static int hf_lpp_n32_r16; /* INTEGER_0_31 */ static int hf_lpp_n40_r16; /* INTEGER_0_39 */ static int hf_lpp_n64_r16; /* INTEGER_0_63 */ static int hf_lpp_n80_r16; /* INTEGER_0_79 */ static int hf_lpp_n160_r16; /* INTEGER_0_159 */ static int hf_lpp_n320_r16; /* INTEGER_0_319 */ static int hf_lpp_n640_r16; /* INTEGER_0_639 */ static int hf_lpp_n1280_r16; /* INTEGER_0_1279 */ static int hf_lpp_n2560_r16; /* INTEGER_0_2559 */ static int hf_lpp_n5120_r16; /* INTEGER_0_5119 */ static int hf_lpp_n10240_r16; /* INTEGER_0_10239 */ static int hf_lpp_scs30_r16; /* T_scs30_r16 */ static int hf_lpp_n128_r16; /* INTEGER_0_127 */ static int hf_lpp_n20480_r16; /* INTEGER_0_20479 */ static int hf_lpp_scs60_r16; /* T_scs60_r16 */ static int hf_lpp_n256_r16; /* INTEGER_0_255 */ static int hf_lpp_n40960_r16; /* INTEGER_0_40959 */ static int hf_lpp_scs120_r16; /* T_scs120_r16 */ static int hf_lpp_n512_r16; /* INTEGER_0_511 */ static int hf_lpp_n81920_r16; /* INTEGER_0_81919 */ static int hf_lpp_DL_PRS_ResourcePrioritySubset_r17_item; /* NR_DL_PRSResourcePriorityItem_r17 */ static int hf_lpp_nr_DL_PRS_PrioResourceSetID_r17; /* NR_DL_PRS_ResourceSetID_r16 */ static int hf_lpp_nr_DL_PRS_PrioResourceID_r17; /* NR_DL_PRS_ResourceID_r16 */ static int hf_lpp_NR_DL_PRS_MeasurementTimeWindowsConfig_r18_item; /* NR_DL_PRS_MeasurementTimeWindowsConfigElement_r18 */ static int hf_lpp_nr_StartSFN_TimeWindow_r18; /* INTEGER_0_1023 */ static int hf_lpp_nr_PeriodicOrOneShotTimeWindow_r18; /* T_nr_PeriodicOrOneShotTimeWindow_r18 */ static int hf_lpp_nr_PeriodicityAndSlotOffsetTimeWindow_r18; /* NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16 */ static int hf_lpp_nr_OneShotSlotOffsetTimeWindow_r18; /* T_nr_OneShotSlotOffsetTimeWindow_r18 */ static int hf_lpp_scs15_r18; /* INTEGER_0_10239 */ static int hf_lpp_scs30_r18; /* INTEGER_0_20479 */ static int hf_lpp_scs60_r18; /* INTEGER_0_40959 */ static int hf_lpp_scs120_r18; /* INTEGER_0_81919 */ static int hf_lpp_nr_SymbolOffsetTimeWindow_r18; /* INTEGER_0_13 */ static int hf_lpp_nr_DurationTimeWindow_r18; /* T_nr_DurationTimeWindow_r18 */ static int hf_lpp_nr_SelectedDL_PRS_FrequencyLayerIndex_r18; /* INTEGER_0_nrMaxFreqLayers_1_r16 */ static int hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r18; /* SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r18 */ static int hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r18_item; /* NR_SelectedDL_PRS_IndexPerTRP_r18 */ static int hf_lpp_nr_MeasurementsToPerformInTimeWindow_r18; /* T_nr_MeasurementsToPerformInTimeWindow_r18 */ static int hf_lpp_nr_SelectedTRP_Index_r18; /* INTEGER_0_nrMaxTRPsPerFreq_1_r16 */ static int hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r18; /* T_dl_SelectedPRS_ResourceSetIndexList_r18 */ static int hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r18_item; /* INTEGER_0_nrMaxSetsPerTrpPerFreqLayer_1_r16 */ static int hf_lpp_prs_ProcessingCapabilityBandList_r16; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_PRS_ProcessingCapabilityPerBand_r16 */ static int hf_lpp_prs_ProcessingCapabilityBandList_r16_item; /* PRS_ProcessingCapabilityPerBand_r16 */ static int hf_lpp_maxSupportedFreqLayers_r16; /* INTEGER_1_4 */ static int hf_lpp_simulLTE_NR_PRS_r16; /* T_simulLTE_NR_PRS_r16 */ static int hf_lpp_dummy; /* T_dummy */ static int hf_lpp_freqBandIndicatorNR_r16; /* FreqBandIndicatorNR_r16 */ static int hf_lpp_supportedBandwidthPRS_r16; /* T_supportedBandwidthPRS_r16 */ static int hf_lpp_fr1; /* T_fr1 */ static int hf_lpp_fr2; /* T_fr2 */ static int hf_lpp_dl_PRS_BufferType_r16; /* T_dl_PRS_BufferType_r16 */ static int hf_lpp_durationOfPRS_Processing_r16; /* T_durationOfPRS_Processing_r16 */ static int hf_lpp_durationOfPRS_ProcessingSymbols_r16; /* T_durationOfPRS_ProcessingSymbols_r16 */ static int hf_lpp_durationOfPRS_ProcessingSymbolsInEveryTms_r16; /* T_durationOfPRS_ProcessingSymbolsInEveryTms_r16 */ static int hf_lpp_maxNumOfDL_PRS_ResProcessedPerSlot_r16; /* T_maxNumOfDL_PRS_ResProcessedPerSlot_r16 */ static int hf_lpp_scs15_r16_01; /* T_scs15_r16_01 */ static int hf_lpp_scs30_r16_01; /* T_scs30_r16_01 */ static int hf_lpp_scs60_r16_01; /* T_scs60_r16_01 */ static int hf_lpp_scs120_r16_01; /* T_scs120_r16_01 */ static int hf_lpp_scs15_v1690; /* T_scs15_v1690 */ static int hf_lpp_scs30_v1690; /* T_scs30_v1690 */ static int hf_lpp_scs60_v1690; /* T_scs60_v1690 */ static int hf_lpp_scs120_v1690; /* T_scs120_v1690 */ static int hf_lpp_supportedDL_PRS_ProcessingSamples_RRC_CONNECTED_r17; /* T_supportedDL_PRS_ProcessingSamples_RRC_CONNECTED_r17 */ static int hf_lpp_prs_ProcessingWindowType1A_r17; /* T_prs_ProcessingWindowType1A_r17 */ static int hf_lpp_prs_ProcessingWindowType1B_r17; /* T_prs_ProcessingWindowType1B_r17 */ static int hf_lpp_prs_ProcessingWindowType2_r17; /* T_prs_ProcessingWindowType2_r17 */ static int hf_lpp_prs_ProcessingCapabilityOutsideMGinPPW_r17; /* SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17 */ static int hf_lpp_prs_ProcessingCapabilityOutsideMGinPPW_r17_item; /* PRS_ProcessingCapabilityOutsideMGinPPWperType_r17 */ static int hf_lpp_dl_PRS_BufferType_RRC_Inactive_r17; /* T_dl_PRS_BufferType_RRC_Inactive_r17 */ static int hf_lpp_durationOfPRS_Processing_RRC_Inactive_r17; /* T_durationOfPRS_Processing_RRC_Inactive_r17 */ static int hf_lpp_durationOfPRS_ProcessingSymbols_r17; /* T_durationOfPRS_ProcessingSymbols_r17 */ static int hf_lpp_durationOfPRS_ProcessingSymbolsInEveryTms_r17; /* T_durationOfPRS_ProcessingSymbolsInEveryTms_r17 */ static int hf_lpp_maxNumOfDL_PRS_ResProcessedPerSlot_RRC_Inactive_r17; /* T_maxNumOfDL_PRS_ResProcessedPerSlot_RRC_Inactive_r17 */ static int hf_lpp_scs15_r17_01; /* T_scs15_r17 */ static int hf_lpp_scs30_r17_01; /* T_scs30_r17 */ static int hf_lpp_scs60_r17_01; /* T_scs60_r17 */ static int hf_lpp_scs120_r17_01; /* T_scs120_r17 */ static int hf_lpp_supportedLowerRxBeamSweepingFactor_FR2_r17; /* T_supportedLowerRxBeamSweepingFactor_FR2_r17 */ static int hf_lpp_supportedDL_PRS_ProcessingSamples_RRC_Inactive_r17; /* T_supportedDL_PRS_ProcessingSamples_RRC_Inactive_r17 */ static int hf_lpp_prs_MeasurementWithoutMG_r17; /* T_prs_MeasurementWithoutMG_r17 */ static int hf_lpp_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18; /* T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18 */ static int hf_lpp_scs15_r18_01; /* T_scs15_r18 */ static int hf_lpp_scs30_r18_01; /* T_scs30_r18 */ static int hf_lpp_scs60_r18_01; /* T_scs60_r18 */ static int hf_lpp_scs120_r18_01; /* T_scs120_r18 */ static int hf_lpp_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18; /* T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18 */ static int hf_lpp_scs15_r18_02; /* T_scs15_r18_01 */ static int hf_lpp_scs30_r18_02; /* T_scs30_r18_01 */ static int hf_lpp_scs60_r18_02; /* T_scs60_r18_01 */ static int hf_lpp_scs120_r18_02; /* T_scs120_r18_01 */ static int hf_lpp_ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18; /* T_ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18 */ static int hf_lpp_scs15_r18_03; /* T_scs15_r18_02 */ static int hf_lpp_scs30_r18_03; /* T_scs30_r18_02 */ static int hf_lpp_scs60_r18_03; /* T_scs60_r18_02 */ static int hf_lpp_scs120_r18_03; /* T_scs120_r18_02 */ static int hf_lpp_prs_BWA_TwoContiguousIntrabandInMG_RRC_Connected_r18; /* PRS_BWA_TwoContiguousIntrabandInMG_r18 */ static int hf_lpp_prs_BWA_ThreeContiguousIntrabandInMG_RRC_Connected_r18; /* PRS_BWA_ThreeContiguousIntrabandInMG_r18 */ static int hf_lpp_prs_BWA_TwoContiguousIntraband_RRC_IdleAndInactive_r18; /* PRS_BWA_TwoContiguousIntrabandInMG_r18 */ static int hf_lpp_prs_BWA_ThreeContiguousIntraband_RRC_IdleAndInactive_r18; /* PRS_BWA_ThreeContiguousIntrabandInMG_r18 */ static int hf_lpp_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_Connected_r18; /* T_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_Connected_r18 */ static int hf_lpp_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_IdleAndInactive_r18; /* T_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_IdleAndInactive_r18 */ static int hf_lpp_dl_PRS_MeasurementWithRxFH_RRC_Inactive_r18; /* T_dl_PRS_MeasurementWithRxFH_RRC_Inactive_r18 */ static int hf_lpp_dl_PRS_MeasurementWithRxFH_RRC_Idle_r18; /* T_dl_PRS_MeasurementWithRxFH_RRC_Idle_r18 */ static int hf_lpp_reducedNumOfSampleForMeasurementWithFH_RRC_Connected_r18; /* T_reducedNumOfSampleForMeasurementWithFH_RRC_Connected_r18 */ static int hf_lpp_reducedNumOfSampleForMeasurementWithFH_RRC_IdleAndInactive_r18; /* T_reducedNumOfSampleForMeasurementWithFH_RRC_IdleAndInactive_r18 */ static int hf_lpp_supportOfPRS_BWA_WithTwoPFL_Combination_r18; /* T_supportOfPRS_BWA_WithTwoPFL_Combination_r18 */ static int hf_lpp_dl_PRS_MeasurementWithRxFH_RRC_Connected_r18; /* DL_PRS_MeasurementWithRxFH_RRC_Connected_r18 */ static int hf_lpp_prsProcessingType_r17; /* T_prsProcessingType_r17 */ static int hf_lpp_ppw_dl_PRS_BufferType_r17; /* T_ppw_dl_PRS_BufferType_r17 */ static int hf_lpp_ppw_durationOfPRS_Processing1_r17; /* T_ppw_durationOfPRS_Processing1_r17 */ static int hf_lpp_ppw_durationOfPRS_ProcessingSymbolsN_r17; /* T_ppw_durationOfPRS_ProcessingSymbolsN_r17 */ static int hf_lpp_ppw_durationOfPRS_ProcessingSymbolsT_r17; /* T_ppw_durationOfPRS_ProcessingSymbolsT_r17 */ static int hf_lpp_ppw_durationOfPRS_Processing2_r17; /* T_ppw_durationOfPRS_Processing2_r17 */ static int hf_lpp_ppw_durationOfPRS_ProcessingSymbolsN2_r17; /* T_ppw_durationOfPRS_ProcessingSymbolsN2_r17 */ static int hf_lpp_ppw_durationOfPRS_ProcessingSymbolsT2_r17; /* T_ppw_durationOfPRS_ProcessingSymbolsT2_r17 */ static int hf_lpp_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17; /* T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17 */ static int hf_lpp_scs15_r17_02; /* T_scs15_r17_01 */ static int hf_lpp_scs30_r17_02; /* T_scs30_r17_01 */ static int hf_lpp_scs60_r17_02; /* T_scs60_r17_01 */ static int hf_lpp_scs120_r17_02; /* T_scs120_r17_01 */ static int hf_lpp_ppw_maxNumOfDL_Bandwidth_r17; /* T_ppw_maxNumOfDL_Bandwidth_r17 */ static int hf_lpp_fr1_01; /* T_fr1_01 */ static int hf_lpp_fr2_01; /* T_fr2_01 */ static int hf_lpp_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR1_r18; /* T_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR1_r18 */ static int hf_lpp_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR2_r18; /* T_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR2_r18 */ static int hf_lpp_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18; /* T_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18 */ static int hf_lpp_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18; /* T_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18 */ static int hf_lpp_dl_PRS_BufferTypeOfBWA_r18; /* T_dl_PRS_BufferTypeOfBWA_r18 */ static int hf_lpp_prs_durationOfTwoPRS_BWA_Processing_r18; /* T_prs_durationOfTwoPRS_BWA_Processing_r18 */ static int hf_lpp_prs_durationOfTwoPRS_BWA_ProcessingSymbolsN_r18; /* T_prs_durationOfTwoPRS_BWA_ProcessingSymbolsN_r18 */ static int hf_lpp_prs_durationOfTwoPRS_BWA_ProcessingSymbolsT_r18; /* T_prs_durationOfTwoPRS_BWA_ProcessingSymbolsT_r18 */ static int hf_lpp_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18; /* T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18 */ static int hf_lpp_scs15_r18_04; /* T_scs15_r18_03 */ static int hf_lpp_scs30_r18_04; /* T_scs30_r18_03 */ static int hf_lpp_scs60_r18_04; /* T_scs60_r18_03 */ static int hf_lpp_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18; /* T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18 */ static int hf_lpp_scs60_r18_05; /* T_scs60_r18_04 */ static int hf_lpp_scs120_r18_04; /* T_scs120_r18_03 */ static int hf_lpp_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR1_r18; /* T_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR1_r18 */ static int hf_lpp_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR2_r18; /* T_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR2_r18 */ static int hf_lpp_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18_01; /* T_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18_01 */ static int hf_lpp_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18_01; /* T_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18_01 */ static int hf_lpp_dl_PRS_BufferTypeOfBWA_r18_01; /* T_dl_PRS_BufferTypeOfBWA_r18_01 */ static int hf_lpp_prs_durationOfThreePRS_BWA_Processing_r18; /* T_prs_durationOfThreePRS_BWA_Processing_r18 */ static int hf_lpp_prs_durationOfThreePRS_BWA_ProcessingSymbolsN_r18; /* T_prs_durationOfThreePRS_BWA_ProcessingSymbolsN_r18 */ static int hf_lpp_prs_durationOfThreePRS_BWA_ProcessingSymbolsT_r18; /* T_prs_durationOfThreePRS_BWA_ProcessingSymbolsT_r18 */ static int hf_lpp_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_01; /* T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_01 */ static int hf_lpp_scs15_r18_05; /* T_scs15_r18_04 */ static int hf_lpp_scs30_r18_05; /* T_scs30_r18_04 */ static int hf_lpp_scs60_r18_06; /* T_scs60_r18_05 */ static int hf_lpp_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_01; /* T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_01 */ static int hf_lpp_scs60_r18_07; /* T_scs60_r18_06 */ static int hf_lpp_scs120_r18_05; /* T_scs120_r18_04 */ static int hf_lpp_maximumPRS_BandwidthAcrossAllHopsFR1_r18; /* T_maximumPRS_BandwidthAcrossAllHopsFR1_r18 */ static int hf_lpp_maximumPRS_BandwidthAcrossAllHopsFR2_r18; /* T_maximumPRS_BandwidthAcrossAllHopsFR2_r18 */ static int hf_lpp_maximumFH_Hops_r18; /* T_maximumFH_Hops_r18 */ static int hf_lpp_processingDuration_r18; /* T_processingDuration_r18 */ static int hf_lpp_processingPRS_SymbolsDurationN3_r18; /* T_processingPRS_SymbolsDurationN3_r18 */ static int hf_lpp_processingDurationT3_r18; /* T_processingDurationT3_r18 */ static int hf_lpp_rf_RxRetunTimeFR1_r18; /* T_rf_RxRetunTimeFR1_r18 */ static int hf_lpp_rf_RxRetunTimeFR2_r18; /* T_rf_RxRetunTimeFR2_r18 */ static int hf_lpp_numOfOverlappingPRB_r18; /* T_numOfOverlappingPRB_r18 */ static int hf_lpp_dl_PRS_QCL_ProcessingCapabilityBandList_r16; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_QCL_ProcessingCapabilityPerBand_r16 */ static int hf_lpp_dl_PRS_QCL_ProcessingCapabilityBandList_r16_item; /* DL_PRS_QCL_ProcessingCapabilityPerBand_r16 */ static int hf_lpp_ssb_FromNeighCellAsQCL_r16; /* T_ssb_FromNeighCellAsQCL_r16 */ static int hf_lpp_prs_FromServNeighCellAsQCL_r16; /* T_prs_FromServNeighCellAsQCL_r16 */ static int hf_lpp_maxNrOfDL_PRS_ResourceSetPerTrpPerFrequencyLayer_r16; /* INTEGER_1_2 */ static int hf_lpp_maxNrOfTRP_AcrossFreqs_r16; /* T_maxNrOfTRP_AcrossFreqs_r16 */ static int hf_lpp_maxNrOfPosLayer_r16; /* INTEGER_1_4 */ static int hf_lpp_dl_PRS_ResourcesCapabilityBandList_r16; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_ResourcesCapabilityPerBand_r16 */ static int hf_lpp_dl_PRS_ResourcesCapabilityBandList_r16_item; /* DL_PRS_ResourcesCapabilityPerBand_r16 */ static int hf_lpp_dl_PRS_ResourcesBandCombinationList_r16; /* DL_PRS_ResourcesBandCombinationList_r16 */ static int hf_lpp_maxNrOfDL_PRS_ResourcesPerResourceSet_r16; /* T_maxNrOfDL_PRS_ResourcesPerResourceSet_r16 */ static int hf_lpp_maxNrOfDL_PRS_ResourcesPerPositioningFrequencylayer_r16; /* T_maxNrOfDL_PRS_ResourcesPerPositioningFrequencylayer_r16 */ static int hf_lpp_DL_PRS_ResourcesBandCombinationList_r16_item; /* DL_PRS_ResourcesBandCombination_r16 */ static int hf_lpp_bandList_r16; /* SEQUENCE_SIZE_1_maxSimultaneousBands_r16_OF_FreqBandIndicatorNR_r16 */ static int hf_lpp_bandList_r16_item; /* FreqBandIndicatorNR_r16 */ static int hf_lpp_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16; /* T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16 */ static int hf_lpp_fr1_Only_r16; /* T_fr1_Only_r16 */ static int hf_lpp_fr2_Only_r16; /* T_fr2_Only_r16 */ static int hf_lpp_fr1_FR2Mix_r16; /* T_fr1_FR2Mix_r16 */ static int hf_lpp_fr1_r16; /* T_fr1_r16 */ static int hf_lpp_fr2_r16; /* T_fr2_r16 */ static int hf_lpp_NR_DL_PRS_TRP_TEG_Info_r17_item; /* NR_DL_PRS_TRP_TEG_InfoPerFreqLayer_r17 */ static int hf_lpp_NR_DL_PRS_TRP_TEG_InfoPerFreqLayer_r17_item; /* NR_DL_PRS_TRP_TEG_InfoPerTRP_r17 */ static int hf_lpp_dl_PRS_TEG_InfoSet_r17; /* SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_TEG_InfoPerResourceSet_r17 */ static int hf_lpp_dl_PRS_TEG_InfoSet_r17_item; /* DL_PRS_TEG_InfoPerResourceSet_r17 */ static int hf_lpp_nr_TRP_TxTEG_TimingErrorMargin_r17; /* TEG_TimingErrorMargin_r17 */ static int hf_lpp_DL_PRS_TEG_InfoPerResourceSet_r17_item; /* DL_PRS_TEG_InfoElement_r17 */ static int hf_lpp_dl_prs_trp_Tx_TEG_ID_r17; /* INTEGER_0_maxNumOfTRP_TxTEGs_1_r17 */ static int hf_lpp_nr_ProbOnsetTRP_Fault_r18; /* INTEGER_0_255 */ static int hf_lpp_nr_MeanTRP_FaultDuration_r18; /* INTEGER_1_3600 */ static int hf_lpp_NR_IntegrityServiceAlert_r18_item; /* NR_TRP_IntegrityServiceAlertPerFreqLayer_r18 */ static int hf_lpp_NR_TRP_IntegrityServiceAlertPerFreqLayer_r18_item; /* NR_TRP_IntegrityServiceAlertElement_r18 */ static int hf_lpp_dl_PRS_ID_r18; /* INTEGER_0_255 */ static int hf_lpp_nr_PhysCellID_r18; /* NR_PhysCellID_r16 */ static int hf_lpp_nr_CellGlobalID_r18; /* NCGI_r15 */ static int hf_lpp_nr_ARFCN_r18; /* ARFCN_ValueNR_r15 */ static int hf_lpp_rtd_DoNotUse_r18; /* BOOLEAN */ static int hf_lpp_trp_LocationDoNotUse_r18; /* BOOLEAN */ static int hf_lpp_beamInfo_DoNotUse_r18; /* BOOLEAN */ static int hf_lpp_beamAntennaInfo_DoNotUse_r18; /* BOOLEAN */ static int hf_lpp_ir_Minimum_r18; /* INTEGER_0_255 */ static int hf_lpp_ir_Maximum_r18; /* INTEGER_0_255 */ static int hf_lpp_on_demand_dl_prs_configuration_list_r17; /* SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_On_Demand_DL_PRS_Configuration_r17 */ static int hf_lpp_on_demand_dl_prs_configuration_list_r17_item; /* On_Demand_DL_PRS_Configuration_r17 */ static int hf_lpp_onDemandDL_PRS_AggregationList_r18; /* SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_OnDemandDL_PRS_AggregationInfo_r18 */ static int hf_lpp_onDemandDL_PRS_AggregationList_r18_item; /* OnDemandDL_PRS_AggregationInfo_r18 */ static int hf_lpp_dl_prs_configuration_id_r17; /* DL_PRS_Configuration_ID_r17 */ static int hf_lpp_nr_DL_PRS_PositioningFrequencyLayer_r17; /* NR_DL_PRS_PositioningFrequencyLayer_r16 */ static int hf_lpp_nr_DL_PRS_Info_r17; /* NR_DL_PRS_Info_r16 */ static int hf_lpp_nr_dl_prs_configuration_id_r17; /* INTEGER_1_maxOD_DL_PRS_Configs_r17 */ static int hf_lpp_OnDemandDL_PRS_AggregationInfo_r18_item; /* DL_PRS_Configuration_ID_r17 */ static int hf_lpp_NR_On_Demand_DL_PRS_Information_r17_item; /* NR_On_Demand_DL_PRS_PerFreqLayer_r17 */ static int hf_lpp_dl_prs_FrequencyRangeReq_r17; /* T_dl_prs_FrequencyRangeReq_r17 */ static int hf_lpp_dl_prs_ResourceSetPeriodicityReq_r17; /* T_dl_prs_ResourceSetPeriodicityReq_r17 */ static int hf_lpp_dl_prs_ResourceBandwidthReq_r17; /* INTEGER_1_63 */ static int hf_lpp_dl_prs_ResourceRepetitionFactorReq_r17; /* T_dl_prs_ResourceRepetitionFactorReq_r17 */ static int hf_lpp_dl_prs_NumSymbolsReq_r17; /* T_dl_prs_NumSymbolsReq_r17 */ static int hf_lpp_dl_prs_CombSizeN_Req_r17; /* T_dl_prs_CombSizeN_Req_r17 */ static int hf_lpp_dl_prs_QCL_InformationReqTRPlist_r17; /* DL_PRS_QCL_InformationReqTRPlist_r17 */ static int hf_lpp_DL_PRS_QCL_InformationReqTRPlist_r17_item; /* DL_PRS_QCL_InformationReqPerTRP_r17 */ static int hf_lpp_dl_prs_QCL_InformationReqSet_r17; /* SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_QCL_InfoReq_r17 */ static int hf_lpp_dl_prs_QCL_InformationReqSet_r17_item; /* DL_PRS_QCL_InfoReq_r17 */ static int hf_lpp_nr_DL_PRS_ResourceSetID_r17; /* NR_DL_PRS_ResourceSetID_r16 */ static int hf_lpp_dl_prs_QCL_InformationReq_r17; /* T_dl_prs_QCL_InformationReq_r17 */ static int hf_lpp_dl_prs_QCL_InfoRecPerResourceSet_r17; /* DL_PRS_QCL_Info_r16 */ static int hf_lpp_dl_prs_QCL_Info_requested_r17; /* NULL */ static int hf_lpp_dl_prs_QCL_InfoRecPerResource_r17; /* SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_QCL_Info_r16 */ static int hf_lpp_dl_prs_QCL_InfoRecPerResource_r17_item; /* DL_PRS_QCL_Info_r16 */ static int hf_lpp_dl_prs_StartTime_and_Duration_r17; /* DL_PRS_StartTime_and_Duration_r17 */ static int hf_lpp_nr_on_demand_DL_PRS_Information_r17; /* NR_On_Demand_DL_PRS_Information_r17 */ static int hf_lpp_dl_prs_configuration_id_PrefList_r17; /* SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_DL_PRS_Configuration_ID_r17 */ static int hf_lpp_dl_prs_configuration_id_PrefList_r17_item; /* DL_PRS_Configuration_ID_r17 */ static int hf_lpp_dl_PRS_AggregationID_PrefList_r18; /* T_dl_PRS_AggregationID_PrefList_r18 */ static int hf_lpp_dl_PRS_AggregationID_PrefList_r18_item; /* INTEGER_1_maxOD_DL_PRS_Configs_r17 */ static int hf_lpp_nr_OnDemandDL_PRS_AggregationReqList_r18; /* SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_NR_OnDemandDL_PRS_AggregationReqElement_r18 */ static int hf_lpp_nr_OnDemandDL_PRS_AggregationReqList_r18_item; /* NR_OnDemandDL_PRS_AggregationReqElement_r18 */ static int hf_lpp_dl_prs_start_time_r17; /* INTEGER_1_1024 */ static int hf_lpp_dl_prs_duration_r17; /* T_dl_prs_duration_r17 */ static int hf_lpp_seconds_r17; /* INTEGER_0_59 */ static int hf_lpp_minutes_r17; /* INTEGER_0_59 */ static int hf_lpp_hours_r17; /* INTEGER_0_23 */ static int hf_lpp_NR_OnDemandDL_PRS_AggregationReqElement_r18_item; /* INTEGER_1_nrMaxFreqLayers_r16 */ static int hf_lpp_NR_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17_item; /* DL_PRS_Configuration_ID_r17 */ static int hf_lpp_nr_on_demand_DL_PRS_InformationSup_r17; /* T_nr_on_demand_DL_PRS_InformationSup_r17 */ static int hf_lpp_nr_on_demand_DL_PRS_ConfigurationsSup_r17; /* T_nr_on_demand_DL_PRS_ConfigurationsSup_r17 */ static int hf_lpp_nr_PeriodicPRU_DL_Info_r18; /* NR_PeriodicControlParam_r18 */ static int hf_lpp_nr_PeriodicPRU_DL_InfoReq_r18; /* NR_PeriodicControlParam_r18 */ static int hf_lpp_deliveryAmount_r18; /* INTEGER_1_32 */ static int hf_lpp_deliveryInterval_r18; /* INTEGER_4_81920 */ static int hf_lpp_nr_TRP_LocationInfo_r16; /* NR_TRP_LocationInfo_r16 */ static int hf_lpp_nr_DL_PRS_BeamInfo_r16; /* NR_DL_PRS_BeamInfo_r16 */ static int hf_lpp_nr_RTD_Info_r16; /* NR_RTD_Info_r16 */ static int hf_lpp_nr_TRP_BeamAntennaInfo_r17; /* NR_TRP_BeamAntennaInfo_r17 */ static int hf_lpp_nr_DL_PRS_Expected_LOS_NLOS_Assistance_r17; /* NR_DL_PRS_ExpectedLOS_NLOS_Assistance_r17 */ static int hf_lpp_nr_DL_PRS_TRP_TEG_Info_r17; /* NR_DL_PRS_TRP_TEG_Info_r17 */ static int hf_lpp_nr_IntegrityServiceParameters_r18; /* NR_IntegrityServiceParameters_r18 */ static int hf_lpp_nr_IntegrityServiceAlert_r18; /* NR_IntegrityServiceAlert_r18 */ static int hf_lpp_nr_IntegrityRiskParameters_r18; /* NR_IntegrityRiskParameters_r18 */ static int hf_lpp_nr_IntegrityParametersTRP_LocationInfo_r18; /* NR_IntegrityParametersTRP_LocationInfo_r18 */ static int hf_lpp_nr_IntegrityParametersDL_PRS_BeamInfo_r18; /* NR_IntegrityParametersDL_PRS_BeamInfo_r18 */ static int hf_lpp_nr_IntegrityParametersRTD_Info_r18; /* NR_IntegrityParametersRTD_Info_r18 */ static int hf_lpp_nr_IntegrityParametersTRP_BeamAntennaInfo_r18; /* NR_IntegrityParametersTRP_BeamAntennaInfo_r18 */ static int hf_lpp_nr_PRU_DL_Info_r18; /* NR_PRU_DL_Info_r18 */ static int hf_lpp_trp_ErrorCorrelationTime_r18; /* INTEGER_0_255 */ static int hf_lpp_dl_PRS_ResourceSetARP_ErrorCorrelationTime_r18; /* INTEGER_0_255 */ static int hf_lpp_dl_PRS_ResourceARP_ErrorCorrelationTime_r18; /* INTEGER_0_255 */ static int hf_lpp_dl_PRS_BeamInfoErrorCorrelationTime_r18; /* INTEGER_0_255 */ static int hf_lpp_rtd_ErrorCorrelationTime_r18; /* INTEGER_0_255 */ static int hf_lpp_trp_BeamAntennaInfoErrorCorrelationTime_r18; /* INTEGER_0_255 */ static int hf_lpp_nr_PRU_LocationInfo_r18; /* LocationCoordinates */ static int hf_lpp_nr_PRU_DL_TDOA_MeasInfo_r18; /* NR_DL_TDOA_SignalMeasurementInformation_r16 */ static int hf_lpp_nr_PRU_DL_AoD_MeasInfo_r18; /* NR_DL_AoD_SignalMeasurementInformation_r16 */ static int hf_lpp_nr_PRU_RSCP_MeasInfo_r18; /* NR_PRU_RSCP_MeasurementInformation_r18 */ static int hf_lpp_NR_PRU_RSCP_MeasurementInformation_r18_item; /* NR_PRU_RSCP_MeasElement_r18 */ static int hf_lpp_nr_TimeStamp_r18; /* NR_TimeStamp_r16 */ static int hf_lpp_nr_los_nlos_Indicator_r18; /* T_nr_los_nlos_Indicator_r18 */ static int hf_lpp_perTRP; /* LOS_NLOS_Indicator_r17 */ static int hf_lpp_perResource; /* LOS_NLOS_Indicator_r17 */ static int hf_lpp_nr_RSCP_r18; /* INTEGER_0_3599 */ static int hf_lpp_nr_DL_PRS_RSRP_Result_r18; /* INTEGER_0_126 */ static int hf_lpp_nr_DL_PRS_FirstPathRSRP_Result_r18; /* INTEGER_0_126 */ static int hf_lpp_nr_PhaseQuality_r18; /* NR_PhaseQuality_r18 */ static int hf_lpp_nr_PRU_RSCP_AddSampleMeasurements_r18; /* SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18 */ static int hf_lpp_nr_PRU_RSCP_AddSampleMeasurements_r18_item; /* NR_RSCP_AdditionalMeasurements_r18 */ static int hf_lpp_nr_PRU_RSRP_AddSampleMeasurements_r18; /* T_nr_PRU_RSRP_AddSampleMeasurements_r18 */ static int hf_lpp_nr_PRU_RSRP_AddSampleMeasurements_r18_item; /* INTEGER_0_61 */ static int hf_lpp_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18; /* T_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18 */ static int hf_lpp_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18_item; /* INTEGER_0_61 */ static int hf_lpp_nr_PRU_RSCP_AdditionalMeasurements_r18; /* NR_PRU_RSCP_AdditionalMeasurements_r18 */ static int hf_lpp_NR_PRU_RSCP_AdditionalMeasurements_r18_item; /* NR_PRU_RSCP_AdditionalMeasurementElement_r18 */ static int hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r18; /* INTEGER_0_61 */ static int hf_lpp_nr_DL_PRS_FirstPathRSRP_ResultDiff_r18; /* INTEGER_0_61 */ static int hf_lpp_nr_PRU_RSCP_AdditionalMeasurementsList_r18; /* SEQUENCE_SIZE_1_nrNumOfSamples_r18_OF_NR_RSCP_AdditionalMeasurements_r18 */ static int hf_lpp_nr_PRU_RSCP_AdditionalMeasurementsList_r18_item; /* NR_RSCP_AdditionalMeasurements_r18 */ static int hf_lpp_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18; /* T_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18 */ static int hf_lpp_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18_item; /* INTEGER_0_61 */ static int hf_lpp_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18; /* T_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18 */ static int hf_lpp_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18_item; /* INTEGER_0_61 */ static int hf_lpp_referenceTRP_RTD_Info_r16; /* ReferenceTRP_RTD_Info_r16 */ static int hf_lpp_rtd_InfoList_r16; /* RTD_InfoList_r16 */ static int hf_lpp_dl_PRS_ID_Ref_r16; /* INTEGER_0_255 */ static int hf_lpp_nr_PhysCellID_Ref_r16; /* NR_PhysCellID_r16 */ static int hf_lpp_nr_CellGlobalID_Ref_r16; /* NCGI_r15 */ static int hf_lpp_nr_ARFCN_Ref_r16; /* ARFCN_ValueNR_r15 */ static int hf_lpp_refTime_r16; /* T_refTime_r16 */ static int hf_lpp_systemFrameNumber_r16; /* BIT_STRING_SIZE_10 */ static int hf_lpp_utc_r16; /* UTCTime */ static int hf_lpp_rtd_RefQuality_r16; /* NR_TimingQuality_r16 */ static int hf_lpp_RTD_InfoList_r16_item; /* RTD_InfoListPerFreqLayer_r16 */ static int hf_lpp_RTD_InfoListPerFreqLayer_r16_item; /* RTD_InfoElement_r16 */ static int hf_lpp_subframeOffset_r16; /* INTEGER_0_1966079 */ static int hf_lpp_rtd_Quality_r16; /* NR_TimingQuality_r16 */ static int hf_lpp_nr_IntegrityRTD_InfoBounds_r18; /* NR_IntegrityRTD_InfoBounds_r18 */ static int hf_lpp_resolution_r18; /* T_resolution_r18 */ static int hf_lpp_meanRTD_r18; /* INTEGER_0_255 */ static int hf_lpp_stdDevRTD_r18; /* INTEGER_0_31 */ static int hf_lpp_NR_SelectedDL_PRS_IndexList_r16_item; /* NR_SelectedDL_PRS_PerFreq_r16 */ static int hf_lpp_nr_SelectedDL_PRS_FrequencyLayerIndex_r16; /* INTEGER_0_nrMaxFreqLayers_1_r16 */ static int hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r16; /* SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r16 */ static int hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r16_item; /* NR_SelectedDL_PRS_IndexPerTRP_r16 */ static int hf_lpp_nr_SelectedTRP_Index_r16; /* INTEGER_0_nrMaxTRPsPerFreq_1_r16 */ static int hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r16; /* SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_SelectedPRS_ResourceSetIndex_r16 */ static int hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r16_item; /* DL_SelectedPRS_ResourceSetIndex_r16 */ static int hf_lpp_nr_DL_SelectedPRS_ResourceSetIndex_r16; /* INTEGER_0_nrMaxSetsPerTrpPerFreqLayer_1_r16 */ static int hf_lpp_dl_SelectedPRS_ResourceIndexList_r16; /* SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_SelectedPRS_ResourceIndex_r16 */ static int hf_lpp_dl_SelectedPRS_ResourceIndexList_r16_item; /* DL_SelectedPRS_ResourceIndex_r16 */ static int hf_lpp_nr_DL_SelectedPRS_ResourceIdIndex_r16; /* INTEGER_0_nrMaxNumDL_PRS_ResourcesPerSet_1_r16 */ static int hf_lpp_ss_PBCH_BlockPower_r16; /* INTEGER_M60_50 */ static int hf_lpp_halfFrameIndex_r16; /* INTEGER_0_1 */ static int hf_lpp_ssb_periodicity_r16; /* T_ssb_periodicity_r16 */ static int hf_lpp_ssb_PositionsInBurst_r16; /* T_ssb_PositionsInBurst_r16 */ static int hf_lpp_shortBitmap_r16; /* BIT_STRING_SIZE_4 */ static int hf_lpp_mediumBitmap_r16; /* BIT_STRING_SIZE_8 */ static int hf_lpp_longBitmap_r16; /* BIT_STRING_SIZE_64 */ static int hf_lpp_ssb_SubcarrierSpacing_r16; /* T_ssb_SubcarrierSpacing_r16 */ static int hf_lpp_sfn_SSB_Offset_r16; /* INTEGER_0_15 */ static int hf_lpp_nr_SFN_r16; /* INTEGER_0_1023 */ static int hf_lpp_nr_Slot_r16; /* T_nr_Slot_r16 */ static int hf_lpp_scs15_r16_02; /* INTEGER_0_9 */ static int hf_lpp_scs30_r16_02; /* INTEGER_0_19 */ static int hf_lpp_scs60_r16_02; /* INTEGER_0_39 */ static int hf_lpp_scs120_r16_02; /* INTEGER_0_79 */ static int hf_lpp_nr_Symbol_r18; /* INTEGER_0_13 */ static int hf_lpp_timingQualityValue_r16; /* INTEGER_0_31 */ static int hf_lpp_timingQualityResolution_r16; /* T_timingQualityResolution_r16 */ static int hf_lpp_NR_TRP_BeamAntennaInfo_r17_item; /* NR_TRP_BeamAntennaInfoPerFreqLayer_r17 */ static int hf_lpp_NR_TRP_BeamAntennaInfoPerFreqLayer_r17_item; /* NR_TRP_BeamAntennaInfoPerTRP_r17 */ static int hf_lpp_associated_DL_PRS_ID_r17; /* INTEGER_0_255 */ static int hf_lpp_lcs_GCS_TranslationParameter_r17; /* LCS_GCS_TranslationParameter_r16 */ static int hf_lpp_nr_TRP_BeamAntennaAngles_r17; /* NR_TRP_BeamAntennaAngles_r17 */ static int hf_lpp_NR_TRP_BeamAntennaAngles_r17_item; /* NR_TRP_BeamAntennaInfoAzimuthElevation_r17 */ static int hf_lpp_azimuth_r17; /* INTEGER_0_359 */ static int hf_lpp_azimuth_fine_r17; /* INTEGER_0_9 */ static int hf_lpp_elevationList_r17; /* SEQUENCE_SIZE_1_1801_OF_ElevationElement_R17 */ static int hf_lpp_elevationList_r17_item; /* ElevationElement_R17 */ static int hf_lpp_elevation_r17; /* INTEGER_0_180 */ static int hf_lpp_elevation_fine_r17; /* INTEGER_0_9 */ static int hf_lpp_beamPowerList_r17; /* SEQUENCE_SIZE_2_maxNumResourcesPerAngle_r17_OF_BeamPowerElement_r17 */ static int hf_lpp_beamPowerList_r17_item; /* BeamPowerElement_r17 */ static int hf_lpp_nr_dl_prs_ResourceSetID_r17; /* NR_DL_PRS_ResourceSetID_r16 */ static int hf_lpp_nr_dl_prs_ResourceID_r17; /* NR_DL_PRS_ResourceID_r16 */ static int hf_lpp_nr_dl_prs_RelativePower_r17; /* INTEGER_0_30 */ static int hf_lpp_nr_dl_prs_RelativePowerFine_r17; /* INTEGER_0_9 */ static int hf_lpp_nr_IntegrityBeamPowerBounds_r18; /* NR_IntegrityBeamPowerBounds_r18 */ static int hf_lpp_meanBeamPower_r18; /* INTEGER_0_127 */ static int hf_lpp_stdDevBeamPower_r18; /* INTEGER_0_127 */ static int hf_lpp_NR_TRP_LocationInfo_r16_item; /* NR_TRP_LocationInfoPerFreqLayer_r16 */ static int hf_lpp_referencePoint_r16; /* ReferencePoint_r16 */ static int hf_lpp_trp_LocationInfoList_r16; /* SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_TRP_LocationInfoElement_r16 */ static int hf_lpp_trp_LocationInfoList_r16_item; /* TRP_LocationInfoElement_r16 */ static int hf_lpp_trp_Location_r16; /* RelativeLocation_r16 */ static int hf_lpp_trp_DL_PRS_ResourceSets_r16; /* SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_ResourceSets_TRP_Element_r16 */ static int hf_lpp_trp_DL_PRS_ResourceSets_r16_item; /* DL_PRS_ResourceSets_TRP_Element_r16 */ static int hf_lpp_trp_LocationCartesian_r18; /* RelativeCartesianLocation_r18 */ static int hf_lpp_nr_IntegrityTRP_LocationBounds_r18; /* NR_IntegrityLocationBounds_r18 */ static int hf_lpp_dl_PRS_ResourceSetARP_r16; /* RelativeLocation_r16 */ static int hf_lpp_dl_PRS_Resource_ARP_List_r16; /* SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_Resource_ARP_Element_r16 */ static int hf_lpp_dl_PRS_Resource_ARP_List_r16_item; /* DL_PRS_Resource_ARP_Element_r16 */ static int hf_lpp_dl_PRS_ResourceSetARP_Cartesian_r18; /* RelativeCartesianLocation_r18 */ static int hf_lpp_nr_IntegrityDL_PRS_ResourceSetARP_LocationBounds_r18; /* NR_IntegrityLocationBounds_r18 */ static int hf_lpp_dl_PRS_Resource_ARP_location_r16; /* RelativeLocation_r16 */ static int hf_lpp_dl_PRS_Resource_ARP_locationCartesian_r18; /* RelativeCartesianLocation_r18 */ static int hf_lpp_nr_IntegrityDL_PRS_ResourceARP_LocationBounds_r18; /* NR_IntegrityLocationBounds_r18 */ static int hf_lpp_units_r18; /* T_units_r18 */ static int hf_lpp_meanLocationErrorBound_r18; /* T_meanLocationErrorBound_r18 */ static int hf_lpp_horizontal_r18; /* INTEGER_0_255 */ static int hf_lpp_vertical_r18; /* INTEGER_0_255 */ static int hf_lpp_stdDevLocationErrorBound_r18; /* T_stdDevLocationErrorBound_r18 */ static int hf_lpp_nr_UE_TEG_ID_CapabilityBandList_r17; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_NR_UE_TEG_ID_CapabilityPerBand_r17 */ static int hf_lpp_nr_UE_TEG_ID_CapabilityBandList_r17_item; /* NR_UE_TEG_ID_CapabilityPerBand_r17 */ static int hf_lpp_freqBandIndicatorNR_r17; /* FreqBandIndicatorNR_r16 */ static int hf_lpp_nr_UE_RxTEG_ID_MaxSupport_r17; /* T_nr_UE_RxTEG_ID_MaxSupport_r17 */ static int hf_lpp_nr_UE_TxTEG_ID_MaxSupport_r17; /* T_nr_UE_TxTEG_ID_MaxSupport_r17 */ static int hf_lpp_nr_UE_RxTxTEG_ID_MaxSupport_r17; /* T_nr_UE_RxTxTEG_ID_MaxSupport_r17 */ static int hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17; /* T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17 */ static int hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTEGsSimul_r17; /* T_measureSameDL_PRS_ResourceWithDifferentRxTEGsSimul_r17 */ static int hf_lpp_srs_CapabilityBandList_r16; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_SRS_CapabilityPerBand_r16 */ static int hf_lpp_srs_CapabilityBandList_r16_item; /* SRS_CapabilityPerBand_r16 */ static int hf_lpp_srs_PosResourceConfigCA_BandList_r16; /* SEQUENCE_SIZE_1_nrMaxConfiguredBands_r16_OF_SRS_PosResourcesPerBand_r16 */ static int hf_lpp_srs_PosResourceConfigCA_BandList_r16_item; /* SRS_PosResourcesPerBand_r16 */ static int hf_lpp_maxNumberSRS_PosPathLossEstimateAllServingCells_r16; /* T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16 */ static int hf_lpp_maxNumberSRS_PosSpatialRelationsAllServingCells_r16; /* T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16 */ static int hf_lpp_olpc_SRS_Pos_r16; /* OLPC_SRS_Pos_r16 */ static int hf_lpp_spatialRelationsSRS_Pos_r16; /* SpatialRelationsSRS_Pos_r16 */ static int hf_lpp_posSRS_RRC_Inactive_InInitialUL_BWP_r17; /* PosSRS_RRC_Inactive_InInitialUL_BWP_r17 */ static int hf_lpp_posSRS_RRC_Inactive_OutsideInitialUL_BWP_r17; /* PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17 */ static int hf_lpp_olpc_SRS_PosRRC_Inactive_r17; /* OLPC_SRS_Pos_r16 */ static int hf_lpp_spatialRelationsSRS_PosRRC_Inactive_r17; /* SpatialRelationsSRS_Pos_r16 */ static int hf_lpp_posSRS_SP_RRC_Inactive_InInitialUL_BWP_r17; /* PosSRS_SP_RRC_Inactive_InInitialUL_BWP_r17 */ static int hf_lpp_posSRS_Preconfigured_RRC_InactiveInitialUL_BWP_r18; /* T_posSRS_Preconfigured_RRC_InactiveInitialUL_BWP_r18 */ static int hf_lpp_posSRS_Preconfigured_RRC_InactiveOutsideInitialUL_BWP_r18; /* T_posSRS_Preconfigured_RRC_InactiveOutsideInitialUL_BWP_r18 */ static int hf_lpp_posSRS_ValidityAreaRRC_InactiveInitialUL_BWP_r18; /* T_posSRS_ValidityAreaRRC_InactiveInitialUL_BWP_r18 */ static int hf_lpp_posSRS_ValidityAreaRRC_InactiveOutsideInitialUL_BWP_r18; /* T_posSRS_ValidityAreaRRC_InactiveOutsideInitialUL_BWP_r18 */ static int hf_lpp_posSRS_TxFH_RRC_Connected_r18; /* PosSRS_TxFrequencyHoppingRRC_Connected_r18 */ static int hf_lpp_posSRS_TxFH_RRC_Inactive_r18; /* PosSRS_TxFrequencyHoppingRRC_Inactive_r18 */ static int hf_lpp_posSRS_TxFH_WithTimeWindow_r18; /* T_posSRS_TxFH_WithTimeWindow_r18 */ static int hf_lpp_posSRS_BWA_RRC_Inactive_r18; /* PosSRS_BWA_RRC_Inactive_r18 */ static int hf_lpp_olpc_SRS_PosBasedOnPRS_Serving_r16; /* T_olpc_SRS_PosBasedOnPRS_Serving_r16 */ static int hf_lpp_olpc_SRS_PosBasedOnSSB_Neigh_r16; /* T_olpc_SRS_PosBasedOnSSB_Neigh_r16 */ static int hf_lpp_olpc_SRS_PosBasedOnPRS_Neigh_r16; /* T_olpc_SRS_PosBasedOnPRS_Neigh_r16 */ static int hf_lpp_maxNumberPathLossEstimatePerServing_r16; /* T_maxNumberPathLossEstimatePerServing_r16 */ static int hf_lpp_spatialRelation_SRS_PosBasedOnSSB_Serving_r16; /* T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16 */ static int hf_lpp_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16; /* T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16 */ static int hf_lpp_spatialRelation_SRS_PosBasedOnPRS_Serving_r16; /* T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16 */ static int hf_lpp_spatialRelation_SRS_PosBasedOnSRS_r16; /* T_spatialRelation_SRS_PosBasedOnSRS_r16 */ static int hf_lpp_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16; /* T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16 */ static int hf_lpp_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16; /* T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16 */ static int hf_lpp_maxNumberSRS_PosResourceSetsPerBWP_r16; /* T_maxNumberSRS_PosResourceSetsPerBWP_r16 */ static int hf_lpp_maxNumberSRS_PosResourcesPerBWP_r16; /* T_maxNumberSRS_PosResourcesPerBWP_r16 */ static int hf_lpp_maxNumberPeriodicSRS_PosResourcesPerBWP_r16; /* T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16 */ static int hf_lpp_maxNumberAP_SRS_PosResourcesPerBWP_r16; /* T_maxNumberAP_SRS_PosResourcesPerBWP_r16 */ static int hf_lpp_maxNumberSP_SRS_PosResourcesPerBWP_r16; /* T_maxNumberSP_SRS_PosResourcesPerBWP_r16 */ static int hf_lpp_posSRS_BWA_RRC_Connected_r18; /* PosSRS_BWA_RRC_Connected_r18 */ static int hf_lpp_posSRS_BWA_IndependentCA_RRC_Connected_r18; /* PosSRS_BWA_IndependentCA_RRC_Connected_r18 */ static int hf_lpp_maxNumOfSRSposResourceSets_r17; /* T_maxNumOfSRSposResourceSets_r17 */ static int hf_lpp_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17; /* T_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17 */ static int hf_lpp_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17; /* T_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17 */ static int hf_lpp_maxNumOfPeriodicSRSposResources_r17; /* T_maxNumOfPeriodicSRSposResources_r17 */ static int hf_lpp_maxNumOfPeriodicSRSposResourcesPerSlot_r17; /* T_maxNumOfPeriodicSRSposResourcesPerSlot_r17 */ static int hf_lpp_dummy1; /* T_dummy1 */ static int hf_lpp_dummy2; /* T_dummy2 */ static int hf_lpp_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17; /* T_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17 */ static int hf_lpp_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17; /* T_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17 */ static int hf_lpp_maxNumOfSRSposResourceSets_r17_01; /* T_maxNumOfSRSposResourceSets_r17_01 */ static int hf_lpp_maxNumOfPeriodicSRSposResources_r17_01; /* T_maxNumOfPeriodicSRSposResources_r17_01 */ static int hf_lpp_maxNumOfPeriodicSRSposResourcesPerSlot_r17_01; /* T_maxNumOfPeriodicSRSposResourcesPerSlot_r17_01 */ static int hf_lpp_differentNumerologyBetweenSRSposAndInitialBWP_r17; /* T_differentNumerologyBetweenSRSposAndInitialBWP_r17 */ static int hf_lpp_srsPosWithoutRestrictionOnBWP_r17; /* T_srsPosWithoutRestrictionOnBWP_r17 */ static int hf_lpp_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17_01; /* T_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17_01 */ static int hf_lpp_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17_01; /* T_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17_01 */ static int hf_lpp_differentCenterFreqBetweenSRSposAndInitialBWP_r17; /* T_differentCenterFreqBetweenSRSposAndInitialBWP_r17 */ static int hf_lpp_maxNumOfSemiPersistentSRSposResources_r17; /* T_maxNumOfSemiPersistentSRSposResources_r17 */ static int hf_lpp_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17; /* T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17 */ static int hf_lpp_switchingTimeSRS_TX_OtherTX_r17; /* T_switchingTimeSRS_TX_OtherTX_r17 */ static int hf_lpp_maxNumOfSemiPersistentSRSposResources_r17_01; /* T_maxNumOfSemiPersistentSRSposResources_r17_01 */ static int hf_lpp_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01; /* T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01 */ static int hf_lpp_maximumSRS_BandwidthAcrossAllHopsFR1_r18; /* T_maximumSRS_BandwidthAcrossAllHopsFR1_r18 */ static int hf_lpp_maximumSRS_BandwidthAcrossAllHopsFR2_r18; /* T_maximumSRS_BandwidthAcrossAllHopsFR2_r18 */ static int hf_lpp_maximumTxFH_Hops_r18; /* T_maximumTxFH_Hops_r18 */ static int hf_lpp_rf_TxRetunTimeFR1_r18; /* T_rf_TxRetunTimeFR1_r18 */ static int hf_lpp_rf_TxRetunTimeFR2_r18; /* T_rf_TxRetunTimeFR2_r18 */ static int hf_lpp_switchTimeBetweenActiveBWP_FrequencyHop_r18; /* T_switchTimeBetweenActiveBWP_FrequencyHop_r18 */ static int hf_lpp_numOfOverlappingPRB_r18_01; /* T_numOfOverlappingPRB_r18_01 */ static int hf_lpp_maximumSRS_ResourcePeriodic_r18; /* T_maximumSRS_ResourcePeriodic_r18 */ static int hf_lpp_maximumSRS_ResourceAperiodic_r18; /* T_maximumSRS_ResourceAperiodic_r18 */ static int hf_lpp_maximumSRS_ResourceSemipersistent_r18; /* T_maximumSRS_ResourceSemipersistent_r18 */ static int hf_lpp_maximumSRS_BandwidthAcrossAllHopsFR1_r18_01; /* T_maximumSRS_BandwidthAcrossAllHopsFR1_r18_01 */ static int hf_lpp_maximumSRS_BandwidthAcrossAllHopsFR2_r18_01; /* T_maximumSRS_BandwidthAcrossAllHopsFR2_r18_01 */ static int hf_lpp_maximumTxFH_Hops_r18_01; /* T_maximumTxFH_Hops_r18_01 */ static int hf_lpp_rf_TxRetunTimeFR1_r18_01; /* T_rf_TxRetunTimeFR1_r18_01 */ static int hf_lpp_rf_TxRetunTimeFR2_r18_01; /* T_rf_TxRetunTimeFR2_r18_01 */ static int hf_lpp_switchTimeBetweenActiveBWP_FrequencyHop_r18_01; /* T_switchTimeBetweenActiveBWP_FrequencyHop_r18_01 */ static int hf_lpp_numOfOverlappingPRB_r18_02; /* T_numOfOverlappingPRB_r18_02 */ static int hf_lpp_maximumSRS_ResourcePeriodic_r18_01; /* T_maximumSRS_ResourcePeriodic_r18_01 */ static int hf_lpp_maximumSRS_ResourceSemipersistent_r18_01; /* T_maximumSRS_ResourceSemipersistent_r18_01 */ static int hf_lpp_numOfCarriersIntraBandContiguous_r18; /* T_numOfCarriersIntraBandContiguous_r18 */ static int hf_lpp_maximumAggregatedBW_TwoCarriersFR1_r18; /* T_maximumAggregatedBW_TwoCarriersFR1_r18 */ static int hf_lpp_maximumAggregatedBW_TwoCarriersFR2_r18; /* T_maximumAggregatedBW_TwoCarriersFR2_r18 */ static int hf_lpp_maximumAggregatedBW_ThreeCarriersFR1_r18; /* T_maximumAggregatedBW_ThreeCarriersFR1_r18 */ static int hf_lpp_maximumAggregatedBW_ThreeCarriersFR2_r18; /* T_maximumAggregatedBW_ThreeCarriersFR2_r18 */ static int hf_lpp_maximumAggregatedResourceSet_r18; /* T_maximumAggregatedResourceSet_r18 */ static int hf_lpp_maximumAggregatedResourcePeriodic_r18; /* T_maximumAggregatedResourcePeriodic_r18 */ static int hf_lpp_maximumAggregatedResourceAperiodic_r18; /* T_maximumAggregatedResourceAperiodic_r18 */ static int hf_lpp_maximumAggregatedResourceSemi_r18; /* T_maximumAggregatedResourceSemi_r18 */ static int hf_lpp_maximumAggregatedResourcePeriodicPerSlot_r18; /* T_maximumAggregatedResourcePeriodicPerSlot_r18 */ static int hf_lpp_maximumAggregatedResourceAperiodicPerSlot_r18; /* T_maximumAggregatedResourceAperiodicPerSlot_r18 */ static int hf_lpp_maximumAggregatedResourceSemiPerSlot_r18; /* T_maximumAggregatedResourceSemiPerSlot_r18 */ static int hf_lpp_numOfCarriersIntraBandContiguous_r18_01; /* T_numOfCarriersIntraBandContiguous_r18_01 */ static int hf_lpp_maximumAggregatedBW_TwoCarriersFR1_r18_01; /* T_maximumAggregatedBW_TwoCarriersFR1_r18_01 */ static int hf_lpp_maximumAggregatedBW_TwoCarriersFR2_r18_01; /* T_maximumAggregatedBW_TwoCarriersFR2_r18_01 */ static int hf_lpp_maximumAggregatedBW_ThreeCarriersFR1_r18_01; /* T_maximumAggregatedBW_ThreeCarriersFR1_r18_01 */ static int hf_lpp_maximumAggregatedBW_ThreeCarriersFR2_r18_01; /* T_maximumAggregatedBW_ThreeCarriersFR2_r18_01 */ static int hf_lpp_maximumAggregatedResourceSet_r18_01; /* T_maximumAggregatedResourceSet_r18_01 */ static int hf_lpp_maximumAggregatedResourcePeriodic_r18_01; /* T_maximumAggregatedResourcePeriodic_r18_01 */ static int hf_lpp_maximumAggregatedResourceAperiodic_r18_01; /* T_maximumAggregatedResourceAperiodic_r18_01 */ static int hf_lpp_maximumAggregatedResourceSemi_r18_01; /* T_maximumAggregatedResourceSemi_r18_01 */ static int hf_lpp_maximumAggregatedResourcePeriodicPerSlot_r18_01; /* T_maximumAggregatedResourcePeriodicPerSlot_r18_01 */ static int hf_lpp_maximumAggregatedResourceAperiodicPerSlot_r18_01; /* T_maximumAggregatedResourceAperiodicPerSlot_r18_01 */ static int hf_lpp_maximumAggregatedResourceSemiPerSlot_r18_01; /* T_maximumAggregatedResourceSemiPerSlot_r18_01 */ static int hf_lpp_guardPeriod_r18; /* T_guardPeriod_r18 */ static int hf_lpp_powerClassForTwoAggregatedCarriers_r18; /* T_powerClassForTwoAggregatedCarriers_r18 */ static int hf_lpp_powerClassForThreeAggregatedCarriers_r18; /* T_powerClassForThreeAggregatedCarriers_r18 */ static int hf_lpp_numOfCarriersIntraBandContiguous_r18_02; /* T_numOfCarriersIntraBandContiguous_r18_02 */ static int hf_lpp_maximumAggregatedBW_TwoCarriersFR1_r18_02; /* T_maximumAggregatedBW_TwoCarriersFR1_r18_02 */ static int hf_lpp_maximumAggregatedBW_TwoCarriersFR2_r18_02; /* T_maximumAggregatedBW_TwoCarriersFR2_r18_02 */ static int hf_lpp_maximumAggregatedBW_ThreeCarriersFR1_r18_02; /* T_maximumAggregatedBW_ThreeCarriersFR1_r18_02 */ static int hf_lpp_maximumAggregatedBW_ThreeCarriersFR2_r18_02; /* T_maximumAggregatedBW_ThreeCarriersFR2_r18_02 */ static int hf_lpp_maximumAggregatedResourceSet_r18_02; /* T_maximumAggregatedResourceSet_r18_02 */ static int hf_lpp_maximumAggregatedResourcePeriodic_r18_02; /* T_maximumAggregatedResourcePeriodic_r18_02 */ static int hf_lpp_maximumAggregatedResourceSemi_r18_02; /* T_maximumAggregatedResourceSemi_r18_02 */ static int hf_lpp_maximumAggregatedResourcePeriodicPerSlot_r18_02; /* T_maximumAggregatedResourcePeriodicPerSlot_r18_02 */ static int hf_lpp_maximumAggregatedResourceSemiPerSlot_r18_02; /* T_maximumAggregatedResourceSemiPerSlot_r18_02 */ static int hf_lpp_guardPeriod_r18_01; /* T_guardPeriod_r18_01 */ static int hf_lpp_powerClassForTwoAggregatedCarriers_r18_01; /* T_powerClassForTwoAggregatedCarriers_r18_01 */ static int hf_lpp_powerClassForThreeAggregatedCarriers_r18_01; /* T_powerClassForThreeAggregatedCarriers_r18_01 */ static int hf_lpp_phaseQualityIndex_r18; /* INTEGER_0_179 */ static int hf_lpp_phaseQualityResolution_r18; /* T_phaseQualityResolution_r18 */ static int hf_lpp_referencePointGeographicLocation_r16; /* T_referencePointGeographicLocation_r16 */ static int hf_lpp_location3D_r16; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */ static int hf_lpp_ha_location3D_r16; /* HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15 */ static int hf_lpp_localOrigin_v1800; /* LocalOrigin_r18 */ static int hf_lpp_cartesianCoordinatesUnits_r18_02; /* T_cartesianCoordinatesUnits_r18_02 */ static int hf_lpp_locationUnc_r18; /* LocationUncertainty_r16 */ static int hf_lpp_delta_x_r18; /* INTEGER_M1024_1023 */ static int hf_lpp_coarse_delta_x_r18; /* INTEGER_0_4095 */ static int hf_lpp_delta_y_r18; /* INTEGER_M1024_1023 */ static int hf_lpp_coarse_delta_y_r18; /* INTEGER_0_4095 */ static int hf_lpp_delta_z_r18; /* INTEGER_M1024_1023 */ static int hf_lpp_coarse_delta_z_r18; /* INTEGER_0_4095 */ static int hf_lpp_milli_arc_second_units_r16; /* T_milli_arc_second_units_r16 */ static int hf_lpp_height_units_r16; /* T_height_units_r16 */ static int hf_lpp_delta_latitude_r16; /* Delta_Latitude_r16 */ static int hf_lpp_delta_longitude_r16; /* Delta_Longitude_r16 */ static int hf_lpp_delta_height_r16; /* Delta_Height_r16 */ static int hf_lpp_locationUNC_r16; /* LocationUncertainty_r16 */ static int hf_lpp_delta_Latitude_r16; /* INTEGER_M1024_1023 */ static int hf_lpp_coarse_delta_Latitude_r16; /* INTEGER_0_4095 */ static int hf_lpp_delta_Longitude_r16; /* INTEGER_M1024_1023 */ static int hf_lpp_coarse_delta_Longitude_r16; /* INTEGER_0_4095 */ static int hf_lpp_delta_Height_r16; /* INTEGER_M1024_1023 */ static int hf_lpp_coarse_delta_Height_r16; /* INTEGER_0_4095 */ static int hf_lpp_horizontalUncertainty_r16; /* INTEGER_0_255 */ static int hf_lpp_verticalUncertainty_r16; /* INTEGER_0_255 */ static int hf_lpp_otdoa_ReferenceCellInfo; /* OTDOA_ReferenceCellInfo */ static int hf_lpp_otdoa_NeighbourCellInfo; /* OTDOA_NeighbourCellInfoList */ static int hf_lpp_otdoa_Error; /* OTDOA_Error */ static int hf_lpp_otdoa_ReferenceCellInfoNB_r14; /* OTDOA_ReferenceCellInfoNB_r14 */ static int hf_lpp_otdoa_NeighbourCellInfoNB_r14; /* OTDOA_NeighbourCellInfoListNB_r14 */ static int hf_lpp_physCellId; /* INTEGER_0_503 */ static int hf_lpp_cellGlobalId; /* ECGI */ static int hf_lpp_earfcnRef; /* ARFCN_ValueEUTRA */ static int hf_lpp_antennaPortConfig; /* T_antennaPortConfig */ static int hf_lpp_cpLength; /* T_cpLength */ static int hf_lpp_prsInfo; /* PRS_Info */ static int hf_lpp_earfcnRef_v9a0; /* ARFCN_ValueEUTRA_v9a0 */ static int hf_lpp_tpId_r14; /* INTEGER_0_4095 */ static int hf_lpp_cpLengthCRS_r14; /* T_cpLengthCRS_r14 */ static int hf_lpp_sameMBSFNconfigRef_r14; /* BOOLEAN */ static int hf_lpp_dlBandwidth_r14; /* T_dlBandwidth_r14 */ static int hf_lpp_addPRSconfigRef_r14; /* SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info */ static int hf_lpp_addPRSconfigRef_r14_item; /* PRS_Info */ static int hf_lpp_nr_LTE_SFN_Offset_r15; /* INTEGER_0_1023 */ static int hf_lpp_tdd_config_v1520; /* TDD_Config_v1520 */ static int hf_lpp_nr_LTE_fineTiming_Offset_r15; /* INTEGER_0_19 */ static int hf_lpp_prs_Bandwidth; /* T_prs_Bandwidth */ static int hf_lpp_prs_ConfigurationIndex; /* INTEGER_0_4095 */ static int hf_lpp_numDL_Frames; /* T_numDL_Frames */ static int hf_lpp_prs_MutingInfo_r9; /* T_prs_MutingInfo_r9 */ static int hf_lpp_po2_r9; /* BIT_STRING_SIZE_2 */ static int hf_lpp_po4_r9; /* BIT_STRING_SIZE_4 */ static int hf_lpp_po8_r9; /* BIT_STRING_SIZE_8 */ static int hf_lpp_po16_r9; /* BIT_STRING_SIZE_16 */ static int hf_lpp_po32_v1420; /* BIT_STRING_SIZE_32 */ static int hf_lpp_po64_v1420; /* BIT_STRING_SIZE_64 */ static int hf_lpp_po128_v1420; /* BIT_STRING_SIZE_128 */ static int hf_lpp_po256_v1420; /* BIT_STRING_SIZE_256 */ static int hf_lpp_po512_v1420; /* BIT_STRING_SIZE_512 */ static int hf_lpp_po1024_v1420; /* BIT_STRING_SIZE_1024 */ static int hf_lpp_prsID_r14; /* INTEGER_0_4095 */ static int hf_lpp_add_numDL_Frames_r14; /* INTEGER_1_160 */ static int hf_lpp_prsOccGroupLen_r14; /* T_prsOccGroupLen_r14 */ static int hf_lpp_prsHoppingInfo_r14; /* T_prsHoppingInfo_r14 */ static int hf_lpp_nb2_r14; /* INTEGER_0_maxAvailNarrowBands_Minus1_r14 */ static int hf_lpp_nb4_r14; /* T_nb4_r14 */ static int hf_lpp_nb4_r14_item; /* INTEGER_0_maxAvailNarrowBands_Minus1_r14 */ static int hf_lpp_subframeAssignment_v1520; /* T_subframeAssignment_v1520 */ static int hf_lpp_OTDOA_NeighbourCellInfoList_item; /* OTDOA_NeighbourFreqInfo */ static int hf_lpp_OTDOA_NeighbourFreqInfo_item; /* OTDOA_NeighbourCellInfoElement */ static int hf_lpp_earfcn; /* ARFCN_ValueEUTRA */ static int hf_lpp_cpLength_01; /* T_cpLength_01 */ static int hf_lpp_antennaPortConfig_01; /* T_antennaPortConfig_01 */ static int hf_lpp_slotNumberOffset; /* INTEGER_0_19 */ static int hf_lpp_prs_SubframeOffset; /* INTEGER_0_1279 */ static int hf_lpp_expectedRSTD; /* INTEGER_0_16383 */ static int hf_lpp_expectedRSTD_Uncertainty; /* INTEGER_0_1023 */ static int hf_lpp_earfcn_v9a0; /* ARFCN_ValueEUTRA_v9a0 */ static int hf_lpp_prs_only_tp_r14; /* T_prs_only_tp_r14 */ static int hf_lpp_cpLengthCRS_r14_01; /* T_cpLengthCRS_r14_01 */ static int hf_lpp_sameMBSFNconfigNeighbour_r14; /* BOOLEAN */ static int hf_lpp_dlBandwidth_r14_01; /* T_dlBandwidth_r14_01 */ static int hf_lpp_addPRSconfigNeighbour_r14; /* SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14 */ static int hf_lpp_addPRSconfigNeighbour_r14_item; /* Add_PRSconfigNeighbourElement_r14 */ static int hf_lpp_add_prsInfo_r14; /* PRS_Info */ static int hf_lpp_physCellIdNB_r14; /* INTEGER_0_503 */ static int hf_lpp_cellGlobalIdNB_r14; /* ECGI */ static int hf_lpp_carrierFreqRef_r14; /* CarrierFreq_NB_r14 */ static int hf_lpp_earfcn_r14; /* ARFCN_ValueEUTRA_r14 */ static int hf_lpp_eutra_NumCRS_Ports_r14; /* T_eutra_NumCRS_Ports_r14 */ static int hf_lpp_otdoa_SIB1_NB_repetitions_r14; /* T_otdoa_SIB1_NB_repetitions_r14 */ static int hf_lpp_nprsInfo_r14; /* PRS_Info_NB_r14 */ static int hf_lpp_nprsInfo_Type2_v1470; /* PRS_Info_NB_r14 */ static int hf_lpp_tdd_config_r15; /* TDD_Config_v1520 */ static int hf_lpp_PRS_Info_NB_r14_item; /* NPRS_Info_r14 */ static int hf_lpp_operationModeInfoNPRS_r14; /* T_operationModeInfoNPRS_r14 */ static int hf_lpp_nprs_carrier_r14; /* CarrierFreq_NB_r14 */ static int hf_lpp_nprsSequenceInfo_r14; /* INTEGER_0_174 */ static int hf_lpp_nprsID_r14; /* INTEGER_0_4095 */ static int hf_lpp_partA_r14; /* T_partA_r14 */ static int hf_lpp_nprsBitmap_r14; /* T_nprsBitmap_r14 */ static int hf_lpp_subframePattern10_r14; /* BIT_STRING_SIZE_10 */ static int hf_lpp_subframePattern40_r14; /* BIT_STRING_SIZE_40 */ static int hf_lpp_nprs_MutingInfoA_r14; /* T_nprs_MutingInfoA_r14 */ static int hf_lpp_po2_r14; /* BIT_STRING_SIZE_2 */ static int hf_lpp_po4_r14; /* BIT_STRING_SIZE_4 */ static int hf_lpp_po8_r14; /* BIT_STRING_SIZE_8 */ static int hf_lpp_po16_r14; /* BIT_STRING_SIZE_16 */ static int hf_lpp_partB_r14; /* T_partB_r14 */ static int hf_lpp_nprs_Period_r14; /* T_nprs_Period_r14 */ static int hf_lpp_nprs_startSF_r14; /* T_nprs_startSF_r14 */ static int hf_lpp_nprs_NumSF_r14; /* T_nprs_NumSF_r14 */ static int hf_lpp_nprs_MutingInfoB_r14; /* T_nprs_MutingInfoB_r14 */ static int hf_lpp_sib1_SF_TDD_r15; /* T_sib1_SF_TDD_r15 */ static int hf_lpp_partA_TDD_r15; /* T_partA_TDD_r15 */ static int hf_lpp_nprsBitmap_r15; /* T_nprsBitmap_r15 */ static int hf_lpp_subframePattern10_TDD_r15; /* BIT_STRING_SIZE_8 */ static int hf_lpp_subframePattern40_TDD_r15; /* BIT_STRING_SIZE_32 */ static int hf_lpp_nprs_MutingInfoA_r15; /* T_nprs_MutingInfoA_r15 */ static int hf_lpp_po2_r15; /* BIT_STRING_SIZE_2 */ static int hf_lpp_po4_r15; /* BIT_STRING_SIZE_4 */ static int hf_lpp_po8_r15; /* BIT_STRING_SIZE_8 */ static int hf_lpp_po16_r15; /* BIT_STRING_SIZE_16 */ static int hf_lpp_OTDOA_NeighbourCellInfoListNB_r14_item; /* OTDOA_NeighbourCellInfoNB_r14 */ static int hf_lpp_carrierFreq_r14_01; /* CarrierFreq_NB_r14 */ static int hf_lpp_eutra_NumCRS_Ports_r14_01; /* T_eutra_NumCRS_Ports_r14_01 */ static int hf_lpp_otdoa_SIB1_NB_repetitions_r14_01; /* T_otdoa_SIB1_NB_repetitions_r14_01 */ static int hf_lpp_nprs_slotNumberOffset_r14; /* INTEGER_0_19 */ static int hf_lpp_nprs_SFN_Offset_r14; /* INTEGER_0_63 */ static int hf_lpp_nprs_SubframeOffset_r14; /* INTEGER_0_1279 */ static int hf_lpp_expectedRSTD_r14; /* INTEGER_0_16383 */ static int hf_lpp_expectedRSTD_Uncertainty_r14; /* INTEGER_0_1023 */ static int hf_lpp_prsNeighbourCellIndex_r14; /* INTEGER_1_72 */ static int hf_lpp_adType_r14; /* T_adType_r14 */ static int hf_lpp_nrPhysCellId_r15; /* INTEGER_0_1007 */ static int hf_lpp_otdoaSignalMeasurementInformation; /* OTDOA_SignalMeasurementInformation */ static int hf_lpp_otdoaSignalMeasurementInformation_NB_r14; /* OTDOA_SignalMeasurementInformation_NB_r14 */ static int hf_lpp_systemFrameNumber; /* BIT_STRING_SIZE_10 */ static int hf_lpp_physCellIdRef; /* INTEGER_0_503 */ static int hf_lpp_cellGlobalIdRef; /* ECGI */ static int hf_lpp_referenceQuality; /* OTDOA_MeasQuality */ static int hf_lpp_neighbourMeasurementList; /* NeighbourMeasurementList */ static int hf_lpp_tpIdRef_r14; /* INTEGER_0_4095 */ static int hf_lpp_prsIdRef_r14; /* INTEGER_0_4095 */ static int hf_lpp_additionalPathsRef_r14; /* AdditionalPathList_r14 */ static int hf_lpp_nprsIdRef_r14; /* INTEGER_0_4095 */ static int hf_lpp_carrierFreqOffsetNB_Ref_r14; /* CarrierFreqOffsetNB_r14 */ static int hf_lpp_hyperSFN_r14; /* BIT_STRING_SIZE_10 */ static int hf_lpp_motionTimeSource_r15; /* MotionTimeSource_r15 */ static int hf_lpp_NeighbourMeasurementList_item; /* NeighbourMeasurementElement */ static int hf_lpp_physCellIdNeighbour; /* INTEGER_0_503 */ static int hf_lpp_cellGlobalIdNeighbour; /* ECGI */ static int hf_lpp_earfcnNeighbour; /* ARFCN_ValueEUTRA */ static int hf_lpp_rstd; /* INTEGER_0_12711 */ static int hf_lpp_rstd_Quality; /* OTDOA_MeasQuality */ static int hf_lpp_earfcnNeighbour_v9a0; /* ARFCN_ValueEUTRA_v9a0 */ static int hf_lpp_tpIdNeighbour_r14; /* INTEGER_0_4095 */ static int hf_lpp_prsIdNeighbour_r14; /* INTEGER_0_4095 */ static int hf_lpp_delta_rstd_r14; /* INTEGER_0_5 */ static int hf_lpp_additionalPathsNeighbour_r14; /* AdditionalPathList_r14 */ static int hf_lpp_nprsIdNeighbour_r14; /* INTEGER_0_4095 */ static int hf_lpp_carrierFreqOffsetNB_Neighbour_r14; /* CarrierFreqOffsetNB_r14 */ static int hf_lpp_delta_SFN_r15; /* INTEGER_M8192_8191 */ static int hf_lpp_AdditionalPathList_r14_item; /* AdditionalPath_r14 */ static int hf_lpp_timeSource_r15; /* T_timeSource_r15 */ static int hf_lpp_systemFrameNumber_r14; /* BIT_STRING_SIZE_10 */ static int hf_lpp_physCellIdRef_r14; /* INTEGER_0_503 */ static int hf_lpp_cellGlobalIdRef_r14; /* ECGI */ static int hf_lpp_earfcnRef_r14; /* ARFCN_ValueEUTRA_r14 */ static int hf_lpp_referenceQuality_r14; /* OTDOA_MeasQuality */ static int hf_lpp_neighbourMeasurementList_r14; /* NeighbourMeasurementList_NB_r14 */ static int hf_lpp_NeighbourMeasurementList_NB_r14_item; /* NeighbourMeasurementElement_NB_r14 */ static int hf_lpp_physCellIdNeighbour_r14; /* INTEGER_0_503 */ static int hf_lpp_cellGlobalIdNeighbour_r14; /* ECGI */ static int hf_lpp_earfcnNeighbour_r14; /* ARFCN_ValueEUTRA_r14 */ static int hf_lpp_rstd_r14; /* INTEGER_0_12711 */ static int hf_lpp_rstd_Quality_r14; /* OTDOA_MeasQuality */ static int hf_lpp_error_Resolution; /* T_error_Resolution */ static int hf_lpp_error_Value; /* T_error_Value */ static int hf_lpp_error_NumSamples; /* T_error_NumSamples */ static int hf_lpp_relativeTimeDifference_r14; /* INTEGER_M256_255 */ static int hf_lpp_path_Quality_r14; /* OTDOA_MeasQuality */ static int hf_lpp_assistanceAvailability; /* BOOLEAN */ static int hf_lpp_multipathRSTD_r14; /* T_multipathRSTD_r14 */ static int hf_lpp_maxNoOfRSTDmeas_r14; /* INTEGER_1_32 */ static int hf_lpp_motionMeasurements_r15; /* T_motionMeasurements_r15 */ static int hf_lpp_otdoa_Mode; /* T_otdoa_Mode */ static int hf_lpp_supportedBandListEUTRA; /* SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA */ static int hf_lpp_supportedBandListEUTRA_item; /* SupportedBandEUTRA */ static int hf_lpp_supportedBandListEUTRA_v9a0; /* SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0 */ static int hf_lpp_supportedBandListEUTRA_v9a0_item; /* SupportedBandEUTRA_v9a0 */ static int hf_lpp_interFreqRSTDmeasurement_r10; /* T_interFreqRSTDmeasurement_r10 */ static int hf_lpp_additionalNeighbourCellInfoList_r10; /* T_additionalNeighbourCellInfoList_r10 */ static int hf_lpp_prs_id_r14; /* T_prs_id_r14 */ static int hf_lpp_tp_separation_via_muting_r14; /* T_tp_separation_via_muting_r14 */ static int hf_lpp_additional_prs_config_r14; /* T_additional_prs_config_r14 */ static int hf_lpp_prs_based_tbs_r14; /* T_prs_based_tbs_r14 */ static int hf_lpp_additionalPathsReport_r14; /* T_additionalPathsReport_r14 */ static int hf_lpp_densePrsConfig_r14; /* T_densePrsConfig_r14 */ static int hf_lpp_maxSupportedPrsBandwidth_r14; /* T_maxSupportedPrsBandwidth_r14 */ static int hf_lpp_prsOccGroup_r14; /* T_prsOccGroup_r14 */ static int hf_lpp_prsFrequencyHopping_r14; /* T_prsFrequencyHopping_r14 */ static int hf_lpp_maxSupportedPrsConfigs_r14; /* T_maxSupportedPrsConfigs_r14 */ static int hf_lpp_periodicalReporting_r14; /* T_periodicalReporting_r14 */ static int hf_lpp_multiPrbNprs_r14; /* T_multiPrbNprs_r14 */ static int hf_lpp_idleStateForMeasurements_r14; /* T_idleStateForMeasurements_r14 */ static int hf_lpp_numberOfRXantennas_r14; /* T_numberOfRXantennas_r14 */ static int hf_lpp_motionMeasurements_r15_01; /* T_motionMeasurements_r15_01 */ static int hf_lpp_interRAT_RSTDmeasurement_r15; /* T_interRAT_RSTDmeasurement_r15 */ static int hf_lpp_scheduledLocationRequestSupported_r17; /* ScheduledLocationTimeSupport_r17 */ static int hf_lpp_periodicReportingIntervalMsSupport_r18; /* PeriodicReportingIntervalMsSupport_r18 */ static int hf_lpp_bandEUTRA; /* INTEGER_1_maxFBI */ static int hf_lpp_bandEUTRA_v9a0; /* INTEGER_maxFBI_Plus1_maxFBI2 */ static int hf_lpp_locationServerErrorCauses; /* OTDOA_LocationServerErrorCauses */ static int hf_lpp_targetDeviceErrorCauses; /* OTDOA_TargetDeviceErrorCauses */ static int hf_lpp_cause; /* T_cause */ static int hf_lpp_cause_01; /* T_cause_01 */ static int hf_lpp_gnss_CommonAssistData; /* GNSS_CommonAssistData */ static int hf_lpp_gnss_GenericAssistData; /* GNSS_GenericAssistData */ static int hf_lpp_gnss_Error; /* A_GNSS_Error */ static int hf_lpp_gnss_PeriodicAssistData_r15; /* GNSS_PeriodicAssistData_r15 */ static int hf_lpp_gnss_ReferenceTime; /* GNSS_ReferenceTime */ static int hf_lpp_gnss_ReferenceLocation; /* GNSS_ReferenceLocation */ static int hf_lpp_gnss_IonosphericModel; /* GNSS_IonosphericModel */ static int hf_lpp_gnss_EarthOrientationParameters; /* GNSS_EarthOrientationParameters */ static int hf_lpp_gnss_RTK_ReferenceStationInfo_r15; /* GNSS_RTK_ReferenceStationInfo_r15 */ static int hf_lpp_gnss_RTK_CommonObservationInfo_r15; /* GNSS_RTK_CommonObservationInfo_r15 */ static int hf_lpp_gnss_RTK_AuxiliaryStationData_r15; /* GNSS_RTK_AuxiliaryStationData_r15 */ static int hf_lpp_gnss_SSR_CorrectionPoints_r16; /* GNSS_SSR_CorrectionPoints_r16 */ static int hf_lpp_gnss_Integrity_ServiceParameters_r17; /* GNSS_Integrity_ServiceParameters_r17 */ static int hf_lpp_gnss_Integrity_ServiceAlert_r17; /* GNSS_Integrity_ServiceAlert_r17 */ static int hf_lpp_gnss_los_nlos_GridPoints_r18; /* GNSS_LOS_NLOS_GridPoints_r18 */ static int hf_lpp_gnss_SSR_IOD_Update_r18; /* GNSS_SSR_IOD_Update_r18 */ static int hf_lpp_GNSS_GenericAssistData_item; /* GNSS_GenericAssistDataElement */ static int hf_lpp_gnss_ID; /* GNSS_ID */ static int hf_lpp_sbas_ID; /* SBAS_ID */ static int hf_lpp_gnss_TimeModels; /* GNSS_TimeModelList */ static int hf_lpp_gnss_DifferentialCorrections; /* GNSS_DifferentialCorrections */ static int hf_lpp_gnss_NavigationModel; /* GNSS_NavigationModel */ static int hf_lpp_gnss_RealTimeIntegrity; /* GNSS_RealTimeIntegrity */ static int hf_lpp_gnss_DataBitAssistance; /* GNSS_DataBitAssistance */ static int hf_lpp_gnss_AcquisitionAssistance; /* GNSS_AcquisitionAssistance */ static int hf_lpp_gnss_Almanac; /* GNSS_Almanac */ static int hf_lpp_gnss_UTC_Model; /* GNSS_UTC_Model */ static int hf_lpp_gnss_AuxiliaryInformation; /* GNSS_AuxiliaryInformation */ static int hf_lpp_bds_DifferentialCorrections_r12; /* BDS_DifferentialCorrections_r12 */ static int hf_lpp_bds_GridModel_r12; /* BDS_GridModelParameter_r12 */ static int hf_lpp_gnss_RTK_Observations_r15; /* GNSS_RTK_Observations_r15 */ static int hf_lpp_glo_RTK_BiasInformation_r15; /* GLO_RTK_BiasInformation_r15 */ static int hf_lpp_gnss_RTK_MAC_CorrectionDifferences_r15; /* GNSS_RTK_MAC_CorrectionDifferences_r15 */ static int hf_lpp_gnss_RTK_Residuals_r15; /* GNSS_RTK_Residuals_r15 */ static int hf_lpp_gnss_RTK_FKP_Gradients_r15; /* GNSS_RTK_FKP_Gradients_r15 */ static int hf_lpp_gnss_SSR_OrbitCorrections_r15; /* GNSS_SSR_OrbitCorrections_r15 */ static int hf_lpp_gnss_SSR_ClockCorrections_r15; /* GNSS_SSR_ClockCorrections_r15 */ static int hf_lpp_gnss_SSR_CodeBias_r15; /* GNSS_SSR_CodeBias_r15 */ static int hf_lpp_gnss_SSR_URA_r16; /* GNSS_SSR_URA_r16 */ static int hf_lpp_gnss_SSR_PhaseBias_r16; /* GNSS_SSR_PhaseBias_r16 */ static int hf_lpp_gnss_SSR_STEC_Correction_r16; /* GNSS_SSR_STEC_Correction_r16 */ static int hf_lpp_gnss_SSR_GriddedCorrection_r16; /* GNSS_SSR_GriddedCorrection_r16 */ static int hf_lpp_navic_DifferentialCorrections_r16; /* NavIC_DifferentialCorrections_r16 */ static int hf_lpp_navic_GridModel_r16; /* NavIC_GridModelParameter_r16 */ static int hf_lpp_gnss_SSR_OrbitCorrectionsSet2_r17; /* GNSS_SSR_OrbitCorrectionsSet2_r17 */ static int hf_lpp_gnss_SSR_ClockCorrectionsSet2_r17; /* GNSS_SSR_ClockCorrectionsSet2_r17 */ static int hf_lpp_gnss_SSR_URA_Set2_r17; /* GNSS_SSR_URA_Set2_r17 */ static int hf_lpp_gnss_LOS_NLOS_GriddedIndications_r18; /* GNSS_LOS_NLOS_GriddedIndications_r18 */ static int hf_lpp_gnss_SSR_SatellitePCVResiduals_r18; /* GNSS_SSR_SatellitePCVResiduals_r18 */ static int hf_lpp_gnss_RTK_PeriodicObservations_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_glo_RTK_PeriodicBiasInformation_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_RTK_MAC_PeriodicCorrectionDifferences_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_RTK_PeriodicResiduals_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_RTK_FKP_PeriodicGradients_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicOrbitCorrections_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicClockCorrections_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicCodeBias_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicURA_r16; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicPhaseBias_r16; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicSTEC_Correction_r16; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicGriddedCorrection_r16; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_Integrity_PeriodicServiceAlert_r17; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicOrbitCorrectionsSet2_r17; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicClockCorrectionsSet2_r17; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicURA_Set2_r17; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicIOD_Update_r18; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SystemTime; /* GNSS_SystemTime */ static int hf_lpp_referenceTimeUnc; /* INTEGER_0_127 */ static int hf_lpp_gnss_ReferenceTimeForCells; /* SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell */ static int hf_lpp_gnss_ReferenceTimeForCells_item; /* GNSS_ReferenceTimeForOneCell */ static int hf_lpp_networkTime; /* NetworkTime */ static int hf_lpp_bsAlign; /* T_bsAlign */ static int hf_lpp_gnss_TimeID; /* GNSS_ID */ static int hf_lpp_gnss_DayNumber; /* INTEGER_0_32767 */ static int hf_lpp_gnss_TimeOfDay; /* INTEGER_0_86399 */ static int hf_lpp_gnss_TimeOfDayFrac_msec; /* INTEGER_0_999 */ static int hf_lpp_notificationOfLeapSecond; /* T_notificationOfLeapSecond */ static int hf_lpp_gps_TOW_Assist; /* GPS_TOW_Assist */ static int hf_lpp_GPS_TOW_Assist_item; /* GPS_TOW_AssistElement */ static int hf_lpp_satelliteID; /* INTEGER_1_64 */ static int hf_lpp_tlmWord; /* INTEGER_0_16383 */ static int hf_lpp_antiSpoof; /* INTEGER_0_1 */ static int hf_lpp_alert; /* INTEGER_0_1 */ static int hf_lpp_tlmRsvdBits; /* INTEGER_0_3 */ static int hf_lpp_secondsFromFrameStructureStart; /* INTEGER_0_12533 */ static int hf_lpp_fractionalSecondsFromFrameStructureStart; /* INTEGER_0_3999999 */ static int hf_lpp_frameDrift; /* INTEGER_M64_63 */ static int hf_lpp_cellID; /* T_cellID */ static int hf_lpp_eUTRA; /* T_eUTRA */ static int hf_lpp_cellGlobalIdEUTRA; /* CellGlobalIdEUTRA_AndUTRA */ static int hf_lpp_uTRA; /* T_uTRA */ static int hf_lpp_mode; /* T_mode */ static int hf_lpp_fdd; /* T_fdd */ static int hf_lpp_primary_CPICH_Info; /* INTEGER_0_511 */ static int hf_lpp_tdd; /* T_tdd */ static int hf_lpp_cellParameters; /* INTEGER_0_127 */ static int hf_lpp_cellGlobalIdUTRA; /* CellGlobalIdEUTRA_AndUTRA */ static int hf_lpp_uarfcn; /* ARFCN_ValueUTRA */ static int hf_lpp_gSM; /* T_gSM */ static int hf_lpp_bcchCarrier; /* INTEGER_0_1023 */ static int hf_lpp_bsic; /* INTEGER_0_63 */ static int hf_lpp_cellGlobalIdGERAN; /* CellGlobalIdGERAN */ static int hf_lpp_nBIoT_r14; /* T_nBIoT_r14 */ static int hf_lpp_nbPhysCellId_r14; /* INTEGER_0_503 */ static int hf_lpp_nbCellGlobalId_r14; /* ECGI */ static int hf_lpp_nbCarrierFreq_r14; /* CarrierFreq_NB_r14 */ static int hf_lpp_nr_r15; /* T_nr_r15 */ static int hf_lpp_nrCellGlobalID_r15; /* NCGI_r15 */ static int hf_lpp_nrARFCN_r15; /* ARFCN_ValueNR_r15 */ static int hf_lpp_threeDlocation; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */ static int hf_lpp_klobucharModel; /* KlobucharModelParameter */ static int hf_lpp_neQuickModel; /* NeQuickModelParameter */ static int hf_lpp_klobucharModel2_r16; /* KlobucharModel2Parameter_r16 */ static int hf_lpp_dataID; /* T_dataID */ static int hf_lpp_alfa0; /* INTEGER_M128_127 */ static int hf_lpp_alfa1; /* INTEGER_M128_127 */ static int hf_lpp_alfa2; /* INTEGER_M128_127 */ static int hf_lpp_alfa3; /* INTEGER_M128_127 */ static int hf_lpp_beta0; /* INTEGER_M128_127 */ static int hf_lpp_beta1; /* INTEGER_M128_127 */ static int hf_lpp_beta2; /* INTEGER_M128_127 */ static int hf_lpp_beta3; /* INTEGER_M128_127 */ static int hf_lpp_alfa1_r16; /* INTEGER_0_1023 */ static int hf_lpp_alfa2_r16; /* INTEGER_M128_127 */ static int hf_lpp_alfa3_r16; /* INTEGER_0_255 */ static int hf_lpp_alfa4_r16; /* INTEGER_0_255 */ static int hf_lpp_alfa5_r16; /* INTEGER_0_255 */ static int hf_lpp_alfa6_r16; /* INTEGER_M128_127 */ static int hf_lpp_alfa7_r16; /* INTEGER_M128_127 */ static int hf_lpp_alfa8_r16; /* INTEGER_M128_127 */ static int hf_lpp_alfa9_r16; /* INTEGER_M128_127 */ static int hf_lpp_ai0; /* INTEGER_0_2047 */ static int hf_lpp_ai1; /* INTEGER_M1024_1023 */ static int hf_lpp_ai2; /* INTEGER_M8192_8191 */ static int hf_lpp_ionoStormFlag1; /* INTEGER_0_1 */ static int hf_lpp_ionoStormFlag2; /* INTEGER_0_1 */ static int hf_lpp_ionoStormFlag3; /* INTEGER_0_1 */ static int hf_lpp_ionoStormFlag4; /* INTEGER_0_1 */ static int hf_lpp_ionoStormFlag5; /* INTEGER_0_1 */ static int hf_lpp_teop; /* INTEGER_0_65535 */ static int hf_lpp_pmX; /* INTEGER_M1048576_1048575 */ static int hf_lpp_pmXdot; /* INTEGER_M16384_16383 */ static int hf_lpp_pmY; /* INTEGER_M1048576_1048575 */ static int hf_lpp_pmYdot; /* INTEGER_M16384_16383 */ static int hf_lpp_deltaUT1; /* INTEGER_M1073741824_1073741823 */ static int hf_lpp_deltaUT1dot; /* INTEGER_M262144_262143 */ static int hf_lpp_referenceStationID_r15; /* GNSS_ReferenceStationID_r15 */ static int hf_lpp_referenceStationIndicator_r15; /* T_referenceStationIndicator_r15 */ static int hf_lpp_antenna_reference_point_ECEF_X_r15; /* INTEGER_M137438953472_137438953471 */ static int hf_lpp_antenna_reference_point_ECEF_Y_r15; /* INTEGER_M137438953472_137438953471 */ static int hf_lpp_antenna_reference_point_ECEF_Z_r15; /* INTEGER_M137438953472_137438953471 */ static int hf_lpp_antennaHeight_r15; /* INTEGER_0_65535 */ static int hf_lpp_antennaDescription_r15; /* AntennaDescription_r15 */ static int hf_lpp_antenna_reference_point_unc_r15; /* AntennaReferencePointUnc_r15 */ static int hf_lpp_physical_reference_station_info_r15; /* PhysicalReferenceStationInfo_r15 */ static int hf_lpp_equalIntegerAmbiguityLevel_r16; /* EqualIntegerAmbiguityLevel_r16 */ static int hf_lpp_antennaDescriptor_r15; /* VisibleString_SIZE_1_256 */ static int hf_lpp_antennaSetUpID_r15; /* T_antennaSetUpID_r15 */ static int hf_lpp_uncertainty_X_r15; /* INTEGER_0_255 */ static int hf_lpp_confidence_X_r15; /* INTEGER_0_100 */ static int hf_lpp_uncertainty_Y_r15; /* INTEGER_0_255 */ static int hf_lpp_confidence_Y_r15; /* INTEGER_0_100 */ static int hf_lpp_uncertainty_Z_r15; /* INTEGER_0_255 */ static int hf_lpp_confidence_Z_r15; /* INTEGER_0_100 */ static int hf_lpp_physicalReferenceStationID_r15; /* GNSS_ReferenceStationID_r15 */ static int hf_lpp_physical_ARP_ECEF_X_r15; /* INTEGER_M137438953472_137438953471 */ static int hf_lpp_physical_ARP_ECEF_Y_r15; /* INTEGER_M137438953472_137438953471 */ static int hf_lpp_physical_ARP_ECEF_Z_r15; /* INTEGER_M137438953472_137438953471 */ static int hf_lpp_physical_ARP_unc_r15; /* AntennaReferencePointUnc_r15 */ static int hf_lpp_allReferenceStations_r16; /* NULL */ static int hf_lpp_referenceStationList_r16; /* ReferenceStationList_r16 */ static int hf_lpp_ReferenceStationList_r16_item; /* GNSS_ReferenceStationID_r15 */ static int hf_lpp_clockSteeringIndicator_r15; /* INTEGER_0_3 */ static int hf_lpp_externalClockIndicator_r15; /* INTEGER_0_3 */ static int hf_lpp_smoothingIndicator_r15; /* T_smoothingIndicator_r15 */ static int hf_lpp_smoothingInterval_r15; /* T_smoothingInterval_r15 */ static int hf_lpp_networkID_r15; /* GNSS_NetworkID_r15 */ static int hf_lpp_subNetworkID_r15; /* GNSS_SubNetworkID_r15 */ static int hf_lpp_master_referenceStationID_r15; /* GNSS_ReferenceStationID_r15 */ static int hf_lpp_auxiliaryStationList_r15; /* AuxiliaryStationList_r15 */ static int hf_lpp_AuxiliaryStationList_r15_item; /* AuxiliaryStationElement_r15 */ static int hf_lpp_aux_referenceStationID_r15; /* GNSS_ReferenceStationID_r15 */ static int hf_lpp_aux_master_delta_latitude_r15; /* INTEGER_M524288_524287 */ static int hf_lpp_aux_master_delta_longitude_r15; /* INTEGER_M1048576_1048575 */ static int hf_lpp_aux_master_delta_height_r15; /* INTEGER_M4194304_4194303 */ static int hf_lpp_aux_ARP_unc_r15; /* Aux_ARP_Unc_r15 */ static int hf_lpp_horizontalUncertainty_r15; /* INTEGER_0_255 */ static int hf_lpp_verticalUncertainty_r15; /* INTEGER_0_255 */ static int hf_lpp_correctionPointSetID_r16; /* INTEGER_0_16383 */ static int hf_lpp_correctionPoints_r16; /* T_correctionPoints_r16 */ static int hf_lpp_listOfCorrectionPoints_r16; /* GNSS_SSR_ListOfCorrectionPoints_r16 */ static int hf_lpp_arrayOfCorrectionPoints_r16; /* GNSS_SSR_ArrayOfCorrectionPoints_r16 */ static int hf_lpp_referencePointLatitude_r16; /* INTEGER_M16384_16383 */ static int hf_lpp_referencePointLongitude_r16; /* INTEGER_M32768_32767 */ static int hf_lpp_relativeLocationsList_r16; /* SEQUENCE_SIZE_0_63_OF_RelativeLocationElement_r16 */ static int hf_lpp_relativeLocationsList_r16_item; /* RelativeLocationElement_r16 */ static int hf_lpp_deltaLatitude_r16; /* INTEGER_M512_511 */ static int hf_lpp_deltaLongitude_r16; /* INTEGER_M1024_1023 */ static int hf_lpp_numberOfStepsLatitude_r16; /* INTEGER_0_63 */ static int hf_lpp_numberOfStepsLongitude_r16; /* INTEGER_0_63 */ static int hf_lpp_stepOfLatitude_r16; /* INTEGER_1_511 */ static int hf_lpp_stepOfLongitude_r16; /* INTEGER_1_1023 */ static int hf_lpp_bitmaskOfGrids_r16; /* BIT_STRING_SIZE_64 */ static int hf_lpp_irMinimum_r17; /* INTEGER_0_255 */ static int hf_lpp_irMaximum_r17; /* INTEGER_0_255 */ static int hf_lpp_ionosphereDoNotUse_r17; /* BOOLEAN */ static int hf_lpp_troposphereDoNotUse_r17; /* BOOLEAN */ static int hf_lpp_gridPointsSetID_r18; /* INTEGER_0_16383 */ static int hf_lpp_horizontalGridPoints_r18; /* ArrayOfGridPoints_r18 */ static int hf_lpp_referenceAltitudeFine_r18; /* INTEGER_0_9 */ static int hf_lpp_verticalGridPoints_r18; /* VerticalGridPoints_r18 */ static int hf_lpp_referencePointLatitude_r18; /* INTEGER_M16777216_16777215 */ static int hf_lpp_referencePointLongitude_r18; /* INTEGER_M33554432_33554431 */ static int hf_lpp_numberOfStepsSouth_r18; /* INTEGER_0_255 */ static int hf_lpp_numberOfStepsEast_r18; /* INTEGER_0_255 */ static int hf_lpp_stepSouth_r18; /* SpatialDelta_r18 */ static int hf_lpp_stepEast_r18; /* SpatialDelta_r18 */ static int hf_lpp_bitmaskOfGrids_r18; /* T_bitmaskOfGrids_r18 */ static int hf_lpp_bog16_r18; /* BIT_STRING_SIZE_16 */ static int hf_lpp_bog64_r18; /* BIT_STRING_SIZE_64 */ static int hf_lpp_bog256_r18; /* BIT_STRING_SIZE_256 */ static int hf_lpp_referenceAltitudeCoarse_r18; /* INTEGER_M50_900 */ static int hf_lpp_numberOfStepsDown_r18; /* INTEGER_1_3 */ static int hf_lpp_stepDown_r18; /* SpatialDelta_r18 */ static int hf_lpp_upperValidityDeltaAltitude_r18; /* SpatialDelta_r18 */ static int hf_lpp_lowerValidityDeltaAltitude_r18; /* SpatialDelta_r18 */ static int hf_lpp_epochTime_r18; /* GNSS_SystemTime */ static int hf_lpp_ssrUpdateInterval_r18; /* INTEGER_0_15 */ static int hf_lpp_iod_ssr_r18; /* INTEGER_0_15 */ static int hf_lpp_iod_ssr_PCVResiduals_r18; /* INTEGER_0_64 */ static int hf_lpp_GNSS_TimeModelList_item; /* GNSS_TimeModelElement */ static int hf_lpp_gnss_TimeModelRefTime; /* INTEGER_0_65535 */ static int hf_lpp_tA0; /* INTEGER_M67108864_67108863 */ static int hf_lpp_tA1; /* INTEGER_M4096_4095 */ static int hf_lpp_tA2; /* INTEGER_M64_63 */ static int hf_lpp_gnss_TO_ID; /* INTEGER_1_15 */ static int hf_lpp_weekNumber; /* INTEGER_0_8191 */ static int hf_lpp_deltaT; /* INTEGER_M128_127 */ static int hf_lpp_dgnss_RefTime; /* INTEGER_0_3599 */ static int hf_lpp_dgnss_SgnTypeList; /* DGNSS_SgnTypeList */ static int hf_lpp_DGNSS_SgnTypeList_item; /* DGNSS_SgnTypeElement */ static int hf_lpp_gnss_SignalID; /* GNSS_SignalID */ static int hf_lpp_gnss_StatusHealth; /* INTEGER_0_7 */ static int hf_lpp_dgnss_SatList; /* DGNSS_SatList */ static int hf_lpp_DGNSS_SatList_item; /* DGNSS_CorrectionsElement */ static int hf_lpp_svID; /* SV_ID */ static int hf_lpp_iod; /* BIT_STRING_SIZE_11 */ static int hf_lpp_udre; /* INTEGER_0_3 */ static int hf_lpp_pseudoRangeCor; /* INTEGER_M2047_2047 */ static int hf_lpp_rangeRateCor; /* INTEGER_M127_127 */ static int hf_lpp_udreGrowthRate; /* INTEGER_0_7 */ static int hf_lpp_udreValidityTime; /* INTEGER_0_7 */ static int hf_lpp_nonBroadcastIndFlag; /* INTEGER_0_1 */ static int hf_lpp_gnss_SatelliteList; /* GNSS_NavModelSatelliteList */ static int hf_lpp_GNSS_NavModelSatelliteList_item; /* GNSS_NavModelSatelliteElement */ static int hf_lpp_svHealth; /* BIT_STRING_SIZE_8 */ static int hf_lpp_gnss_ClockModel; /* GNSS_ClockModel */ static int hf_lpp_gnss_OrbitModel; /* GNSS_OrbitModel */ static int hf_lpp_svHealthExt_v1240; /* T_svHealthExt_v1240 */ static int hf_lpp_standardClockModelList; /* StandardClockModelList */ static int hf_lpp_nav_ClockModel; /* NAV_ClockModel */ static int hf_lpp_cnav_ClockModel; /* CNAV_ClockModel */ static int hf_lpp_glonass_ClockModel; /* GLONASS_ClockModel */ static int hf_lpp_sbas_ClockModel; /* SBAS_ClockModel */ static int hf_lpp_bds_ClockModel_r12; /* BDS_ClockModel_r12 */ static int hf_lpp_bds_ClockModel2_r16; /* BDS_ClockModel2_r16 */ static int hf_lpp_navic_ClockModel_r16; /* NavIC_ClockModel_r16 */ static int hf_lpp_keplerianSet; /* NavModelKeplerianSet */ static int hf_lpp_nav_KeplerianSet; /* NavModelNAV_KeplerianSet */ static int hf_lpp_cnav_KeplerianSet; /* NavModelCNAV_KeplerianSet */ static int hf_lpp_glonass_ECEF; /* NavModel_GLONASS_ECEF */ static int hf_lpp_sbas_ECEF; /* NavModel_SBAS_ECEF */ static int hf_lpp_bds_KeplerianSet_r12; /* NavModel_BDS_KeplerianSet_r12 */ static int hf_lpp_bds_KeplerianSet2_r16; /* NavModel_BDS_KeplerianSet2_r16 */ static int hf_lpp_navic_KeplerianSet_r16; /* NavModel_NavIC_KeplerianSet_r16 */ static int hf_lpp_StandardClockModelList_item; /* StandardClockModelElement */ static int hf_lpp_stanClockToc; /* INTEGER_0_16383 */ static int hf_lpp_stanClockAF2; /* INTEGER_M32_31 */ static int hf_lpp_stanClockAF1; /* INTEGER_M1048576_1048575 */ static int hf_lpp_stanClockAF0; /* INTEGER_M1073741824_1073741823 */ static int hf_lpp_stanClockTgd; /* INTEGER_M512_511 */ static int hf_lpp_sisa; /* INTEGER_0_255 */ static int hf_lpp_stanModelID; /* INTEGER_0_1 */ static int hf_lpp_navToc; /* INTEGER_0_37799 */ static int hf_lpp_navaf2; /* INTEGER_M128_127 */ static int hf_lpp_navaf1; /* INTEGER_M32768_32767 */ static int hf_lpp_navaf0; /* INTEGER_M2097152_2097151 */ static int hf_lpp_navTgd; /* INTEGER_M128_127 */ static int hf_lpp_cnavToc; /* INTEGER_0_2015 */ static int hf_lpp_cnavTop; /* INTEGER_0_2015 */ static int hf_lpp_cnavURA0; /* INTEGER_M16_15 */ static int hf_lpp_cnavURA1; /* INTEGER_0_7 */ static int hf_lpp_cnavURA2; /* INTEGER_0_7 */ static int hf_lpp_cnavAf2; /* INTEGER_M512_511 */ static int hf_lpp_cnavAf1; /* INTEGER_M524288_524287 */ static int hf_lpp_cnavAf0; /* INTEGER_M33554432_33554431 */ static int hf_lpp_cnavTgd; /* INTEGER_M4096_4095 */ static int hf_lpp_cnavISCl1cp; /* INTEGER_M4096_4095 */ static int hf_lpp_cnavISCl1cd; /* INTEGER_M4096_4095 */ static int hf_lpp_cnavISCl1ca; /* INTEGER_M4096_4095 */ static int hf_lpp_cnavISCl2c; /* INTEGER_M4096_4095 */ static int hf_lpp_cnavISCl5i5; /* INTEGER_M4096_4095 */ static int hf_lpp_cnavISCl5q5; /* INTEGER_M4096_4095 */ static int hf_lpp_gloTau; /* INTEGER_M2097152_2097151 */ static int hf_lpp_gloGamma; /* INTEGER_M1024_1023 */ static int hf_lpp_gloDeltaTau; /* INTEGER_M16_15 */ static int hf_lpp_sbasTo; /* INTEGER_0_5399 */ static int hf_lpp_sbasAgfo; /* INTEGER_M2048_2047 */ static int hf_lpp_sbasAgf1; /* INTEGER_M128_127 */ static int hf_lpp_bdsAODC_r12; /* INTEGER_0_31 */ static int hf_lpp_bdsToc_r12; /* INTEGER_0_131071 */ static int hf_lpp_bdsA0_r12; /* INTEGER_M8388608_8388607 */ static int hf_lpp_bdsA1_r12; /* INTEGER_M2097152_2097151 */ static int hf_lpp_bdsA2_r12; /* INTEGER_M1024_1023 */ static int hf_lpp_bdsTgd1_r12; /* INTEGER_M512_511 */ static int hf_lpp_bdsTgd2_r16; /* INTEGER_M512_511 */ static int hf_lpp_bdsToc_r16; /* INTEGER_0_2047 */ static int hf_lpp_bdsA0_r16; /* INTEGER_M16777216_16777215 */ static int hf_lpp_bdsA1_r16; /* INTEGER_M2097152_2097151 */ static int hf_lpp_bdsA2_r16; /* INTEGER_M1024_1023 */ static int hf_lpp_bdsTgdB1Cp_r16; /* INTEGER_M2048_2047 */ static int hf_lpp_bdsIscB1Cd_r16; /* INTEGER_M2048_2047 */ static int hf_lpp_bdsTgdB2ap_r17; /* INTEGER_M2048_2047 */ static int hf_lpp_bdsIscB2ad_r17; /* INTEGER_M2048_2047 */ static int hf_lpp_navic_Toc_r16; /* INTEGER_0_65535 */ static int hf_lpp_navic_af2_r16; /* INTEGER_M128_127 */ static int hf_lpp_navic_af1_r16; /* INTEGER_M32768_32767 */ static int hf_lpp_navic_af0_r16; /* INTEGER_M2097152_2097151 */ static int hf_lpp_navic_Tgd_r16; /* INTEGER_M128_127 */ static int hf_lpp_keplerToe; /* INTEGER_0_16383 */ static int hf_lpp_keplerW; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_keplerDeltaN; /* INTEGER_M32768_32767 */ static int hf_lpp_keplerM0; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_keplerOmegaDot; /* INTEGER_M8388608_8388607 */ static int hf_lpp_keplerE; /* INTEGER_0_4294967295 */ static int hf_lpp_keplerIDot; /* INTEGER_M8192_8191 */ static int hf_lpp_keplerAPowerHalf; /* INTEGER_0_4294967295 */ static int hf_lpp_keplerI0; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_keplerOmega0; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_keplerCrs; /* INTEGER_M32768_32767 */ static int hf_lpp_keplerCis; /* INTEGER_M32768_32767 */ static int hf_lpp_keplerCus; /* INTEGER_M32768_32767 */ static int hf_lpp_keplerCrc; /* INTEGER_M32768_32767 */ static int hf_lpp_keplerCic; /* INTEGER_M32768_32767 */ static int hf_lpp_keplerCuc; /* INTEGER_M32768_32767 */ static int hf_lpp_navURA; /* INTEGER_0_15 */ static int hf_lpp_navFitFlag; /* INTEGER_0_1 */ static int hf_lpp_navToe; /* INTEGER_0_37799 */ static int hf_lpp_navOmega; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_navDeltaN; /* INTEGER_M32768_32767 */ static int hf_lpp_navM0; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_navOmegaADot; /* INTEGER_M8388608_8388607 */ static int hf_lpp_navE; /* INTEGER_0_4294967295 */ static int hf_lpp_navIDot; /* INTEGER_M8192_8191 */ static int hf_lpp_navAPowerHalf; /* INTEGER_0_4294967295 */ static int hf_lpp_navI0; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_navOmegaA0; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_navCrs; /* INTEGER_M32768_32767 */ static int hf_lpp_navCis; /* INTEGER_M32768_32767 */ static int hf_lpp_navCus; /* INTEGER_M32768_32767 */ static int hf_lpp_navCrc; /* INTEGER_M32768_32767 */ static int hf_lpp_navCic; /* INTEGER_M32768_32767 */ static int hf_lpp_navCuc; /* INTEGER_M32768_32767 */ static int hf_lpp_addNAVparam; /* T_addNAVparam */ static int hf_lpp_ephemCodeOnL2; /* INTEGER_0_3 */ static int hf_lpp_ephemL2Pflag; /* INTEGER_0_1 */ static int hf_lpp_ephemSF1Rsvd; /* T_ephemSF1Rsvd */ static int hf_lpp_reserved1; /* INTEGER_0_8388607 */ static int hf_lpp_reserved2; /* INTEGER_0_16777215 */ static int hf_lpp_reserved3; /* INTEGER_0_16777215 */ static int hf_lpp_reserved4; /* INTEGER_0_65535 */ static int hf_lpp_ephemAODA; /* INTEGER_0_31 */ static int hf_lpp_cnavURAindex; /* INTEGER_M16_15 */ static int hf_lpp_cnavDeltaA; /* INTEGER_M33554432_33554431 */ static int hf_lpp_cnavAdot; /* INTEGER_M16777216_16777215 */ static int hf_lpp_cnavDeltaNo; /* INTEGER_M65536_65535 */ static int hf_lpp_cnavDeltaNoDot; /* INTEGER_M4194304_4194303 */ static int hf_lpp_cnavMo; /* T_cnavMo */ static int hf_lpp_cnavE; /* T_cnavE */ static int hf_lpp_cnavOmega; /* T_cnavOmega */ static int hf_lpp_cnavOMEGA0; /* T_cnavOMEGA0 */ static int hf_lpp_cnavDeltaOmegaDot; /* INTEGER_M65536_65535 */ static int hf_lpp_cnavIo; /* T_cnavIo */ static int hf_lpp_cnavIoDot; /* INTEGER_M16384_16383 */ static int hf_lpp_cnavCis; /* INTEGER_M32768_32767 */ static int hf_lpp_cnavCic; /* INTEGER_M32768_32767 */ static int hf_lpp_cnavCrs; /* INTEGER_M8388608_8388607 */ static int hf_lpp_cnavCrc; /* INTEGER_M8388608_8388607 */ static int hf_lpp_cnavCus; /* INTEGER_M1048576_1048575 */ static int hf_lpp_cnavCuc; /* INTEGER_M1048576_1048575 */ static int hf_lpp_gloEn; /* INTEGER_0_31 */ static int hf_lpp_gloP1; /* T_gloP1 */ static int hf_lpp_gloP2; /* BOOLEAN */ static int hf_lpp_gloM; /* INTEGER_0_3 */ static int hf_lpp_gloX; /* INTEGER_M67108864_67108863 */ static int hf_lpp_gloXdot; /* INTEGER_M8388608_8388607 */ static int hf_lpp_gloXdotdot; /* INTEGER_M16_15 */ static int hf_lpp_gloY; /* INTEGER_M67108864_67108863 */ static int hf_lpp_gloYdot; /* INTEGER_M8388608_8388607 */ static int hf_lpp_gloYdotdot; /* INTEGER_M16_15 */ static int hf_lpp_gloZ; /* INTEGER_M67108864_67108863 */ static int hf_lpp_gloZdot; /* INTEGER_M8388608_8388607 */ static int hf_lpp_gloZdotdot; /* INTEGER_M16_15 */ static int hf_lpp_sbasAccuracy; /* BIT_STRING_SIZE_4 */ static int hf_lpp_sbasXg; /* INTEGER_M536870912_536870911 */ static int hf_lpp_sbasYg; /* INTEGER_M536870912_536870911 */ static int hf_lpp_sbasZg; /* INTEGER_M16777216_16777215 */ static int hf_lpp_sbasXgDot; /* INTEGER_M65536_65535 */ static int hf_lpp_sbasYgDot; /* INTEGER_M65536_65535 */ static int hf_lpp_sbasZgDot; /* INTEGER_M131072_131071 */ static int hf_lpp_sbasXgDotDot; /* INTEGER_M512_511 */ static int hf_lpp_sbagYgDotDot; /* INTEGER_M512_511 */ static int hf_lpp_sbasZgDotDot; /* INTEGER_M512_511 */ static int hf_lpp_bdsAODE_r12; /* INTEGER_0_31 */ static int hf_lpp_bdsURAI_r12; /* INTEGER_0_15 */ static int hf_lpp_bdsToe_r12; /* INTEGER_0_131071 */ static int hf_lpp_bdsAPowerHalf_r12; /* INTEGER_0_4294967295 */ static int hf_lpp_bdsE_r12; /* INTEGER_0_4294967295 */ static int hf_lpp_bdsW_r12; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_bdsDeltaN_r12; /* INTEGER_M32768_32767 */ static int hf_lpp_bdsM0_r12; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_bdsOmega0_r12; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_bdsOmegaDot_r12; /* INTEGER_M8388608_8388607 */ static int hf_lpp_bdsI0_r12; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_bdsIDot_r12; /* INTEGER_M8192_8191 */ static int hf_lpp_bdsCuc_r12; /* INTEGER_M131072_131071 */ static int hf_lpp_bdsCus_r12; /* INTEGER_M131072_131071 */ static int hf_lpp_bdsCrc_r12; /* INTEGER_M131072_131071 */ static int hf_lpp_bdsCrs_r12; /* INTEGER_M131072_131071 */ static int hf_lpp_bdsCic_r12; /* INTEGER_M131072_131071 */ static int hf_lpp_bdsCis_r12; /* INTEGER_M131072_131071 */ static int hf_lpp_bdsIODE_r16; /* INTEGER_0_255 */ static int hf_lpp_bdsToe_r16; /* INTEGER_0_2047 */ static int hf_lpp_bdsDeltaA_r16; /* INTEGER_M33554432_33554431 */ static int hf_lpp_bdsAdot_r16; /* INTEGER_M16777216_16777216 */ static int hf_lpp_bdsDeltaN0_r16; /* INTEGER_M65536_65535 */ static int hf_lpp_bdsDeltaN0dot_r16; /* INTEGER_M4194304_4194303 */ static int hf_lpp_bdsM0_r16; /* INTEGER_M4294967296_4294967295 */ static int hf_lpp_bdsE_r16; /* INTEGER_0_8589934591 */ static int hf_lpp_bdsOmega_r16; /* INTEGER_M4294967296_4294967295 */ static int hf_lpp_bdsOmega0_r16; /* INTEGER_M4294967296_4294967295 */ static int hf_lpp_bdsI0_r16; /* INTEGER_M4294967296_4294967295 */ static int hf_lpp_bdsOmegaDot_r16; /* INTEGER_M262144_262143 */ static int hf_lpp_bdsI0Dot_r16; /* INTEGER_M16384_16383 */ static int hf_lpp_bdsCuc_r16; /* INTEGER_M1048576_1048575 */ static int hf_lpp_bdsCus_r16; /* INTEGER_M1048576_1048575 */ static int hf_lpp_bdsCrc_r16; /* INTEGER_M8388608_8388607 */ static int hf_lpp_bdsCrs_r16; /* INTEGER_M8388608_8388607 */ static int hf_lpp_bdsCic_r16; /* INTEGER_M32768_32767 */ static int hf_lpp_bdsCis_r16; /* INTEGER_M32768_32767 */ static int hf_lpp_navic_Toe_r16; /* INTEGER_0_65536 */ static int hf_lpp_navic_URAI_r16; /* INTEGER_0_15 */ static int hf_lpp_navic_W_r16; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_navic_DeltaN_r16; /* INTEGER_M2097152_2097151 */ static int hf_lpp_navic_M0_r16; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_navic_OmegaDot_r16; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_navic_E_r16; /* INTEGER_0_4294967295 */ static int hf_lpp_navic_IDot_r16; /* INTEGER_M8192_8191 */ static int hf_lpp_navic_APowerHalf_r16; /* INTEGER_0_4294967295 */ static int hf_lpp_navic_I0_r16; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_navic_Omega0_r16; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_navic_Crs_r16; /* INTEGER_M32768_32767 */ static int hf_lpp_navic_Cis_r16; /* INTEGER_M32768_32767 */ static int hf_lpp_navic_Cus_r16; /* INTEGER_M32768_32767 */ static int hf_lpp_navic_Crc_r16; /* INTEGER_M32768_32767 */ static int hf_lpp_navic_Cic_r16; /* INTEGER_M32768_32767 */ static int hf_lpp_navic_Cuc_r16; /* INTEGER_M32768_32767 */ static int hf_lpp_gnss_BadSignalList; /* GNSS_BadSignalList */ static int hf_lpp_GNSS_BadSignalList_item; /* BadSignalElement */ static int hf_lpp_badSVID; /* SV_ID */ static int hf_lpp_badSignalID; /* GNSS_SignalIDs */ static int hf_lpp_gnss_TOD; /* INTEGER_0_3599 */ static int hf_lpp_gnss_TODfrac; /* INTEGER_0_999 */ static int hf_lpp_gnss_DataBitsSatList; /* GNSS_DataBitsSatList */ static int hf_lpp_GNSS_DataBitsSatList_item; /* GNSS_DataBitsSatElement */ static int hf_lpp_gnss_DataBitsSgnList; /* GNSS_DataBitsSgnList */ static int hf_lpp_GNSS_DataBitsSgnList_item; /* GNSS_DataBitsSgnElement */ static int hf_lpp_gnss_SignalType; /* GNSS_SignalID */ static int hf_lpp_gnss_DataBits; /* BIT_STRING_SIZE_1_1024 */ static int hf_lpp_gnss_AcquisitionAssistList; /* GNSS_AcquisitionAssistList */ static int hf_lpp_confidence_r10; /* INTEGER_0_100 */ static int hf_lpp_GNSS_AcquisitionAssistList_item; /* GNSS_AcquisitionAssistElement */ static int hf_lpp_doppler0; /* INTEGER_M2048_2047 */ static int hf_lpp_doppler1; /* INTEGER_0_63 */ static int hf_lpp_dopplerUncertainty; /* INTEGER_0_4 */ static int hf_lpp_codePhase; /* INTEGER_0_1022 */ static int hf_lpp_intCodePhase; /* INTEGER_0_127 */ static int hf_lpp_codePhaseSearchWindow; /* INTEGER_0_31 */ static int hf_lpp_azimuth; /* INTEGER_0_511 */ static int hf_lpp_elevation; /* INTEGER_0_127 */ static int hf_lpp_codePhase1023; /* BOOLEAN */ static int hf_lpp_dopplerUncertaintyExt_r10; /* T_dopplerUncertaintyExt_r10 */ static int hf_lpp_weekNumber_01; /* INTEGER_0_255 */ static int hf_lpp_toa; /* T_toa */ static int hf_lpp_ioda; /* INTEGER_0_3 */ static int hf_lpp_completeAlmanacProvided; /* BOOLEAN */ static int hf_lpp_gnss_AlmanacList; /* GNSS_AlmanacList */ static int hf_lpp_toa_ext_v1240; /* T_toa_ext_v1240 */ static int hf_lpp_ioda_ext_v1240; /* INTEGER_4_15 */ static int hf_lpp_weekNumber_ext_r16; /* INTEGER_256_8191 */ static int hf_lpp_toa_ext2_r16; /* INTEGER_256_65535 */ static int hf_lpp_GNSS_AlmanacList_item; /* GNSS_AlmanacElement */ static int hf_lpp_keplerianAlmanacSet; /* AlmanacKeplerianSet */ static int hf_lpp_keplerianNAV_Almanac; /* AlmanacNAV_KeplerianSet */ static int hf_lpp_keplerianReducedAlmanac; /* AlmanacReducedKeplerianSet */ static int hf_lpp_keplerianMidiAlmanac; /* AlmanacMidiAlmanacSet */ static int hf_lpp_keplerianGLONASS; /* AlmanacGLONASS_AlmanacSet */ static int hf_lpp_ecef_SBAS_Almanac; /* AlmanacECEF_SBAS_AlmanacSet */ static int hf_lpp_keplerianBDS_Almanac_r12; /* AlmanacBDS_AlmanacSet_r12 */ static int hf_lpp_keplerianNavIC_Almanac_r16; /* AlmanacNavIC_AlmanacSet_r16 */ static int hf_lpp_kepAlmanacE; /* INTEGER_0_2047 */ static int hf_lpp_kepAlmanacDeltaI; /* INTEGER_M1024_1023 */ static int hf_lpp_kepAlmanacOmegaDot; /* INTEGER_M1024_1023 */ static int hf_lpp_kepSV_StatusINAV; /* T_kepSV_StatusINAV */ static int hf_lpp_kepSV_StatusFNAV; /* T_kepSV_StatusFNAV */ static int hf_lpp_kepAlmanacAPowerHalf; /* INTEGER_M4096_4095 */ static int hf_lpp_kepAlmanacOmega0; /* INTEGER_M32768_32767 */ static int hf_lpp_kepAlmanacW; /* INTEGER_M32768_32767 */ static int hf_lpp_kepAlmanacM0; /* INTEGER_M32768_32767 */ static int hf_lpp_kepAlmanacAF0; /* INTEGER_M32768_32767 */ static int hf_lpp_kepAlmanacAF1; /* INTEGER_M4096_4095 */ static int hf_lpp_navAlmE; /* INTEGER_0_65535 */ static int hf_lpp_navAlmDeltaI; /* INTEGER_M32768_32767 */ static int hf_lpp_navAlmOMEGADOT; /* INTEGER_M32768_32767 */ static int hf_lpp_navAlmSVHealth; /* INTEGER_0_255 */ static int hf_lpp_navAlmSqrtA; /* INTEGER_0_16777215 */ static int hf_lpp_navAlmOMEGAo; /* INTEGER_M8388608_8388607 */ static int hf_lpp_navAlmOmega; /* INTEGER_M8388608_8388607 */ static int hf_lpp_navAlmMo; /* INTEGER_M8388608_8388607 */ static int hf_lpp_navAlmaf0; /* INTEGER_M1024_1023 */ static int hf_lpp_navAlmaf1; /* INTEGER_M1024_1023 */ static int hf_lpp_redAlmDeltaA; /* INTEGER_M128_127 */ static int hf_lpp_redAlmOmega0; /* INTEGER_M64_63 */ static int hf_lpp_redAlmPhi0; /* INTEGER_M64_63 */ static int hf_lpp_redAlmL1Health; /* BOOLEAN */ static int hf_lpp_redAlmL2Health; /* BOOLEAN */ static int hf_lpp_redAlmL5Health; /* BOOLEAN */ static int hf_lpp_midiAlmE; /* INTEGER_0_2047 */ static int hf_lpp_midiAlmDeltaI; /* INTEGER_M1024_1023 */ static int hf_lpp_midiAlmOmegaDot; /* INTEGER_M1024_1023 */ static int hf_lpp_midiAlmSqrtA; /* INTEGER_0_131071 */ static int hf_lpp_midiAlmOmega0; /* INTEGER_M32768_32767 */ static int hf_lpp_midiAlmOmega; /* INTEGER_M32768_32767 */ static int hf_lpp_midiAlmMo; /* INTEGER_M32768_32767 */ static int hf_lpp_midiAlmaf0; /* INTEGER_M1024_1023 */ static int hf_lpp_midiAlmaf1; /* INTEGER_M512_511 */ static int hf_lpp_midiAlmL1Health; /* BOOLEAN */ static int hf_lpp_midiAlmL2Health; /* BOOLEAN */ static int hf_lpp_midiAlmL5Health; /* BOOLEAN */ static int hf_lpp_gloAlm_NA; /* INTEGER_1_1461 */ static int hf_lpp_gloAlmnA; /* INTEGER_1_24 */ static int hf_lpp_gloAlmHA; /* INTEGER_0_31 */ static int hf_lpp_gloAlmLambdaA; /* INTEGER_M1048576_1048575 */ static int hf_lpp_gloAlmtlambdaA; /* INTEGER_0_2097151 */ static int hf_lpp_gloAlmDeltaIa; /* INTEGER_M131072_131071 */ static int hf_lpp_gloAlmDeltaTA; /* INTEGER_M2097152_2097151 */ static int hf_lpp_gloAlmDeltaTdotA; /* INTEGER_M64_63 */ static int hf_lpp_gloAlmEpsilonA; /* INTEGER_0_32767 */ static int hf_lpp_gloAlmOmegaA; /* INTEGER_M32768_32767 */ static int hf_lpp_gloAlmTauA; /* INTEGER_M512_511 */ static int hf_lpp_gloAlmCA; /* INTEGER_0_1 */ static int hf_lpp_gloAlmMA; /* BIT_STRING_SIZE_2 */ static int hf_lpp_sbasAlmDataID; /* INTEGER_0_3 */ static int hf_lpp_sbasAlmHealth; /* BIT_STRING_SIZE_8 */ static int hf_lpp_sbasAlmXg; /* INTEGER_M16384_16383 */ static int hf_lpp_sbasAlmYg; /* INTEGER_M16384_16383 */ static int hf_lpp_sbasAlmZg; /* INTEGER_M256_255 */ static int hf_lpp_sbasAlmXgdot; /* INTEGER_M4_3 */ static int hf_lpp_sbasAlmYgDot; /* INTEGER_M4_3 */ static int hf_lpp_sbasAlmZgDot; /* INTEGER_M8_7 */ static int hf_lpp_sbasAlmTo; /* INTEGER_0_2047 */ static int hf_lpp_bdsAlmToa_r12; /* INTEGER_0_255 */ static int hf_lpp_bdsAlmSqrtA_r12; /* INTEGER_0_16777215 */ static int hf_lpp_bdsAlmE_r12; /* INTEGER_0_131071 */ static int hf_lpp_bdsAlmW_r12; /* INTEGER_M8388608_8388607 */ static int hf_lpp_bdsAlmM0_r12; /* INTEGER_M8388608_8388607 */ static int hf_lpp_bdsAlmOmega0_r12; /* INTEGER_M8388608_8388607 */ static int hf_lpp_bdsAlmOmegaDot_r12; /* INTEGER_M65536_65535 */ static int hf_lpp_bdsAlmDeltaI_r12; /* INTEGER_M32768_32767 */ static int hf_lpp_bdsAlmA0_r12; /* INTEGER_M1024_1023 */ static int hf_lpp_bdsAlmA1_r12; /* INTEGER_M1024_1023 */ static int hf_lpp_bdsSvHealth_r12; /* T_bdsSvHealth_r12 */ static int hf_lpp_svID_r16; /* SV_ID */ static int hf_lpp_navic_AlmToa_r16; /* INTEGER_0_65535 */ static int hf_lpp_navic_AlmE_r16; /* INTEGER_0_65535 */ static int hf_lpp_navic_AlmOMEGADOT_r16; /* INTEGER_M32768_32767 */ static int hf_lpp_navic_AlmSqrtA_r16; /* INTEGER_0_16777215 */ static int hf_lpp_navic_AlmOMEGAo_r16; /* INTEGER_M8388608_8388607 */ static int hf_lpp_navic_AlmOmega_r16; /* INTEGER_M8388608_8388607 */ static int hf_lpp_navic_AlmMo_r16; /* INTEGER_M8388608_8388607 */ static int hf_lpp_navic_Almaf0_r16; /* INTEGER_M1024_1023 */ static int hf_lpp_navic_Almaf1_r16; /* INTEGER_M1024_1023 */ static int hf_lpp_utcModel1; /* UTC_ModelSet1 */ static int hf_lpp_utcModel2; /* UTC_ModelSet2 */ static int hf_lpp_utcModel3; /* UTC_ModelSet3 */ static int hf_lpp_utcModel4; /* UTC_ModelSet4 */ static int hf_lpp_utcModel5_r12; /* UTC_ModelSet5_r12 */ static int hf_lpp_gnss_Utc_A1; /* INTEGER_M8388608_8388607 */ static int hf_lpp_gnss_Utc_A0; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_gnss_Utc_Tot; /* INTEGER_0_255 */ static int hf_lpp_gnss_Utc_WNt; /* INTEGER_0_255 */ static int hf_lpp_gnss_Utc_DeltaTls; /* INTEGER_M128_127 */ static int hf_lpp_gnss_Utc_WNlsf; /* INTEGER_0_255 */ static int hf_lpp_gnss_Utc_DN; /* INTEGER_M128_127 */ static int hf_lpp_gnss_Utc_DeltaTlsf; /* INTEGER_M128_127 */ static int hf_lpp_utcA0; /* INTEGER_M32768_32767 */ static int hf_lpp_utcA1; /* INTEGER_M4096_4095 */ static int hf_lpp_utcA2; /* INTEGER_M64_63 */ static int hf_lpp_utcDeltaTls; /* INTEGER_M128_127 */ static int hf_lpp_utcTot; /* INTEGER_0_65535 */ static int hf_lpp_utcWNot; /* INTEGER_0_8191 */ static int hf_lpp_utcWNlsf; /* INTEGER_0_255 */ static int hf_lpp_utcDN; /* T_utcDN */ static int hf_lpp_utcDeltaTlsf; /* INTEGER_M128_127 */ static int hf_lpp_utcWNlsf_ext_r16; /* INTEGER_256_8191 */ static int hf_lpp_nA; /* INTEGER_1_1461 */ static int hf_lpp_tauC; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_b1; /* INTEGER_M1024_1023 */ static int hf_lpp_b2; /* INTEGER_M512_511 */ static int hf_lpp_kp; /* T_kp */ static int hf_lpp_utcA1wnt; /* INTEGER_M8388608_8388607 */ static int hf_lpp_utcA0wnt; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_utcTot_01; /* INTEGER_0_255 */ static int hf_lpp_utcWNt; /* INTEGER_0_255 */ static int hf_lpp_uTC_ModelSet4_utcDN; /* INTEGER_M128_127 */ static int hf_lpp_utcStandardID; /* INTEGER_0_7 */ static int hf_lpp_utcA0_r12; /* INTEGER_M2147483648_2147483647 */ static int hf_lpp_utcA1_r12; /* INTEGER_M8388608_8388607 */ static int hf_lpp_utcDeltaTls_r12; /* INTEGER_M128_127 */ static int hf_lpp_utcWNlsf_r12; /* INTEGER_0_255 */ static int hf_lpp_utcDN_r12; /* INTEGER_0_255 */ static int hf_lpp_utcDeltaTlsf_r12; /* INTEGER_M128_127 */ static int hf_lpp_gnss_ID_GPS; /* GNSS_ID_GPS */ static int hf_lpp_gnss_ID_GLONASS; /* GNSS_ID_GLONASS */ static int hf_lpp_gnss_ID_BDS_r16; /* GNSS_ID_BDS_r16 */ static int hf_lpp_GNSS_ID_GPS_item; /* GNSS_ID_GPS_SatElement */ static int hf_lpp_signalsAvailable; /* GNSS_SignalIDs */ static int hf_lpp_GNSS_ID_GLONASS_item; /* GNSS_ID_GLONASS_SatElement */ static int hf_lpp_channelNumber; /* INTEGER_M7_13 */ static int hf_lpp_GNSS_ID_BDS_r16_item; /* GNSS_ID_BDS_SatElement_r16 */ static int hf_lpp_satType_r16; /* INTEGER_0_3 */ static int hf_lpp_dbds_RefTime_r12; /* INTEGER_0_3599 */ static int hf_lpp_bds_SgnTypeList_r12; /* BDS_SgnTypeList_r12 */ static int hf_lpp_BDS_SgnTypeList_r12_item; /* BDS_SgnTypeElement_r12 */ static int hf_lpp_dbds_CorrectionList_r12; /* DBDS_CorrectionList_r12 */ static int hf_lpp_DBDS_CorrectionList_r12_item; /* DBDS_CorrectionElement_r12 */ static int hf_lpp_bds_UDREI_r12; /* INTEGER_0_15 */ static int hf_lpp_bds_RURAI_r12; /* INTEGER_0_15 */ static int hf_lpp_bds_ECC_DeltaT_r12; /* INTEGER_M4096_4095 */ static int hf_lpp_bds_RefTime_r12; /* INTEGER_0_3599 */ static int hf_lpp_gridIonList_r12; /* GridIonList_r12 */ static int hf_lpp_GridIonList_r12_item; /* GridIonElement_r12 */ static int hf_lpp_igp_ID_r12; /* INTEGER_1_320 */ static int hf_lpp_dt_r12; /* INTEGER_0_511 */ static int hf_lpp_givei_r12; /* INTEGER_0_15 */ static int hf_lpp_epochTime_r15; /* GNSS_SystemTime */ static int hf_lpp_gnss_ObservationList_r15; /* GNSS_ObservationList_r15 */ static int hf_lpp_GNSS_ObservationList_r15_item; /* GNSS_RTK_SatelliteDataElement_r15 */ static int hf_lpp_svID_r15; /* SV_ID */ static int hf_lpp_integer_ms_r15; /* INTEGER_0_254 */ static int hf_lpp_rough_range_r15; /* INTEGER_0_1023 */ static int hf_lpp_rough_phase_range_rate_r15; /* INTEGER_M8192_8191 */ static int hf_lpp_gnss_rtk_SatelliteSignalDataList_r15; /* GNSS_RTK_SatelliteSignalDataList_r15 */ static int hf_lpp_GNSS_RTK_SatelliteSignalDataList_r15_item; /* GNSS_RTK_SatelliteSignalDataElement_r15 */ static int hf_lpp_gnss_SignalID_r15; /* GNSS_SignalID */ static int hf_lpp_fine_PseudoRange_r15; /* INTEGER_M524288_524287 */ static int hf_lpp_fine_PhaseRange_r15; /* INTEGER_M8388608_8388607 */ static int hf_lpp_lockTimeIndicator_r15; /* INTEGER_0_1023 */ static int hf_lpp_halfCycleAmbiguityIndicator_r15; /* BIT_STRING_SIZE_1 */ static int hf_lpp_carrier_to_noise_ratio_r15; /* INTEGER_0_1023 */ static int hf_lpp_fine_PhaseRangeRate_r15; /* INTEGER_M16384_16383 */ static int hf_lpp_cpbIndicator_r15; /* BIT_STRING_SIZE_1 */ static int hf_lpp_l1_ca_cpBias_r15; /* INTEGER_M32768_32767 */ static int hf_lpp_l1_p_cpBias_r15; /* INTEGER_M32768_32767 */ static int hf_lpp_l2_ca_cpBias_r15; /* INTEGER_M32768_32767 */ static int hf_lpp_l2_p_cpBias_r15; /* INTEGER_M32768_32767 */ static int hf_lpp_master_ReferenceStationID_r15; /* GNSS_ReferenceStationID_r15 */ static int hf_lpp_l1_r15; /* GNSS_FrequencyID_r15 */ static int hf_lpp_l2_r15; /* GNSS_FrequencyID_r15 */ static int hf_lpp_rtkCorrectionDifferencesList_r15; /* RTK_CorrectionDifferencesList_r15 */ static int hf_lpp_RTK_CorrectionDifferencesList_r15_item; /* RTK_CorrectionDifferencesElement_r15 */ static int hf_lpp_auxiliary_referenceStationID_r15; /* GNSS_ReferenceStationID_r15 */ static int hf_lpp_geometric_ionospheric_corrections_differences_r15; /* Geometric_Ionospheric_Corrections_Differences_r15 */ static int hf_lpp_Geometric_Ionospheric_Corrections_Differences_r15_item; /* Geometric_Ionospheric_Corrections_Differences_Element_r15 */ static int hf_lpp_ambiguityStatusFlag_r15; /* INTEGER_0_3 */ static int hf_lpp_non_synch_count_r15; /* INTEGER_0_7 */ static int hf_lpp_geometricCarrierPhaseCorrectionDifference_r15; /* INTEGER_M65536_65535 */ static int hf_lpp_iod_r15; /* BIT_STRING_SIZE_11 */ static int hf_lpp_ionosphericCarrierPhaseCorrectionDifference_r15; /* INTEGER_M65536_65535 */ static int hf_lpp_n_Refs_r15; /* INTEGER_0_127 */ static int hf_lpp_rtk_residuals_list_r15; /* RTK_Residuals_List_r15 */ static int hf_lpp_RTK_Residuals_List_r15_item; /* RTK_Residuals_Element_r15 */ static int hf_lpp_s_oc_r15; /* INTEGER_0_255 */ static int hf_lpp_s_od_r15; /* INTEGER_0_511 */ static int hf_lpp_s_oh_r15; /* INTEGER_0_63 */ static int hf_lpp_s_lc_r15; /* INTEGER_0_1023 */ static int hf_lpp_s_ld_r15; /* INTEGER_0_1023 */ static int hf_lpp_fkp_gradients_list_r15; /* FKP_Gradients_List_r15 */ static int hf_lpp_FKP_Gradients_List_r15_item; /* FKP_Gradients_Element_r15 */ static int hf_lpp_north_geometric_gradient_r15; /* INTEGER_M2048_2047 */ static int hf_lpp_east_geometric_gradient_r15; /* INTEGER_M2048_2047 */ static int hf_lpp_north_ionospheric_gradient_r15; /* INTEGER_M8192_8191 */ static int hf_lpp_east_ionospheric_gradient_r15; /* INTEGER_M8192_8191 */ static int hf_lpp_ssrUpdateInterval_r15; /* INTEGER_0_15 */ static int hf_lpp_satelliteReferenceDatum_r15; /* T_satelliteReferenceDatum_r15 */ static int hf_lpp_iod_ssr_r15; /* INTEGER_0_15 */ static int hf_lpp_ssr_OrbitCorrectionList_r15; /* SSR_OrbitCorrectionList_r15 */ static int hf_lpp_orbit_IntegrityParameters_r17; /* ORBIT_IntegrityParameters_r17 */ static int hf_lpp_SSR_OrbitCorrectionList_r15_item; /* SSR_OrbitCorrectionSatelliteElement_r15 */ static int hf_lpp_delta_radial_r15; /* INTEGER_M2097152_2097151 */ static int hf_lpp_delta_AlongTrack_r15; /* INTEGER_M524288_524287 */ static int hf_lpp_delta_CrossTrack_r15; /* INTEGER_M524288_524287 */ static int hf_lpp_dot_delta_radial_r15; /* INTEGER_M1048576_1048575 */ static int hf_lpp_dot_delta_AlongTrack_r15; /* INTEGER_M262144_262143 */ static int hf_lpp_dot_delta_CrossTrack_r15; /* INTEGER_M262144_262143 */ static int hf_lpp_ssr_IntegrityOrbitBounds_r17; /* SSR_IntegrityOrbitBounds_r17 */ static int hf_lpp_probOnsetConstFault_r17; /* INTEGER_0_255 */ static int hf_lpp_meanConstFaultDuration_r17; /* INTEGER_1_3600 */ static int hf_lpp_probOnsetSatFault_r17; /* INTEGER_0_255 */ static int hf_lpp_meanSatFaultDuration_r17; /* INTEGER_1_3600 */ static int hf_lpp_orbitRangeErrorCorrelationTime_r17; /* INTEGER_0_255 */ static int hf_lpp_orbitRangeRateErrorCorrelationTime_r17; /* INTEGER_0_255 */ static int hf_lpp_meanOrbitError_r17; /* RAC_OrbitalErrorComponents_r17 */ static int hf_lpp_stdDevOrbitError_r17; /* RAC_OrbitalErrorComponents_r17 */ static int hf_lpp_meanOrbitRateError_r17; /* RAC_OrbitalErrorComponents_r17 */ static int hf_lpp_stdDevOrbitRateError_r17; /* RAC_OrbitalErrorComponents_r17 */ static int hf_lpp_radial_r17; /* INTEGER_0_255 */ static int hf_lpp_alongTrack_r17; /* INTEGER_0_255 */ static int hf_lpp_crossTrack_r17; /* INTEGER_0_255 */ static int hf_lpp_ssr_ClockCorrectionList_r15; /* SSR_ClockCorrectionList_r15 */ static int hf_lpp_clock_IntegrityParameters_r17; /* CLOCK_IntegrityParameters_r17 */ static int hf_lpp_SSR_ClockCorrectionList_r15_item; /* SSR_ClockCorrectionSatelliteElement_r15 */ static int hf_lpp_delta_Clock_C0_r15; /* INTEGER_M2097152_2097151 */ static int hf_lpp_delta_Clock_C1_r15; /* INTEGER_M1048576_1048575 */ static int hf_lpp_delta_Clock_C2_r15; /* INTEGER_M67108864_67108863 */ static int hf_lpp_ssr_IntegrityClockBounds_r17; /* SSR_IntegrityClockBounds_r17 */ static int hf_lpp_clockRangeErrorCorrelationTime_r17; /* INTEGER_0_255 */ static int hf_lpp_clockRangeRateErrorCorrelationTime_r17; /* INTEGER_0_255 */ static int hf_lpp_meanClock_r17; /* INTEGER_0_255 */ static int hf_lpp_stdDevClock_r17; /* INTEGER_0_255 */ static int hf_lpp_meanClockRate_r17; /* INTEGER_0_255 */ static int hf_lpp_stdDevClockRate_r17; /* INTEGER_0_255 */ static int hf_lpp_ssr_CodeBiasSatList_r15; /* SSR_CodeBiasSatList_r15 */ static int hf_lpp_SSR_CodeBiasSatList_r15_item; /* SSR_CodeBiasSatElement_r15 */ static int hf_lpp_ssr_CodeBiasSignalList_r15; /* SSR_CodeBiasSignalList_r15 */ static int hf_lpp_SSR_CodeBiasSignalList_r15_item; /* SSR_CodeBiasSignalElement_r15 */ static int hf_lpp_signal_and_tracking_mode_ID_r15; /* GNSS_SignalID */ static int hf_lpp_codeBias_r15; /* INTEGER_M8192_8191 */ static int hf_lpp_ssr_IntegrityCodeBiasBounds_r17; /* SSR_IntegrityCodeBiasBounds_r17 */ static int hf_lpp_meanCodeBias_r17; /* INTEGER_0_255 */ static int hf_lpp_stdDevCodeBias_r17; /* INTEGER_0_255 */ static int hf_lpp_meanCodeBiasRate_r17; /* INTEGER_0_255 */ static int hf_lpp_stdDevCodeBiasRate_r17; /* INTEGER_0_255 */ static int hf_lpp_epochTime_r16; /* GNSS_SystemTime */ static int hf_lpp_ssrUpdateInterval_r16; /* INTEGER_0_15 */ static int hf_lpp_iod_ssr_r16; /* INTEGER_0_15 */ static int hf_lpp_ssr_URA_SatList_r16; /* SSR_URA_SatList_r16 */ static int hf_lpp_SSR_URA_SatList_r16_item; /* SSR_URA_SatElement_r16 */ static int hf_lpp_ssr_URA_r16; /* BIT_STRING_SIZE_6 */ static int hf_lpp_ssr_PhaseBiasSatList_r16; /* SSR_PhaseBiasSatList_r16 */ static int hf_lpp_SSR_PhaseBiasSatList_r16_item; /* SSR_PhaseBiasSatElement_r16 */ static int hf_lpp_ssr_PhaseBiasSignalList_r16; /* SSR_PhaseBiasSignalList_r16 */ static int hf_lpp_SSR_PhaseBiasSignalList_r16_item; /* SSR_PhaseBiasSignalElement_r16 */ static int hf_lpp_signal_and_tracking_mode_ID_r16; /* GNSS_SignalID */ static int hf_lpp_phaseBias_r16; /* INTEGER_M16384_16383 */ static int hf_lpp_phaseDiscontinuityIndicator_r16; /* INTEGER_0_3 */ static int hf_lpp_phaseBiasIntegerIndicator_r16; /* INTEGER_0_3 */ static int hf_lpp_ssr_IntegrityPhaseBiasBounds_r17; /* SSR_IntegrityPhaseBiasBounds_r17 */ static int hf_lpp_meanPhaseBias_r17; /* INTEGER_0_255 */ static int hf_lpp_stdDevPhaseBias_r17; /* INTEGER_0_255 */ static int hf_lpp_meanPhaseBiasRate_r17; /* INTEGER_0_255 */ static int hf_lpp_stdDevPhaseBiasRate_r17; /* INTEGER_0_255 */ static int hf_lpp_stec_SatList_r16; /* STEC_SatList_r16 */ static int hf_lpp_stec_IntegrityParameters_r17; /* STEC_IntegrityParameters_r17 */ static int hf_lpp_STEC_SatList_r16_item; /* STEC_SatElement_r16 */ static int hf_lpp_stecQualityIndicator_r16; /* BIT_STRING_SIZE_6 */ static int hf_lpp_stec_C00_r16; /* INTEGER_M8192_8191 */ static int hf_lpp_stec_C01_r16; /* INTEGER_M2048_2047 */ static int hf_lpp_stec_C10_r16; /* INTEGER_M2048_2047 */ static int hf_lpp_stec_C11_r16; /* INTEGER_M512_511 */ static int hf_lpp_stec_IntegrityErrorBounds_r17; /* STEC_IntegrityErrorBounds_r17 */ static int hf_lpp_probOnsetIonoFault_r17; /* INTEGER_0_255 */ static int hf_lpp_meanIonoFaultDuration_r17; /* INTEGER_1_256 */ static int hf_lpp_ionoRangeErrorCorrelationTime_r17; /* INTEGER_1_255 */ static int hf_lpp_ionoRangeRateErrorCorrelationTime_r17; /* INTEGER_1_255 */ static int hf_lpp_meanIonosphere_r17; /* INTEGER_0_255 */ static int hf_lpp_stdDevIonosphere_r17; /* INTEGER_0_255 */ static int hf_lpp_meanIonosphereRate_r17; /* INTEGER_0_255 */ static int hf_lpp_stdDevIonosphereRate_r17; /* INTEGER_0_255 */ static int hf_lpp_troposphericDelayQualityIndicator_r16; /* BIT_STRING_SIZE_6 */ static int hf_lpp_gridList_r16; /* GridList_r16 */ static int hf_lpp_ssr_GriddedCorrectionIntegrityParameters_r17; /* SSR_GriddedCorrectionIntegrityParameters_r17 */ static int hf_lpp_GridList_r16_item; /* GridElement_r16 */ static int hf_lpp_tropospericDelayCorrection_r16; /* TropospericDelayCorrection_r16 */ static int hf_lpp_stec_ResidualSatList_r16; /* STEC_ResidualSatList_r16 */ static int hf_lpp_tropoHydroStaticVerticalDelay_r16; /* INTEGER_M256_255 */ static int hf_lpp_tropoWetVerticalDelay_r16; /* INTEGER_M128_127 */ static int hf_lpp_tropoDelayIntegrityErrorBounds_r17; /* TropoDelayIntegrityErrorBounds_r17 */ static int hf_lpp_STEC_ResidualSatList_r16_item; /* STEC_ResidualSatElement_r16 */ static int hf_lpp_stecResidualCorrection_r16; /* T_stecResidualCorrection_r16 */ static int hf_lpp_b7_r16; /* INTEGER_M64_63 */ static int hf_lpp_b16_r16; /* INTEGER_M32768_32767 */ static int hf_lpp_probOnsetTroposphereFault_r17; /* INTEGER_0_255 */ static int hf_lpp_meanTroposphereFaultDuration_r17; /* INTEGER_1_256 */ static int hf_lpp_troposphereRangeErrorCorrelationTime_r17; /* INTEGER_1_255 */ static int hf_lpp_troposphereRangeRateErrorCorrelationTime_r17; /* INTEGER_1_255 */ static int hf_lpp_meanTroposphereVerticalHydroStaticDelay_r17; /* INTEGER_0_255 */ static int hf_lpp_stdDevTroposphereVerticalHydroStaticDelay_r17; /* INTEGER_0_255 */ static int hf_lpp_meanTroposphereVerticalWetDelay_r17; /* INTEGER_0_255 */ static int hf_lpp_stdDevTroposphereVerticalWetDelay_r17; /* INTEGER_0_255 */ static int hf_lpp_meanTroposphereVerticalHydroStaticDelayRate_r17; /* INTEGER_0_255 */ static int hf_lpp_stdDevTroposphereVerticalHydroStaticDelayRate_r17; /* INTEGER_0_255 */ static int hf_lpp_meanTroposphereVerticalWetDelayRate_r17; /* INTEGER_0_255 */ static int hf_lpp_stdDevTroposphereVerticalWetDelayRate_r17; /* INTEGER_0_255 */ static int hf_lpp_navic_RefTOWC_r16; /* INTEGER_0_50400 */ static int hf_lpp_navic_CorrectionListAutoNav_r16; /* NavIC_CorrectionListAutoNav_r16 */ static int hf_lpp_NavIC_CorrectionListAutoNav_r16_item; /* NavIC_CorrectionElementAutoNav_r16 */ static int hf_lpp_navic_Tod_r16; /* INTEGER_0_65535 */ static int hf_lpp_navic_iodec_r16; /* INTEGER_0_255 */ static int hf_lpp_navic_UDRAI_r16; /* INTEGER_M16_15 */ static int hf_lpp_navic_UDRArateI_r16; /* INTEGER_M16_15 */ static int hf_lpp_navic_EDC_r16; /* NavIC_EDC_r16 */ static int hf_lpp_navic_CDC_r16; /* NavIC_CDC_r16 */ static int hf_lpp_navic_AlphaEDC_r16; /* INTEGER_M8192_8191 */ static int hf_lpp_navic_BetaEDC_r16; /* INTEGER_M8192_8191 */ static int hf_lpp_navic_GammaEDC_r16; /* INTEGER_M16384_16383 */ static int hf_lpp_navic_AoIcorrection_r16; /* INTEGER_M2048_2047 */ static int hf_lpp_navic_AoRAcorrection_r16; /* INTEGER_M2048_2047 */ static int hf_lpp_navic_SemiMajorcorrection_r16; /* INTEGER_M2048_2047 */ static int hf_lpp_navic_ClockBiasCorrection_r16; /* INTEGER_M4096_4095 */ static int hf_lpp_navic_ClockDriftCorrection_r16; /* INTEGER_M128_127 */ static int hf_lpp_regionMasked_r16; /* INTEGER_0_1023 */ static int hf_lpp_regionIgpList_r16; /* RegionIgpList_r16 */ static int hf_lpp_RegionIgpList_r16_item; /* RegionIgpElement_r16 */ static int hf_lpp_regionID_r16; /* INTEGER_0_15 */ static int hf_lpp_givei1_r16; /* INTEGER_0_15 */ static int hf_lpp_givd1_r16; /* INTEGER_0_511 */ static int hf_lpp_givei2_r16; /* INTEGER_0_15 */ static int hf_lpp_givd2_r16; /* INTEGER_0_511 */ static int hf_lpp_givei3_r16; /* INTEGER_0_15 */ static int hf_lpp_givd3_r16; /* INTEGER_0_511 */ static int hf_lpp_givei4_r16; /* INTEGER_0_15 */ static int hf_lpp_givd4_r16; /* INTEGER_0_511 */ static int hf_lpp_givei5_r16; /* INTEGER_0_15 */ static int hf_lpp_givd5_r16; /* INTEGER_0_511 */ static int hf_lpp_givei6_r16; /* INTEGER_0_15 */ static int hf_lpp_givd6_r16; /* INTEGER_0_511 */ static int hf_lpp_givei7_r16; /* INTEGER_0_15 */ static int hf_lpp_givd7_r16; /* INTEGER_0_511 */ static int hf_lpp_givei8_r16; /* INTEGER_0_15 */ static int hf_lpp_givd8_r16; /* INTEGER_0_511 */ static int hf_lpp_givei9_r16; /* INTEGER_0_15 */ static int hf_lpp_givd9_r16; /* INTEGER_0_511 */ static int hf_lpp_givei10_r16; /* INTEGER_0_15 */ static int hf_lpp_givd10_r16; /* INTEGER_0_511 */ static int hf_lpp_givei11_r16; /* INTEGER_0_15 */ static int hf_lpp_givd11_r16; /* INTEGER_0_511 */ static int hf_lpp_givei12_r16; /* INTEGER_0_15 */ static int hf_lpp_givd12_r16; /* INTEGER_0_511 */ static int hf_lpp_givei13_r16; /* INTEGER_0_15 */ static int hf_lpp_givd13_r16; /* INTEGER_0_511 */ static int hf_lpp_givei14_r16; /* INTEGER_0_15 */ static int hf_lpp_givd14_r16; /* INTEGER_0_511 */ static int hf_lpp_givei15_r16; /* INTEGER_0_15 */ static int hf_lpp_givd15_r16; /* INTEGER_0_511 */ static int hf_lpp_refEph_r17; /* T_refEph_r17 */ static int hf_lpp_gnss_SSR_OrbitCorrections_r17; /* GNSS_SSR_OrbitCorrections_r15 */ static int hf_lpp_refEph_r17_01; /* T_refEph_r17_01 */ static int hf_lpp_gnss_SSR_ClockCorrections_r17; /* GNSS_SSR_ClockCorrections_r15 */ static int hf_lpp_refEph_r17_02; /* T_refEph_r17_02 */ static int hf_lpp_gnss_SSR_URA_r17; /* GNSS_SSR_URA_r16 */ static int hf_lpp_expirationTime_r18; /* UTCTime */ static int hf_lpp_gridList_r18; /* GridList_r18 */ static int hf_lpp_GridList_r18_item; /* GridElement_r18 */ static int hf_lpp_gnss_LOS_InfoList_r18; /* GNSS_LOS_InfoList_r18 */ static int hf_lpp_GNSS_LOS_InfoList_r18_item; /* GNSS_LOS_InfoElement_r18 */ static int hf_lpp_svID_r18; /* SV_ID */ static int hf_lpp_los_r18; /* T_los_r18 */ static int hf_lpp_ssr_SatellitePCV_List_r18; /* SSR_SatellitePCV_List_r18 */ static int hf_lpp_SSR_SatellitePCV_List_r18_item; /* SSR_SatellitePCV_Element_r18 */ static int hf_lpp_ssr_SatellitePCV_FrequencyList_r18; /* SSR_SatellitePCV_FrequencyList_r18 */ static int hf_lpp_SSR_SatellitePCV_FrequencyList_r18_item; /* SSR_SatellitePCV_FrequencyElement_r18 */ static int hf_lpp_frequencyID_r18; /* GNSS_FrequencyID_r15 */ static int hf_lpp_phaseCenterVariations_r18; /* SSR_PhaseCenterVariationList_r18 */ static int hf_lpp_SSR_PhaseCenterVariationList_r18_item; /* INTEGER_M1024_1023 */ static int hf_lpp_gnss_CommonAssistDataReq; /* GNSS_CommonAssistDataReq */ static int hf_lpp_gnss_GenericAssistDataReq; /* GNSS_GenericAssistDataReq */ static int hf_lpp_gnss_PeriodicAssistDataReq_r15; /* GNSS_PeriodicAssistDataReq_r15 */ static int hf_lpp_gnss_ReferenceTimeReq; /* GNSS_ReferenceTimeReq */ static int hf_lpp_gnss_ReferenceLocationReq; /* GNSS_ReferenceLocationReq */ static int hf_lpp_gnss_IonosphericModelReq; /* GNSS_IonosphericModelReq */ static int hf_lpp_gnss_EarthOrientationParametersReq; /* GNSS_EarthOrientationParametersReq */ static int hf_lpp_gnss_RTK_ReferenceStationInfoReq_r15; /* GNSS_RTK_ReferenceStationInfoReq_r15 */ static int hf_lpp_gnss_RTK_AuxiliaryStationDataReq_r15; /* GNSS_RTK_AuxiliaryStationDataReq_r15 */ static int hf_lpp_gnss_SSR_CorrectionPointsReq_r16; /* GNSS_SSR_CorrectionPointsReq_r16 */ static int hf_lpp_gnss_Integrity_ServiceParametersReq_r17; /* GNSS_Integrity_ServiceParametersReq_r17 */ static int hf_lpp_gnss_Integrity_ServiceAlertReq_r17; /* GNSS_Integrity_ServiceAlertReq_r17 */ static int hf_lpp_gnss_SSR_IOD_UpdateReq_r18; /* GNSS_SSR_IOD_UpdateReq_r18 */ static int hf_lpp_GNSS_GenericAssistDataReq_item; /* GNSS_GenericAssistDataReqElement */ static int hf_lpp_gnss_TimeModelsReq; /* GNSS_TimeModelListReq */ static int hf_lpp_gnss_DifferentialCorrectionsReq; /* GNSS_DifferentialCorrectionsReq */ static int hf_lpp_gnss_NavigationModelReq; /* GNSS_NavigationModelReq */ static int hf_lpp_gnss_RealTimeIntegrityReq; /* GNSS_RealTimeIntegrityReq */ static int hf_lpp_gnss_DataBitAssistanceReq; /* GNSS_DataBitAssistanceReq */ static int hf_lpp_gnss_AcquisitionAssistanceReq; /* GNSS_AcquisitionAssistanceReq */ static int hf_lpp_gnss_AlmanacReq; /* GNSS_AlmanacReq */ static int hf_lpp_gnss_UTCModelReq; /* GNSS_UTC_ModelReq */ static int hf_lpp_gnss_AuxiliaryInformationReq; /* GNSS_AuxiliaryInformationReq */ static int hf_lpp_bds_DifferentialCorrectionsReq_r12; /* BDS_DifferentialCorrectionsReq_r12 */ static int hf_lpp_bds_GridModelReq_r12; /* BDS_GridModelReq_r12 */ static int hf_lpp_gnss_RTK_ObservationsReq_r15; /* GNSS_RTK_ObservationsReq_r15 */ static int hf_lpp_glo_RTK_BiasInformationReq_r15; /* GLO_RTK_BiasInformationReq_r15 */ static int hf_lpp_gnss_RTK_MAC_CorrectionDifferencesReq_r15; /* GNSS_RTK_MAC_CorrectionDifferencesReq_r15 */ static int hf_lpp_gnss_RTK_ResidualsReq_r15; /* GNSS_RTK_ResidualsReq_r15 */ static int hf_lpp_gnss_RTK_FKP_GradientsReq_r15; /* GNSS_RTK_FKP_GradientsReq_r15 */ static int hf_lpp_gnss_SSR_OrbitCorrectionsReq_r15; /* GNSS_SSR_OrbitCorrectionsReq_r15 */ static int hf_lpp_gnss_SSR_ClockCorrectionsReq_r15; /* GNSS_SSR_ClockCorrectionsReq_r15 */ static int hf_lpp_gnss_SSR_CodeBiasReq_r15; /* GNSS_SSR_CodeBiasReq_r15 */ static int hf_lpp_gnss_SSR_URA_Req_r16; /* GNSS_SSR_URA_Req_r16 */ static int hf_lpp_gnss_SSR_PhaseBiasReq_r16; /* GNSS_SSR_PhaseBiasReq_r16 */ static int hf_lpp_gnss_SSR_STEC_CorrectionReq_r16; /* GNSS_SSR_STEC_CorrectionReq_r16 */ static int hf_lpp_gnss_SSR_GriddedCorrectionReq_r16; /* GNSS_SSR_GriddedCorrectionReq_r16 */ static int hf_lpp_navic_DifferentialCorrectionsReq_r16; /* NavIC_DifferentialCorrectionsReq_r16 */ static int hf_lpp_navic_GridModelReq_r16; /* NavIC_GridModelReq_r16 */ static int hf_lpp_gnss_SSR_OrbitCorrectionsSet2Req_r17; /* GNSS_SSR_OrbitCorrectionsSet2Req_r17 */ static int hf_lpp_gnss_SSR_ClockCorrectionsSet2Req_r17; /* GNSS_SSR_ClockCorrectionsSet2Req_r17 */ static int hf_lpp_gnss_SSR_URA_Set2Req_r17; /* GNSS_SSR_URA_Set2Req_r17 */ static int hf_lpp_gnss_LOS_NLOS_GriddedIndicationsReq_r18; /* GNSS_LOS_NLOS_GriddedIndicationsReq_r18 */ static int hf_lpp_gnss_SSR_SatellitePCVResidualsReq_r18; /* GNSS_SSR_SatellitePCVResidualsReq_r18 */ static int hf_lpp_gnss_RTK_PeriodicObservationsReq_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_glo_RTK_PeriodicBiasInformationReq_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_RTK_MAC_PeriodicCorrectionDifferencesReq_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_RTK_PeriodicResidualsReq_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_RTK_FKP_PeriodicGradientsReq_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicOrbitCorrectionsReq_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicClockCorrectionsReq_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicCodeBiasReq_r15; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicURA_Req_r16; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicPhaseBiasReq_r16; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicSTEC_CorrectionReq_r16; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicGriddedCorrectionReq_r16; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_Integrity_PeriodicServiceAlertReq_r17; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicOrbitCorrectionsSet2Req_r17; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicClockCorrectionsSet2Req_r17; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicURA_Set2Req_r17; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_SSR_PeriodicIOD_UpdateReq_r18; /* GNSS_PeriodicControlParam_r15 */ static int hf_lpp_gnss_TimeReqPrefList; /* SEQUENCE_SIZE_1_8_OF_GNSS_ID */ static int hf_lpp_gnss_TimeReqPrefList_item; /* GNSS_ID */ static int hf_lpp_gps_TOW_assistReq; /* BOOLEAN */ static int hf_lpp_notOfLeapSecReq; /* BOOLEAN */ static int hf_lpp_klobucharModelReq; /* BIT_STRING_SIZE_2 */ static int hf_lpp_neQuickModelReq; /* NULL */ static int hf_lpp_klobucharModel2Req_r16; /* NULL */ static int hf_lpp_antennaDescriptionReq_r15; /* BOOLEAN */ static int hf_lpp_antennaHeightReq_r15; /* BOOLEAN */ static int hf_lpp_physicalReferenceStationReq_r15; /* BOOLEAN */ static int hf_lpp_stationID_r15; /* GNSS_ReferenceStationID_r15 */ static int hf_lpp_correctionPointSetID_Req_r16; /* INTEGER_0_16383 */ static int hf_lpp_GNSS_TimeModelListReq_item; /* GNSS_TimeModelElementReq */ static int hf_lpp_gnss_TO_IDsReq; /* INTEGER_1_15 */ static int hf_lpp_deltaTreq; /* BOOLEAN */ static int hf_lpp_dgnss_SignalsReq; /* GNSS_SignalIDs */ static int hf_lpp_dgnss_ValidityTimeReq; /* BOOLEAN */ static int hf_lpp_storedNavList; /* StoredNavListInfo */ static int hf_lpp_reqNavList; /* ReqNavListInfo */ static int hf_lpp_gnss_WeekOrDay; /* T_gnss_WeekOrDay */ static int hf_lpp_gnss_Toe; /* T_gnss_Toe */ static int hf_lpp_t_toeLimit; /* T_t_toeLimit */ static int hf_lpp_satListRelatedDataList; /* SatListRelatedDataList */ static int hf_lpp_SatListRelatedDataList_item; /* SatListRelatedDataElement */ static int hf_lpp_clockModelID; /* INTEGER_1_8 */ static int hf_lpp_orbitModelID; /* INTEGER_1_8 */ static int hf_lpp_svReqList; /* BIT_STRING_SIZE_64 */ static int hf_lpp_clockModelID_PrefList; /* T_clockModelID_PrefList */ static int hf_lpp_clockModelID_PrefList_item; /* INTEGER_1_8 */ static int hf_lpp_orbitModelID_PrefList; /* T_orbitModelID_PrefList */ static int hf_lpp_orbitModelID_PrefList_item; /* INTEGER_1_8 */ static int hf_lpp_addNavparamReq; /* BOOLEAN */ static int hf_lpp_gnss_TOD_Req; /* INTEGER_0_3599 */ static int hf_lpp_gnss_TOD_FracReq; /* INTEGER_0_999 */ static int hf_lpp_dataBitInterval; /* INTEGER_0_15 */ static int hf_lpp_gnss_SignalType_01; /* GNSS_SignalIDs */ static int hf_lpp_gnss_DataBitsReq; /* GNSS_DataBitsReqSatList */ static int hf_lpp_GNSS_DataBitsReqSatList_item; /* GNSS_DataBitsReqSatElement */ static int hf_lpp_gnss_SignalID_Req; /* GNSS_SignalID */ static int hf_lpp_modelID; /* INTEGER_1_8 */ static int hf_lpp_gnss_RTK_SignalsReq_r15; /* GNSS_SignalIDs */ static int hf_lpp_gnss_RTK_Integer_ms_Req_r15; /* BOOLEAN */ static int hf_lpp_gnss_RTK_PhaseRangeRateReq_r15; /* BOOLEAN */ static int hf_lpp_gnss_RTK_CNR_Req_r15; /* BOOLEAN */ static int hf_lpp_aux_ReferenceStationList_r15; /* AUX_ReferenceStationList_r15 */ static int hf_lpp_linkCombinations_PrefList_r15; /* GNSS_Link_CombinationsList_r15 */ static int hf_lpp_AUX_ReferenceStationList_r15_item; /* AUX_ReferenceStationID_Element_r15 */ static int hf_lpp_aux_stationID_r15; /* GNSS_ReferenceStationID_r15 */ static int hf_lpp_storedNavList_r15; /* GNSS_NavListInfo_r15 */ static int hf_lpp_orbit_IntegrityReq_r17; /* T_orbit_IntegrityReq_r17 */ static int hf_lpp_clock_IntegrityParametersReq_r17; /* T_clock_IntegrityParametersReq_r17 */ static int hf_lpp_ssr_IntegrityClockBoundsReq_r17; /* T_ssr_IntegrityClockBoundsReq_r17 */ static int hf_lpp_signal_and_tracking_mode_ID_Map_r15; /* GNSS_SignalIDs */ static int hf_lpp_ssr_IntegrityCodeBiasBoundsReq_r17; /* T_ssr_IntegrityCodeBiasBoundsReq_r17 */ static int hf_lpp_signal_and_tracking_mode_ID_Map_r16; /* GNSS_SignalIDs */ static int hf_lpp_storedNavList_r16; /* GNSS_NavListInfo_r15 */ static int hf_lpp_ssr_IntegrityPhaseBiasBoundsReq_r17; /* T_ssr_IntegrityPhaseBiasBoundsReq_r17 */ static int hf_lpp_stec_IntegrityReq_r17; /* T_stec_IntegrityReq_r17 */ static int hf_lpp_griddedCorrectionIntegrityReq_r17; /* T_griddedCorrectionIntegrityReq_r17 */ static int hf_lpp_dgnss_SignalsReq_r16; /* GNSS_SignalIDs */ static int hf_lpp_refEphReq_r17; /* T_refEphReq_r17 */ static int hf_lpp_gnss_SSR_OrbitCorrectionsSet2Req_r17_01; /* GNSS_SSR_OrbitCorrectionsReq_r15 */ static int hf_lpp_refEphReq_r17_01; /* T_refEphReq_r17_01 */ static int hf_lpp_gnss_SSR_ClockCorrectionsSet2Req_r17_01; /* GNSS_SSR_ClockCorrectionsReq_r15 */ static int hf_lpp_refEphReq_r17_02; /* T_refEphReq_r17_02 */ static int hf_lpp_gridPointsSetID_Req_r18; /* INTEGER_0_16383 */ static int hf_lpp_relativeLocationInfo_r18; /* T_relativeLocationInfo_r18 */ static int hf_lpp_inside_r18; /* T_inside_r18 */ static int hf_lpp_outside_r18; /* T_outside_r18 */ static int hf_lpp_verticalGridType_r18; /* T_verticalGridType_r18 */ static int hf_lpp_gnss_SignalMeasurementInformation; /* GNSS_SignalMeasurementInformation */ static int hf_lpp_gnss_LocationInformation; /* GNSS_LocationInformation */ static int hf_lpp_measurementReferenceTime; /* MeasurementReferenceTime */ static int hf_lpp_gnss_MeasurementList; /* GNSS_MeasurementList */ static int hf_lpp_gnss_TOD_msec; /* INTEGER_0_3599999 */ static int hf_lpp_gnss_TOD_frac; /* INTEGER_0_3999 */ static int hf_lpp_gnss_TOD_unc; /* INTEGER_0_127 */ static int hf_lpp_networkTime_01; /* T_networkTime */ static int hf_lpp_eUTRA_01; /* T_eUTRA_01 */ static int hf_lpp_cellGlobalId_01; /* CellGlobalIdEUTRA_AndUTRA */ static int hf_lpp_uTRA_01; /* T_uTRA_01 */ static int hf_lpp_mode_01; /* T_mode_01 */ static int hf_lpp_fdd_01; /* T_fdd_01 */ static int hf_lpp_tdd_01; /* T_tdd_01 */ static int hf_lpp_referenceSystemFrameNumber; /* INTEGER_0_4095 */ static int hf_lpp_gSM_01; /* T_gSM_01 */ static int hf_lpp_cellGlobalId_02; /* CellGlobalIdGERAN */ static int hf_lpp_referenceFrame; /* T_referenceFrame */ static int hf_lpp_referenceFN; /* INTEGER_0_65535 */ static int hf_lpp_referenceFNMSB; /* INTEGER_0_63 */ static int hf_lpp_deltaGNSS_TOD; /* INTEGER_0_127 */ static int hf_lpp_nbIoT_r14; /* T_nbIoT_r14 */ static int hf_lpp_sfn_r14; /* BIT_STRING_SIZE_10 */ static int hf_lpp_nr_r15_01; /* T_nr_r15_01 */ static int hf_lpp_nr_sfn_r15; /* BIT_STRING_SIZE_10 */ static int hf_lpp_GNSS_MeasurementList_item; /* GNSS_MeasurementForOneGNSS */ static int hf_lpp_gnss_SgnMeasList; /* GNSS_SgnMeasList */ static int hf_lpp_GNSS_SgnMeasList_item; /* GNSS_SgnMeasElement */ static int hf_lpp_gnss_CodePhaseAmbiguity; /* INTEGER_0_127 */ static int hf_lpp_gnss_SatMeasList; /* GNSS_SatMeasList */ static int hf_lpp_GNSS_SatMeasList_item; /* GNSS_SatMeasElement */ static int hf_lpp_cNo; /* INTEGER_0_63 */ static int hf_lpp_mpathDet; /* T_mpathDet */ static int hf_lpp_carrierQualityInd; /* INTEGER_0_3 */ static int hf_lpp_codePhase_01; /* INTEGER_0_2097151 */ static int hf_lpp_integerCodePhase; /* INTEGER_0_127 */ static int hf_lpp_codePhaseRMSError; /* INTEGER_0_63 */ static int hf_lpp_doppler; /* INTEGER_M32768_32767 */ static int hf_lpp_adr; /* INTEGER_0_33554431 */ static int hf_lpp_adrMSB_r15; /* INTEGER_0_15 */ static int hf_lpp_adrSign_r15; /* T_adrSign_r15 */ static int hf_lpp_adrRMSerror_r15; /* INTEGER_0_127 */ static int hf_lpp_delta_codePhase_r15; /* INTEGER_0_7 */ static int hf_lpp_agnss_List; /* GNSS_ID_Bitmap */ static int hf_lpp_ha_GNSS_Metrics_r17; /* HA_GNSS_Metrics_r17 */ static int hf_lpp_nrOfUsedSatellites_r17; /* INTEGER_0_64 */ static int hf_lpp_hdopi_r17; /* INTEGER_1_256 */ static int hf_lpp_pdopi_r17; /* INTEGER_1_256 */ static int hf_lpp_age_r17; /* INTEGER_0_99 */ static int hf_lpp_fixType_r17; /* T_fixType_r17 */ static int hf_lpp_gnss_PositioningInstructions; /* GNSS_PositioningInstructions */ static int hf_lpp_gnss_Methods; /* GNSS_ID_Bitmap */ static int hf_lpp_fineTimeAssistanceMeasReq; /* BOOLEAN */ static int hf_lpp_adrMeasReq; /* BOOLEAN */ static int hf_lpp_multiFreqMeasReq; /* BOOLEAN */ static int hf_lpp_ha_GNSS_Req_r15; /* T_ha_GNSS_Req_r15 */ static int hf_lpp_ha_GNSS_MetricsReq_r17; /* T_ha_GNSS_MetricsReq_r17 */ static int hf_lpp_gnss_SupportList; /* GNSS_SupportList */ static int hf_lpp_assistanceDataSupportList; /* AssistanceDataSupportList */ static int hf_lpp_periodicalReportingNotSupported_r14; /* PositioningModes */ static int hf_lpp_idleStateForMeasurements_r14_01; /* T_idleStateForMeasurements_r14_01 */ static int hf_lpp_periodicAssistanceData_r15_01; /* T_periodicAssistanceData_r15 */ static int hf_lpp_scheduledLocationRequestSupported_r17_01; /* ScheduledLocationTimeSupportPerMode_r17 */ static int hf_lpp_periodicReportingIntervalMsSupport_r18_01; /* PeriodicReportingIntervalMsSupportPerMode_r18 */ static int hf_lpp_GNSS_SupportList_item; /* GNSS_SupportElement */ static int hf_lpp_sbas_IDs; /* SBAS_IDs */ static int hf_lpp_agnss_Modes; /* PositioningModes */ static int hf_lpp_gnss_Signals; /* GNSS_SignalIDs */ static int hf_lpp_fta_MeasSupport; /* T_fta_MeasSupport */ static int hf_lpp_cellTime; /* AccessTypes */ static int hf_lpp_mode_02; /* PositioningModes */ static int hf_lpp_adr_Support; /* BOOLEAN */ static int hf_lpp_velocityMeasurementSupport; /* BOOLEAN */ static int hf_lpp_adrEnhancementsSupport_r15; /* T_adrEnhancementsSupport_r15 */ static int hf_lpp_ha_gnss_Modes_r15; /* PositioningModes */ static int hf_lpp_ha_gnss_MetricsSupport_r17; /* T_ha_gnss_MetricsSupport_r17 */ static int hf_lpp_gnss_CommonAssistanceDataSupport; /* GNSS_CommonAssistanceDataSupport */ static int hf_lpp_gnss_GenericAssistanceDataSupport; /* GNSS_GenericAssistanceDataSupport */ static int hf_lpp_gnss_ReferenceTimeSupport; /* GNSS_ReferenceTimeSupport */ static int hf_lpp_gnss_ReferenceLocationSupport; /* GNSS_ReferenceLocationSupport */ static int hf_lpp_gnss_IonosphericModelSupport; /* GNSS_IonosphericModelSupport */ static int hf_lpp_gnss_EarthOrientationParametersSupport; /* GNSS_EarthOrientationParametersSupport */ static int hf_lpp_gnss_RTK_ReferenceStationInfoSupport_r15; /* GNSS_RTK_ReferenceStationInfoSupport_r15 */ static int hf_lpp_gnss_RTK_AuxiliaryStationDataSupport_r15; /* GNSS_RTK_AuxiliaryStationDataSupport_r15 */ static int hf_lpp_gnss_Integrity_ServiceParametersSupport_r17; /* GNSS_Integrity_ServiceParametersSupport_r17 */ static int hf_lpp_gnss_Integrity_ServiceAlertSupport_r17; /* GNSS_Integrity_ServiceAlertSupport_r17 */ static int hf_lpp_gnss_SSR_IOD_UpdateSupport_r18; /* GNSS_SSR_IOD_UpdateSupport_r18 */ static int hf_lpp_gnss_SystemTime_01; /* GNSS_ID_Bitmap */ static int hf_lpp_fta_Support; /* AccessTypes */ static int hf_lpp_ionoModel; /* T_ionoModel */ static int hf_lpp_GNSS_GenericAssistanceDataSupport_item; /* GNSS_GenericAssistDataSupportElement */ static int hf_lpp_gnss_TimeModelsSupport; /* GNSS_TimeModelListSupport */ static int hf_lpp_gnss_DifferentialCorrectionsSupport; /* GNSS_DifferentialCorrectionsSupport */ static int hf_lpp_gnss_NavigationModelSupport; /* GNSS_NavigationModelSupport */ static int hf_lpp_gnss_RealTimeIntegritySupport; /* GNSS_RealTimeIntegritySupport */ static int hf_lpp_gnss_DataBitAssistanceSupport; /* GNSS_DataBitAssistanceSupport */ static int hf_lpp_gnss_AcquisitionAssistanceSupport; /* GNSS_AcquisitionAssistanceSupport */ static int hf_lpp_gnss_AlmanacSupport; /* GNSS_AlmanacSupport */ static int hf_lpp_gnss_UTC_ModelSupport; /* GNSS_UTC_ModelSupport */ static int hf_lpp_gnss_AuxiliaryInformationSupport; /* GNSS_AuxiliaryInformationSupport */ static int hf_lpp_bds_DifferentialCorrectionsSupport_r12; /* BDS_DifferentialCorrectionsSupport_r12 */ static int hf_lpp_bds_GridModelSupport_r12; /* BDS_GridModelSupport_r12 */ static int hf_lpp_gnss_RTK_ObservationsSupport_r15; /* GNSS_RTK_ObservationsSupport_r15 */ static int hf_lpp_glo_RTK_BiasInformationSupport_r15; /* GLO_RTK_BiasInformationSupport_r15 */ static int hf_lpp_gnss_RTK_MAC_CorrectionDifferencesSupport_r15; /* GNSS_RTK_MAC_CorrectionDifferencesSupport_r15 */ static int hf_lpp_gnss_RTK_ResidualsSupport_r15; /* GNSS_RTK_ResidualsSupport_r15 */ static int hf_lpp_gnss_RTK_FKP_GradientsSupport_r15; /* GNSS_RTK_FKP_GradientsSupport_r15 */ static int hf_lpp_gnss_SSR_OrbitCorrectionsSupport_r15; /* GNSS_SSR_OrbitCorrectionsSupport_r15 */ static int hf_lpp_gnss_SSR_ClockCorrectionsSupport_r15; /* GNSS_SSR_ClockCorrectionsSupport_r15 */ static int hf_lpp_gnss_SSR_CodeBiasSupport_r15; /* GNSS_SSR_CodeBiasSupport_r15 */ static int hf_lpp_gnss_SSR_URA_Support_r16; /* GNSS_SSR_URA_Support_r16 */ static int hf_lpp_gnss_SSR_PhaseBiasSupport_r16; /* GNSS_SSR_PhaseBiasSupport_r16 */ static int hf_lpp_gnss_SSR_STEC_CorrectionSupport_r16; /* GNSS_SSR_STEC_CorrectionSupport_r16 */ static int hf_lpp_gnss_SSR_GriddedCorrectionSupport_r16; /* GNSS_SSR_GriddedCorrectionSupport_r16 */ static int hf_lpp_navic_DifferentialCorrectionsSupport_r16; /* NavIC_DifferentialCorrectionsSupport_r16 */ static int hf_lpp_navic_GridModelSupport_r16; /* NavIC_GridModelSupport_r16 */ static int hf_lpp_gnss_SSR_OrbitCorrectionsSet2Support_r17; /* GNSS_SSR_OrbitCorrectionsSet2Support_r17 */ static int hf_lpp_gnss_SSR_ClockCorrectionsSet2Support_r17; /* GNSS_SSR_ClockCorrectionsSet2Support_r17 */ static int hf_lpp_gnss_SSR_URA_Set2Support_r17; /* GNSS_SSR_URA_Set2Support_r17 */ static int hf_lpp_gnss_LOS_NLOS_GriddedIndicationsSupport_r18; /* GNSS_LOS_NLOS_GriddedIndicationsSupport_r18 */ static int hf_lpp_gnss_SSR_SatellitePCVResidualsSupport_r18; /* GNSS_SSR_SatellitePCVResidualsSupport_r18 */ static int hf_lpp_gnssSignalIDs; /* GNSS_SignalIDs */ static int hf_lpp_dgnss_ValidityTimeSup; /* BOOLEAN */ static int hf_lpp_clockModel; /* T_clockModel */ static int hf_lpp_orbitModel; /* T_orbitModel */ static int hf_lpp_confidenceSupport_r10; /* T_confidenceSupport_r10 */ static int hf_lpp_dopplerUncertaintyExtSupport_r10; /* T_dopplerUncertaintyExtSupport_r10 */ static int hf_lpp_almanacModel; /* T_almanacModel */ static int hf_lpp_utc_Model; /* T_utc_Model */ static int hf_lpp_gnssSignalIDs_r15; /* GNSS_SignalIDs */ static int hf_lpp_link_combinations_support_r15; /* GNSS_Link_CombinationsList_r15 */ static int hf_lpp_orbit_IntegritySup_r17; /* T_orbit_IntegritySup_r17 */ static int hf_lpp_clock_IntegrityParameterSupport_r17; /* T_clock_IntegrityParameterSupport_r17 */ static int hf_lpp_ssr_IntegrityClockBoundsSupport_r17; /* T_ssr_IntegrityClockBoundsSupport_r17 */ static int hf_lpp_signal_and_tracking_mode_ID_Sup_r15; /* GNSS_SignalIDs */ static int hf_lpp_ssr_IntegrityCodeBiasBoundsSup_r17; /* T_ssr_IntegrityCodeBiasBoundsSup_r17 */ static int hf_lpp_signal_and_tracking_mode_ID_Sup_r16; /* GNSS_SignalIDs */ static int hf_lpp_ssr_IntegrityPhaseBiasBoundsSup_r17; /* T_ssr_IntegrityPhaseBiasBoundsSup_r17 */ static int hf_lpp_stec_IntegritySup_r17; /* T_stec_IntegritySup_r17 */ static int hf_lpp_griddedCorrectionIntegritySup_r17; /* T_griddedCorrectionIntegritySup_r17 */ static int hf_lpp_gnssSignalIDs_r16; /* GNSS_SignalIDs */ static int hf_lpp_gnss_SupportListReq; /* BOOLEAN */ static int hf_lpp_assistanceDataSupportListReq; /* BOOLEAN */ static int hf_lpp_locationVelocityTypesReq; /* BOOLEAN */ static int hf_lpp_locationServerErrorCauses_01; /* GNSS_LocationServerErrorCauses */ static int hf_lpp_targetDeviceErrorCauses_01; /* GNSS_TargetDeviceErrorCauses */ static int hf_lpp_cause_02; /* T_cause_02 */ static int hf_lpp_cause_03; /* T_cause_03 */ static int hf_lpp_fineTimeAssistanceMeasurementsNotPossible; /* NULL */ static int hf_lpp_adrMeasurementsNotPossible; /* NULL */ static int hf_lpp_multiFrequencyMeasurementsNotPossible; /* NULL */ static int hf_lpp_remoteUE_Indication_r18_01; /* T_remoteUE_Indication_r18 */ static int hf_lpp_gnss_FrequencyID_r15; /* INTEGER_0_7 */ static int hf_lpp_gnss_id; /* T_gnss_id */ static int hf_lpp_gnss_ids; /* T_gnss_ids */ static int hf_lpp_GNSS_Link_CombinationsList_r15_item; /* GNSS_Link_Combinations_r15 */ static int hf_lpp_GNSS_NavListInfo_r15_item; /* SatListElement_r15 */ static int hf_lpp_networkID_r15_01; /* INTEGER_0_255 */ static int hf_lpp_deliveryAmount_r15; /* INTEGER_1_32 */ static int hf_lpp_deliveryInterval_r15; /* INTEGER_1_64 */ static int hf_lpp_referenceStationID_r15_01; /* INTEGER_0_65535 */ static int hf_lpp_providerName_r15; /* VisibleString_SIZE_1_32 */ static int hf_lpp_gnss_SignalID_01; /* INTEGER_0_7 */ static int hf_lpp_gnss_SignalID_Ext_r15; /* INTEGER_8_23 */ static int hf_lpp_gnss_SignalIDs; /* BIT_STRING_SIZE_8 */ static int hf_lpp_gnss_SignalIDs_Ext_r15; /* BIT_STRING_SIZE_16 */ static int hf_lpp_subNetworkID_r15_01; /* INTEGER_0_15 */ static int hf_lpp_sbas_id; /* T_sbas_id */ static int hf_lpp_sbas_IDs_01; /* T_sbas_IDs */ static int hf_lpp_satellite_id; /* INTEGER_0_63 */ static int hf_lpp_ecid_SignalMeasurementInformation; /* ECID_SignalMeasurementInformation */ static int hf_lpp_ecid_Error; /* ECID_Error */ static int hf_lpp_primaryCellMeasuredResults; /* MeasuredResultsElement */ static int hf_lpp_measuredResultsList; /* MeasuredResultsList */ static int hf_lpp_MeasuredResultsList_item; /* MeasuredResultsElement */ static int hf_lpp_arfcnEUTRA; /* ARFCN_ValueEUTRA */ static int hf_lpp_rsrp_Result; /* INTEGER_0_97 */ static int hf_lpp_rsrq_Result; /* INTEGER_0_34 */ static int hf_lpp_ue_RxTxTimeDiff; /* INTEGER_0_4095 */ static int hf_lpp_arfcnEUTRA_v9a0; /* ARFCN_ValueEUTRA_v9a0 */ static int hf_lpp_nrsrp_Result_r14; /* INTEGER_0_113 */ static int hf_lpp_nrsrq_Result_r14; /* INTEGER_0_74 */ static int hf_lpp_carrierFreqOffsetNB_r14; /* CarrierFreqOffsetNB_r14 */ static int hf_lpp_rsrp_Result_v1470; /* INTEGER_M17_M1 */ static int hf_lpp_rsrq_Result_v1470; /* INTEGER_M30_46 */ static int hf_lpp_requestedMeasurements; /* T_requestedMeasurements */ static int hf_lpp_ecid_MeasSupported; /* T_ecid_MeasSupported */ static int hf_lpp_ueRxTxSupTDD_r13; /* T_ueRxTxSupTDD_r13 */ static int hf_lpp_periodicalReporting_r14_01; /* T_periodicalReporting_r14_01 */ static int hf_lpp_triggeredReporting_r14; /* T_triggeredReporting_r14 */ static int hf_lpp_idleStateForMeasurements_r14_02; /* T_idleStateForMeasurements_r14_02 */ static int hf_lpp_locationServerErrorCauses_02; /* ECID_LocationServerErrorCauses */ static int hf_lpp_targetDeviceErrorCauses_02; /* ECID_TargetDeviceErrorCauses */ static int hf_lpp_cause_04; /* T_cause_04 */ static int hf_lpp_cause_05; /* T_cause_05 */ static int hf_lpp_rsrpMeasurementNotPossible; /* NULL */ static int hf_lpp_rsrqMeasurementNotPossible; /* NULL */ static int hf_lpp_ueRxTxMeasurementNotPossible; /* NULL */ static int hf_lpp_nrsrpMeasurementNotPossible_r14; /* NULL */ static int hf_lpp_nrsrqMeasurementNotPossible_r14; /* NULL */ static int hf_lpp_tbs_MeasurementInformation_r13; /* TBS_MeasurementInformation_r13 */ static int hf_lpp_tbs_Error_r13; /* TBS_Error_r13 */ static int hf_lpp_measurementReferenceTime_r13; /* UTCTime */ static int hf_lpp_mbs_SgnMeasList_r13; /* MBS_BeaconMeasList_r13 */ static int hf_lpp_MBS_BeaconMeasList_r13_item; /* MBS_BeaconMeasElement_r13 */ static int hf_lpp_transmitterID_r13; /* INTEGER_0_32767 */ static int hf_lpp_codePhase_r13; /* INTEGER_0_2097151 */ static int hf_lpp_codePhaseRMSError_r13; /* INTEGER_0_63 */ static int hf_lpp_rssi_r14; /* INTEGER_M130_M30 */ static int hf_lpp_mbsSgnMeasListReq_r13; /* BOOLEAN */ static int hf_lpp_mbsAssistanceAvailability_r14; /* BOOLEAN */ static int hf_lpp_mbsRequestedMeasurements_r14; /* T_mbsRequestedMeasurements_r14 */ static int hf_lpp_tbs_Modes_r13; /* T_tbs_Modes_r13 */ static int hf_lpp_mbs_AssistanceDataSupportList_r14; /* MBS_AssistanceDataSupportList_r14 */ static int hf_lpp_periodicalReportingSupported_r14; /* PositioningModes */ static int hf_lpp_mbs_ConfigSupport_r14; /* T_mbs_ConfigSupport_r14 */ static int hf_lpp_mbs_IdleStateForMeasurements_r14; /* T_mbs_IdleStateForMeasurements_r14 */ static int hf_lpp_mbs_AcquisitionAssistanceDataSupport_r14; /* BOOLEAN */ static int hf_lpp_mbs_AlmanacAssistanceDataSupport_r14; /* BOOLEAN */ static int hf_lpp_locationServerErrorCauses_r13; /* TBS_LocationServerErrorCauses_r13 */ static int hf_lpp_targetDeviceErrorCauses_r13; /* TBS_TargetDeviceErrorCauses_r13 */ static int hf_lpp_cause_r13; /* T_cause_r13 */ static int hf_lpp_cause_r13_01; /* T_cause_r13_01 */ static int hf_lpp_tbs_AssistanceDataList_r14; /* TBS_AssistanceDataList_r14 */ static int hf_lpp_tbs_Error_r14; /* TBS_Error_r13 */ static int hf_lpp_mbs_AssistanceDataList_r14; /* MBS_AssistanceDataList_r14 */ static int hf_lpp_MBS_AssistanceDataList_r14_item; /* MBS_AssistanceDataElement_r14 */ static int hf_lpp_mbs_AlmanacAssistance_r14; /* MBS_AlmanacAssistance_r14 */ static int hf_lpp_mbs_AcquisitionAssistance_r14; /* MBS_AcquisitionAssistance_r14 */ static int hf_lpp_transmitterID_r14; /* INTEGER_0_32767 */ static int hf_lpp_transmitterLatitude_r14; /* T_transmitterLatitude_r14 */ static int hf_lpp_transmitterLongitude_r14; /* T_transmitterLongitude_r14 */ static int hf_lpp_transmitterAltitude_r14; /* T_transmitterAltitude_r14 */ static int hf_lpp_timeCorrection_r14; /* INTEGER_0_25 */ static int hf_lpp_mbsConfiguration_r14; /* T_mbsConfiguration_r14 */ static int hf_lpp_pnCodeIndex_r14; /* INTEGER_1_128 */ static int hf_lpp_freq_r14; /* INTEGER_919750000_927250000 */ static int hf_lpp_mbs_AlmanacAssistanceDataReq_r14; /* BOOLEAN */ static int hf_lpp_mbs_AcquisitionAssistanceDataReq_r14; /* BOOLEAN */ static int hf_lpp_sensor_MeasurementInformation_r13; /* Sensor_MeasurementInformation_r13 */ static int hf_lpp_sensor_Error_r13; /* Sensor_Error_r13 */ static int hf_lpp_sensor_MotionInformation_r15; /* Sensor_MotionInformation_r15 */ static int hf_lpp_uncompensatedBarometricPressure_r13; /* INTEGER_30000_115000 */ static int hf_lpp_uncertainty_r14; /* T_uncertainty_r14 */ static int hf_lpp_range_r14; /* INTEGER_0_1000 */ static int hf_lpp_confidence_r14; /* INTEGER_1_100 */ static int hf_lpp_adjustment_r16; /* INTEGER_M5000_5000 */ static int hf_lpp_refTime_r15; /* DisplacementTimeStamp_r15 */ static int hf_lpp_displacementInfoList_r15; /* DisplacementInfoList_r15 */ static int hf_lpp_DisplacementInfoList_r15_item; /* DisplacementInfoListElement_r15 */ static int hf_lpp_deltaTimeStamp_r15; /* DeltaTime_r15 */ static int hf_lpp_displacement_r15; /* Displacement_r15 */ static int hf_lpp_utcTime_r15; /* UTC_Time_r15 */ static int hf_lpp_gnssTime_r15; /* MeasurementReferenceTime */ static int hf_lpp_systemFrameNumber_r15; /* SFN_r15 */ static int hf_lpp_measurementSFN_r15; /* INTEGER_M8192_9214 */ static int hf_lpp_deltaTimeSec_r15; /* INTEGER_1_16384 */ static int hf_lpp_deltaTimeSFN_r15; /* INTEGER_1_4096 */ static int hf_lpp_sfn_r15; /* BIT_STRING_SIZE_10 */ static int hf_lpp_hyperSFN_r15; /* BIT_STRING_SIZE_10 */ static int hf_lpp_bearing_r15; /* INTEGER_0_3599 */ static int hf_lpp_bearingUncConfidence_r15; /* INTEGER_0_100 */ static int hf_lpp_bearingRef_r15; /* T_bearingRef_r15 */ static int hf_lpp_horizontalDistance_r15; /* INTEGER_0_8191 */ static int hf_lpp_horizontalDistanceUnc_r15; /* INTEGER_0_255 */ static int hf_lpp_horizontalUncConfidence_r15; /* INTEGER_0_100 */ static int hf_lpp_verticalDirection_r15; /* T_verticalDirection_r15 */ static int hf_lpp_verticalDistance_r15; /* INTEGER_0_8191 */ static int hf_lpp_verticalDistanceUnc_r15; /* INTEGER_0_255 */ static int hf_lpp_verticalUncConfidence_r15; /* INTEGER_0_100 */ static int hf_lpp_utcTime_r15_01; /* UTCTime */ static int hf_lpp_utcTime_ms_r15; /* INTEGER_0_999 */ static int hf_lpp_uncompensatedBarometricPressureReq_r13; /* BOOLEAN */ static int hf_lpp_assistanceAvailability_r14; /* BOOLEAN */ static int hf_lpp_sensor_MotionInformationReq_r15; /* BOOLEAN */ static int hf_lpp_adjustmentReq_r16; /* BOOLEAN */ static int hf_lpp_sensor_Modes_r13; /* T_sensor_Modes_r13 */ static int hf_lpp_sensor_AssistanceDataSupportList_r14; /* Sensor_AssistanceDataSupportList_r14 */ static int hf_lpp_idleStateForMeasurements_r14_03; /* T_idleStateForMeasurements_r14_03 */ static int hf_lpp_sensor_MotionInformationSup_r15; /* T_sensor_MotionInformationSup_r15 */ static int hf_lpp_adjustmentSupported_r16; /* T_adjustmentSupported_r16 */ static int hf_lpp_validityPeriodSupported_v1520; /* T_validityPeriodSupported_v1520 */ static int hf_lpp_validityAreaSupported_v1520; /* T_validityAreaSupported_v1520 */ static int hf_lpp_locationServerErrorCauses_r13_01; /* Sensor_LocationServerErrorCauses_r13 */ static int hf_lpp_targetDeviceErrorCauses_r13_01; /* Sensor_TargetDeviceErrorCauses_r13 */ static int hf_lpp_cause_r13_02; /* T_cause_r13_02 */ static int hf_lpp_cause_r13_03; /* T_cause_r13_03 */ static int hf_lpp_sensor_AssistanceDataList_r14; /* Sensor_AssistanceDataList_r14 */ static int hf_lpp_sensor_Error_r14; /* Sensor_Error_r13 */ static int hf_lpp_refPressure_r14; /* INTEGER_M20000_10000 */ static int hf_lpp_refPosition_r14; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */ static int hf_lpp_refTemperature_r14; /* INTEGER_M64_63 */ static int hf_lpp_period_v1520; /* T_period_v1520 */ static int hf_lpp_pressureValidityPeriod_v1520; /* PressureValidityPeriod_v1520 */ static int hf_lpp_referencePressureRate_v1520; /* INTEGER_M128_127 */ static int hf_lpp_area_v1520; /* T_area_v1520 */ static int hf_lpp_pressureValidityArea_v1520; /* PressureValidityArea_v1520 */ static int hf_lpp_gN_pressure_v1520; /* T_gN_pressure_v1520 */ static int hf_lpp_gE_pressure_v1520; /* T_gE_pressure_v1520 */ static int hf_lpp_centerPoint_v1520; /* Ellipsoid_Point */ static int hf_lpp_validityAreaWidth_v1520; /* INTEGER_1_128 */ static int hf_lpp_validityAreaHeight_v1520; /* INTEGER_1_128 */ static int hf_lpp_beginTime_v1520; /* GNSS_SystemTime */ static int hf_lpp_beginTimeAlt_v1520; /* INTEGER_0_2881 */ static int hf_lpp_duration_v1520; /* INTEGER_1_2881 */ static int hf_lpp_wlan_MeasurementInformation_r13; /* WLAN_MeasurementInformation_r13 */ static int hf_lpp_wlan_Error_r13; /* WLAN_Error_r13 */ static int hf_lpp_wlan_MeasurementList_r13; /* WLAN_MeasurementList_r13 */ static int hf_lpp_WLAN_MeasurementList_r13_item; /* WLAN_MeasurementElement_r13 */ static int hf_lpp_wlan_AP_Identifier_r13; /* WLAN_AP_Identifier_r13 */ static int hf_lpp_rssi_r13; /* INTEGER_M127_128 */ static int hf_lpp_rtt_r13; /* WLAN_RTT_r13 */ static int hf_lpp_apChannelFrequency_r13; /* INTEGER_0_256 */ static int hf_lpp_servingFlag_r13; /* BOOLEAN */ static int hf_lpp_bssid_r13; /* OCTET_STRING_SIZE_6 */ static int hf_lpp_ssid_r13; /* T_ssid_r13 */ static int hf_lpp_rttValue_r13; /* INTEGER_0_16777215 */ static int hf_lpp_rttUnits_r13; /* T_rttUnits_r13 */ static int hf_lpp_rttAccuracy_r13; /* INTEGER_0_255 */ static int hf_lpp_requestedMeasurements_r13; /* T_requestedMeasurements_r13 */ static int hf_lpp_wlan_Modes_r13; /* T_wlan_Modes_r13 */ static int hf_lpp_wlan_MeasSupported_r13; /* T_wlan_MeasSupported_r13 */ static int hf_lpp_wlan_AP_AD_Supported_r14; /* T_wlan_AP_AD_Supported_r14 */ static int hf_lpp_idleStateForMeasurements_r14_04; /* T_idleStateForMeasurements_r14_04 */ static int hf_lpp_locationServerErrorCauses_r13_02; /* WLAN_LocationServerErrorCauses_r13 */ static int hf_lpp_targetDeviceErrorCauses_r13_02; /* WLAN_TargetDeviceErrorCauses_r13 */ static int hf_lpp_cause_r13_04; /* T_cause_r13_04 */ static int hf_lpp_apLocationDataUnavailable_r14; /* NULL */ static int hf_lpp_cause_r13_05; /* T_cause_r13_05 */ static int hf_lpp_wlan_AP_RSSI_MeasurementNotPossible_r13; /* NULL */ static int hf_lpp_wlan_AP_RTT_MeasurementNotPossible_r13; /* NULL */ static int hf_lpp_wlan_DataSet_r14; /* SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14 */ static int hf_lpp_wlan_DataSet_r14_item; /* WLAN_DataSet_r14 */ static int hf_lpp_wlan_Error_r14; /* WLAN_Error_r13 */ static int hf_lpp_wlan_AP_List_r14; /* SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14 */ static int hf_lpp_wlan_AP_List_r14_item; /* WLAN_AP_Data_r14 */ static int hf_lpp_supportedChannels_11a_r14; /* SupportedChannels_11a_r14 */ static int hf_lpp_supportedChannels_11bg_r14; /* SupportedChannels_11bg_r14 */ static int hf_lpp_ch34_r14; /* BOOLEAN */ static int hf_lpp_ch36_r14; /* BOOLEAN */ static int hf_lpp_ch38_r14; /* BOOLEAN */ static int hf_lpp_ch40_r14; /* BOOLEAN */ static int hf_lpp_ch42_r14; /* BOOLEAN */ static int hf_lpp_ch44_r14; /* BOOLEAN */ static int hf_lpp_ch46_r14; /* BOOLEAN */ static int hf_lpp_ch48_r14; /* BOOLEAN */ static int hf_lpp_ch52_r14; /* BOOLEAN */ static int hf_lpp_ch56_r14; /* BOOLEAN */ static int hf_lpp_ch60_r14; /* BOOLEAN */ static int hf_lpp_ch64_r14; /* BOOLEAN */ static int hf_lpp_ch149_r14; /* BOOLEAN */ static int hf_lpp_ch153_r14; /* BOOLEAN */ static int hf_lpp_ch157_r14; /* BOOLEAN */ static int hf_lpp_ch161_r14; /* BOOLEAN */ static int hf_lpp_ch1_r14; /* BOOLEAN */ static int hf_lpp_ch2_r14; /* BOOLEAN */ static int hf_lpp_ch3_r14; /* BOOLEAN */ static int hf_lpp_ch4_r14; /* BOOLEAN */ static int hf_lpp_ch5_r14; /* BOOLEAN */ static int hf_lpp_ch6_r14; /* BOOLEAN */ static int hf_lpp_ch7_r14; /* BOOLEAN */ static int hf_lpp_ch8_r14; /* BOOLEAN */ static int hf_lpp_ch9_r14; /* BOOLEAN */ static int hf_lpp_ch10_r14; /* BOOLEAN */ static int hf_lpp_ch11_r14; /* BOOLEAN */ static int hf_lpp_ch12_r14; /* BOOLEAN */ static int hf_lpp_ch13_r14; /* BOOLEAN */ static int hf_lpp_ch14_r14; /* BOOLEAN */ static int hf_lpp_wlan_AP_Identifier_r14; /* WLAN_AP_Identifier_r13 */ static int hf_lpp_wlan_AP_Location_r14; /* WLAN_AP_Location_r14 */ static int hf_lpp_locationDataLCI_r14; /* LocationDataLCI_r14 */ static int hf_lpp_latitudeUncertainty_r14; /* BIT_STRING_SIZE_6 */ static int hf_lpp_latitude_r14; /* BIT_STRING_SIZE_34 */ static int hf_lpp_longitudeUncertainty_r14; /* BIT_STRING_SIZE_6 */ static int hf_lpp_longitude_r14; /* BIT_STRING_SIZE_34 */ static int hf_lpp_altitudeUncertainty_r14; /* BIT_STRING_SIZE_6 */ static int hf_lpp_altitude_r14; /* BIT_STRING_SIZE_30 */ static int hf_lpp_datum_r14; /* BIT_STRING_SIZE_8 */ static int hf_lpp_requestedAD_r14; /* T_requestedAD_r14 */ static int hf_lpp_visibleAPs_r14; /* SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13 */ static int hf_lpp_visibleAPs_r14_item; /* WLAN_AP_Identifier_r13 */ static int hf_lpp_wlan_AP_StoredData_r14; /* SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13 */ static int hf_lpp_wlan_AP_StoredData_r14_item; /* WLAN_AP_Identifier_r13 */ static int hf_lpp_bt_MeasurementInformation_r13; /* BT_MeasurementInformation_r13 */ static int hf_lpp_bt_Error_r13; /* BT_Error_r13 */ static int hf_lpp_bt_AoA_Config_r18; /* BT_AoA_Config_r18 */ static int hf_lpp_bt_Addr_r18; /* BIT_STRING_SIZE_48 */ static int hf_lpp_cte_Status_r18; /* T_cte_Status_r18 */ static int hf_lpp_primaryAdvInterval_r18; /* INTEGER_32_16777 */ static int hf_lpp_secondAdvInterval_r18; /* INTEGER_6_65535 */ static int hf_lpp_tx_Power_r18; /* INTEGER_M127_20 */ static int hf_lpp_cte_Length_r18; /* INTEGER_2_20 */ static int hf_lpp_cte_Count_r18; /* INTEGER_1_16 */ static int hf_lpp_tx_PHY_M2_r18; /* T_tx_PHY_M2_r18 */ static int hf_lpp_bt_MeasurementList_r13; /* BT_MeasurementList_r13 */ static int hf_lpp_bt_MeasurementList_r18; /* BT_MeasurementList_r18 */ static int hf_lpp_BT_MeasurementList_r13_item; /* BT_MeasurementElement_r13 */ static int hf_lpp_btAddr_r13; /* T_btAddr_r13 */ static int hf_lpp_rssi_r13_01; /* INTEGER_M128_127 */ static int hf_lpp_BT_MeasurementList_r18_item; /* BT_MeasurementElement_r18 */ static int hf_lpp_btAddr_r18; /* BIT_STRING_SIZE_48 */ static int hf_lpp_bt_azimuth_r18; /* INTEGER_0_359 */ static int hf_lpp_bt_elevation_r18; /* INTEGER_0_180 */ static int hf_lpp_rssi_r18; /* INTEGER_M128_127 */ static int hf_lpp_requestedMeasurements_r13_01; /* T_requestedMeasurements_r13_01 */ static int hf_lpp_bt_requestedAoA_Config_r18; /* T_bt_requestedAoA_Config_r18 */ static int hf_lpp_bt_suggestedAoA_Config_r18; /* BT_SuggestedAoA_Config_r18 */ static int hf_lpp_cte_Status_r18_01; /* T_cte_Status_r18_01 */ static int hf_lpp_tx_PHY_M2_r18_01; /* T_tx_PHY_M2_r18_01 */ static int hf_lpp_bt_Modes_r13; /* T_bt_Modes_r13 */ static int hf_lpp_bt_MeasSupported_r13; /* T_bt_MeasSupported_r13 */ static int hf_lpp_idleStateForMeasurements_r14_05; /* T_idleStateForMeasurements_r14_05 */ static int hf_lpp_bt_AoA_r18; /* T_bt_AoA_r18 */ static int hf_lpp_locationServerErrorCauses_r13_03; /* BT_LocationServerErrorCauses_r13 */ static int hf_lpp_targetDeviceErrorCauses_r13_03; /* BT_TargetDeviceErrorCauses_r13 */ static int hf_lpp_cause_r13_06; /* T_cause_r13_06 */ static int hf_lpp_cause_r13_07; /* T_cause_r13_07 */ static int hf_lpp_bt_Beacon_rssiMeasurementNotPossible_r13; /* NULL */ static int hf_lpp_bt_BeaconInfo_r18; /* BT_BeaconInfo_r18 */ static int hf_lpp_bt_Error_r18; /* BT_Error_r13 */ static int hf_lpp_referencePoint_r18; /* ReferencePoint_r16 */ static int hf_lpp_bt_BeaconInfoList_r18; /* SEQUENCE_SIZE_1_maxBT_BeaconAD_r18_OF_BT_BeaconInfoElement_r18 */ static int hf_lpp_bt_BeaconInfoList_r18_item; /* BT_BeaconInfoElement_r18 */ static int hf_lpp_bt_BeaconLocation_r18; /* RelativeLocation_r16 */ static int hf_lpp_bt_LCS_GCS_TranslationParameter_r18; /* LCS_GCS_TranslationParameter_r16 */ static int hf_lpp_bt_antArrayConfig_r18; /* BT_AntArrayConfig_r18 */ static int hf_lpp_bt_antElementList_r18; /* SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntElement_r18 */ static int hf_lpp_bt_antElementList_r18_item; /* BT_AntElement_r18 */ static int hf_lpp_bt_antSwitchingPattern_r18; /* SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntSwitchElement_r18 */ static int hf_lpp_bt_antSwitchingPattern_r18_item; /* BT_AntSwitchElement_r18 */ static int hf_lpp_bt_AoD_TransmConfig_r18; /* BT_AoD_TransmConfig_r18 */ static int hf_lpp_bt_UniformLinearArray_r18; /* BT_UniformLinearArray_r18 */ static int hf_lpp_bt_UniformRectangularArray_r18; /* BT_UniformRectangularArray_r18 */ static int hf_lpp_bt_UniformCircularArray_r18; /* BT_UniformCircularArray_r18 */ static int hf_lpp_bt_GenericArray_r18; /* BT_GenericArray_r18 */ static int hf_lpp_polarization_r18; /* T_polarization_r18 */ static int hf_lpp_antElementIndexShort_r18; /* INTEGER_1_16 */ static int hf_lpp_antElementIndexOffset_r18; /* T_antElementIndexOffset_r18 */ static int hf_lpp_cte_Type2us_r18; /* T_cte_Type2us_r18 */ static int hf_lpp_tx_PHY_M2_r18_02; /* T_tx_PHY_M2_r18_02 */ static int hf_lpp_bt_NoElements_r18; /* INTEGER_2_maxBT_BeaconAntElt_r18 */ static int hf_lpp_bt_InterElementDist_r18; /* INTEGER_30_130 */ static int hf_lpp_bt_NoElementsY_r18; /* INTEGER_1_maxBT_BeaconAntElt_r18 */ static int hf_lpp_bt_NoElementsZ_r18; /* INTEGER_1_maxBT_BeaconAntElt_r18 */ static int hf_lpp_bt_InterElementDistY_r18; /* INTEGER_30_135 */ static int hf_lpp_bt_InterElementDistZ_r18; /* INTEGER_30_135 */ static int hf_lpp_BT_GenericArray_r18_item; /* BT_ULA_GenericAntElement_r18 */ static int hf_lpp_deltaY_r18; /* INTEGER_M135_135 */ static int hf_lpp_deltaX_r18; /* INTEGER_M135_135 */ static int hf_lpp_deltaZ_r18; /* INTEGER_M135_135 */ static int hf_lpp_requestedAD_r18; /* T_requestedAD_r18 */ static int hf_lpp_nr_UL_SRS_Capability_r16; /* NR_UL_SRS_Capability_r16 */ static int hf_lpp_nr_UE_TEG_Capability_r17; /* NR_UE_TEG_Capability_r17 */ static int hf_lpp_nr_ECID_SignalMeasurementInformation_r16; /* NR_ECID_SignalMeasurementInformation_r16 */ static int hf_lpp_nr_ECID_Error_r16; /* NR_ECID_Error_r16 */ static int hf_lpp_nr_PrimaryCellMeasuredResults_r16; /* NR_MeasuredResultsElement_r16 */ static int hf_lpp_nr_MeasuredResultsList_r16; /* NR_MeasuredResultsList_r16 */ static int hf_lpp_NR_MeasuredResultsList_r16_item; /* NR_MeasuredResultsElement_r16 */ static int hf_lpp_nr_ARFCN_r16_01; /* T_nr_ARFCN_r16 */ static int hf_lpp_ssb_ARFCN_r16; /* ARFCN_ValueNR_r15 */ static int hf_lpp_csi_RS_pointA_r16; /* ARFCN_ValueNR_r15 */ static int hf_lpp_resultsSSB_Cell_r16; /* MeasQuantityResults_r16 */ static int hf_lpp_resultsCSI_RS_Cell_r16; /* MeasQuantityResults_r16 */ static int hf_lpp_resultsSSB_Indexes_r16; /* ResultsPerSSB_IndexList_r16 */ static int hf_lpp_resultsCSI_RS_Indexes_r16; /* ResultsPerCSI_RS_IndexList_r16 */ static int hf_lpp_nr_RSRP_r16; /* INTEGER_0_127 */ static int hf_lpp_nr_RSRQ_r16; /* INTEGER_0_127 */ static int hf_lpp_ResultsPerSSB_IndexList_r16_item; /* ResultsPerSSB_Index_r16 */ static int hf_lpp_ssb_Results_r16; /* MeasQuantityResults_r16 */ static int hf_lpp_ResultsPerCSI_RS_IndexList_r16_item; /* ResultsPerCSI_RS_Index_r16 */ static int hf_lpp_csi_RS_Index_r16; /* INTEGER_0_95 */ static int hf_lpp_csi_RS_Results_r16; /* MeasQuantityResults_r16 */ static int hf_lpp_requestedMeasurements_r16; /* T_requestedMeasurements_r16 */ static int hf_lpp_nr_ECID_MeasSupported_r16; /* T_nr_ECID_MeasSupported_r16 */ static int hf_lpp_periodicalReporting_r16; /* T_periodicalReporting_r16 */ static int hf_lpp_triggeredReporting_r16; /* T_triggeredReporting_r16 */ static int hf_lpp_ten_ms_unit_ResponseTime_r17; /* T_ten_ms_unit_ResponseTime_r17 */ static int hf_lpp_locationServerErrorCauses_r16; /* NR_ECID_LocationServerErrorCauses_r16 */ static int hf_lpp_targetDeviceErrorCauses_r16; /* NR_ECID_TargetDeviceErrorCauses_r16 */ static int hf_lpp_cause_r16; /* T_cause_r16 */ static int hf_lpp_cause_r16_01; /* T_cause_r16_01 */ static int hf_lpp_ss_RSRPMeasurementNotPossible_r16; /* NULL */ static int hf_lpp_ss_RSRQMeasurementNotPossible_r16; /* NULL */ static int hf_lpp_csi_RSRPMeasurementNotPossible_r16; /* NULL */ static int hf_lpp_csi_RSRQMeasurementNotPossible_r16; /* NULL */ static int hf_lpp_remoteUE_Indication_r18_02; /* T_remoteUE_Indication_r18_01 */ static int hf_lpp_nr_DL_PRS_AssistanceData_r16; /* NR_DL_PRS_AssistanceData_r16 */ static int hf_lpp_nr_SelectedDL_PRS_IndexList_r16; /* NR_SelectedDL_PRS_IndexList_r16 */ static int hf_lpp_nr_PositionCalculationAssistance_r16; /* NR_PositionCalculationAssistance_r16 */ static int hf_lpp_nr_DL_TDOA_Error_r16; /* NR_DL_TDOA_Error_r16 */ static int hf_lpp_nr_On_Demand_DL_PRS_Configurations_r17; /* NR_On_Demand_DL_PRS_Configurations_r17 */ static int hf_lpp_nr_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17; /* NR_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17 */ static int hf_lpp_assistanceDataValidityArea_r17; /* AreaID_CellList_r17 */ static int hf_lpp_nr_PeriodicAssistData_r18; /* NR_PeriodicAssistData_r18 */ static int hf_lpp_nr_AdType_r16; /* T_nr_AdType_r16 */ static int hf_lpp_nr_PosCalcAssistanceRequest_r17; /* T_nr_PosCalcAssistanceRequest_r17 */ static int hf_lpp_nr_on_demand_DL_PRS_Request_r17; /* NR_On_Demand_DL_PRS_Request_r17 */ static int hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17; /* T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17 */ static int hf_lpp_pre_configured_AssistanceDataRequest_r17; /* T_pre_configured_AssistanceDataRequest_r17 */ static int hf_lpp_nr_PeriodicAssistDataReq_r18; /* NR_PeriodicAssistDataReq_r18 */ static int hf_lpp_nr_IntegrityAssistanceRequest_r18; /* T_nr_IntegrityAssistanceRequest_r18 */ static int hf_lpp_nr_DL_TDOA_SignalMeasurementInformation_r16; /* NR_DL_TDOA_SignalMeasurementInformation_r16 */ static int hf_lpp_nr_dl_tdoa_LocationInformation_r16; /* NR_DL_TDOA_LocationInformation_r16 */ static int hf_lpp_nr_DL_TDOA_SignalMeasurementInstances_r17; /* SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_SignalMeasurementInformation_r16 */ static int hf_lpp_nr_DL_TDOA_SignalMeasurementInstances_r17_item; /* NR_DL_TDOA_SignalMeasurementInformation_r16 */ static int hf_lpp_nr_DL_TDOA_LocationInformationInstances_r17; /* SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_LocationInformation_r16 */ static int hf_lpp_nr_DL_TDOA_LocationInformationInstances_r17_item; /* NR_DL_TDOA_LocationInformation_r16 */ static int hf_lpp_dl_PRS_ReferenceInfo_r16; /* DL_PRS_ID_Info_r16 */ static int hf_lpp_nr_DL_TDOA_MeasList_r16; /* NR_DL_TDOA_MeasList_r16 */ static int hf_lpp_nr_UE_RxTEG_TimingErrorMargin_r17; /* TEG_TimingErrorMargin_r17 */ static int hf_lpp_NR_DL_TDOA_MeasList_r16_item; /* NR_DL_TDOA_MeasElement_r16 */ static int hf_lpp_nr_TimeStamp_r16; /* NR_TimeStamp_r16 */ static int hf_lpp_nr_RSTD_r16; /* T_nr_RSTD_r16 */ static int hf_lpp_k0_r16_01; /* INTEGER_0_1970049 */ static int hf_lpp_k1_r16_01; /* INTEGER_0_985025 */ static int hf_lpp_k2_r16_01; /* INTEGER_0_492513 */ static int hf_lpp_k3_r16_01; /* INTEGER_0_246257 */ static int hf_lpp_k4_r16_01; /* INTEGER_0_123129 */ static int hf_lpp_k5_r16_01; /* INTEGER_0_61565 */ static int hf_lpp_kMinus6_r18_01; /* INTEGER_0_126083073 */ static int hf_lpp_kMinus5_r18_01; /* INTEGER_0_63041537 */ static int hf_lpp_kMinus4_r18_01; /* INTEGER_0_31520769 */ static int hf_lpp_kMinus3_r18_01; /* INTEGER_0_15760385 */ static int hf_lpp_kMinus2_r18_01; /* INTEGER_0_7880193 */ static int hf_lpp_kMinus1_r18_01; /* INTEGER_0_3940097 */ static int hf_lpp_nr_AdditionalPathList_r16; /* NR_AdditionalPathList_r16 */ static int hf_lpp_nr_TimingQuality_r16; /* NR_TimingQuality_r16 */ static int hf_lpp_nr_DL_PRS_RSRP_Result_r16; /* INTEGER_0_126 */ static int hf_lpp_nr_DL_TDOA_AdditionalMeasurements_r16; /* NR_DL_TDOA_AdditionalMeasurements_r16 */ static int hf_lpp_nr_UE_Rx_TEG_ID_r17; /* INTEGER_0_maxNumOfRxTEGs_1_r17 */ static int hf_lpp_nr_DL_PRS_FirstPathRSRP_Result_r17; /* INTEGER_0_126 */ static int hf_lpp_nr_los_nlos_Indicator_r17; /* T_nr_los_nlos_Indicator_r17 */ static int hf_lpp_perTRP_r17; /* LOS_NLOS_Indicator_r17 */ static int hf_lpp_perResource_r17_01; /* LOS_NLOS_Indicator_r17 */ static int hf_lpp_nr_AdditionalPathListExt_r17; /* NR_AdditionalPathListExt_r17 */ static int hf_lpp_nr_DL_TDOA_AdditionalMeasurementsExt_r17; /* NR_DL_TDOA_AdditionalMeasurementsExt_r17 */ static int hf_lpp_nr_MeasBasedOnAggregatedResources_r18; /* T_nr_MeasBasedOnAggregatedResources_r18 */ static int hf_lpp_nr_AggregatedDL_PRS_ResourceInfo_List_r18; /* SEQUENCE_SIZE_2_3_OF_NR_AggregatedDL_PRS_ResourceInfo_Element_r18 */ static int hf_lpp_nr_AggregatedDL_PRS_ResourceInfo_List_r18_item; /* NR_AggregatedDL_PRS_ResourceInfo_Element_r18 */ static int hf_lpp_nr_RSCPD_r18; /* INTEGER_0_3599 */ static int hf_lpp_nr_RSCPD_AddMeasurementSamples_r18; /* SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCPD_AdditionalMeasurementSamplesElement_r18 */ static int hf_lpp_nr_RSCPD_AddMeasurementSamples_r18_item; /* NR_RSCPD_AdditionalMeasurementSamplesElement_r18 */ static int hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18; /* T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18 */ static int hf_lpp_NR_DL_TDOA_AdditionalMeasurements_r16_item; /* NR_DL_TDOA_AdditionalMeasurementElement_r16 */ static int hf_lpp_NR_DL_TDOA_AdditionalMeasurementsExt_r17_item; /* NR_DL_TDOA_AdditionalMeasurementElement_r16 */ static int hf_lpp_nr_RSTD_ResultDiff_r16; /* T_nr_RSTD_ResultDiff_r16 */ static int hf_lpp_k0_r16_02; /* INTEGER_0_8191 */ static int hf_lpp_k1_r16_02; /* INTEGER_0_4095 */ static int hf_lpp_k2_r16_02; /* INTEGER_0_2047 */ static int hf_lpp_k3_r16_02; /* INTEGER_0_1023 */ static int hf_lpp_k4_r16_02; /* INTEGER_0_511 */ static int hf_lpp_k5_r16_02; /* INTEGER_0_255 */ static int hf_lpp_kMinus6_r18_02; /* INTEGER_0_524224 */ static int hf_lpp_kMinus5_r18_02; /* INTEGER_0_262112 */ static int hf_lpp_kMinus4_r18_02; /* INTEGER_0_131056 */ static int hf_lpp_kMinus3_r18_02; /* INTEGER_0_65528 */ static int hf_lpp_kMinus2_r18_02; /* INTEGER_0_32764 */ static int hf_lpp_kMinus1_r18_02; /* INTEGER_0_16382 */ static int hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r16; /* INTEGER_0_61 */ static int hf_lpp_nr_DL_PRS_FirstPathRSRP_ResultDiff_r17; /* INTEGER_0_61 */ static int hf_lpp_nr_los_nlos_IndicatorPerResource_r17; /* LOS_NLOS_Indicator_r17 */ static int hf_lpp_nr_MeasBasedOnAggregatedResources_r18_01; /* T_nr_MeasBasedOnAggregatedResources_r18_01 */ static int hf_lpp_nr_RSCPD_AdditionalMeasurementsAddSamples_r18; /* SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCPD_AdditionalMeasurementSamplesElement_r18 */ static int hf_lpp_nr_RSCPD_AdditionalMeasurementsAddSamples_r18_item; /* NR_RSCPD_AdditionalMeasurementSamplesElement_r18 */ static int hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_01; /* T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_01 */ static int hf_lpp_measurementReferenceTime_r16; /* T_measurementReferenceTime_r16 */ static int hf_lpp_systemFrameNumber_r16_01; /* NR_TimeStamp_r16 */ static int hf_lpp_utc_time_r16; /* UTCTime */ static int hf_lpp_locationCoordinates_r17; /* LocationCoordinates */ static int hf_lpp_locationSource_r17; /* LocationSource_r13 */ static int hf_lpp_nr_DL_PRS_RstdMeasurementInfoRequest_r16; /* T_nr_DL_PRS_RstdMeasurementInfoRequest_r16 */ static int hf_lpp_nr_RequestedMeasurements_r16; /* T_nr_RequestedMeasurements_r16 */ static int hf_lpp_nr_AssistanceAvailability_r16; /* BOOLEAN */ static int hf_lpp_nr_DL_TDOA_ReportConfig_r16; /* NR_DL_TDOA_ReportConfig_r16 */ static int hf_lpp_additionalPaths_r16; /* T_additionalPaths_r16 */ static int hf_lpp_nr_UE_RxTEG_Request_r17; /* T_nr_UE_RxTEG_Request_r17 */ static int hf_lpp_nr_los_nlos_IndicatorRequest_r17; /* T_nr_los_nlos_IndicatorRequest_r17 */ static int hf_lpp_type_r17; /* LOS_NLOS_IndicatorType1_r17 */ static int hf_lpp_granularity_r17; /* LOS_NLOS_IndicatorGranularity1_r17 */ static int hf_lpp_additionalPathsExt_r17; /* T_additionalPathsExt_r17 */ static int hf_lpp_additionalPathsDL_PRS_RSRP_Request_r17; /* T_additionalPathsDL_PRS_RSRP_Request_r17 */ static int hf_lpp_multiMeasInSameReport_r17; /* T_multiMeasInSameReport_r17 */ static int hf_lpp_nr_DL_PRS_JointMeasurementRequest_r18; /* T_nr_DL_PRS_JointMeasurementRequest_r18 */ static int hf_lpp_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18; /* T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18 */ static int hf_lpp_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_item; /* INTEGER_0_nrMaxFreqLayers_1_r16 */ static int hf_lpp_nr_DL_PRS_RxHoppingRequest_r18; /* T_nr_DL_PRS_RxHoppingRequest_r18 */ static int hf_lpp_nr_DL_PRS_RxHoppingTotalBandwidth_r18; /* T_nr_DL_PRS_RxHoppingTotalBandwidth_r18 */ static int hf_lpp_fr1_02; /* T_fr1_02 */ static int hf_lpp_fr2_02; /* T_fr2_02 */ static int hf_lpp_maxDL_PRS_RSTD_MeasurementsPerTRP_Pair_r16; /* INTEGER_1_4 */ static int hf_lpp_timingReportingGranularityFactor_r16; /* INTEGER_0_5 */ static int hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_01; /* T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_01 */ static int hf_lpp_reducedDL_PRS_ProcessingSamples_r17; /* T_reducedDL_PRS_ProcessingSamples_r17 */ static int hf_lpp_lowerRxBeamSweepingFactor_FR2_r17; /* T_lowerRxBeamSweepingFactor_FR2_r17 */ static int hf_lpp_timingReportingGranularityFactorExt_r18; /* INTEGER_M6_M1 */ static int hf_lpp_nr_DL_PRS_MeasurementTimeWindowsConfig_r18; /* NR_DL_PRS_MeasurementTimeWindowsConfig_r18 */ static int hf_lpp_nr_DL_TDOA_Mode_r16; /* PositioningModes */ static int hf_lpp_nr_DL_TDOA_PRS_Capability_r16; /* NR_DL_PRS_ResourcesCapability_r16 */ static int hf_lpp_nr_DL_TDOA_MeasurementCapability_r16; /* NR_DL_TDOA_MeasurementCapability_r16 */ static int hf_lpp_nr_DL_PRS_QCL_ProcessingCapability_r16; /* NR_DL_PRS_QCL_ProcessingCapability_r16 */ static int hf_lpp_nr_DL_PRS_ProcessingCapability_r16; /* NR_DL_PRS_ProcessingCapability_r16 */ static int hf_lpp_additionalPathsReport_r16; /* T_additionalPathsReport_r16 */ static int hf_lpp_periodicalReporting_r16_01; /* PositioningModes */ static int hf_lpp_ten_ms_unit_ResponseTime_r17_01; /* PositioningModes */ static int hf_lpp_nr_PosCalcAssistanceSupport_r17; /* T_nr_PosCalcAssistanceSupport_r17 */ static int hf_lpp_nr_los_nlos_AssistanceDataSupport_r17; /* T_nr_los_nlos_AssistanceDataSupport_r17 */ static int hf_lpp_type_r17_01; /* LOS_NLOS_IndicatorType2_r17 */ static int hf_lpp_granularity_r17_01; /* LOS_NLOS_IndicatorGranularity2_r17 */ static int hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17; /* T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17 */ static int hf_lpp_nr_DL_TDOA_On_Demand_DL_PRS_Support_r17; /* NR_On_Demand_DL_PRS_Support_r17 */ static int hf_lpp_nr_los_nlos_IndicatorSupport_r17; /* T_nr_los_nlos_IndicatorSupport_r17 */ static int hf_lpp_additionalPathsExtSupport_r17; /* T_additionalPathsExtSupport_r17 */ static int hf_lpp_nr_dl_prs_AssistanceDataValidity_r17; /* T_nr_dl_prs_AssistanceDataValidity_r17 */ static int hf_lpp_area_validity_r17; /* INTEGER_1_maxNrOfAreas_r17 */ static int hf_lpp_multiMeasInSameMeasReport_r17; /* T_multiMeasInSameMeasReport_r17 */ static int hf_lpp_mg_ActivationRequest_r17; /* T_mg_ActivationRequest_r17 */ static int hf_lpp_posMeasGapSupport_r17; /* T_posMeasGapSupport_r17 */ static int hf_lpp_multiLocationEstimateInSameMeasReport_r17; /* T_multiLocationEstimateInSameMeasReport_r17 */ static int hf_lpp_locationCoordinateTypes_r18; /* LocationCoordinateTypes */ static int hf_lpp_periodicAssistanceData_r18; /* T_periodicAssistanceData_r18 */ static int hf_lpp_nr_IntegrityAssistanceSupport_r18; /* T_nr_IntegrityAssistanceSupport_r18 */ static int hf_lpp_nr_DL_TDOA_OnDemandPRS_ForBWA_Support_r18; /* T_nr_DL_TDOA_OnDemandPRS_ForBWA_Support_r18 */ static int hf_lpp_dl_RSTD_MeasurementPerPairOfTRP_FR1_r16; /* INTEGER_1_4 */ static int hf_lpp_dl_RSTD_MeasurementPerPairOfTRP_FR2_r16; /* INTEGER_1_4 */ static int hf_lpp_supportOfDL_PRS_RSRP_MeasFR1_r16; /* T_supportOfDL_PRS_RSRP_MeasFR1_r16 */ static int hf_lpp_supportOfDL_PRS_RSRP_MeasFR2_r16; /* T_supportOfDL_PRS_RSRP_MeasFR2_r16 */ static int hf_lpp_dl_tdoa_MeasCapabilityBandList_r17; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_TDOA_MeasCapabilityPerBand_r17 */ static int hf_lpp_dl_tdoa_MeasCapabilityBandList_r17_item; /* DL_TDOA_MeasCapabilityPerBand_r17 */ static int hf_lpp_supportOfDL_PRS_FirstPathRSRP_r17; /* T_supportOfDL_PRS_FirstPathRSRP_r17 */ static int hf_lpp_dl_PRS_MeasRRC_Inactive_r17; /* T_dl_PRS_MeasRRC_Inactive_r17 */ static int hf_lpp_supportOfDL_PRS_BWA_RRC_Connected_r18; /* T_supportOfDL_PRS_BWA_RRC_Connected_r18 */ static int hf_lpp_supportOfDL_PRS_BWA_RRC_Inactive_r18; /* T_supportOfDL_PRS_BWA_RRC_Inactive_r18 */ static int hf_lpp_supportOfDL_PRS_BWA_RRC_Idle_r18; /* T_supportOfDL_PRS_BWA_RRC_Idle_r18 */ static int hf_lpp_nr_DL_PRS_RSCPD_ReportingRRC_Connected_r18; /* T_nr_DL_PRS_RSCPD_ReportingRRC_Connected_r18 */ static int hf_lpp_assocSingleRSTD_WithUpToNsampleRSCPD_r18; /* T_assocSingleRSTD_WithUpToNsampleRSCPD_r18 */ static int hf_lpp_nr_DL_PRS_RSCPD_MeasurementRRC_Idle_r18; /* T_nr_DL_PRS_RSCPD_MeasurementRRC_Idle_r18 */ static int hf_lpp_supportOfUE_basedCarrierPhasePositioning_r18; /* T_supportOfUE_basedCarrierPhasePositioning_r18 */ static int hf_lpp_supportOfSymbolTimeStampForRSCPD_r18; /* T_supportOfSymbolTimeStampForRSCPD_r18 */ static int hf_lpp_supportOfFinerTimingReportGranularityForPRS_Meas_r18; /* T_supportOfFinerTimingReportGranularityForPRS_Meas_r18 */ static int hf_lpp_supportOfMeasurementsInTimeWindow_r18; /* T_supportOfMeasurementsInTimeWindow_r18 */ static int hf_lpp_supportOfPRS_MeasurementRRC_Idle_r18; /* T_supportOfPRS_MeasurementRRC_Idle_r18 */ static int hf_lpp_locationServerErrorCauses_r16_01; /* NR_DL_TDOA_LocationServerErrorCauses_r16 */ static int hf_lpp_targetDeviceErrorCauses_r16_01; /* NR_DL_TDOA_TargetDeviceErrorCauses_r16 */ static int hf_lpp_cause_r16_02; /* T_cause_r16_02 */ static int hf_lpp_cause_r16_03; /* T_cause_r16_03 */ static int hf_lpp_remoteUE_Indication_r18_03; /* T_remoteUE_Indication_r18_02 */ static int hf_lpp_nr_DL_AoD_Error_r16; /* NR_DL_AoD_Error_r16 */ static int hf_lpp_nr_DL_PRS_BeamInfo_r17; /* NR_DL_PRS_BeamInfo_r16 */ static int hf_lpp_nr_AdType_r16_01; /* T_nr_AdType_r16_01 */ static int hf_lpp_nr_PosCalcAssistanceRequest_r17_01; /* T_nr_PosCalcAssistanceRequest_r17_01 */ static int hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_01; /* T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_01 */ static int hf_lpp_nr_DL_PRS_BeamInfoRequest_r17; /* T_nr_DL_PRS_BeamInfoRequest_r17 */ static int hf_lpp_pre_configured_AssistanceDataRequest_r17_01; /* T_pre_configured_AssistanceDataRequest_r17_01 */ static int hf_lpp_nr_IntegrityAssistanceRequest_r18_01; /* T_nr_IntegrityAssistanceRequest_r18_01 */ static int hf_lpp_nr_DL_AoD_SignalMeasurementInformation_r16; /* NR_DL_AoD_SignalMeasurementInformation_r16 */ static int hf_lpp_nr_dl_AoD_LocationInformation_r16; /* NR_DL_AoD_LocationInformation_r16 */ static int hf_lpp_nr_DL_AoD_SignalMeasurementInstances_r17; /* SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_SignalMeasurementInformation_r16 */ static int hf_lpp_nr_DL_AoD_SignalMeasurementInstances_r17_item; /* NR_DL_AoD_SignalMeasurementInformation_r16 */ static int hf_lpp_nr_DL_AoD_LocationInformationInstances_r17; /* SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_LocationInformation_r16 */ static int hf_lpp_nr_DL_AoD_LocationInformationInstances_r17_item; /* NR_DL_AoD_LocationInformation_r16 */ static int hf_lpp_nr_DL_AoD_MeasList_r16; /* NR_DL_AoD_MeasList_r16 */ static int hf_lpp_NR_DL_AoD_MeasList_r16_item; /* NR_DL_AoD_MeasElement_r16 */ static int hf_lpp_nr_DL_PRS_RxBeamIndex_r16; /* INTEGER_1_8 */ static int hf_lpp_nr_DL_AoD_AdditionalMeasurements_r16; /* NR_DL_AoD_AdditionalMeasurements_r16 */ static int hf_lpp_nr_los_nlos_Indicator_r17_01; /* T_nr_los_nlos_Indicator_r17_01 */ static int hf_lpp_nr_DL_AoD_AdditionalMeasurementsExt_r17; /* NR_DL_AoD_AdditionalMeasurementsExt_r17 */ static int hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_02; /* T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_02 */ static int hf_lpp_NR_DL_AoD_AdditionalMeasurements_r16_item; /* NR_DL_AoD_AdditionalMeasurementElement_r16 */ static int hf_lpp_NR_DL_AoD_AdditionalMeasurementsExt_r17_item; /* NR_DL_AoD_AdditionalMeasurementElement_r17 */ static int hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r16_01; /* INTEGER_0_30 */ static int hf_lpp_nr_DL_PRS_ResourceID_r17; /* NR_DL_PRS_ResourceID_r16 */ static int hf_lpp_nr_TimeStamp_r17; /* NR_TimeStamp_r16 */ static int hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r17; /* INTEGER_0_30 */ static int hf_lpp_nr_DL_PRS_RxBeamIndex_r17; /* INTEGER_1_8 */ static int hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_03; /* T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_03 */ static int hf_lpp_measurementReferenceTime_r16_01; /* T_measurementReferenceTime_r16_01 */ static int hf_lpp_sfn_time_r16; /* NR_TimeStamp_r16 */ static int hf_lpp_nr_DL_AoD_ReportConfig_r16; /* NR_DL_AoD_ReportConfig_r16 */ static int hf_lpp_multiMeasInSameReport_r17_01; /* T_multiMeasInSameReport_r17_01 */ static int hf_lpp_nr_DL_PRS_RxHoppingRequest_r18_01; /* T_nr_DL_PRS_RxHoppingRequest_r18_01 */ static int hf_lpp_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01; /* T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01 */ static int hf_lpp_fr1_03; /* T_fr1_03 */ static int hf_lpp_fr2_03; /* T_fr2_03 */ static int hf_lpp_maxDL_PRS_RSRP_MeasurementsPerTRP_r16; /* INTEGER_1_8 */ static int hf_lpp_maxDL_PRS_RSRP_MeasurementsPerTRP_r17; /* INTEGER_9_24 */ static int hf_lpp_maxDL_PRS_RSRPP_MeasurementsPerTRP_r17; /* INTEGER_1_24 */ static int hf_lpp_nr_los_nlos_IndicatorRequest_r17_01; /* T_nr_los_nlos_IndicatorRequest_r17_01 */ static int hf_lpp_reducedDL_PRS_ProcessingSamples_r17_01; /* T_reducedDL_PRS_ProcessingSamples_r17_01 */ static int hf_lpp_lowerRxBeamSweepingFactor_FR2_r17_01; /* T_lowerRxBeamSweepingFactor_FR2_r17_01 */ static int hf_lpp_nr_DL_AoD_Mode_r16; /* PositioningModes */ static int hf_lpp_nr_DL_AoD_PRS_Capability_r16; /* NR_DL_PRS_ResourcesCapability_r16 */ static int hf_lpp_nr_DL_AoD_MeasurementCapability_r16; /* NR_DL_AoD_MeasurementCapability_r16 */ static int hf_lpp_nr_PosCalcAssistanceSupport_r17_01; /* T_nr_PosCalcAssistanceSupport_r17_01 */ static int hf_lpp_nr_los_nlos_AssistanceDataSupport_r17_01; /* T_nr_los_nlos_AssistanceDataSupport_r17_01 */ static int hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01; /* T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01 */ static int hf_lpp_dl_PRS_ResourcePrioritySubset_Sup_r17; /* T_dl_PRS_ResourcePrioritySubset_Sup_r17 */ static int hf_lpp_nr_DL_PRS_BeamInfoSup_r17; /* T_nr_DL_PRS_BeamInfoSup_r17 */ static int hf_lpp_nr_DL_AoD_On_Demand_DL_PRS_Support_r17; /* NR_On_Demand_DL_PRS_Support_r17 */ static int hf_lpp_nr_los_nlos_IndicatorSupport_r17_01; /* T_nr_los_nlos_IndicatorSupport_r17_01 */ static int hf_lpp_nr_dl_prs_AssistanceDataValidity_r17_01; /* T_nr_dl_prs_AssistanceDataValidity_r17_01 */ static int hf_lpp_multiMeasInSameMeasReport_r17_01; /* T_multiMeasInSameMeasReport_r17_01 */ static int hf_lpp_mg_ActivationRequest_r17_01; /* T_mg_ActivationRequest_r17_01 */ static int hf_lpp_posMeasGapSupport_r17_01; /* T_posMeasGapSupport_r17_01 */ static int hf_lpp_multiLocationEstimateInSameMeasReport_r17_01; /* T_multiLocationEstimateInSameMeasReport_r17_01 */ static int hf_lpp_nr_IntegrityAssistanceSupport_r18_01; /* T_nr_IntegrityAssistanceSupport_r18_01 */ static int hf_lpp_maxDL_PRS_RSRP_MeasurementFR1_r16; /* INTEGER_1_8 */ static int hf_lpp_maxDL_PRS_RSRP_MeasurementFR2_r16; /* INTEGER_1_8 */ static int hf_lpp_dl_AoD_MeasCapabilityBandList_r16; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_AoD_MeasCapabilityPerBand_r16 */ static int hf_lpp_dl_AoD_MeasCapabilityBandList_r16_item; /* DL_AoD_MeasCapabilityPerBand_r16 */ static int hf_lpp_maxDL_PRS_RSRP_MeasurementFR1_v1730; /* T_maxDL_PRS_RSRP_MeasurementFR1_v1730 */ static int hf_lpp_maxDL_PRS_RSRP_MeasurementFR2_v1730; /* T_maxDL_PRS_RSRP_MeasurementFR2_v1730 */ static int hf_lpp_simul_NR_DL_AoD_DL_TDOA_r16; /* T_simul_NR_DL_AoD_DL_TDOA_r16 */ static int hf_lpp_simul_NR_DL_AoD_Multi_RTT_r16; /* T_simul_NR_DL_AoD_Multi_RTT_r16 */ static int hf_lpp_maxDL_PRS_FirstPathRSRP_MeasPerTRP_r17; /* T_maxDL_PRS_FirstPathRSRP_MeasPerTRP_r17 */ static int hf_lpp_dl_PRS_MeasRRC_Inactive_r17_01; /* T_dl_PRS_MeasRRC_Inactive_r17_01 */ static int hf_lpp_supportOfMeasurementsInTimeWindow_r18_01; /* T_supportOfMeasurementsInTimeWindow_r18_01 */ static int hf_lpp_supportOfPRS_MeasurementRRC_Idle_r18_01; /* T_supportOfPRS_MeasurementRRC_Idle_r18_01 */ static int hf_lpp_locationServerErrorCauses_r16_02; /* NR_DL_AoD_LocationServerErrorCauses_r16 */ static int hf_lpp_targetDeviceErrorCauses_r16_02; /* NR_DL_AoD_TargetDeviceErrorCauses_r16 */ static int hf_lpp_cause_r16_04; /* T_cause_r16_04 */ static int hf_lpp_cause_r16_05; /* T_cause_r16_05 */ static int hf_lpp_remoteUE_Indication_r18_04; /* T_remoteUE_Indication_r18_03 */ static int hf_lpp_nr_Multi_RTT_Error_r16; /* NR_Multi_RTT_Error_r16 */ static int hf_lpp_nr_AdType_r16_02; /* T_nr_AdType_r16_02 */ static int hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_02; /* T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_02 */ static int hf_lpp_pre_configured_AssistanceDataRequest_r17_02; /* T_pre_configured_AssistanceDataRequest_r17_02 */ static int hf_lpp_nr_Multi_RTT_SignalMeasurementInformation_r16; /* NR_Multi_RTT_SignalMeasurementInformation_r16 */ static int hf_lpp_nr_Multi_RTT_SignalMeasurementInstances_r17; /* SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_Multi_RTT_SignalMeasurementInformation_r16 */ static int hf_lpp_nr_Multi_RTT_SignalMeasurementInstances_r17_item; /* NR_Multi_RTT_SignalMeasurementInformation_r16 */ static int hf_lpp_nr_Multi_RTT_MeasList_r16; /* NR_Multi_RTT_MeasList_r16 */ static int hf_lpp_nr_NTA_Offset_r16; /* T_nr_NTA_Offset_r16 */ static int hf_lpp_nr_SRS_TxTEG_Set_r17; /* SEQUENCE_SIZE_1_maxTxTEG_Sets_r17_OF_NR_SRS_TxTEG_Element_r17 */ static int hf_lpp_nr_SRS_TxTEG_Set_r17_item; /* NR_SRS_TxTEG_Element_r17 */ static int hf_lpp_nr_UE_TxTEG_TimingErrorMargin_r17; /* TEG_TimingErrorMargin_r17 */ static int hf_lpp_nr_UE_RxTxTEG_TimingErrorMargin_r17; /* RxTxTEG_TimingErrorMargin_r17 */ static int hf_lpp_NR_Multi_RTT_MeasList_r16_item; /* NR_Multi_RTT_MeasElement_r16 */ static int hf_lpp_nr_UE_RxTxTimeDiff_r16; /* T_nr_UE_RxTxTimeDiff_r16 */ static int hf_lpp_nr_Multi_RTT_AdditionalMeasurements_r16; /* NR_Multi_RTT_AdditionalMeasurements_r16 */ static int hf_lpp_nr_UE_RxTx_TEG_Info_r17; /* NR_UE_RxTx_TEG_Info_r17 */ static int hf_lpp_nr_los_nlos_Indicator_r17_02; /* T_nr_los_nlos_Indicator_r17_02 */ static int hf_lpp_nr_Multi_RTT_AdditionalMeasurementsExt_r17; /* NR_Multi_RTT_AdditionalMeasurementsExt_r17 */ static int hf_lpp_nr_MeasBasedOnAggregatedResources_r18_02; /* T_nr_MeasBasedOnAggregatedResources_r18_02 */ static int hf_lpp_nr_RSCP_AddSampleMeasurements_r18; /* SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18 */ static int hf_lpp_nr_RSCP_AddSampleMeasurements_r18_item; /* NR_RSCP_AdditionalMeasurements_r18 */ static int hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_04; /* T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_04 */ static int hf_lpp_nr_NTN_UE_RxTxMeasurements_r18; /* NR_NTN_UE_RxTxMeasurements_r18 */ static int hf_lpp_NR_Multi_RTT_AdditionalMeasurements_r16_item; /* NR_Multi_RTT_AdditionalMeasurementElement_r16 */ static int hf_lpp_NR_Multi_RTT_AdditionalMeasurementsExt_r17_item; /* NR_Multi_RTT_AdditionalMeasurementElement_r16 */ static int hf_lpp_nr_UE_RxTxTimeDiffAdditional_r16; /* T_nr_UE_RxTxTimeDiffAdditional_r16 */ static int hf_lpp_nr_MeasBasedOnAggregatedResources_r18_03; /* T_nr_MeasBasedOnAggregatedResources_r18_03 */ static int hf_lpp_nr_RSCP_AdditionalMeasurementsAddSample_r18; /* SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18 */ static int hf_lpp_nr_RSCP_AdditionalMeasurementsAddSample_r18_item; /* NR_RSCP_AdditionalMeasurements_r18 */ static int hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_05; /* T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_05 */ static int hf_lpp_nr_UE_Tx_TEG_ID_r17; /* INTEGER_0_maxNumOfTxTEGs_1_r17 */ static int hf_lpp_carrierFreq_r17; /* T_carrierFreq_r17 */ static int hf_lpp_absoluteFrequencyPointA_r17; /* ARFCN_ValueNR_r15 */ static int hf_lpp_offsetToPointA_r17; /* INTEGER_0_2199 */ static int hf_lpp_srs_PosResourceList_r17; /* T_srs_PosResourceList_r17 */ static int hf_lpp_srs_PosResourceList_r17_item; /* INTEGER_0_maxNumOfSRS_PosResources_1_r17 */ static int hf_lpp_case1_r17; /* T_case1_r17 */ static int hf_lpp_nr_UE_RxTx_TEG_ID_r17; /* INTEGER_0_maxNumOfRxTxTEGs_1_r17 */ static int hf_lpp_case2_r17; /* T_case2_r17 */ static int hf_lpp_nr_UE_Tx_TEG_Index_r17; /* INTEGER_1_maxTxTEG_Sets_r17 */ static int hf_lpp_case3_r17; /* T_case3_r17 */ static int hf_lpp_nr_NTN_UE_RxTxTimeDiffSubframeOffset_r18; /* INTEGER_0_542 */ static int hf_lpp_nr_NTN_DL_TimingDrift_r18; /* INTEGER_M265_265 */ static int hf_lpp_nr_UE_RxTxTimeDiffMeasurementInfoRequest_r16; /* T_nr_UE_RxTxTimeDiffMeasurementInfoRequest_r16 */ static int hf_lpp_nr_RequestedMeasurements_r16_01; /* T_nr_RequestedMeasurements_r16_01 */ static int hf_lpp_nr_Multi_RTT_ReportConfig_r16; /* NR_Multi_RTT_ReportConfig_r16 */ static int hf_lpp_additionalPaths_r16_01; /* T_additionalPaths_r16_01 */ static int hf_lpp_nr_UE_RxTxTEG_Request_r17; /* T_nr_UE_RxTxTEG_Request_r17 */ static int hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTxTEGs_r17; /* T_measureSameDL_PRS_ResourceWithDifferentRxTxTEGs_r17 */ static int hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_02; /* T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_02 */ static int hf_lpp_reducedDL_PRS_ProcessingSamples_r17_02; /* T_reducedDL_PRS_ProcessingSamples_r17_02 */ static int hf_lpp_nr_los_nlos_IndicatorRequest_r17_02; /* T_nr_los_nlos_IndicatorRequest_r17_02 */ static int hf_lpp_additionalPathsExt_r17_01; /* T_additionalPathsExt_r17_01 */ static int hf_lpp_additionalPathsDL_PRS_RSRP_Request_r17_01; /* T_additionalPathsDL_PRS_RSRP_Request_r17_01 */ static int hf_lpp_multiMeasInSameReport_r17_02; /* T_multiMeasInSameReport_r17_02 */ static int hf_lpp_lowerRxBeamSweepingFactor_FR2_r17_02; /* T_lowerRxBeamSweepingFactor_FR2_r17_02 */ static int hf_lpp_nr_DL_PRS_RxHoppingRequest_r18_02; /* T_nr_DL_PRS_RxHoppingRequest_r18_02 */ static int hf_lpp_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02; /* T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02 */ static int hf_lpp_fr1_04; /* T_fr1_04 */ static int hf_lpp_fr2_04; /* T_fr2_04 */ static int hf_lpp_nr_DL_PRS_JointMeasurementRequest_r18_01; /* T_nr_DL_PRS_JointMeasurementRequest_r18_01 */ static int hf_lpp_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_01; /* T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_01 */ static int hf_lpp_maxDL_PRS_RxTxTimeDiffMeasPerTRP_r16; /* INTEGER_1_4 */ static int hf_lpp_nr_Multi_RTT_PRS_Capability_r16; /* NR_DL_PRS_ResourcesCapability_r16 */ static int hf_lpp_nr_Multi_RTT_MeasurementCapability_r16; /* NR_Multi_RTT_MeasurementCapability_r16 */ static int hf_lpp_additionalPathsReport_r16_01; /* T_additionalPathsReport_r16_01 */ static int hf_lpp_periodicalReporting_r16_02; /* T_periodicalReporting_r16_01 */ static int hf_lpp_ten_ms_unit_ResponseTime_r17_02; /* T_ten_ms_unit_ResponseTime_r17_01 */ static int hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02; /* T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02 */ static int hf_lpp_nr_Multi_RTT_On_Demand_DL_PRS_Support_r17; /* NR_On_Demand_DL_PRS_Support_r17 */ static int hf_lpp_nr_UE_RxTx_TEG_ID_ReportingSupport_r17; /* T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17 */ static int hf_lpp_nr_los_nlos_IndicatorSupport_r17_02; /* T_nr_los_nlos_IndicatorSupport_r17_02 */ static int hf_lpp_additionalPathsExtSupport_r17_01; /* T_additionalPathsExtSupport_r17_01 */ static int hf_lpp_nr_dl_prs_AssistanceDataValidity_r17_02; /* T_nr_dl_prs_AssistanceDataValidity_r17_02 */ static int hf_lpp_multiMeasInSameMeasReport_r17_02; /* T_multiMeasInSameMeasReport_r17_02 */ static int hf_lpp_mg_ActivationRequest_r17_02; /* T_mg_ActivationRequest_r17_02 */ static int hf_lpp_posMeasGapSupport_r17_02; /* T_posMeasGapSupport_r17_02 */ static int hf_lpp_nr_MultiRTT_OnDemandPRS_ForBWA_Support_r18; /* T_nr_MultiRTT_OnDemandPRS_ForBWA_Support_r18 */ static int hf_lpp_maxNrOfRx_TX_MeasFR1_r16; /* INTEGER_1_4 */ static int hf_lpp_maxNrOfRx_TX_MeasFR2_r16; /* INTEGER_1_4 */ static int hf_lpp_supportOfRSRP_MeasFR1_r16; /* T_supportOfRSRP_MeasFR1_r16 */ static int hf_lpp_supportOfRSRP_MeasFR2_r16; /* T_supportOfRSRP_MeasFR2_r16 */ static int hf_lpp_srs_AssocPRS_MultiLayersFR1_r16; /* T_srs_AssocPRS_MultiLayersFR1_r16 */ static int hf_lpp_srs_AssocPRS_MultiLayersFR2_r16; /* T_srs_AssocPRS_MultiLayersFR2_r16 */ static int hf_lpp_multi_RTT_MeasCapabilityBandList_r17; /* SEQUENCE_SIZE_1_nrMaxBands_r16_OF_Multi_RTT_MeasCapabilityPerBand_r17 */ static int hf_lpp_multi_RTT_MeasCapabilityBandList_r17_item; /* Multi_RTT_MeasCapabilityPerBand_r17 */ static int hf_lpp_supportOfDL_PRS_FirstPathRSRP_r17_01; /* T_supportOfDL_PRS_FirstPathRSRP_r17_01 */ static int hf_lpp_dl_PRS_MeasRRC_Inactive_r17_02; /* T_dl_PRS_MeasRRC_Inactive_r17_02 */ static int hf_lpp_supportOfDL_PRS_BWA_RRC_Connected_r18_01; /* T_supportOfDL_PRS_BWA_RRC_Connected_r18_01 */ static int hf_lpp_supportOfDL_PRS_BWA_RRC_Inactive_r18_01; /* T_supportOfDL_PRS_BWA_RRC_Inactive_r18_01 */ static int hf_lpp_nr_NTN_MeasAndReport_r18; /* T_nr_NTN_MeasAndReport_r18 */ static int hf_lpp_nr_DL_PRS_RSCP_ReportingRRC_Connected_r18; /* T_nr_DL_PRS_RSCP_ReportingRRC_Connected_r18 */ static int hf_lpp_nr_DL_PRS_RSCP_ReportingRRC_Inactive_r18; /* T_nr_DL_PRS_RSCP_ReportingRRC_Inactive_r18 */ static int hf_lpp_assocSingleRx_Tx_WithUpToNsampleRSCP_r18; /* T_assocSingleRx_Tx_WithUpToNsampleRSCP_r18 */ static int hf_lpp_supportOfSymbolTimeStampForRSCP_r18; /* T_supportOfSymbolTimeStampForRSCP_r18 */ static int hf_lpp_supportOfFinerTimingReportGranularityForPRS_Meas_r18_01; /* T_supportOfFinerTimingReportGranularityForPRS_Meas_r18_01 */ static int hf_lpp_supportOfMeasurementsInTimeWindow_r18_02; /* T_supportOfMeasurementsInTimeWindow_r18_02 */ static int hf_lpp_locationServerErrorCauses_r16_03; /* NR_Multi_RTT_LocationServerErrorCauses_r16 */ static int hf_lpp_targetDeviceErrorCauses_r16_03; /* NR_Multi_RTT_TargetDeviceErrorCauses_r16 */ static int hf_lpp_cause_r16_06; /* T_cause_r16_06 */ static int hf_lpp_cause_r16_07; /* T_cause_r16_07 */ static int hf_lpp_remoteUE_Indication_r18_05; /* T_remoteUE_Indication_r18_04 */ static int hf_lpp_valueTag_r15; /* INTEGER_0_63 */ static int hf_lpp_expirationTime_r15; /* UTCTime */ static int hf_lpp_cipheringKeyData_r15; /* CipheringKeyData_r15 */ static int hf_lpp_segmentationInfo_r15; /* SegmentationInfo_r15 */ static int hf_lpp_assistanceDataElement_r15; /* T_assistanceDataElement_r15 */ static int hf_lpp_cipherSetID_r15; /* INTEGER_0_65535 */ static int hf_lpp_d0_r15; /* BIT_STRING_SIZE_1_128 */ static int hf_lpp_segmentationOption_r15; /* T_segmentationOption_r15 */ static int hf_lpp_assistanceDataSegmentType_r15; /* T_assistanceDataSegmentType_r15 */ static int hf_lpp_assistanceDataSegmentNumber_r15; /* INTEGER_0_63 */ static int hf_lpp_otdoa_ReferenceCellInfo_r15; /* OTDOA_ReferenceCellInfo */ static int hf_lpp_otdoa_NeighbourCellInfo_r15; /* OTDOA_NeighbourCellInfoList */ static int hf_lpp_nr_trp_LocationInfo_r16; /* NR_TRP_LocationInfo_r16 */ static int hf_lpp_nr_dl_prs_BeamInfo_r16; /* NR_DL_PRS_BeamInfo_r16 */ static int hf_lpp_nr_rtd_Info_r16; /* NR_RTD_Info_r16 */ /* named bits */ static int hf_lpp_T_accessTypes_eutra; static int hf_lpp_T_accessTypes_utra; static int hf_lpp_T_accessTypes_gsm; static int hf_lpp_T_accessTypes_nb_iot; static int hf_lpp_T_accessTypes_nr_v1510; static int hf_lpp_UpdateCapabilities_r15_primaryCellID_r15; static int hf_lpp_T_posModes_standalone; static int hf_lpp_T_posModes_ue_based; static int hf_lpp_T_posModes_ue_assisted; static int hf_lpp_T_lpp_message_segmentation_req_r14_serverToTarget; static int hf_lpp_T_lpp_message_segmentation_req_r14_targetToServer; static int hf_lpp_T_lpp_message_segmentation_r14_serverToTarget; static int hf_lpp_T_lpp_message_segmentation_r14_targetToServer; static int hf_lpp_LocationSource_r13_a_gnss; static int hf_lpp_LocationSource_r13_wlan; static int hf_lpp_LocationSource_r13_bt; static int hf_lpp_LocationSource_r13_tbs; static int hf_lpp_LocationSource_r13_sensor; static int hf_lpp_LocationSource_r13_ha_gnss_v1510; static int hf_lpp_LocationSource_r13_motion_sensor_v1550; static int hf_lpp_LocationSource_r13_dl_tdoa_r16; static int hf_lpp_LocationSource_r13_dl_aod_r16; static int hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rstd; static int hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_ueRxTx; static int hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rsrp; static int hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rsrpp; static int hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rscp; static int hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rscpd; static int hf_lpp_T_adType_r14_prs; static int hf_lpp_T_adType_r14_nprs; static int hf_lpp_T_otdoa_Mode_ue_assisted; static int hf_lpp_T_otdoa_Mode_ue_assisted_NB_r14; static int hf_lpp_T_otdoa_Mode_ue_assisted_NB_TDD_r15; static int hf_lpp_T_orbit_IntegrityReq_r17_correlationTimeReq; static int hf_lpp_T_stec_IntegrityReq_r17_correlationTimeReq; static int hf_lpp_T_periodicAssistanceData_r15_solicited; static int hf_lpp_T_periodicAssistanceData_r15_unsolicited; static int hf_lpp_T_ionoModel_klobuchar; static int hf_lpp_T_ionoModel_neQuick; static int hf_lpp_T_ionoModel_klobuchar2_r16; static int hf_lpp_T_clockModel_model_1; static int hf_lpp_T_clockModel_model_2; static int hf_lpp_T_clockModel_model_3; static int hf_lpp_T_clockModel_model_4; static int hf_lpp_T_clockModel_model_5; static int hf_lpp_T_clockModel_model_6; static int hf_lpp_T_clockModel_model_7_r16; static int hf_lpp_T_clockModel_model_8_r16; static int hf_lpp_T_orbitModel_model_1; static int hf_lpp_T_orbitModel_model_2; static int hf_lpp_T_orbitModel_model_3; static int hf_lpp_T_orbitModel_model_4; static int hf_lpp_T_orbitModel_model_5; static int hf_lpp_T_orbitModel_model_6; static int hf_lpp_T_orbitModel_model_7_r16; static int hf_lpp_T_orbitModel_model_8_r16; static int hf_lpp_T_almanacModel_model_1; static int hf_lpp_T_almanacModel_model_2; static int hf_lpp_T_almanacModel_model_3; static int hf_lpp_T_almanacModel_model_4; static int hf_lpp_T_almanacModel_model_5; static int hf_lpp_T_almanacModel_model_6; static int hf_lpp_T_almanacModel_model_7; static int hf_lpp_T_utc_Model_model_1; static int hf_lpp_T_utc_Model_model_2; static int hf_lpp_T_utc_Model_model_3; static int hf_lpp_T_utc_Model_model_4; static int hf_lpp_T_utc_Model_model_5; static int hf_lpp_T_orbit_IntegritySup_r17_correlationTimeSup; static int hf_lpp_T_stec_IntegritySup_r17_correlationTimeSup; static int hf_lpp_T_gnss_ids_gps; static int hf_lpp_T_gnss_ids_sbas; static int hf_lpp_T_gnss_ids_qzss; static int hf_lpp_T_gnss_ids_galileo; static int hf_lpp_T_gnss_ids_glonass; static int hf_lpp_T_gnss_ids_bds; static int hf_lpp_T_gnss_ids_navic_v1610; static int hf_lpp_T_sbas_IDs_waas; static int hf_lpp_T_sbas_IDs_egnos; static int hf_lpp_T_sbas_IDs_msas; static int hf_lpp_T_sbas_IDs_gagan; static int hf_lpp_T_requestedMeasurements_rsrpReq; static int hf_lpp_T_requestedMeasurements_rsrqReq; static int hf_lpp_T_requestedMeasurements_ueRxTxReq; static int hf_lpp_T_requestedMeasurements_nrsrpReq_r14; static int hf_lpp_T_requestedMeasurements_nrsrqReq_r14; static int hf_lpp_T_ecid_MeasSupported_rsrpSup; static int hf_lpp_T_ecid_MeasSupported_rsrqSup; static int hf_lpp_T_ecid_MeasSupported_ueRxTxSup; static int hf_lpp_T_ecid_MeasSupported_nrsrpSup_r14; static int hf_lpp_T_ecid_MeasSupported_nrsrqSup_r14; static int hf_lpp_T_mbsRequestedMeasurements_r14_rssi; static int hf_lpp_T_tbs_Modes_r13_standalone; static int hf_lpp_T_tbs_Modes_r13_ue_assisted; static int hf_lpp_T_tbs_Modes_r13_ue_based; static int hf_lpp_T_mbs_ConfigSupport_r14_tb1; static int hf_lpp_T_mbs_ConfigSupport_r14_tb2; static int hf_lpp_T_mbs_ConfigSupport_r14_tb3; static int hf_lpp_T_mbs_ConfigSupport_r14_tb4; static int hf_lpp_T_sensor_Modes_r13_standalone; static int hf_lpp_T_sensor_Modes_r13_ue_assisted; static int hf_lpp_T_sensor_Modes_r13_ue_based; static int hf_lpp_T_requestedMeasurements_r13_rssi; static int hf_lpp_T_requestedMeasurements_r13_rtt; static int hf_lpp_T_wlan_Modes_r13_standalone; static int hf_lpp_T_wlan_Modes_r13_ue_assisted; static int hf_lpp_T_wlan_Modes_r13_ue_based; static int hf_lpp_T_wlan_MeasSupported_r13_rssi_r13; static int hf_lpp_T_wlan_MeasSupported_r13_rtt_r13; static int hf_lpp_T_wlan_AP_AD_Supported_r14_ap_identifier; static int hf_lpp_T_wlan_AP_AD_Supported_r14_ap_location; static int hf_lpp_T_requestedAD_r14_ap_identifier; static int hf_lpp_T_requestedAD_r14_ap_location; static int hf_lpp_T_requestedMeasurements_r13_01_rssi; static int hf_lpp_T_requestedMeasurements_r13_01_aod_v1800; static int hf_lpp_T_bt_requestedAoA_Config_r18_aoa_advConfig; static int hf_lpp_T_bt_requestedAoA_Config_r18_aoa_cteConfig; static int hf_lpp_T_bt_Modes_r13_standalone; static int hf_lpp_T_bt_Modes_r13_ue_assisted; static int hf_lpp_T_bt_Modes_r13_ue_based_v1810; static int hf_lpp_T_bt_MeasSupported_r13_rssi_r13; static int hf_lpp_T_bt_MeasSupported_r13_aod_v1800; static int hf_lpp_T_requestedAD_r18_beacon_location; static int hf_lpp_T_requestedAD_r18_beacon_antConfig; static int hf_lpp_T_requestedAD_r18_beacon_transmConfig; static int hf_lpp_T_requestedMeasurements_r16_ssrsrpReq; static int hf_lpp_T_requestedMeasurements_r16_ssrsrqReq; static int hf_lpp_T_requestedMeasurements_r16_csirsrpReq; static int hf_lpp_T_requestedMeasurements_r16_csirsrqReq; static int hf_lpp_T_nr_ECID_MeasSupported_r16_ssrsrpSup; static int hf_lpp_T_nr_ECID_MeasSupported_r16_ssrsrqSup; static int hf_lpp_T_nr_ECID_MeasSupported_r16_csirsrpSup; static int hf_lpp_T_nr_ECID_MeasSupported_r16_csirsrqSup; static int hf_lpp_T_nr_AdType_r16_dl_prs; static int hf_lpp_T_nr_AdType_r16_posCalc; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_trpLoc; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_beamInfo; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_rtdInfo; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_losNlosInfo; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_trpTEG_Info; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_nr_IntegrityBounds_r18; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_pruInfo_r18; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_serviceParameters; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_serviceAlert; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_riskParameters; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_integrityParaTRP_Loc; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_integrityParaBeamInfo; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_integrityParaRTD_Info; static int hf_lpp_T_nr_RequestedMeasurements_r16_prsrsrpReq; static int hf_lpp_T_nr_RequestedMeasurements_r16_firstPathRsrpReq_r17; static int hf_lpp_T_nr_RequestedMeasurements_r16_dl_PRS_RSCPD_Request_r18; static int hf_lpp_T_nr_PosCalcAssistanceSupport_r17_trpLocSup; static int hf_lpp_T_nr_PosCalcAssistanceSupport_r17_beamInfoSup; static int hf_lpp_T_nr_PosCalcAssistanceSupport_r17_rtdInfoSup; static int hf_lpp_T_nr_PosCalcAssistanceSupport_r17_trpTEG_InfoSup; static int hf_lpp_T_nr_PosCalcAssistanceSupport_r17_nr_IntegritySup_r18; static int hf_lpp_T_nr_PosCalcAssistanceSupport_r17_pruInfoSup_r18; static int hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_eAoD; static int hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_eAoA; static int hf_lpp_T_periodicAssistanceData_r18_solicited; static int hf_lpp_T_periodicAssistanceData_r18_unsolicited; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_serviceParametersSup; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_serviceAlertSup; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_riskParametersSup; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_integrityParaTRP_LocSup; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_integrityParaBeamInfoSup; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_integrityParaRTD_InfoSup; static int hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_rstd; static int hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_rsrp; static int hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_rsrpp; static int hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_rscpd; static int hf_lpp_T_nr_AdType_r16_01_dl_prs; static int hf_lpp_T_nr_AdType_r16_01_posCalc; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_trpLoc; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_beamInfo; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_rtdInfo; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_beamAntInfo; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_losNlosInfo; static int hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_nr_IntegrityBounds_r18; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_serviceParameters; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_serviceAlert; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_riskParameters; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_integrityParaTRP_Loc; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_integrityParaBeamInfo; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_integrityParaRTD_Info; static int hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_integrityBeamAntInfo; static int hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_trpLocSup; static int hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_beamInfoSup; static int hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_rtdInfoSup; static int hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_beamAntInfoSup; static int hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_nr_IntegrityBoundsSup_r18; static int hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01_eAoD; static int hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01_eAoA; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_serviceParametersSup; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_serviceAlertSup; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_riskParametersSup; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_integrityParaTRP_LocSup; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_integrityParaBeamInfoSup; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_integrityParaRTD_InfoSup; static int hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_integrityBeamAntInfoSup; static int hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_01_rsrp; static int hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_01_rsrpp; static int hf_lpp_T_nr_AdType_r16_02_dl_prs; static int hf_lpp_T_nr_AdType_r16_02_ul_srs; static int hf_lpp_T_nr_RequestedMeasurements_r16_01_prsrsrpReq; static int hf_lpp_T_nr_RequestedMeasurements_r16_01_firstPathRsrpReq_r17; static int hf_lpp_T_nr_RequestedMeasurements_r16_01_dl_PRS_RSCP_Request_r18; static int hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02_eAoD; static int hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02_eAoA; static int hf_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17_case1; static int hf_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17_case2; static int hf_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17_case3; static int hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_02_rx_tx; static int hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_02_rsrp; static int hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_02_rsrpp; static int hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_02_rscp; static int dummy_hf_lpp_eag_field; /* never registered */ static int hf_lpp_svHealthExt_v1240_e5bhs; static int hf_lpp_svHealthExt_v1240_e1_bhs; static int hf_lpp_kepSV_StatusINAV_e5bhs; static int hf_lpp_kepSV_StatusINAV_e1_bhs; static int hf_lpp_kepSV_StatusFNAV_e5ahs; static int hf_lpp_bdsSvHealth_r12_sat_clock; static int hf_lpp_bdsSvHealth_r12_b1i; static int hf_lpp_bdsSvHealth_r12_b2i; static int hf_lpp_bdsSvHealth_r12_nav; static int hf_lpp_AssistanceDataSIBelement_r15_PDU; static dissector_handle_t lppe_handle; static uint32_t lpp_epdu_id = -1; /* Initialize the subtree pointers */ static int ett_lpp; static int ett_lpp_svHealthExt_v1240; static int ett_kepSV_StatusINAV; static int ett_kepSV_StatusFNAV; static int ett_lpp_bdsSvHealth_r12; static int ett_lpp_assistanceDataElement_r15; static int ett_lpp_LPP_Message; static int ett_lpp_Acknowledgement; static int ett_lpp_LPP_MessageBody; static int ett_lpp_T_c1; static int ett_lpp_T_messageClassExtension; static int ett_lpp_LPP_TransactionID; static int ett_lpp_RequestCapabilities; static int ett_lpp_T_criticalExtensions; static int ett_lpp_T_c1_01; static int ett_lpp_T_criticalExtensionsFuture; static int ett_lpp_RequestCapabilities_r9_IEs; static int ett_lpp_ProvideCapabilities; static int ett_lpp_T_criticalExtensions_01; static int ett_lpp_T_c1_02; static int ett_lpp_T_criticalExtensionsFuture_01; static int ett_lpp_ProvideCapabilities_r9_IEs; static int ett_lpp_RequestAssistanceData; static int ett_lpp_T_criticalExtensions_02; static int ett_lpp_T_c1_03; static int ett_lpp_T_criticalExtensionsFuture_02; static int ett_lpp_RequestAssistanceData_r9_IEs; static int ett_lpp_ProvideAssistanceData; static int ett_lpp_T_criticalExtensions_03; static int ett_lpp_T_c1_04; static int ett_lpp_T_criticalExtensionsFuture_03; static int ett_lpp_ProvideAssistanceData_r9_IEs; static int ett_lpp_RequestLocationInformation; static int ett_lpp_T_criticalExtensions_04; static int ett_lpp_T_c1_05; static int ett_lpp_T_criticalExtensionsFuture_04; static int ett_lpp_RequestLocationInformation_r9_IEs; static int ett_lpp_ProvideLocationInformation; static int ett_lpp_T_criticalExtensions_05; static int ett_lpp_T_c1_06; static int ett_lpp_T_criticalExtensionsFuture_05; static int ett_lpp_ProvideLocationInformation_r9_IEs; static int ett_lpp_Abort; static int ett_lpp_T_criticalExtensions_06; static int ett_lpp_T_c1_07; static int ett_lpp_T_criticalExtensionsFuture_06; static int ett_lpp_Abort_r9_IEs; static int ett_lpp_Error; static int ett_lpp_T_criticalExtensionsFuture_07; static int ett_lpp_Error_r9_IEs; static int ett_lpp_AccessTypes; static int ett_lpp_T_accessTypes; static int ett_lpp_CarrierFreq_NB_r14; static int ett_lpp_CellGlobalIdEUTRA_AndUTRA; static int ett_lpp_T_plmn_Identity; static int ett_lpp_T_mcc; static int ett_lpp_T_mnc; static int ett_lpp_T_cellIdentity; static int ett_lpp_CellGlobalIdGERAN; static int ett_lpp_T_plmn_Identity_01; static int ett_lpp_T_mcc_01; static int ett_lpp_T_mnc_01; static int ett_lpp_ECGI; static int ett_lpp_T_mcc_02; static int ett_lpp_T_mnc_02; static int ett_lpp_Ellipsoid_Point; static int ett_lpp_Ellipsoid_PointWithUncertaintyCircle; static int ett_lpp_EllipsoidPointWithUncertaintyEllipse; static int ett_lpp_EllipsoidPointWithAltitude; static int ett_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid; static int ett_lpp_EllipsoidArc; static int ett_lpp_EPDU_Sequence; static int ett_lpp_EPDU; static int ett_lpp_EPDU_Identifier; static int ett_lpp_HA_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_r16; static int ett_lpp_HA_EllipsoidPointWithScalableUncertaintyEllipse_r16; static int ett_lpp_HighAccuracyEllipsoidPointWithUncertaintyEllipse_r15; static int ett_lpp_HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15; static int ett_lpp_HorizontalVelocity; static int ett_lpp_HorizontalWithVerticalVelocity; static int ett_lpp_HorizontalVelocityWithUncertainty; static int ett_lpp_HorizontalWithVerticalVelocityAndUncertainty; static int ett_lpp_Local2dPointWithUncertaintyEllipse_r18; static int ett_lpp_Local3dPointWithUncertaintyEllipsoid_r18; static int ett_lpp_LocationCoordinateTypes; static int ett_lpp_NCGI_r15; static int ett_lpp_T_mcc_r15; static int ett_lpp_T_mnc_r15; static int ett_lpp_PeriodicAssistanceDataControlParameters_r15; static int ett_lpp_PeriodicSessionID_r15; static int ett_lpp_UpdateCapabilities_r15; static int ett_lpp_PeriodicReportingIntervalMsSupport_r18; static int ett_lpp_PeriodicReportingIntervalMsSupportPerMode_r18; static int ett_lpp_Polygon; static int ett_lpp_PolygonPoints; static int ett_lpp_PositioningModes; static int ett_lpp_T_posModes; static int ett_lpp_ScheduledLocationTimeSupport_r17; static int ett_lpp_ScheduledLocationTimeSupportPerMode_r17; static int ett_lpp_T_gnssTime_r17; static int ett_lpp_VelocityTypes; static int ett_lpp_CommonIEsRequestCapabilities; static int ett_lpp_T_lpp_message_segmentation_req_r14; static int ett_lpp_CommonIEsProvideCapabilities; static int ett_lpp_T_lpp_message_segmentation_r14; static int ett_lpp_CommonIEsRequestAssistanceData; static int ett_lpp_CommonIEsProvideAssistanceData; static int ett_lpp_CommonIEsRequestLocationInformation; static int ett_lpp_PeriodicalReportingCriteria; static int ett_lpp_PeriodicalReportingCriteriaExt_r18; static int ett_lpp_TriggeredReportingCriteria; static int ett_lpp_QoS; static int ett_lpp_HorizontalAccuracy; static int ett_lpp_VerticalAccuracy; static int ett_lpp_HorizontalAccuracyExt_r15; static int ett_lpp_VerticalAccuracyExt_r15; static int ett_lpp_ResponseTime; static int ett_lpp_ResponseTimeNB_r14; static int ett_lpp_MessageSizeLimitNB_r14; static int ett_lpp_ScheduledLocationTime_r17; static int ett_lpp_T_gnssTime_r17_01; static int ett_lpp_T_networkTime_r17; static int ett_lpp_T_e_utraTime_r17_01; static int ett_lpp_T_nrTime_r17_01; static int ett_lpp_T_nr_Slot_r17; static int ett_lpp_CommonIEsProvideLocationInformation; static int ett_lpp_LocationCoordinates; static int ett_lpp_Velocity; static int ett_lpp_LocationError; static int ett_lpp_LocationSource_r13; static int ett_lpp_IntegrityInfo_r17; static int ett_lpp_CommonIEsAbort; static int ett_lpp_CommonIEsError; static int ett_lpp_AreaID_CellList_r17; static int ett_lpp_NR_Cell_IDs_r17; static int ett_lpp_DL_PRS_ID_Info_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxResourceIDs_r16_OF_NR_DL_PRS_ResourceID_r16; static int ett_lpp_LCS_GCS_TranslationParameter_r16; static int ett_lpp_LocalOrigin_r18; static int ett_lpp_LOS_NLOS_Indicator_r17; static int ett_lpp_T_indicator_r17; static int ett_lpp_NR_AdditionalPathList_r16; static int ett_lpp_NR_AdditionalPathListExt_r17; static int ett_lpp_NR_AdditionalPath_r16; static int ett_lpp_T_nr_RelativeTimeDifference_r16; static int ett_lpp_NR_AggregatedDL_PRS_ResourceInfo_Element_r18; static int ett_lpp_NR_DL_PRS_AssistanceData_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxFreqLayers_r16_OF_NR_DL_PRS_AssistanceDataPerFreq_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPs_r16_OF_NR_SSB_Config_r16; static int ett_lpp_NR_DL_PRS_AssistanceDataPerFreq_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_DL_PRS_AssistanceDataPerTRP_r16; static int ett_lpp_NR_DL_PRS_AssistanceDataPerTRP_r16; static int ett_lpp_NR_DL_PRS_PositioningFrequencyLayer_r16; static int ett_lpp_NR_DL_PRS_SFN0_Offset_r16; static int ett_lpp_NR_DL_PRS_ExpectedAoD_or_AoA_r17; static int ett_lpp_T_expectedAoD_r17; static int ett_lpp_T_expectedAoA_r17; static int ett_lpp_NR_DL_PRS_AggregationInfo_r18; static int ett_lpp_NR_linkedDL_PRS_ResourceSetID_PRS_AggregationList_r18; static int ett_lpp_NR_DL_PRS_AggregationElement_r18; static int ett_lpp_NR_DL_PRS_BeamInfo_r16; static int ett_lpp_NR_DL_PRS_BeamInfoPerFreqLayer_r16; static int ett_lpp_NR_DL_PRS_BeamInfoPerTRP_r16; static int ett_lpp_DL_PRS_BeamInfoSet_r16; static int ett_lpp_DL_PRS_BeamInfoResourceSet_r16; static int ett_lpp_DL_PRS_BeamInfoElement_r16; static int ett_lpp_NR_IntegrityBeamInfoBounds_r18; static int ett_lpp_NR_DL_PRS_ExpectedLOS_NLOS_Assistance_r17; static int ett_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerFreqLayer_r17; static int ett_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerTRP_r17; static int ett_lpp_T_nr_los_nlos_indicator_r17; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17; static int ett_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17; static int ett_lpp_NR_DL_PRS_Info_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ResourceSet_r16; static int ett_lpp_NR_DL_PRS_ResourceSet_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_NR_DL_PRS_Resource_r16; static int ett_lpp_DL_PRS_MutingOption1_r16; static int ett_lpp_DL_PRS_MutingOption2_r16; static int ett_lpp_NR_MutingPattern_r16; static int ett_lpp_NR_DL_PRS_Resource_r16; static int ett_lpp_T_dl_PRS_CombSizeN_AndReOffset_r16; static int ett_lpp_DL_PRS_QCL_Info_r16; static int ett_lpp_T_ssb_r16; static int ett_lpp_T_dl_PRS_r16; static int ett_lpp_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16; static int ett_lpp_T_scs15_r16; static int ett_lpp_T_scs30_r16; static int ett_lpp_T_scs60_r16; static int ett_lpp_T_scs120_r16; static int ett_lpp_DL_PRS_ResourcePrioritySubset_r17; static int ett_lpp_NR_DL_PRSResourcePriorityItem_r17; static int ett_lpp_NR_DL_PRS_MeasurementTimeWindowsConfig_r18; static int ett_lpp_NR_DL_PRS_MeasurementTimeWindowsConfigElement_r18; static int ett_lpp_T_nr_PeriodicOrOneShotTimeWindow_r18; static int ett_lpp_T_nr_OneShotSlotOffsetTimeWindow_r18; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r18; static int ett_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18; static int ett_lpp_NR_SelectedDL_PRS_IndexPerTRP_r18; static int ett_lpp_T_dl_SelectedPRS_ResourceSetIndexList_r18; static int ett_lpp_NR_DL_PRS_ProcessingCapability_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_PRS_ProcessingCapabilityPerBand_r16; static int ett_lpp_PRS_ProcessingCapabilityPerBand_r16; static int ett_lpp_T_supportedBandwidthPRS_r16; static int ett_lpp_T_durationOfPRS_Processing_r16; static int ett_lpp_T_maxNumOfDL_PRS_ResProcessedPerSlot_r16; static int ett_lpp_SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17; static int ett_lpp_T_durationOfPRS_Processing_RRC_Inactive_r17; static int ett_lpp_T_maxNumOfDL_PRS_ResProcessedPerSlot_RRC_Inactive_r17; static int ett_lpp_T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18; static int ett_lpp_T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18; static int ett_lpp_T_ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18; static int ett_lpp_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17; static int ett_lpp_T_ppw_durationOfPRS_Processing1_r17; static int ett_lpp_T_ppw_durationOfPRS_Processing2_r17; static int ett_lpp_T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17; static int ett_lpp_T_ppw_maxNumOfDL_Bandwidth_r17; static int ett_lpp_PRS_BWA_TwoContiguousIntrabandInMG_r18; static int ett_lpp_T_prs_durationOfTwoPRS_BWA_Processing_r18; static int ett_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18; static int ett_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18; static int ett_lpp_PRS_BWA_ThreeContiguousIntrabandInMG_r18; static int ett_lpp_T_prs_durationOfThreePRS_BWA_Processing_r18; static int ett_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_01; static int ett_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_01; static int ett_lpp_DL_PRS_MeasurementWithRxFH_RRC_Connected_r18; static int ett_lpp_T_processingDuration_r18; static int ett_lpp_NR_DL_PRS_QCL_ProcessingCapability_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_QCL_ProcessingCapabilityPerBand_r16; static int ett_lpp_DL_PRS_QCL_ProcessingCapabilityPerBand_r16; static int ett_lpp_NR_DL_PRS_ResourcesCapability_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_PRS_ResourcesCapabilityPerBand_r16; static int ett_lpp_DL_PRS_ResourcesCapabilityPerBand_r16; static int ett_lpp_DL_PRS_ResourcesBandCombinationList_r16; static int ett_lpp_DL_PRS_ResourcesBandCombination_r16; static int ett_lpp_SEQUENCE_SIZE_1_maxSimultaneousBands_r16_OF_FreqBandIndicatorNR_r16; static int ett_lpp_T_maxNrOfDL_PRS_ResourcesAcrossAllFL_TRP_ResourceSet_r16; static int ett_lpp_T_fr1_FR2Mix_r16; static int ett_lpp_NR_DL_PRS_TRP_TEG_Info_r17; static int ett_lpp_NR_DL_PRS_TRP_TEG_InfoPerFreqLayer_r17; static int ett_lpp_NR_DL_PRS_TRP_TEG_InfoPerTRP_r17; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_TEG_InfoPerResourceSet_r17; static int ett_lpp_DL_PRS_TEG_InfoPerResourceSet_r17; static int ett_lpp_DL_PRS_TEG_InfoElement_r17; static int ett_lpp_NR_IntegrityRiskParameters_r18; static int ett_lpp_NR_IntegrityServiceAlert_r18; static int ett_lpp_NR_TRP_IntegrityServiceAlertPerFreqLayer_r18; static int ett_lpp_NR_TRP_IntegrityServiceAlertElement_r18; static int ett_lpp_NR_IntegrityServiceParameters_r18; static int ett_lpp_NR_On_Demand_DL_PRS_Configurations_r17; static int ett_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_On_Demand_DL_PRS_Configuration_r17; static int ett_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_OnDemandDL_PRS_AggregationInfo_r18; static int ett_lpp_On_Demand_DL_PRS_Configuration_r17; static int ett_lpp_DL_PRS_Configuration_ID_r17; static int ett_lpp_OnDemandDL_PRS_AggregationInfo_r18; static int ett_lpp_NR_On_Demand_DL_PRS_Information_r17; static int ett_lpp_NR_On_Demand_DL_PRS_PerFreqLayer_r17; static int ett_lpp_DL_PRS_QCL_InformationReqTRPlist_r17; static int ett_lpp_DL_PRS_QCL_InformationReqPerTRP_r17; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_QCL_InfoReq_r17; static int ett_lpp_DL_PRS_QCL_InfoReq_r17; static int ett_lpp_T_dl_prs_QCL_InformationReq_r17; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_QCL_Info_r16; static int ett_lpp_NR_On_Demand_DL_PRS_Request_r17; static int ett_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_DL_PRS_Configuration_ID_r17; static int ett_lpp_T_dl_PRS_AggregationID_PrefList_r18; static int ett_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_NR_OnDemandDL_PRS_AggregationReqElement_r18; static int ett_lpp_DL_PRS_StartTime_and_Duration_r17; static int ett_lpp_T_dl_prs_duration_r17; static int ett_lpp_NR_OnDemandDL_PRS_AggregationReqElement_r18; static int ett_lpp_NR_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17; static int ett_lpp_NR_On_Demand_DL_PRS_Support_r17; static int ett_lpp_NR_PeriodicAssistData_r18; static int ett_lpp_NR_PeriodicAssistDataReq_r18; static int ett_lpp_NR_PeriodicControlParam_r18; static int ett_lpp_NR_PositionCalculationAssistance_r16; static int ett_lpp_NR_IntegrityParametersTRP_LocationInfo_r18; static int ett_lpp_NR_IntegrityParametersDL_PRS_BeamInfo_r18; static int ett_lpp_NR_IntegrityParametersRTD_Info_r18; static int ett_lpp_NR_IntegrityParametersTRP_BeamAntennaInfo_r18; static int ett_lpp_NR_PRU_DL_Info_r18; static int ett_lpp_NR_PRU_RSCP_MeasurementInformation_r18; static int ett_lpp_NR_PRU_RSCP_MeasElement_r18; static int ett_lpp_T_nr_los_nlos_Indicator_r18; static int ett_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18; static int ett_lpp_T_nr_PRU_RSRP_AddSampleMeasurements_r18; static int ett_lpp_T_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18; static int ett_lpp_NR_PRU_RSCP_AdditionalMeasurements_r18; static int ett_lpp_NR_PRU_RSCP_AdditionalMeasurementElement_r18; static int ett_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_r18_OF_NR_RSCP_AdditionalMeasurements_r18; static int ett_lpp_T_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18; static int ett_lpp_T_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18; static int ett_lpp_NR_RTD_Info_r16; static int ett_lpp_ReferenceTRP_RTD_Info_r16; static int ett_lpp_T_refTime_r16; static int ett_lpp_RTD_InfoList_r16; static int ett_lpp_RTD_InfoListPerFreqLayer_r16; static int ett_lpp_RTD_InfoElement_r16; static int ett_lpp_NR_IntegrityRTD_InfoBounds_r18; static int ett_lpp_NR_SelectedDL_PRS_IndexList_r16; static int ett_lpp_NR_SelectedDL_PRS_PerFreq_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r16; static int ett_lpp_NR_SelectedDL_PRS_IndexPerTRP_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_SelectedPRS_ResourceSetIndex_r16; static int ett_lpp_DL_SelectedPRS_ResourceSetIndex_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_SelectedPRS_ResourceIndex_r16; static int ett_lpp_DL_SelectedPRS_ResourceIndex_r16; static int ett_lpp_NR_SSB_Config_r16; static int ett_lpp_T_ssb_PositionsInBurst_r16; static int ett_lpp_NR_TimeStamp_r16; static int ett_lpp_T_nr_Slot_r16; static int ett_lpp_NR_TimingQuality_r16; static int ett_lpp_NR_TRP_BeamAntennaInfo_r17; static int ett_lpp_NR_TRP_BeamAntennaInfoPerFreqLayer_r17; static int ett_lpp_NR_TRP_BeamAntennaInfoPerTRP_r17; static int ett_lpp_NR_TRP_BeamAntennaAngles_r17; static int ett_lpp_NR_TRP_BeamAntennaInfoAzimuthElevation_r17; static int ett_lpp_SEQUENCE_SIZE_1_1801_OF_ElevationElement_R17; static int ett_lpp_ElevationElement_R17; static int ett_lpp_SEQUENCE_SIZE_2_maxNumResourcesPerAngle_r17_OF_BeamPowerElement_r17; static int ett_lpp_BeamPowerElement_r17; static int ett_lpp_NR_IntegrityBeamPowerBounds_r18; static int ett_lpp_NR_TRP_LocationInfo_r16; static int ett_lpp_NR_TRP_LocationInfoPerFreqLayer_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_TRP_LocationInfoElement_r16; static int ett_lpp_TRP_LocationInfoElement_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_ResourceSets_TRP_Element_r16; static int ett_lpp_DL_PRS_ResourceSets_TRP_Element_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_Resource_ARP_Element_r16; static int ett_lpp_DL_PRS_Resource_ARP_Element_r16; static int ett_lpp_NR_IntegrityLocationBounds_r18; static int ett_lpp_T_meanLocationErrorBound_r18; static int ett_lpp_T_stdDevLocationErrorBound_r18; static int ett_lpp_NR_UE_TEG_Capability_r17; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_NR_UE_TEG_ID_CapabilityPerBand_r17; static int ett_lpp_NR_UE_TEG_ID_CapabilityPerBand_r17; static int ett_lpp_NR_UL_SRS_Capability_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_SRS_CapabilityPerBand_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxConfiguredBands_r16_OF_SRS_PosResourcesPerBand_r16; static int ett_lpp_SRS_CapabilityPerBand_r16; static int ett_lpp_OLPC_SRS_Pos_r16; static int ett_lpp_SpatialRelationsSRS_Pos_r16; static int ett_lpp_SRS_PosResourcesPerBand_r16; static int ett_lpp_PosSRS_RRC_Inactive_InInitialUL_BWP_r17; static int ett_lpp_PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17; static int ett_lpp_PosSRS_SP_RRC_Inactive_InInitialUL_BWP_r17; static int ett_lpp_PosSRS_TxFrequencyHoppingRRC_Connected_r18; static int ett_lpp_PosSRS_TxFrequencyHoppingRRC_Inactive_r18; static int ett_lpp_PosSRS_BWA_RRC_Connected_r18; static int ett_lpp_PosSRS_BWA_IndependentCA_RRC_Connected_r18; static int ett_lpp_PosSRS_BWA_RRC_Inactive_r18; static int ett_lpp_NR_PhaseQuality_r18; static int ett_lpp_ReferencePoint_r16; static int ett_lpp_T_referencePointGeographicLocation_r16; static int ett_lpp_RelativeCartesianLocation_r18; static int ett_lpp_X_Value_r18; static int ett_lpp_Y_Value_r18; static int ett_lpp_Z_Value_r18; static int ett_lpp_RelativeLocation_r16; static int ett_lpp_Delta_Latitude_r16; static int ett_lpp_Delta_Longitude_r16; static int ett_lpp_Delta_Height_r16; static int ett_lpp_LocationUncertainty_r16; static int ett_lpp_OTDOA_ProvideAssistanceData; static int ett_lpp_OTDOA_ReferenceCellInfo; static int ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info; static int ett_lpp_PRS_Info; static int ett_lpp_T_prs_MutingInfo_r9; static int ett_lpp_T_prsHoppingInfo_r14; static int ett_lpp_T_nb4_r14; static int ett_lpp_TDD_Config_v1520; static int ett_lpp_OTDOA_NeighbourCellInfoList; static int ett_lpp_OTDOA_NeighbourFreqInfo; static int ett_lpp_OTDOA_NeighbourCellInfoElement; static int ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14; static int ett_lpp_Add_PRSconfigNeighbourElement_r14; static int ett_lpp_OTDOA_ReferenceCellInfoNB_r14; static int ett_lpp_PRS_Info_NB_r14; static int ett_lpp_NPRS_Info_r14; static int ett_lpp_T_partA_r14; static int ett_lpp_T_nprsBitmap_r14; static int ett_lpp_T_nprs_MutingInfoA_r14; static int ett_lpp_T_partB_r14; static int ett_lpp_T_nprs_MutingInfoB_r14; static int ett_lpp_T_partA_TDD_r15; static int ett_lpp_T_nprsBitmap_r15; static int ett_lpp_T_nprs_MutingInfoA_r15; static int ett_lpp_OTDOA_NeighbourCellInfoListNB_r14; static int ett_lpp_OTDOA_NeighbourCellInfoNB_r14; static int ett_lpp_OTDOA_RequestAssistanceData; static int ett_lpp_T_adType_r14; static int ett_lpp_OTDOA_ProvideLocationInformation; static int ett_lpp_OTDOA_SignalMeasurementInformation; static int ett_lpp_NeighbourMeasurementList; static int ett_lpp_NeighbourMeasurementElement; static int ett_lpp_AdditionalPathList_r14; static int ett_lpp_MotionTimeSource_r15; static int ett_lpp_OTDOA_SignalMeasurementInformation_NB_r14; static int ett_lpp_NeighbourMeasurementList_NB_r14; static int ett_lpp_NeighbourMeasurementElement_NB_r14; static int ett_lpp_OTDOA_MeasQuality; static int ett_lpp_AdditionalPath_r14; static int ett_lpp_OTDOA_RequestLocationInformation; static int ett_lpp_OTDOA_ProvideCapabilities; static int ett_lpp_T_otdoa_Mode; static int ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA; static int ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0; static int ett_lpp_SupportedBandEUTRA; static int ett_lpp_SupportedBandEUTRA_v9a0; static int ett_lpp_OTDOA_RequestCapabilities; static int ett_lpp_OTDOA_Error; static int ett_lpp_OTDOA_LocationServerErrorCauses; static int ett_lpp_OTDOA_TargetDeviceErrorCauses; static int ett_lpp_A_GNSS_ProvideAssistanceData; static int ett_lpp_GNSS_CommonAssistData; static int ett_lpp_GNSS_GenericAssistData; static int ett_lpp_GNSS_GenericAssistDataElement; static int ett_lpp_GNSS_PeriodicAssistData_r15; static int ett_lpp_GNSS_ReferenceTime; static int ett_lpp_SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell; static int ett_lpp_GNSS_ReferenceTimeForOneCell; static int ett_lpp_GNSS_SystemTime; static int ett_lpp_GPS_TOW_Assist; static int ett_lpp_GPS_TOW_AssistElement; static int ett_lpp_NetworkTime; static int ett_lpp_T_cellID; static int ett_lpp_T_eUTRA; static int ett_lpp_T_uTRA; static int ett_lpp_T_mode; static int ett_lpp_T_fdd; static int ett_lpp_T_tdd; static int ett_lpp_T_gSM; static int ett_lpp_T_nBIoT_r14; static int ett_lpp_T_nr_r15; static int ett_lpp_GNSS_ReferenceLocation; static int ett_lpp_GNSS_IonosphericModel; static int ett_lpp_KlobucharModelParameter; static int ett_lpp_KlobucharModel2Parameter_r16; static int ett_lpp_NeQuickModelParameter; static int ett_lpp_GNSS_EarthOrientationParameters; static int ett_lpp_GNSS_RTK_ReferenceStationInfo_r15; static int ett_lpp_AntennaDescription_r15; static int ett_lpp_AntennaReferencePointUnc_r15; static int ett_lpp_PhysicalReferenceStationInfo_r15; static int ett_lpp_EqualIntegerAmbiguityLevel_r16; static int ett_lpp_ReferenceStationList_r16; static int ett_lpp_GNSS_RTK_CommonObservationInfo_r15; static int ett_lpp_GNSS_RTK_AuxiliaryStationData_r15; static int ett_lpp_AuxiliaryStationList_r15; static int ett_lpp_AuxiliaryStationElement_r15; static int ett_lpp_Aux_ARP_Unc_r15; static int ett_lpp_GNSS_SSR_CorrectionPoints_r16; static int ett_lpp_T_correctionPoints_r16; static int ett_lpp_GNSS_SSR_ListOfCorrectionPoints_r16; static int ett_lpp_SEQUENCE_SIZE_0_63_OF_RelativeLocationElement_r16; static int ett_lpp_RelativeLocationElement_r16; static int ett_lpp_GNSS_SSR_ArrayOfCorrectionPoints_r16; static int ett_lpp_GNSS_Integrity_ServiceParameters_r17; static int ett_lpp_GNSS_Integrity_ServiceAlert_r17; static int ett_lpp_GNSS_LOS_NLOS_GridPoints_r18; static int ett_lpp_ArrayOfGridPoints_r18; static int ett_lpp_T_bitmaskOfGrids_r18; static int ett_lpp_VerticalGridPoints_r18; static int ett_lpp_GNSS_SSR_IOD_Update_r18; static int ett_lpp_GNSS_TimeModelList; static int ett_lpp_GNSS_TimeModelElement; static int ett_lpp_GNSS_DifferentialCorrections; static int ett_lpp_DGNSS_SgnTypeList; static int ett_lpp_DGNSS_SgnTypeElement; static int ett_lpp_DGNSS_SatList; static int ett_lpp_DGNSS_CorrectionsElement; static int ett_lpp_GNSS_NavigationModel; static int ett_lpp_GNSS_NavModelSatelliteList; static int ett_lpp_GNSS_NavModelSatelliteElement; static int ett_lpp_GNSS_ClockModel; static int ett_lpp_GNSS_OrbitModel; static int ett_lpp_StandardClockModelList; static int ett_lpp_StandardClockModelElement; static int ett_lpp_NAV_ClockModel; static int ett_lpp_CNAV_ClockModel; static int ett_lpp_GLONASS_ClockModel; static int ett_lpp_SBAS_ClockModel; static int ett_lpp_BDS_ClockModel_r12; static int ett_lpp_BDS_ClockModel2_r16; static int ett_lpp_NavIC_ClockModel_r16; static int ett_lpp_NavModelKeplerianSet; static int ett_lpp_NavModelNAV_KeplerianSet; static int ett_lpp_T_addNAVparam; static int ett_lpp_T_ephemSF1Rsvd; static int ett_lpp_NavModelCNAV_KeplerianSet; static int ett_lpp_NavModel_GLONASS_ECEF; static int ett_lpp_NavModel_SBAS_ECEF; static int ett_lpp_NavModel_BDS_KeplerianSet_r12; static int ett_lpp_NavModel_BDS_KeplerianSet2_r16; static int ett_lpp_NavModel_NavIC_KeplerianSet_r16; static int ett_lpp_GNSS_RealTimeIntegrity; static int ett_lpp_GNSS_BadSignalList; static int ett_lpp_BadSignalElement; static int ett_lpp_GNSS_DataBitAssistance; static int ett_lpp_GNSS_DataBitsSatList; static int ett_lpp_GNSS_DataBitsSatElement; static int ett_lpp_GNSS_DataBitsSgnList; static int ett_lpp_GNSS_DataBitsSgnElement; static int ett_lpp_GNSS_AcquisitionAssistance; static int ett_lpp_GNSS_AcquisitionAssistList; static int ett_lpp_GNSS_AcquisitionAssistElement; static int ett_lpp_GNSS_Almanac; static int ett_lpp_GNSS_AlmanacList; static int ett_lpp_GNSS_AlmanacElement; static int ett_lpp_AlmanacKeplerianSet; static int ett_lpp_AlmanacNAV_KeplerianSet; static int ett_lpp_AlmanacReducedKeplerianSet; static int ett_lpp_AlmanacMidiAlmanacSet; static int ett_lpp_AlmanacGLONASS_AlmanacSet; static int ett_lpp_AlmanacECEF_SBAS_AlmanacSet; static int ett_lpp_AlmanacBDS_AlmanacSet_r12; static int ett_lpp_AlmanacNavIC_AlmanacSet_r16; static int ett_lpp_GNSS_UTC_Model; static int ett_lpp_UTC_ModelSet1; static int ett_lpp_UTC_ModelSet2; static int ett_lpp_UTC_ModelSet3; static int ett_lpp_UTC_ModelSet4; static int ett_lpp_UTC_ModelSet5_r12; static int ett_lpp_GNSS_AuxiliaryInformation; static int ett_lpp_GNSS_ID_GPS; static int ett_lpp_GNSS_ID_GPS_SatElement; static int ett_lpp_GNSS_ID_GLONASS; static int ett_lpp_GNSS_ID_GLONASS_SatElement; static int ett_lpp_GNSS_ID_BDS_r16; static int ett_lpp_GNSS_ID_BDS_SatElement_r16; static int ett_lpp_BDS_DifferentialCorrections_r12; static int ett_lpp_BDS_SgnTypeList_r12; static int ett_lpp_BDS_SgnTypeElement_r12; static int ett_lpp_DBDS_CorrectionList_r12; static int ett_lpp_DBDS_CorrectionElement_r12; static int ett_lpp_BDS_GridModelParameter_r12; static int ett_lpp_GridIonList_r12; static int ett_lpp_GridIonElement_r12; static int ett_lpp_GNSS_RTK_Observations_r15; static int ett_lpp_GNSS_ObservationList_r15; static int ett_lpp_GNSS_RTK_SatelliteDataElement_r15; static int ett_lpp_GNSS_RTK_SatelliteSignalDataList_r15; static int ett_lpp_GNSS_RTK_SatelliteSignalDataElement_r15; static int ett_lpp_GLO_RTK_BiasInformation_r15; static int ett_lpp_GNSS_RTK_MAC_CorrectionDifferences_r15; static int ett_lpp_RTK_CorrectionDifferencesList_r15; static int ett_lpp_RTK_CorrectionDifferencesElement_r15; static int ett_lpp_Geometric_Ionospheric_Corrections_Differences_r15; static int ett_lpp_Geometric_Ionospheric_Corrections_Differences_Element_r15; static int ett_lpp_GNSS_RTK_Residuals_r15; static int ett_lpp_RTK_Residuals_List_r15; static int ett_lpp_RTK_Residuals_Element_r15; static int ett_lpp_GNSS_RTK_FKP_Gradients_r15; static int ett_lpp_FKP_Gradients_List_r15; static int ett_lpp_FKP_Gradients_Element_r15; static int ett_lpp_GNSS_SSR_OrbitCorrections_r15; static int ett_lpp_SSR_OrbitCorrectionList_r15; static int ett_lpp_SSR_OrbitCorrectionSatelliteElement_r15; static int ett_lpp_ORBIT_IntegrityParameters_r17; static int ett_lpp_SSR_IntegrityOrbitBounds_r17; static int ett_lpp_RAC_OrbitalErrorComponents_r17; static int ett_lpp_GNSS_SSR_ClockCorrections_r15; static int ett_lpp_SSR_ClockCorrectionList_r15; static int ett_lpp_SSR_ClockCorrectionSatelliteElement_r15; static int ett_lpp_CLOCK_IntegrityParameters_r17; static int ett_lpp_SSR_IntegrityClockBounds_r17; static int ett_lpp_GNSS_SSR_CodeBias_r15; static int ett_lpp_SSR_CodeBiasSatList_r15; static int ett_lpp_SSR_CodeBiasSatElement_r15; static int ett_lpp_SSR_CodeBiasSignalList_r15; static int ett_lpp_SSR_CodeBiasSignalElement_r15; static int ett_lpp_SSR_IntegrityCodeBiasBounds_r17; static int ett_lpp_GNSS_SSR_URA_r16; static int ett_lpp_SSR_URA_SatList_r16; static int ett_lpp_SSR_URA_SatElement_r16; static int ett_lpp_GNSS_SSR_PhaseBias_r16; static int ett_lpp_SSR_PhaseBiasSatList_r16; static int ett_lpp_SSR_PhaseBiasSatElement_r16; static int ett_lpp_SSR_PhaseBiasSignalList_r16; static int ett_lpp_SSR_PhaseBiasSignalElement_r16; static int ett_lpp_SSR_IntegrityPhaseBiasBounds_r17; static int ett_lpp_GNSS_SSR_STEC_Correction_r16; static int ett_lpp_STEC_SatList_r16; static int ett_lpp_STEC_SatElement_r16; static int ett_lpp_STEC_IntegrityParameters_r17; static int ett_lpp_STEC_IntegrityErrorBounds_r17; static int ett_lpp_GNSS_SSR_GriddedCorrection_r16; static int ett_lpp_GridList_r16; static int ett_lpp_GridElement_r16; static int ett_lpp_TropospericDelayCorrection_r16; static int ett_lpp_STEC_ResidualSatList_r16; static int ett_lpp_STEC_ResidualSatElement_r16; static int ett_lpp_T_stecResidualCorrection_r16; static int ett_lpp_SSR_GriddedCorrectionIntegrityParameters_r17; static int ett_lpp_TropoDelayIntegrityErrorBounds_r17; static int ett_lpp_NavIC_DifferentialCorrections_r16; static int ett_lpp_NavIC_CorrectionListAutoNav_r16; static int ett_lpp_NavIC_CorrectionElementAutoNav_r16; static int ett_lpp_NavIC_EDC_r16; static int ett_lpp_NavIC_CDC_r16; static int ett_lpp_NavIC_GridModelParameter_r16; static int ett_lpp_RegionIgpList_r16; static int ett_lpp_RegionIgpElement_r16; static int ett_lpp_GNSS_SSR_OrbitCorrectionsSet2_r17; static int ett_lpp_GNSS_SSR_ClockCorrectionsSet2_r17; static int ett_lpp_GNSS_SSR_URA_Set2_r17; static int ett_lpp_GNSS_LOS_NLOS_GriddedIndications_r18; static int ett_lpp_GridList_r18; static int ett_lpp_GridElement_r18; static int ett_lpp_GNSS_LOS_InfoList_r18; static int ett_lpp_GNSS_LOS_InfoElement_r18; static int ett_lpp_GNSS_SSR_SatellitePCVResiduals_r18; static int ett_lpp_SSR_SatellitePCV_List_r18; static int ett_lpp_SSR_SatellitePCV_Element_r18; static int ett_lpp_SSR_SatellitePCV_FrequencyList_r18; static int ett_lpp_SSR_SatellitePCV_FrequencyElement_r18; static int ett_lpp_SSR_PhaseCenterVariationList_r18; static int ett_lpp_A_GNSS_RequestAssistanceData; static int ett_lpp_GNSS_CommonAssistDataReq; static int ett_lpp_GNSS_GenericAssistDataReq; static int ett_lpp_GNSS_GenericAssistDataReqElement; static int ett_lpp_GNSS_PeriodicAssistDataReq_r15; static int ett_lpp_GNSS_ReferenceTimeReq; static int ett_lpp_SEQUENCE_SIZE_1_8_OF_GNSS_ID; static int ett_lpp_GNSS_ReferenceLocationReq; static int ett_lpp_GNSS_IonosphericModelReq; static int ett_lpp_GNSS_EarthOrientationParametersReq; static int ett_lpp_GNSS_RTK_ReferenceStationInfoReq_r15; static int ett_lpp_GNSS_RTK_AuxiliaryStationDataReq_r15; static int ett_lpp_GNSS_SSR_CorrectionPointsReq_r16; static int ett_lpp_GNSS_Integrity_ServiceParametersReq_r17; static int ett_lpp_GNSS_Integrity_ServiceAlertReq_r17; static int ett_lpp_GNSS_SSR_IOD_UpdateReq_r18; static int ett_lpp_GNSS_TimeModelListReq; static int ett_lpp_GNSS_TimeModelElementReq; static int ett_lpp_GNSS_DifferentialCorrectionsReq; static int ett_lpp_GNSS_NavigationModelReq; static int ett_lpp_StoredNavListInfo; static int ett_lpp_SatListRelatedDataList; static int ett_lpp_SatListRelatedDataElement; static int ett_lpp_ReqNavListInfo; static int ett_lpp_T_clockModelID_PrefList; static int ett_lpp_T_orbitModelID_PrefList; static int ett_lpp_GNSS_RealTimeIntegrityReq; static int ett_lpp_GNSS_DataBitAssistanceReq; static int ett_lpp_GNSS_DataBitsReqSatList; static int ett_lpp_GNSS_DataBitsReqSatElement; static int ett_lpp_GNSS_AcquisitionAssistanceReq; static int ett_lpp_GNSS_AlmanacReq; static int ett_lpp_GNSS_UTC_ModelReq; static int ett_lpp_GNSS_AuxiliaryInformationReq; static int ett_lpp_BDS_DifferentialCorrectionsReq_r12; static int ett_lpp_BDS_GridModelReq_r12; static int ett_lpp_GNSS_RTK_ObservationsReq_r15; static int ett_lpp_GLO_RTK_BiasInformationReq_r15; static int ett_lpp_GNSS_RTK_MAC_CorrectionDifferencesReq_r15; static int ett_lpp_AUX_ReferenceStationList_r15; static int ett_lpp_AUX_ReferenceStationID_Element_r15; static int ett_lpp_GNSS_RTK_ResidualsReq_r15; static int ett_lpp_GNSS_RTK_FKP_GradientsReq_r15; static int ett_lpp_GNSS_SSR_OrbitCorrectionsReq_r15; static int ett_lpp_T_orbit_IntegrityReq_r17; static int ett_lpp_GNSS_SSR_ClockCorrectionsReq_r15; static int ett_lpp_GNSS_SSR_CodeBiasReq_r15; static int ett_lpp_GNSS_SSR_URA_Req_r16; static int ett_lpp_GNSS_SSR_PhaseBiasReq_r16; static int ett_lpp_GNSS_SSR_STEC_CorrectionReq_r16; static int ett_lpp_T_stec_IntegrityReq_r17; static int ett_lpp_GNSS_SSR_GriddedCorrectionReq_r16; static int ett_lpp_NavIC_DifferentialCorrectionsReq_r16; static int ett_lpp_NavIC_GridModelReq_r16; static int ett_lpp_GNSS_SSR_OrbitCorrectionsSet2Req_r17; static int ett_lpp_GNSS_SSR_ClockCorrectionsSet2Req_r17; static int ett_lpp_GNSS_SSR_URA_Set2Req_r17; static int ett_lpp_GNSS_LOS_NLOS_GriddedIndicationsReq_r18; static int ett_lpp_T_relativeLocationInfo_r18; static int ett_lpp_GNSS_SSR_SatellitePCVResidualsReq_r18; static int ett_lpp_A_GNSS_ProvideLocationInformation; static int ett_lpp_GNSS_SignalMeasurementInformation; static int ett_lpp_MeasurementReferenceTime; static int ett_lpp_T_networkTime; static int ett_lpp_T_eUTRA_01; static int ett_lpp_T_uTRA_01; static int ett_lpp_T_mode_01; static int ett_lpp_T_fdd_01; static int ett_lpp_T_tdd_01; static int ett_lpp_T_gSM_01; static int ett_lpp_T_referenceFrame; static int ett_lpp_T_nbIoT_r14; static int ett_lpp_T_nr_r15_01; static int ett_lpp_GNSS_MeasurementList; static int ett_lpp_GNSS_MeasurementForOneGNSS; static int ett_lpp_GNSS_SgnMeasList; static int ett_lpp_GNSS_SgnMeasElement; static int ett_lpp_GNSS_SatMeasList; static int ett_lpp_GNSS_SatMeasElement; static int ett_lpp_GNSS_LocationInformation; static int ett_lpp_HA_GNSS_Metrics_r17; static int ett_lpp_A_GNSS_RequestLocationInformation; static int ett_lpp_GNSS_PositioningInstructions; static int ett_lpp_A_GNSS_ProvideCapabilities; static int ett_lpp_T_periodicAssistanceData_r15; static int ett_lpp_GNSS_SupportList; static int ett_lpp_GNSS_SupportElement; static int ett_lpp_T_fta_MeasSupport; static int ett_lpp_AssistanceDataSupportList; static int ett_lpp_GNSS_CommonAssistanceDataSupport; static int ett_lpp_GNSS_ReferenceTimeSupport; static int ett_lpp_GNSS_ReferenceLocationSupport; static int ett_lpp_GNSS_IonosphericModelSupport; static int ett_lpp_T_ionoModel; static int ett_lpp_GNSS_EarthOrientationParametersSupport; static int ett_lpp_GNSS_RTK_ReferenceStationInfoSupport_r15; static int ett_lpp_GNSS_RTK_AuxiliaryStationDataSupport_r15; static int ett_lpp_GNSS_Integrity_ServiceParametersSupport_r17; static int ett_lpp_GNSS_Integrity_ServiceAlertSupport_r17; static int ett_lpp_GNSS_SSR_IOD_UpdateSupport_r18; static int ett_lpp_GNSS_GenericAssistanceDataSupport; static int ett_lpp_GNSS_GenericAssistDataSupportElement; static int ett_lpp_GNSS_TimeModelListSupport; static int ett_lpp_GNSS_DifferentialCorrectionsSupport; static int ett_lpp_GNSS_NavigationModelSupport; static int ett_lpp_T_clockModel; static int ett_lpp_T_orbitModel; static int ett_lpp_GNSS_RealTimeIntegritySupport; static int ett_lpp_GNSS_DataBitAssistanceSupport; static int ett_lpp_GNSS_AcquisitionAssistanceSupport; static int ett_lpp_GNSS_AlmanacSupport; static int ett_lpp_T_almanacModel; static int ett_lpp_GNSS_UTC_ModelSupport; static int ett_lpp_T_utc_Model; static int ett_lpp_GNSS_AuxiliaryInformationSupport; static int ett_lpp_BDS_DifferentialCorrectionsSupport_r12; static int ett_lpp_BDS_GridModelSupport_r12; static int ett_lpp_GNSS_RTK_ObservationsSupport_r15; static int ett_lpp_GLO_RTK_BiasInformationSupport_r15; static int ett_lpp_GNSS_RTK_MAC_CorrectionDifferencesSupport_r15; static int ett_lpp_GNSS_RTK_ResidualsSupport_r15; static int ett_lpp_GNSS_RTK_FKP_GradientsSupport_r15; static int ett_lpp_GNSS_SSR_OrbitCorrectionsSupport_r15; static int ett_lpp_T_orbit_IntegritySup_r17; static int ett_lpp_GNSS_SSR_ClockCorrectionsSupport_r15; static int ett_lpp_GNSS_SSR_CodeBiasSupport_r15; static int ett_lpp_GNSS_SSR_URA_Support_r16; static int ett_lpp_GNSS_SSR_PhaseBiasSupport_r16; static int ett_lpp_GNSS_SSR_STEC_CorrectionSupport_r16; static int ett_lpp_T_stec_IntegritySup_r17; static int ett_lpp_GNSS_SSR_GriddedCorrectionSupport_r16; static int ett_lpp_NavIC_DifferentialCorrectionsSupport_r16; static int ett_lpp_NavIC_GridModelSupport_r16; static int ett_lpp_GNSS_SSR_OrbitCorrectionsSet2Support_r17; static int ett_lpp_GNSS_SSR_ClockCorrectionsSet2Support_r17; static int ett_lpp_GNSS_SSR_URA_Set2Support_r17; static int ett_lpp_GNSS_LOS_NLOS_GriddedIndicationsSupport_r18; static int ett_lpp_GNSS_SSR_SatellitePCVResidualsSupport_r18; static int ett_lpp_A_GNSS_RequestCapabilities; static int ett_lpp_A_GNSS_Error; static int ett_lpp_GNSS_LocationServerErrorCauses; static int ett_lpp_GNSS_TargetDeviceErrorCauses; static int ett_lpp_GNSS_FrequencyID_r15; static int ett_lpp_GNSS_ID; static int ett_lpp_GNSS_ID_Bitmap; static int ett_lpp_T_gnss_ids; static int ett_lpp_GNSS_Link_CombinationsList_r15; static int ett_lpp_GNSS_Link_Combinations_r15; static int ett_lpp_GNSS_NavListInfo_r15; static int ett_lpp_SatListElement_r15; static int ett_lpp_GNSS_NetworkID_r15; static int ett_lpp_GNSS_PeriodicControlParam_r15; static int ett_lpp_GNSS_ReferenceStationID_r15; static int ett_lpp_GNSS_SignalID; static int ett_lpp_GNSS_SignalIDs; static int ett_lpp_GNSS_SubNetworkID_r15; static int ett_lpp_SBAS_ID; static int ett_lpp_SBAS_IDs; static int ett_lpp_T_sbas_IDs; static int ett_lpp_SV_ID; static int ett_lpp_ECID_ProvideLocationInformation; static int ett_lpp_ECID_SignalMeasurementInformation; static int ett_lpp_MeasuredResultsList; static int ett_lpp_MeasuredResultsElement; static int ett_lpp_ECID_RequestLocationInformation; static int ett_lpp_T_requestedMeasurements; static int ett_lpp_ECID_ProvideCapabilities; static int ett_lpp_T_ecid_MeasSupported; static int ett_lpp_ECID_RequestCapabilities; static int ett_lpp_ECID_Error; static int ett_lpp_ECID_LocationServerErrorCauses; static int ett_lpp_ECID_TargetDeviceErrorCauses; static int ett_lpp_TBS_ProvideLocationInformation_r13; static int ett_lpp_TBS_MeasurementInformation_r13; static int ett_lpp_MBS_BeaconMeasList_r13; static int ett_lpp_MBS_BeaconMeasElement_r13; static int ett_lpp_TBS_RequestLocationInformation_r13; static int ett_lpp_T_mbsRequestedMeasurements_r14; static int ett_lpp_TBS_ProvideCapabilities_r13; static int ett_lpp_T_tbs_Modes_r13; static int ett_lpp_T_mbs_ConfigSupport_r14; static int ett_lpp_MBS_AssistanceDataSupportList_r14; static int ett_lpp_TBS_RequestCapabilities_r13; static int ett_lpp_TBS_Error_r13; static int ett_lpp_TBS_LocationServerErrorCauses_r13; static int ett_lpp_TBS_TargetDeviceErrorCauses_r13; static int ett_lpp_TBS_ProvideAssistanceData_r14; static int ett_lpp_TBS_AssistanceDataList_r14; static int ett_lpp_MBS_AssistanceDataList_r14; static int ett_lpp_MBS_AssistanceDataElement_r14; static int ett_lpp_MBS_AlmanacAssistance_r14; static int ett_lpp_MBS_AcquisitionAssistance_r14; static int ett_lpp_TBS_RequestAssistanceData_r14; static int ett_lpp_Sensor_ProvideLocationInformation_r13; static int ett_lpp_Sensor_MeasurementInformation_r13; static int ett_lpp_T_uncertainty_r14; static int ett_lpp_Sensor_MotionInformation_r15; static int ett_lpp_DisplacementInfoList_r15; static int ett_lpp_DisplacementInfoListElement_r15; static int ett_lpp_DisplacementTimeStamp_r15; static int ett_lpp_DeltaTime_r15; static int ett_lpp_SFN_r15; static int ett_lpp_Displacement_r15; static int ett_lpp_UTC_Time_r15; static int ett_lpp_Sensor_RequestLocationInformation_r13; static int ett_lpp_Sensor_ProvideCapabilities_r13; static int ett_lpp_T_sensor_Modes_r13; static int ett_lpp_Sensor_AssistanceDataSupportList_r14; static int ett_lpp_Sensor_RequestCapabilities_r13; static int ett_lpp_Sensor_Error_r13; static int ett_lpp_Sensor_LocationServerErrorCauses_r13; static int ett_lpp_Sensor_TargetDeviceErrorCauses_r13; static int ett_lpp_Sensor_ProvideAssistanceData_r14; static int ett_lpp_Sensor_AssistanceDataList_r14; static int ett_lpp_T_period_v1520; static int ett_lpp_T_area_v1520; static int ett_lpp_PressureValidityArea_v1520; static int ett_lpp_PressureValidityPeriod_v1520; static int ett_lpp_Sensor_RequestAssistanceData_r14; static int ett_lpp_WLAN_ProvideLocationInformation_r13; static int ett_lpp_WLAN_MeasurementInformation_r13; static int ett_lpp_WLAN_MeasurementList_r13; static int ett_lpp_WLAN_MeasurementElement_r13; static int ett_lpp_WLAN_AP_Identifier_r13; static int ett_lpp_WLAN_RTT_r13; static int ett_lpp_WLAN_RequestLocationInformation_r13; static int ett_lpp_T_requestedMeasurements_r13; static int ett_lpp_WLAN_ProvideCapabilities_r13; static int ett_lpp_T_wlan_Modes_r13; static int ett_lpp_T_wlan_MeasSupported_r13; static int ett_lpp_T_wlan_AP_AD_Supported_r14; static int ett_lpp_WLAN_RequestCapabilities_r13; static int ett_lpp_WLAN_Error_r13; static int ett_lpp_WLAN_LocationServerErrorCauses_r13; static int ett_lpp_WLAN_TargetDeviceErrorCauses_r13; static int ett_lpp_WLAN_ProvideAssistanceData_r14; static int ett_lpp_SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14; static int ett_lpp_WLAN_DataSet_r14; static int ett_lpp_SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14; static int ett_lpp_SupportedChannels_11a_r14; static int ett_lpp_SupportedChannels_11bg_r14; static int ett_lpp_WLAN_AP_Data_r14; static int ett_lpp_WLAN_AP_Location_r14; static int ett_lpp_LocationDataLCI_r14; static int ett_lpp_WLAN_RequestAssistanceData_r14; static int ett_lpp_T_requestedAD_r14; static int ett_lpp_SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13; static int ett_lpp_SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13; static int ett_lpp_BT_ProvideLocationInformation_r13; static int ett_lpp_BT_AoA_Config_r18; static int ett_lpp_BT_MeasurementInformation_r13; static int ett_lpp_BT_MeasurementList_r13; static int ett_lpp_BT_MeasurementElement_r13; static int ett_lpp_BT_MeasurementList_r18; static int ett_lpp_BT_MeasurementElement_r18; static int ett_lpp_BT_RequestLocationInformation_r13; static int ett_lpp_T_requestedMeasurements_r13_01; static int ett_lpp_T_bt_requestedAoA_Config_r18; static int ett_lpp_BT_SuggestedAoA_Config_r18; static int ett_lpp_BT_ProvideCapabilities_r13; static int ett_lpp_T_bt_Modes_r13; static int ett_lpp_T_bt_MeasSupported_r13; static int ett_lpp_BT_RequestCapabilities_r13; static int ett_lpp_BT_Error_r13; static int ett_lpp_BT_LocationServerErrorCauses_r13; static int ett_lpp_BT_TargetDeviceErrorCauses_r13; static int ett_lpp_BT_ProvideAssistanceData_r18; static int ett_lpp_BT_BeaconInfo_r18; static int ett_lpp_SEQUENCE_SIZE_1_maxBT_BeaconAD_r18_OF_BT_BeaconInfoElement_r18; static int ett_lpp_BT_BeaconInfoElement_r18; static int ett_lpp_SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntElement_r18; static int ett_lpp_SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntSwitchElement_r18; static int ett_lpp_BT_AntArrayConfig_r18; static int ett_lpp_BT_AntElement_r18; static int ett_lpp_BT_AntSwitchElement_r18; static int ett_lpp_BT_AoD_TransmConfig_r18; static int ett_lpp_BT_UniformLinearArray_r18; static int ett_lpp_BT_UniformRectangularArray_r18; static int ett_lpp_BT_UniformCircularArray_r18; static int ett_lpp_BT_GenericArray_r18; static int ett_lpp_BT_ULA_GenericAntElement_r18; static int ett_lpp_BT_RequestAssistanceData_r18; static int ett_lpp_T_requestedAD_r18; static int ett_lpp_NR_UL_ProvideCapabilities_r16; static int ett_lpp_NR_UL_RequestCapabilities_r16; static int ett_lpp_NR_ECID_ProvideLocationInformation_r16; static int ett_lpp_NR_ECID_SignalMeasurementInformation_r16; static int ett_lpp_NR_MeasuredResultsList_r16; static int ett_lpp_NR_MeasuredResultsElement_r16; static int ett_lpp_T_nr_ARFCN_r16; static int ett_lpp_MeasQuantityResults_r16; static int ett_lpp_ResultsPerSSB_IndexList_r16; static int ett_lpp_ResultsPerSSB_Index_r16; static int ett_lpp_ResultsPerCSI_RS_IndexList_r16; static int ett_lpp_ResultsPerCSI_RS_Index_r16; static int ett_lpp_NR_ECID_RequestLocationInformation_r16; static int ett_lpp_T_requestedMeasurements_r16; static int ett_lpp_NR_ECID_ProvideCapabilities_r16; static int ett_lpp_T_nr_ECID_MeasSupported_r16; static int ett_lpp_NR_ECID_RequestCapabilities_r16; static int ett_lpp_NR_ECID_Error_r16; static int ett_lpp_NR_ECID_LocationServerErrorCauses_r16; static int ett_lpp_NR_ECID_TargetDeviceErrorCauses_r16; static int ett_lpp_NR_DL_TDOA_ProvideAssistanceData_r16; static int ett_lpp_NR_DL_TDOA_RequestAssistanceData_r16; static int ett_lpp_T_nr_AdType_r16; static int ett_lpp_T_nr_PosCalcAssistanceRequest_r17; static int ett_lpp_T_nr_IntegrityAssistanceRequest_r18; static int ett_lpp_NR_DL_TDOA_ProvideLocationInformation_r16; static int ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_SignalMeasurementInformation_r16; static int ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_LocationInformation_r16; static int ett_lpp_NR_DL_TDOA_SignalMeasurementInformation_r16; static int ett_lpp_NR_DL_TDOA_MeasList_r16; static int ett_lpp_NR_DL_TDOA_MeasElement_r16; static int ett_lpp_T_nr_RSTD_r16; static int ett_lpp_T_nr_los_nlos_Indicator_r17; static int ett_lpp_SEQUENCE_SIZE_2_3_OF_NR_AggregatedDL_PRS_ResourceInfo_Element_r18; static int ett_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCPD_AdditionalMeasurementSamplesElement_r18; static int ett_lpp_NR_DL_TDOA_AdditionalMeasurements_r16; static int ett_lpp_NR_DL_TDOA_AdditionalMeasurementsExt_r17; static int ett_lpp_NR_DL_TDOA_AdditionalMeasurementElement_r16; static int ett_lpp_T_nr_RSTD_ResultDiff_r16; static int ett_lpp_NR_RSCPD_AdditionalMeasurementSamplesElement_r18; static int ett_lpp_NR_DL_TDOA_LocationInformation_r16; static int ett_lpp_T_measurementReferenceTime_r16; static int ett_lpp_NR_DL_TDOA_RequestLocationInformation_r16; static int ett_lpp_T_nr_RequestedMeasurements_r16; static int ett_lpp_T_nr_los_nlos_IndicatorRequest_r17; static int ett_lpp_T_nr_DL_PRS_JointMeasurementRequest_r18; static int ett_lpp_T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18; static int ett_lpp_T_nr_DL_PRS_RxHoppingRequest_r18; static int ett_lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18; static int ett_lpp_NR_DL_TDOA_ReportConfig_r16; static int ett_lpp_NR_DL_TDOA_ProvideCapabilities_r16; static int ett_lpp_T_nr_PosCalcAssistanceSupport_r17; static int ett_lpp_T_nr_los_nlos_AssistanceDataSupport_r17; static int ett_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17; static int ett_lpp_T_nr_los_nlos_IndicatorSupport_r17; static int ett_lpp_T_nr_dl_prs_AssistanceDataValidity_r17; static int ett_lpp_T_periodicAssistanceData_r18; static int ett_lpp_T_nr_IntegrityAssistanceSupport_r18; static int ett_lpp_NR_DL_TDOA_MeasurementCapability_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_TDOA_MeasCapabilityPerBand_r17; static int ett_lpp_DL_TDOA_MeasCapabilityPerBand_r17; static int ett_lpp_T_supportOfMeasurementsInTimeWindow_r18; static int ett_lpp_NR_DL_TDOA_RequestCapabilities_r16; static int ett_lpp_NR_DL_TDOA_Error_r16; static int ett_lpp_NR_DL_TDOA_LocationServerErrorCauses_r16; static int ett_lpp_NR_DL_TDOA_TargetDeviceErrorCauses_r16; static int ett_lpp_NR_DL_AoD_ProvideAssistanceData_r16; static int ett_lpp_NR_DL_AoD_RequestAssistanceData_r16; static int ett_lpp_T_nr_AdType_r16_01; static int ett_lpp_T_nr_PosCalcAssistanceRequest_r17_01; static int ett_lpp_T_nr_IntegrityAssistanceRequest_r18_01; static int ett_lpp_NR_DL_AoD_ProvideLocationInformation_r16; static int ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_SignalMeasurementInformation_r16; static int ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_LocationInformation_r16; static int ett_lpp_NR_DL_AoD_SignalMeasurementInformation_r16; static int ett_lpp_NR_DL_AoD_MeasList_r16; static int ett_lpp_NR_DL_AoD_MeasElement_r16; static int ett_lpp_T_nr_los_nlos_Indicator_r17_01; static int ett_lpp_NR_DL_AoD_AdditionalMeasurements_r16; static int ett_lpp_NR_DL_AoD_AdditionalMeasurementsExt_r17; static int ett_lpp_NR_DL_AoD_AdditionalMeasurementElement_r16; static int ett_lpp_NR_DL_AoD_AdditionalMeasurementElement_r17; static int ett_lpp_NR_DL_AoD_LocationInformation_r16; static int ett_lpp_T_measurementReferenceTime_r16_01; static int ett_lpp_NR_DL_AoD_RequestLocationInformation_r16; static int ett_lpp_T_nr_DL_PRS_RxHoppingRequest_r18_01; static int ett_lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01; static int ett_lpp_NR_DL_AoD_ReportConfig_r16; static int ett_lpp_T_nr_los_nlos_IndicatorRequest_r17_01; static int ett_lpp_NR_DL_AoD_ProvideCapabilities_r16; static int ett_lpp_T_nr_PosCalcAssistanceSupport_r17_01; static int ett_lpp_T_nr_los_nlos_AssistanceDataSupport_r17_01; static int ett_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01; static int ett_lpp_T_nr_los_nlos_IndicatorSupport_r17_01; static int ett_lpp_T_nr_dl_prs_AssistanceDataValidity_r17_01; static int ett_lpp_T_nr_IntegrityAssistanceSupport_r18_01; static int ett_lpp_NR_DL_AoD_MeasurementCapability_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_AoD_MeasCapabilityPerBand_r16; static int ett_lpp_DL_AoD_MeasCapabilityPerBand_r16; static int ett_lpp_T_supportOfMeasurementsInTimeWindow_r18_01; static int ett_lpp_NR_DL_AoD_RequestCapabilities_r16; static int ett_lpp_NR_DL_AoD_Error_r16; static int ett_lpp_NR_DL_AoD_LocationServerErrorCauses_r16; static int ett_lpp_NR_DL_AoD_TargetDeviceErrorCauses_r16; static int ett_lpp_NR_Multi_RTT_ProvideAssistanceData_r16; static int ett_lpp_NR_Multi_RTT_RequestAssistanceData_r16; static int ett_lpp_T_nr_AdType_r16_02; static int ett_lpp_NR_Multi_RTT_ProvideLocationInformation_r16; static int ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_Multi_RTT_SignalMeasurementInformation_r16; static int ett_lpp_NR_Multi_RTT_SignalMeasurementInformation_r16; static int ett_lpp_SEQUENCE_SIZE_1_maxTxTEG_Sets_r17_OF_NR_SRS_TxTEG_Element_r17; static int ett_lpp_NR_Multi_RTT_MeasList_r16; static int ett_lpp_NR_Multi_RTT_MeasElement_r16; static int ett_lpp_T_nr_UE_RxTxTimeDiff_r16; static int ett_lpp_T_nr_los_nlos_Indicator_r17_02; static int ett_lpp_NR_Multi_RTT_AdditionalMeasurements_r16; static int ett_lpp_NR_Multi_RTT_AdditionalMeasurementsExt_r17; static int ett_lpp_NR_Multi_RTT_AdditionalMeasurementElement_r16; static int ett_lpp_T_nr_UE_RxTxTimeDiffAdditional_r16; static int ett_lpp_NR_SRS_TxTEG_Element_r17; static int ett_lpp_T_carrierFreq_r17; static int ett_lpp_T_srs_PosResourceList_r17; static int ett_lpp_NR_UE_RxTx_TEG_Info_r17; static int ett_lpp_T_case1_r17; static int ett_lpp_T_case2_r17; static int ett_lpp_T_case3_r17; static int ett_lpp_NR_RSCP_AdditionalMeasurements_r18; static int ett_lpp_NR_NTN_UE_RxTxMeasurements_r18; static int ett_lpp_NR_Multi_RTT_RequestLocationInformation_r16; static int ett_lpp_T_nr_RequestedMeasurements_r16_01; static int ett_lpp_T_nr_los_nlos_IndicatorRequest_r17_02; static int ett_lpp_T_nr_DL_PRS_RxHoppingRequest_r18_02; static int ett_lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02; static int ett_lpp_T_nr_DL_PRS_JointMeasurementRequest_r18_01; static int ett_lpp_T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_01; static int ett_lpp_NR_Multi_RTT_ReportConfig_r16; static int ett_lpp_NR_Multi_RTT_ProvideCapabilities_r16; static int ett_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02; static int ett_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17; static int ett_lpp_T_nr_los_nlos_IndicatorSupport_r17_02; static int ett_lpp_T_nr_dl_prs_AssistanceDataValidity_r17_02; static int ett_lpp_NR_Multi_RTT_MeasurementCapability_r16; static int ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_Multi_RTT_MeasCapabilityPerBand_r17; static int ett_lpp_Multi_RTT_MeasCapabilityPerBand_r17; static int ett_lpp_T_supportOfMeasurementsInTimeWindow_r18_02; static int ett_lpp_NR_Multi_RTT_RequestCapabilities_r16; static int ett_lpp_NR_Multi_RTT_Error_r16; static int ett_lpp_NR_Multi_RTT_LocationServerErrorCauses_r16; static int ett_lpp_NR_Multi_RTT_TargetDeviceErrorCauses_r16; static int ett_lpp_AssistanceDataSIBelement_r15; static int ett_lpp_CipheringKeyData_r15; static int ett_lpp_SegmentationInfo_r15; static int ett_lpp_OTDOA_UE_Assisted_r15; static int ett_lpp_NR_UEB_TRP_LocationData_r16; static int ett_lpp_NR_UEB_TRP_RTD_Info_r16; static int ett_lpp_NR_IntegrityParameters_r18; /* Include constants */ #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 maxBT_BeaconAntElt_r18 74 #define maxBT_BeaconAD_r18 64 #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 #define maxNumOfRxTEGs_r17 32 #define maxNumOfRxTEGs_1_r17 31 #define maxNumOfTxTEGs_1_r17 7 #define maxTxTEG_Sets_r17 256 #define maxNumOfRxTxTEGs_1_r17 255 #define maxNumOfTRP_TxTEGs_1_r17 7 #define maxNumOfSRS_PosResources_r17 64 #define maxNumOfSRS_PosResources_1_r17 63 #define maxNumResourcesPerAngle_r17 24 #define maxNumPrioResources_r17 24 #define maxAddMeasTDOA_r17 31 #define maxAddMeasAoD_r17 23 #define maxAddMeasRTT_r17 31 #define maxOD_DL_PRS_Configs_r17 8 #define maxCellIDsPerArea_r17 256 #define maxNrOfAreas_r17 16 #define maxMeasInstances_r17 32 #define nrMaxNumPRS_BandWidthAggregation_r18 256 #define nrNumOfSamples_r18 4 #define nrNumOfSamples_1_r18 3 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; 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; bool is_ciphered; bool 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_Integrity_ServiceParameters_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_GNSS_Integrity_ServiceAlert_r17_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 int dissect_NR_TRP_BeamAntennaInfo_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_NR_DL_PRS_TRP_TEG_Info_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_NR_On_Demand_DL_PRS_Configurations_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_GNSS_SSR_OrbitCorrectionsSet2_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_GNSS_SSR_ClockCorrectionsSet2_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_GNSS_SSR_URA_Set2_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_GNSS_LOS_NLOS_GridPoints_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_GNSS_SSR_IOD_Update_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_GNSS_LOS_NLOS_GriddedIndications_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_GNSS_SSR_SatellitePCVResiduals_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_NR_PRU_DL_Info_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_NR_IntegrityRiskParameters_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_NR_IntegrityServiceParameters_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_NR_IntegrityServiceAlert_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_NR_IntegrityParameters_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static void lpp_degreesLatitude_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%u)", ((float)v/8388607.0)*90, v); } static void lpp_degreesLongitude_fmt(char *s, uint32_t v) { int32_t longitude = (int32_t) v; snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%d)", ((float)longitude/8388608.0)*180, longitude); } static void lpp_uncertainty_fmt(char *s, uint32_t v) { double uncertainty = 10*(pow(1.1, (double)v)-1); if (uncertainty < 1000) { snprintf(s, ITEM_LABEL_LENGTH, "%fm (%u)", uncertainty, v); } else { snprintf(s, ITEM_LABEL_LENGTH, "%fkm (%u)", uncertainty/1000, v); } } static void lpp_angle_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%u degrees (%u)", 2*v, v); } static void lpp_confidence_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "no information (0)"); } else { snprintf(s, ITEM_LABEL_LENGTH, "%u%%", v); } } static void lpp_1_10_degrees_fmt(char *s, uint32_t v) { double val = (double)v/10; snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", val, v); } static void lpp_1_100_m_fmt(char *s, uint32_t v) { double val = (double)v/100; snprintf(s, ITEM_LABEL_LENGTH, "%gm (%u)", val, v); } static void lpp_measurementLimit_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%u octets (%u)", 100*v, v); } static void lpp_altitude_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%um", v); } static void lpp_uncertaintyAltitude_fmt(char *s, uint32_t v) { double uncertainty = 45*(pow(1.025, (double)v)-1); snprintf(s, ITEM_LABEL_LENGTH, "%fm (%u)", uncertainty, v); } static void lpp_radius_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%um (%u)", 5*v, v); } static void lpp_nr_LTE_fineTiming_Offset_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/2, v); } static void lpp_expectedRSTD_fmt(char *s, uint32_t v) { int32_t rstd = 3*((int32_t)v-8192); snprintf(s, ITEM_LABEL_LENGTH, "%dTs (%u)", rstd, v); } static void lpp_expectedRSTD_Uncertainty_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%uTs (%u)", 3*v, v); } static void lpp_rstd_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "RSTD < -15391Ts (0)"); } else if (v < 2260) { snprintf(s, ITEM_LABEL_LENGTH, "-%uTs <= RSTD < -%uTs (%u)", 15391-5*(v-1), 15391-5*v, v); } else if (v < 6355) { snprintf(s, ITEM_LABEL_LENGTH, "-%uTs <= RSTD < -%uTs (%u)", 6356-v, 6355-v, v); } else if (v == 6355) { snprintf(s, ITEM_LABEL_LENGTH, "-1Ts <= RSTD <= 0Ts (6355)"); } else if (v < 10452) { snprintf(s, ITEM_LABEL_LENGTH, "%uTs < RSTD <= %uTs (%u)", v-6356, v-6355, v); } else if (v < 12711) { snprintf(s, ITEM_LABEL_LENGTH, "%uTs < RSTD <= %uTs (%u)", 5*(v-1)-48159, 5*v-48159, v); } else { 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(char *s, uint32_t v) { double rtd = (double)((int32_t)v)*0.5; snprintf(s, ITEM_LABEL_LENGTH, "%.1f Ts (%d)", rtd, (int32_t)v); } static void lpp_referenceTimeUnc_fmt(char *s, uint32_t v) { double referenceTimeUnc = 0.5*(pow(1.14, (double)v)-1); 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(char *s, uint32_t v) { float frac = ((float)v)/4; snprintf(s, ITEM_LABEL_LENGTH, "%fus (%u)", frac, v); } static void lpp_frameDrift_fmt(char *s, uint32_t v) { double drift = (double)((int32_t)v)*pow(2, -30); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", drift, (int32_t)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(char *s, uint32_t v) { double alpha = (double)((int32_t)v)*pow(2, -30); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", alpha, (int32_t)v); } static void lpp_alpha1_fmt(char *s, uint32_t v) { double alpha = (double)((int32_t)v)*pow(2, -27); snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", alpha, (int32_t)v); } static void lpp_alpha2_3_fmt(char *s, uint32_t v) { double alpha = (double)((int32_t)v)*pow(2, -24); snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", alpha, (int32_t)v); } static void lpp_beta0_fmt(char *s, uint32_t v) { double beta = (double)((int32_t)v)*pow(2, 11); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", beta, (int32_t)v); } static void lpp_beta1_fmt(char *s, uint32_t v) { double beta = (double)((int32_t)v)*pow(2, 14); snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", beta, (int32_t)v); } static void lpp_beta2_3_fmt(char *s, uint32_t v) { double beta = (double)((int32_t)v)*pow(2, 16); snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", beta, (int32_t)v); } static void lpp_ai0_fmt(char *s, uint32_t v) { double ai = (double)v*pow(2, -2); snprintf(s, ITEM_LABEL_LENGTH, "%gsfu (%u)", ai, v); } static void lpp_ai1_fmt(char *s, uint32_t v) { double ai = (double)v*pow(2, -8); snprintf(s, ITEM_LABEL_LENGTH, "%gsfu/degree (%u)", ai, v); } static void lpp_ai2_fmt(char *s, uint32_t v) { double ai = (double)v*pow(2, -15); snprintf(s, ITEM_LABEL_LENGTH, "%gsfu/degree2 (%u)", ai, v); } static void lpp_teop_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v); } static void lpp_pmX_Y_fmt(char *s, uint32_t v) { double pm = (double)((int32_t)v)*pow(2, -20); snprintf(s, ITEM_LABEL_LENGTH, "%g arc-seconds (%d)", pm, (int32_t)v); } static void lpp_pmX_Ydot_fmt(char *s, uint32_t v) { double pmDot = (double)((int32_t)v)*pow(2, -21); snprintf(s, ITEM_LABEL_LENGTH, "%g arc-seconds/day (%d)", pmDot, (int32_t)v); } static void lpp_deltaUT1_fmt(char *s, uint32_t v) { double deltaUT1 = (double)((int32_t)v)*pow(2, -24); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", deltaUT1, (int32_t)v); } static void lpp_deltaUT1dot_fmt(char *s, uint32_t v) { double deltaUT1dot = (double)((int32_t)v)*pow(2, -25); snprintf(s, ITEM_LABEL_LENGTH, "%gs/day (%d)", deltaUT1dot, (int32_t)v); } static void lpp_1_1000m_64_fmt(char *s, uint64_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%gm (%"PRId64")", (double)v/1000, (int64_t)v); } static void lpp_1_1000m_32_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (double)v/1000, (int32_t)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(char *s, uint32_t v) { double delta = (double)((int32_t)v)*25*pow(10, -6); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%u)", delta, (int32_t)v); } static void lpp_gnss_TimeModelRefTime_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", v*16, v); } static void lpp_tA0_fmt(char *s, uint32_t v) { double tA0 = (double)((int32_t)v)*pow(2, -35); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", tA0, (int32_t)v); } static void lpp_tA1_fmt(char *s, uint32_t v) { double tA1 = (double)((int32_t)v)*pow(2, -51); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", tA1, (int32_t)v); } static void lpp_tA2_fmt(char *s, uint32_t v) { double tA2 = (double)((int32_t)v)*pow(2, -68); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", tA2, (int32_t)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(char *s, uint32_t v) { double pseudoRangeCor = ((double)(int32_t)v)*0.32; snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", pseudoRangeCor, (int32_t)v); } static void lpp_rangeRateCor_fmt(char *s, uint32_t v) { double rangeRateCor = ((double)(int32_t)v)*0.032; snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", rangeRateCor, (int32_t)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(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%um/s (%u)", 60*v, v); } static void lpp_stanClockAF2_fmt(char *s, uint32_t v) { double stanClockAF2 = (double)((int32_t)v)*pow(2, -59); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", stanClockAF2, (int32_t)v); } static void lpp_stanClockAF1_fmt(char *s, uint32_t v) { double stanClockAF1 = (double)((int32_t)v)*pow(2, -46); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", stanClockAF1, (int32_t)v); } static void lpp_stanClockAF0_fmt(char *s, uint32_t v) { double stanClockAF0 = (double)((int32_t)v)*pow(2, -34); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", stanClockAF0, (int32_t)v); } static void lpp_stanClockTgd_fmt(char *s, uint32_t v) { double stanClockTgd = (double)((int32_t)v)*pow(2, -32); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", stanClockTgd, (int32_t)v); } static void lpp_sisa_fmt(char *s, uint32_t v) { if (v < 50) { snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", v, v); } else if (v < 75) { snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", 50+((v-50)*2), v); } else if (v < 100) { snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", 100+((v-75)*4), v); } else if (v < 126) { snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", 200+((v-100)*16), v); } else if (v < 255) { snprintf(s, ITEM_LABEL_LENGTH, "Spare (%u)", v); } else { 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(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v); } static void lpp_navaf2_fmt(char *s, uint32_t v) { double navaf2 = (double)((int32_t)v)*pow(2, -55); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", navaf2, (int32_t)v); } static void lpp_navaf1_fmt(char *s, uint32_t v) { double navaf1 = (double)((int32_t)v)*pow(2, -43); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navaf1, (int32_t)v); } static void lpp_navaf0_navTgd_fmt(char *s, uint32_t v) { double navaf0_navTgd = (double)((int32_t)v)*pow(2, -31); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navaf0_navTgd, (int32_t)v); } static void lpp_cnavToc_cnavTop_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 300*v, v); } static void lpp_cnavAf2_fmt(char *s, uint32_t v) { double cnavAf2 = (double)((int32_t)v)*pow(2, -60); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", cnavAf2, (int32_t)v); } static void lpp_cnavAf1_fmt(char *s, uint32_t v) { double cnavAf1 = (double)((int32_t)v)*pow(2, -48); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", cnavAf1, (int32_t)v); } static void lpp_cnavX_fmt(char *s, uint32_t v) { double cnavX = (double)((int32_t)v)*pow(2, -35); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", cnavX, (int32_t)v); } static void lpp_gloTau_gloDeltaTau_fmt(char *s, uint32_t v) { double gloTau_gloDeltaTau = (double)((int32_t)v)*pow(2, -30); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gloTau_gloDeltaTau, (int32_t)v); } static void lpp_gloGamma_fmt(char *s, uint32_t v) { double gloGamma = (double)((int32_t)v)*pow(2, -40); snprintf(s, ITEM_LABEL_LENGTH, "%g (%d)", gloGamma, (int32_t)v); } static void lpp_sbasTo_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v); } static void lpp_sbasAgfo_fmt(char *s, uint32_t v) { double sbasAgfo = (double)((int32_t)v)*pow(2, -31); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", sbasAgfo, (int32_t)v); } static void lpp_sbasAgf1_fmt(char *s, uint32_t v) { double sbasAgf1 = (double)((int32_t)v)*pow(2, -40); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", sbasAgf1, (int32_t)v); } static void lpp_bdsAODC_AODE_r12_fmt(char *s, uint32_t v) { if (v < 25) { snprintf(s, ITEM_LABEL_LENGTH, "Age of the satellite clock correction parameters is %u hours (%u)", v, v); } else if (v < 31) { snprintf(s, ITEM_LABEL_LENGTH, "Age of the satellite clock correction parameters is %u days (%u)", v-23, v); } else { 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(char *s, uint32_t v) { double bdsToc = (double)((int32_t)v)*pow(2, 3); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsToc, (int32_t)v); } static void lpp_bdsA0_r12_fmt(char *s, uint32_t v) { double bdsA0 = (double)((int32_t)v)*pow(2, -33); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsA0, (int32_t)v); } static void lpp_bdsA1_r12_fmt(char *s, uint32_t v) { double bdsA1 = (double)((int32_t)v)*pow(2, -50); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", bdsA1, (int32_t)v); } static void lpp_bdsA2_r12_fmt(char *s, uint32_t v) { double bdsA2 = (double)((int32_t)v)*pow(2, -66); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", bdsA2, (int32_t)v); } static void lpp_bdsTgd1_r12_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%gns (%d)", (float)((int32_t)v)*0.1, (int32_t)v); } static void lpp_keplerToe_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 60*v, v); } static void lpp_keplerW_M0_I0_Omega0_fmt(char *s, uint32_t v) { double keplerW_M0_I0_Omega0 = (double)((int32_t)v)*pow(2, -31); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", keplerW_M0_I0_Omega0, (int32_t)v); } static void lpp_keplerDeltaN_OmegaDot_IDot_fmt(char *s, uint32_t v) { double keplerDeltaN_OmegaDot_IDot = (double)((int32_t)v)*pow(2, -43); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", keplerDeltaN_OmegaDot_IDot, (int32_t)v); } static void lpp_keplerE_fmt(char *s, uint32_t v) { double keplerE = (double)v*pow(2, -33); snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", keplerE, v); } static void lpp_keplerAPowerHalf_fmt(char *s, uint32_t v) { double keplerAPowerHalf = (double)v*pow(2, -19); snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", keplerAPowerHalf, v); } static void lpp_keplerCrs_Crc_fmt(char *s, uint32_t v) { double keplerCrs_Crc = (double)((int32_t)v)*pow(2, -5); snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", keplerCrs_Crc, (int32_t)v); } static void lpp_keplerCx_fmt(char *s, uint32_t v) { double keplerCx = (double)((int32_t)v)*pow(2, -29); snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", keplerCx, (int32_t)v); } static void lpp_navToe_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v); } static void lpp_navOmega_M0_I0_OmegaA0_fmt(char *s, uint32_t v) { double navOmega_M0_I0_OmegaA0 = (double)((int32_t)v)*pow(2, -31); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navOmega_M0_I0_OmegaA0, (int32_t)v); } static void lpp_navDeltaN_OmegaADot_IDot_fmt(char *s, uint32_t v) { double navDeltaN_OmegaADot_IDot = (double)((int32_t)v)*pow(2, -43); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", navDeltaN_OmegaADot_IDot, (int32_t)v); } static void lpp_navE_fmt(char *s, uint32_t v) { double navE = (double)v*pow(2, -33); snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", navE, v); } static void lpp_navAPowerHalf_fmt(char *s, uint32_t v) { double navAPowerHalf = (double)v*pow(2, -19); snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", navAPowerHalf, v); } static void lpp_navCrs_Crc_fmt(char *s, uint32_t v) { double navCrs_Crc = (double)((int32_t)v)*pow(2, -5); snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", navCrs_Crc, (int32_t)v); } static void lpp_navCx_fmt(char *s, uint32_t v) { double navCx = (double)((int32_t)v)*pow(2, -29); snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", navCx, (int32_t)v); } static void lpp_cnavDeltaA_fmt(char *s, uint32_t v) { double cnavDeltaA = (double)((int32_t)v)*pow(2, -9); snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", cnavDeltaA, (int32_t)v); } static void lpp_cnavAdot_fmt(char *s, uint32_t v) { double cnavAdot = (double)((int32_t)v)*pow(2, -21); snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", cnavAdot, (int32_t)v); } static void lpp_cnavDeltaNo_fmt(char *s, uint32_t v) { double cnavDeltaNo = (double)((int32_t)v)*pow(2, -44); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", cnavDeltaNo, (int32_t)v); } static void lpp_cnavDeltaNoDot_fmt(char *s, uint32_t v) { double cnavDeltaNoDot = (double)((int32_t)v)*pow(2, -57); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s2 (%d)", cnavDeltaNoDot, (int32_t)v); } static void lpp_cnavDeltaOmegaDot_IoDot_fmt(char *s, uint32_t v) { double cnavDeltaOmegaDot_IoDot = (double)((int32_t)v)*pow(2, -44); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", cnavDeltaOmegaDot_IoDot, (int32_t)v); } static void lpp_cnavCx_fmt(char *s, uint32_t v) { double cnavCx = (double)((int32_t)v)*pow(2, -30); snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", cnavCx, (int32_t)v); } static void lpp_cnavCrs_Crc_fmt(char *s, uint32_t v) { double cnavCrs_Crc = (double)((int32_t)v)*pow(2, -8); snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", cnavCrs_Crc, (int32_t)v); } static void lpp_gloX_Y_Z_fmt(char *s, uint32_t v) { double gloX_Y_Z = (double)((int32_t)v)*pow(2, -11); snprintf(s, ITEM_LABEL_LENGTH, "%gkm (%d)", gloX_Y_Z, (int32_t)v); } static void lpp_gloXdot_Ydot_Zdot_fmt(char *s, uint32_t v) { double gloXdot_Ydot_Zdot = (double)((int32_t)v)*pow(2, -20); snprintf(s, ITEM_LABEL_LENGTH, "%gkm/s (%d)", gloXdot_Ydot_Zdot, (int32_t)v); } static void lpp_gloXdotdot_Ydotdot_Zdotdot_fmt(char *s, uint32_t v) { double gloXdotdot_Ydotdot_Zdotdot = (double)((int32_t)v)*pow(2, -30); snprintf(s, ITEM_LABEL_LENGTH, "%gkm/s2 (%d)", gloXdotdot_Ydotdot_Zdotdot, (int32_t)v); } static void lpp_sbasXg_Yg_fmt(char *s, uint32_t v) { double sbasXg_Yg = (double)((int32_t)v)*0.08; snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", sbasXg_Yg, (int32_t)v); } static void lpp_sbasZg_fmt(char *s, uint32_t v) { double sbasZg = (double)((int32_t)v)*0.4; snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", sbasZg, (int32_t)v); } static void lpp_sbasXgDot_YgDot_fmt(char *s, uint32_t v) { double sbasXgDot_YgDot = (double)((int32_t)v)*0.000625; snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", sbasXgDot_YgDot, (int32_t)v); } static void lpp_sbasZgDot_fmt(char *s, uint32_t v) { double sbasZgDot = (double)((int32_t)v)*0.004; snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", sbasZgDot, (int32_t)v); } static void lpp_sbasXgDotDot_YgDotDot_fmt(char *s, uint32_t v) { double sbasXgDotDot_YgDotDot = (double)((int32_t)v)*0.0000125; snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", sbasXgDotDot_YgDotDot, (int32_t)v); } static void lpp_sbasZgDotDot_fmt(char *s, uint32_t v) { double sbasZgDotDot = (double)((int32_t)v)*0.0000625; snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", sbasZgDotDot, (int32_t)v); } static void lpp_bdsAPowerHalf_r12_fmt(char *s, uint32_t v) { double bdsAPowerHalf = (double)v*pow(2, -19); snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", bdsAPowerHalf, v); } static void lpp_bdsE_r12_fmt(char *s, uint32_t v) { double bdsE = (double)v*pow(2, -33); snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", bdsE, v); } static void lpp_bdsW_M0_Omega0_I0_r12_fmt(char *s, uint32_t v) { double bdsW_M0_Omega0_I0 = (double)((int32_t)v)*pow(2, -31); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsW_M0_Omega0_I0, (int32_t)v); } static void lpp_bdsDeltaN_OmegaDot_IDot_r12_fmt(char *s, uint32_t v) { double bdsDeltaN_OmegaDot_IDot = (double)((int32_t)v)*pow(2, -43); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", bdsDeltaN_OmegaDot_IDot, (int32_t)v); } static void lpp_bdsCuc_Cus_Cic_Cis_r12_fmt(char *s, uint32_t v) { double bdsCuc_Cus_Cic_Cis = (double)((int32_t)v)*pow(2, -31); snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", bdsCuc_Cus_Cic_Cis, (int32_t)v); } static void lpp_bdsCrc_Crs_r12_fmt(char *s, uint32_t v) { double bdsCrc_Crs = (double)((int32_t)v)*pow(2, -6); snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", bdsCrc_Crs, (int32_t)v); } static void lpp_doppler0_fmt(char *s, uint32_t v) { double doppler0 = (double)((int32_t)v)*0.5; snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", doppler0, (int32_t)v); } static void lpp_doppler1_fmt(char *s, uint32_t v) { double doppler1 = (double)((int32_t)(v-42))/210; 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(char *s, uint32_t v) { double codePhase = (double)v*pow(2, -10); 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(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%u)", (float)v*0.703125, v); } static void lpp_kepAlmanacE_fmt(char *s, uint32_t v) { double kepAlmanacE = (double)v*pow(2, -16); snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", kepAlmanacE, v); } static void lpp_kepAlmanacDeltaI_fmt(char *s, uint32_t v) { double kepAlmanacDeltaI = (double)((int32_t)v)*pow(2, -14); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", kepAlmanacDeltaI, (int32_t)v); } static void lpp_kepAlmanacOmegaDot_fmt(char *s, uint32_t v) { double kepAlmanacOmegaDot = (double)((int32_t)v)*pow(2, -33); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", kepAlmanacOmegaDot, (int32_t)v); } static void lpp_kepAlmanacAPowerHalf_fmt(char *s, uint32_t v) { double kepAlmanacAPowerHalf = (double)((int32_t)v)*pow(2, -9); snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%d)", kepAlmanacAPowerHalf, (int32_t)v); } static void lpp_kepAlmanacOmega0_W_M0_fmt(char *s, uint32_t v) { double kepAlmanacOmega0_W_M0 = (double)((int32_t)v)*pow(2, -15); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", kepAlmanacOmega0_W_M0, (int32_t)v); } static void lpp_kepAlmanacAF0_fmt(char *s, uint32_t v) { double kepAlmanacAF0 = (double)((int32_t)v)*pow(2, -19); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", kepAlmanacAF0, (int32_t)v); } static void lpp_kepAlmanacAF1_fmt(char *s, uint32_t v) { double kepAlmanacAF1 = (double)((int32_t)v)*pow(2, -38); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", kepAlmanacAF1, (int32_t)v); } static void lpp_navAlmE_fmt(char *s, uint32_t v) { double navAlmE = (double)v*pow(2, -21); snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", navAlmE, v); } static void lpp_navAlmDeltaI_fmt(char *s, uint32_t v) { double navAlmDeltaI = (double)((int32_t)v)*pow(2, -19); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navAlmDeltaI, (int32_t)v); } static void lpp_navAlmOMEGADOT_fmt(char *s, uint32_t v) { double navAlmOMEGADOT = (double)((int32_t)v)*pow(2, -38); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", navAlmOMEGADOT, (int32_t)v); } static void lpp_navAlmSqrtA_fmt(char *s, uint32_t v) { double navAlmSqrtA = (double)v*pow(2, -11); snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", navAlmSqrtA, v); } static void lpp_navAlmOMEGAo_Omega_Mo_fmt(char *s, uint32_t v) { double navAlmOMEGAo_Omega_Mo = (double)((int32_t)v)*pow(2, -23); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navAlmOMEGAo_Omega_Mo, (int32_t)v); } static void lpp_navAlmaf0_fmt(char *s, uint32_t v) { double navAlmaf0 = (double)((int32_t)v)*pow(2, -20); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", navAlmaf0, (int32_t)v); } static void lpp_navAlmaf1_fmt(char *s, uint32_t v) { double navAlmaf1 = (double)((int32_t)v)*pow(2, -38); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navAlmaf1, (int32_t)v); } static void lpp_redAlmDeltaA_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%dm (%d)", 512*(int)v, (int)v); } static void lpp_redAlmOmega0_Phi0_fmt(char *s, uint32_t v) { double redAlmOmega0_Phi0 = (double)((int32_t)v)*pow(2, -6); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", redAlmOmega0_Phi0, (int32_t)v); } static void lpp_midiAlmE_fmt(char *s, uint32_t v) { double midiAlmE = (double)v*pow(2, -16); snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", midiAlmE, v); } static void lpp_midiAlmDeltaI_fmt(char *s, uint32_t v) { double midiAlmDeltaI = (double)((int32_t)v)*pow(2, -14); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", midiAlmDeltaI, (int32_t)v); } static void lpp_midiAlmOmegaDot_fmt(char *s, uint32_t v) { double midiAlmOmegaDot = (double)((int32_t)v)*pow(2, -33); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", midiAlmOmegaDot, (int32_t)v); } static void lpp_midiAlmSqrtA_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%fm1/2 (%u)", (float)v*0.0625, v); } static void lpp_midiAlmOmega0_Omega_Mo_fmt(char *s, uint32_t v) { double midiAlmOmega0_Omega_Mo = (double)((int32_t)v)*pow(2, -15); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", midiAlmOmega0_Omega_Mo, (int32_t)v); } static void lpp_midiAlmaf0_fmt(char *s, uint32_t v) { double midiAlmaf0 = (double)((int32_t)v)*pow(2, -20); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", midiAlmaf0, (int32_t)v); } static void lpp_midiAlmaf1_fmt(char *s, uint32_t v) { double midiAlmaf1 = (double)((int32_t)v)*pow(2, -37); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", midiAlmaf1, (int32_t)v); } static void lpp_gloAlmLambdaA_DeltaIa_fmt(char *s, uint32_t v) { double gloAlmLambdaA_DeltaIa = (double)((int32_t)v)*pow(2, -20); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", gloAlmLambdaA_DeltaIa, (int32_t)v); } static void lpp_gloAlmtlambdaA_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%fs (%u)", (float)v*0.03125, v); } static void lpp_gloAlmDeltaTA_fmt(char *s, uint32_t v) { double gloAlmDeltaTA = (double)((int32_t)v)*pow(2, -9); snprintf(s, ITEM_LABEL_LENGTH, "%gs/orbit period (%d)", gloAlmDeltaTA, (int32_t)v); } static void lpp_gloAlmDeltaTdotA_fmt(char *s, uint32_t v) { double gloAlmDeltaTdotA = (double)((int32_t)v)*pow(2, -14); snprintf(s, ITEM_LABEL_LENGTH, "%gs/orbit period (%d)", gloAlmDeltaTdotA, (int32_t)v); } static void lpp_gloAlmEpsilonA_fmt(char *s, uint32_t v) { double gloAlmEpsilonA = (double)v*pow(2, -20); snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", gloAlmEpsilonA, (int32_t)v); } static void lpp_gloAlmOmegaA_fmt(char *s, uint32_t v) { double gloAlmOmegaA = (double)((int32_t)v)*pow(2, -15); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", gloAlmOmegaA, (int32_t)v); } static void lpp_gloAlmTauA_fmt(char *s, uint32_t v) { double gloAlmTauA = (double)((int32_t)v)*pow(2, -18); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gloAlmTauA, (int32_t)v); } static void lpp_sbasAlmXg_Yg_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%fkm (%d)", (int32_t)v*2.6, (int32_t)v); } static void lpp_sbasAlmZg_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%dkm (%d)", (int32_t)v*26, (int32_t)v); } static void lpp_sbasAlmXgdot_YgDot_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%dm/s (%d)", (int32_t)v*10, (int32_t)v); } static void lpp_sbasAlmZgDot_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", (int32_t)v*40.96, (int32_t)v); } static void lpp_sbasAlmTo_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%um/s (%u)", v*64, v); } static void lpp_bdsAlmToa_r12_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", v*4096, v); } static void lpp_bdsAlmSqrtA_r12_fmt(char *s, uint32_t v) { double bdsAlmSqrtA = (double)v*pow(2, -11); snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", bdsAlmSqrtA, v); } static void lpp_bdsAlmE_r12_fmt(char *s, uint32_t v) { double bdsAlmE = (double)v*pow(2, -21); snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", bdsAlmE, v); } static void lpp_bdsAlmW_M0_Omega0_r12_fmt(char *s, uint32_t v) { double bdsAlmW_M0_Omega0 = (double)((int32_t)v)*pow(2, -23); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsAlmW_M0_Omega0, (int32_t)v); } static void lpp_bdsAlmOmegaDot_r12_fmt(char *s, uint32_t v) { double bdsAlmOmegaDot = (double)((int32_t)v)*pow(2, -38); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", bdsAlmOmegaDot, (int32_t)v); } static void lpp_bdsAlmDeltaI_r12_fmt(char *s, uint32_t v) { double bdsAlmDeltaI = (double)((int32_t)v)*pow(2, -19); snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsAlmDeltaI, (int32_t)v); } static void lpp_bdsAlmA0_r12_fmt(char *s, uint32_t v) { double bdsAlmA0 = (double)((int32_t)v)*pow(2, -20); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsAlmA0, (int32_t)v); } static void lpp_bdsAlmA1_r12_fmt(char *s, uint32_t v) { double bdsAlmA1 = (double)((int32_t)v)*pow(2, -38); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", bdsAlmA1, (int32_t)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(char *s, uint32_t v) { double gnss_Utc_A1 = (double)((int32_t)v)*pow(2, -50); snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", gnss_Utc_A1, (int32_t)v); } static void lpp_gnss_Utc_A0_fmt(char *s, uint32_t v) { double gnss_Utc_A0 = (double)((int32_t)v)*pow(2, -30); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gnss_Utc_A0, (int32_t)v); } static void lpp_gnss_Utc_Tot_fmt(char *s, uint32_t v) { 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(char *s, uint32_t v) { if ((int32_t)v == -4096) { snprintf(s, ITEM_LABEL_LENGTH, "Not available (%d)", (int32_t)v); } else { snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (float)((int32_t)v)*0.1, (int32_t)v); } } static void lpp_bds_GridIonElement_dt_r12_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (float)((int32_t)v)*0.125, (int32_t)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(char *s, uint32_t v) { double val = (double)((int32_t)v)*pow(2, -29); snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (int32_t)v); } static void lpp_fine_PhaseRange_r15_fmt(char *s, uint32_t v) { double val = (double)((int32_t)v)*pow(2, -31); snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (int32_t)v); } static void lpp_carrier_to_noise_ratio_r15_fmt(char *s, uint32_t v) { double val = (double)v*pow(2, -4); snprintf(s, ITEM_LABEL_LENGTH, "%gdB-Hz (%d)", val, v); } static void lpp_fine_PhaseRangeRate_r15_fmt(char *s, uint32_t v) { double val = (double)((int32_t)v)/1000; snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (int32_t)v); } static void lpp_cpBias_r15_fmt(char *s, uint32_t v) { double val = (double)((int32_t)v)/50; snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (int32_t)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(char *s, uint32_t v) { double val = (double)((int32_t)v)/2000; snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (int32_t)v); } static void lpp_1_100ppm_fmt(char *s, uint32_t v) { double val = (double)((int32_t)v)/100; snprintf(s, ITEM_LABEL_LENGTH, "%gppm (%d)", val, (int32_t)v); } static void lpp_1_10ppm_fmt(char *s, uint32_t v) { double val = (double)((int32_t)v)/10; snprintf(s, ITEM_LABEL_LENGTH, "%gppm (%d)", val, (int32_t)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(char *s, uint32_t v) { double val = (double)((int32_t)v)/10000; snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (int32_t)v); } static void lpp_4_10000m_fmt(char *s, uint32_t v) { double val = (double)((int32_t)v)/10000*4; snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (int32_t)v); } static void lpp_1_1000000m_s_fmt(char *s, uint32_t v) { double val = (double)((int32_t)v)/1000000; snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", val, (int32_t)v); } static void lpp_4_1000000m_s_fmt(char *s, uint32_t v) { double val = (double)((int32_t)v)/1000000*4; snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", val, (int32_t)v); } static void lpp_2_100000000m_s2_fmt(char *s, uint32_t v) { double val = (double)((int32_t)v)/100000000*2; snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", val, (int32_t)v); } static void lpp_1_100000m_fmt(char *s, uint32_t v) { double val = (double)((int32_t)v)/100000; snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (int32_t)v); } static void lpp_tauC_fmt(char *s, uint32_t v) { double tauC = (double)((int32_t)v)*pow(2, -31); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", tauC, (int32_t)v); } static void lpp_b1_fmt(char *s, uint32_t v) { double b1 = (double)((int32_t)v)*pow(2, -10); snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", b1, (int32_t)v); } static void lpp_b2_fmt(char *s, uint32_t v) { double b2 = (double)((int32_t)v)*pow(2, -16); snprintf(s, ITEM_LABEL_LENGTH, "%gs/msd (%d)", b2, (int32_t)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(char *s, uint32_t v) { double codePhase = (double)v*pow(2, -21); snprintf(s, ITEM_LABEL_LENGTH, "%gms (%u)", codePhase, v); } static void lpp_codePhaseRMSError_fmt(char *s, uint32_t v) { uint8_t mantissa = v & 0x07; uint8_t exponent = (v & 0x38) >> 3; uint8_t mantissa_1 = (v - 1) & 0x07; uint8_t exponent_1 = ((v - 1) & 0x38) >> 3; if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "P < 0.5 (0)"); } else if (v < 63) { 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 { snprintf(s, ITEM_LABEL_LENGTH, "112 <= P (63)"); } } static void lpp_transmitterLatitude_fmt(char *s, uint32_t v) { double lat = ((double)v*4.0/pow(2, 20))-90.0; snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", lat, v); } static void lpp_transmitterLongitude_fmt(char *s, uint32_t v) { double longitude = ((double)v*4.0/pow(2, 20))-180.0; snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", longitude, v); } static void lpp_transmitterAltitude_fmt(char *s, uint32_t v) { double alt = ((double)v*0.29)-500.0; snprintf(s, ITEM_LABEL_LENGTH, "%gm (%u)", alt, v); } static void lpp_refPressure_fmt(char *s, uint32_t v) { int32_t pressure = (int32_t)v; snprintf(s, ITEM_LABEL_LENGTH, "%dPa (%d)", 101325+pressure, pressure); } static void lpp_refTemperature_fmt(char *s, uint32_t v) { int32_t temp = (int32_t)v; snprintf(s, ITEM_LABEL_LENGTH, "%dK (%d)", 273+temp, temp); } static void lpp_referencePressureRate_v1520_fmt(char *s, uint32_t v) { int32_t rate = (int32_t)v; snprintf(s, ITEM_LABEL_LENGTH, "%dPa/hour (%d)", 10*rate, rate); } static void lpp_PressureValidityPeriod_v1520_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%umin (%u)", 15*v, v); } static void lpp_doppler_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", (int32_t)v*0.04, (int32_t)v); } static void lpp_adr_fmt(char *s, uint32_t v) { double adr = (double)v*pow(2, -10); snprintf(s, ITEM_LABEL_LENGTH, "%gm (%u)", adr, v); } static void lpp_adrMSB_r15_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%um (%u)", v*32768, v); } static void lpp_GNSS_SatMeas_delta_codePhase_r15_fmt(char *s, uint32_t v) { double codePhase = (double)v*pow(2, -24); snprintf(s, ITEM_LABEL_LENGTH, "%gms (%u)", codePhase, v); } static void lpp_deliveryAmount_r15_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", pow(2, v), v); } static void lpp_rsrp_Result_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140dBm (0)"); } else if (v < 97) { snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%u)", v-141, v-140, v); } else { snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= RSRP (97)"); } } static void lpp_rsrq_Result_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)"); } else if (v < 34) { snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%u)", ((float)v/2)-20, (((float)v+1)/2)-20, v); } else { snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)"); } } static void lpp_nrsrp_Result_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "NRSRP < -156dBm (0)"); } else if (v < 113) { snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= NRSRP < %ddBm (%u)", v-157, v-156, v); } else { snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= NRSRP (97)"); } } static void lpp_nrsrq_Result_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "NRSRQ < -34dB (0)"); } else if (v < 74) { snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= NRSRQ < %.1fdB (%u)", (((float)v-1)/2)-34, ((float)v/2)-34, v); } else { snprintf(s, ITEM_LABEL_LENGTH, "2.5dB <= NRSRQ (%u)", v); } } static void lpp_rsrp_Result_v1470_fmt(char *s, uint32_t v) { int32_t d = (int32_t)v; if (d == -17) { snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -157dBm (-17)"); } else { snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%d)", d-141, d-140, d); } } static void lpp_rsrq_Result_v1470_fmt(char *s, uint32_t v) { int32_t d = (int32_t)v; if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -34.5dB (-30)"); } else if (v < 46) { snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", ((float)d/2)-20, (((float)d+1)/2)-20, d); } else { snprintf(s, ITEM_LABEL_LENGTH, "3dB <= RSRQ (46)"); } } static void lpp_ue_RxTxTimeDiff_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "T < 2Ts (0)"); } else if (v < 2048) { snprintf(s, ITEM_LABEL_LENGTH, "%uTs <= T < %uTs (%u)", v*2, (v+1)*2, v); } else if (v < 4095) { snprintf(s, ITEM_LABEL_LENGTH, "%uTs <= T < %uTs (%u)", (v*8)-12288, ((v+1)*8)-12288, v); } else { snprintf(s, ITEM_LABEL_LENGTH, "20472Ts <= T (4095)"); } } static void lpp_mbs_beaconMeasElt_codePhase_fmt(char *s, uint32_t v) { double codePhase = (double)v*pow(2, -21); snprintf(s, ITEM_LABEL_LENGTH, "%gms (%u)", codePhase, v); } static const unit_name_string units_pa = { "Pa", NULL }; 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 value_string lpp_T_remoteUE_IndicationReq_r18_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_remoteUE_IndicationReq_r18(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 CommonIEsRequestCapabilities_eag_2_sequence[] = { { &hf_lpp_remoteUE_IndicationReq_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_remoteUE_IndicationReq_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_CommonIEsRequestCapabilities_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, CommonIEsRequestCapabilities_eag_2_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsRequestCapabilities_eag_2 }, { 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_) { 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, NULL); 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_) { 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_) { 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 value_string lpp_T_locationEstimateAndMeasurementReporting_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_locationEstimateAndMeasurementReporting_r18(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 CommonIEsProvideCapabilities_eag_2_sequence[] = { { &hf_lpp_remoteUE_Indication_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN }, { &hf_lpp_locationEstimateAndMeasurementReporting_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_locationEstimateAndMeasurementReporting_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_CommonIEsProvideCapabilities_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, CommonIEsProvideCapabilities_eag_2_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsProvideCapabilities_eag_2 }, { 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_) { uint32_t 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 value_string lpp_T_ha_gnss_MetricsSupport_r17_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_ha_gnss_MetricsSupport_r17(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_2_sequence[] = { { &hf_lpp_ha_gnss_MetricsSupport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ha_gnss_MetricsSupport_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SupportElement_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_SupportElement_eag_2_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SupportElement_eag_2 }, { 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_Integrity_ServiceParametersSupport_r17_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_lpp_GNSS_Integrity_ServiceParametersSupport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_Integrity_ServiceParametersSupport_r17, GNSS_Integrity_ServiceParametersSupport_r17_sequence); return offset; } static const per_sequence_t GNSS_Integrity_ServiceAlertSupport_r17_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_lpp_GNSS_Integrity_ServiceAlertSupport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_Integrity_ServiceAlertSupport_r17, GNSS_Integrity_ServiceAlertSupport_r17_sequence); return offset; } static const per_sequence_t GNSS_CommonAssistanceDataSupport_eag_2_sequence[] = { { &hf_lpp_gnss_Integrity_ServiceParametersSupport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_Integrity_ServiceParametersSupport_r17 }, { &hf_lpp_gnss_Integrity_ServiceAlertSupport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_Integrity_ServiceAlertSupport_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_CommonAssistanceDataSupport_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_CommonAssistanceDataSupport_eag_2_sequence); return offset; } static const per_sequence_t GNSS_SSR_IOD_UpdateSupport_r18_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_lpp_GNSS_SSR_IOD_UpdateSupport_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IOD_UpdateSupport_r18, GNSS_SSR_IOD_UpdateSupport_r18_sequence); return offset; } static const per_sequence_t GNSS_CommonAssistanceDataSupport_eag_3_sequence[] = { { &hf_lpp_gnss_SSR_IOD_UpdateSupport_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_IOD_UpdateSupport_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_CommonAssistanceDataSupport_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_CommonAssistanceDataSupport_eag_3_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistanceDataSupport_eag_2 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistanceDataSupport_eag_3 }, { 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 int * const T_orbit_IntegritySup_r17_bits[] = { &hf_lpp_T_orbit_IntegritySup_r17_correlationTimeSup, NULL }; static int dissect_lpp_T_orbit_IntegritySup_r17(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_orbit_IntegritySup_r17_bits, 1, NULL, NULL); return offset; } static const per_sequence_t GNSS_SSR_OrbitCorrectionsSupport_r15_eag_1_sequence[] = { { &hf_lpp_orbit_IntegritySup_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_orbit_IntegritySup_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_OrbitCorrectionsSupport_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_SSR_OrbitCorrectionsSupport_r15_eag_1_sequence); return offset; } static const per_sequence_t GNSS_SSR_OrbitCorrectionsSupport_r15_sequence[] = { { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_OrbitCorrectionsSupport_r15_eag_1 }, { NULL, 0, 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 value_string lpp_T_clock_IntegrityParameterSupport_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_clock_IntegrityParameterSupport_r17(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_ssr_IntegrityClockBoundsSupport_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_ssr_IntegrityClockBoundsSupport_r17(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_SSR_ClockCorrectionsSupport_r15_eag_1_sequence[] = { { &hf_lpp_clock_IntegrityParameterSupport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_clock_IntegrityParameterSupport_r17 }, { &hf_lpp_ssr_IntegrityClockBoundsSupport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ssr_IntegrityClockBoundsSupport_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_ClockCorrectionsSupport_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_SSR_ClockCorrectionsSupport_r15_eag_1_sequence); return offset; } static const per_sequence_t GNSS_SSR_ClockCorrectionsSupport_r15_sequence[] = { { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_ClockCorrectionsSupport_r15_eag_1 }, { NULL, 0, 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 value_string lpp_T_ssr_IntegrityCodeBiasBoundsSup_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_ssr_IntegrityCodeBiasBoundsSup_r17(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_SSR_CodeBiasSupport_r15_eag_1_sequence[] = { { &hf_lpp_ssr_IntegrityCodeBiasBoundsSup_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ssr_IntegrityCodeBiasBoundsSup_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_CodeBiasSupport_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_SSR_CodeBiasSupport_r15_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_CodeBiasSupport_r15_eag_1 }, { 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 value_string lpp_T_ssr_IntegrityPhaseBiasBoundsSup_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_ssr_IntegrityPhaseBiasBoundsSup_r17(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_SSR_PhaseBiasSupport_r16_eag_1_sequence[] = { { &hf_lpp_ssr_IntegrityPhaseBiasBoundsSup_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ssr_IntegrityPhaseBiasBoundsSup_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_PhaseBiasSupport_r16_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_SSR_PhaseBiasSupport_r16_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_PhaseBiasSupport_r16_eag_1 }, { 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 int * const T_stec_IntegritySup_r17_bits[] = { &hf_lpp_T_stec_IntegritySup_r17_correlationTimeSup, NULL }; static int dissect_lpp_T_stec_IntegritySup_r17(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_stec_IntegritySup_r17_bits, 1, NULL, NULL); return offset; } static const per_sequence_t GNSS_SSR_STEC_CorrectionSupport_r16_eag_1_sequence[] = { { &hf_lpp_stec_IntegritySup_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_stec_IntegritySup_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_STEC_CorrectionSupport_r16_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_SSR_STEC_CorrectionSupport_r16_eag_1_sequence); return offset; } static const per_sequence_t GNSS_SSR_STEC_CorrectionSupport_r16_sequence[] = { { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_STEC_CorrectionSupport_r16_eag_1 }, { NULL, 0, 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 value_string lpp_T_griddedCorrectionIntegritySup_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_griddedCorrectionIntegritySup_r17(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_SSR_GriddedCorrectionSupport_r16_eag_1_sequence[] = { { &hf_lpp_griddedCorrectionIntegritySup_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_griddedCorrectionIntegritySup_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_GriddedCorrectionSupport_r16_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_SSR_GriddedCorrectionSupport_r16_eag_1_sequence); return offset; } static const per_sequence_t GNSS_SSR_GriddedCorrectionSupport_r16_sequence[] = { { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_GriddedCorrectionSupport_r16_eag_1 }, { NULL, 0, 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_SSR_OrbitCorrectionsSet2Support_r17_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_lpp_GNSS_SSR_OrbitCorrectionsSet2Support_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_OrbitCorrectionsSet2Support_r17, GNSS_SSR_OrbitCorrectionsSet2Support_r17_sequence); return offset; } static const per_sequence_t GNSS_SSR_ClockCorrectionsSet2Support_r17_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_lpp_GNSS_SSR_ClockCorrectionsSet2Support_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ClockCorrectionsSet2Support_r17, GNSS_SSR_ClockCorrectionsSet2Support_r17_sequence); return offset; } static const per_sequence_t GNSS_SSR_URA_Set2Support_r17_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_lpp_GNSS_SSR_URA_Set2Support_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_Set2Support_r17, GNSS_SSR_URA_Set2Support_r17_sequence); return offset; } static const per_sequence_t GNSS_GenericAssistDataSupportElement_eag_4_sequence[] = { { &hf_lpp_gnss_SSR_OrbitCorrectionsSet2Support_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_OrbitCorrectionsSet2Support_r17 }, { &hf_lpp_gnss_SSR_ClockCorrectionsSet2Support_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_ClockCorrectionsSet2Support_r17 }, { &hf_lpp_gnss_SSR_URA_Set2Support_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_URA_Set2Support_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_GenericAssistDataSupportElement_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, GNSS_GenericAssistDataSupportElement_eag_4_sequence); return offset; } static const per_sequence_t GNSS_LOS_NLOS_GriddedIndicationsSupport_r18_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_lpp_GNSS_LOS_NLOS_GriddedIndicationsSupport_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_LOS_NLOS_GriddedIndicationsSupport_r18, GNSS_LOS_NLOS_GriddedIndicationsSupport_r18_sequence); return offset; } static const per_sequence_t GNSS_SSR_SatellitePCVResidualsSupport_r18_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_lpp_GNSS_SSR_SatellitePCVResidualsSupport_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_SatellitePCVResidualsSupport_r18, GNSS_SSR_SatellitePCVResidualsSupport_r18_sequence); return offset; } static const per_sequence_t GNSS_GenericAssistDataSupportElement_eag_5_sequence[] = { { &hf_lpp_gnss_LOS_NLOS_GriddedIndicationsSupport_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_LOS_NLOS_GriddedIndicationsSupport_r18 }, { &hf_lpp_gnss_SSR_SatellitePCVResidualsSupport_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_SatellitePCVResidualsSupport_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_GenericAssistDataSupportElement_eag_5(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_5_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataSupportElement_eag_4 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataSupportElement_eag_5 }, { 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_eag_2_sequence[] = { { &hf_lpp_ha_EllipsoidPointWithScalableUncertaintyEllipse_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN }, { &hf_lpp_ha_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_lpp_LocationCoordinateTypes_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, LocationCoordinateTypes_eag_2_sequence); return offset; } static const per_sequence_t LocationCoordinateTypes_eag_3_sequence[] = { { &hf_lpp_local2dPointWithUncertaintyEllipse_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN }, { &hf_lpp_local3dPointWithUncertaintyEllipsoid_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_lpp_LocationCoordinateTypes_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, LocationCoordinateTypes_eag_3_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_LocationCoordinateTypes_eag_2 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_LocationCoordinateTypes_eag_3 }, { 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 T_gnssTime_r17_sequence[] = { { &hf_lpp_posModes_r17 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_PositioningModes }, { &hf_lpp_gnss_TimeIDs_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID_Bitmap }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_gnssTime_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_gnssTime_r17, T_gnssTime_r17_sequence); return offset; } static const per_sequence_t ScheduledLocationTimeSupportPerMode_r17_sequence[] = { { &hf_lpp_utcTime_r17_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PositioningModes }, { &hf_lpp_gnssTime_r17_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_gnssTime_r17 }, { &hf_lpp_e_utraTime_r17_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PositioningModes }, { &hf_lpp_nrTime_r17_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PositioningModes }, { &hf_lpp_relativeTime_r17_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PositioningModes }, { NULL, 0, 0, NULL } }; static int dissect_lpp_ScheduledLocationTimeSupportPerMode_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_ScheduledLocationTimeSupportPerMode_r17, ScheduledLocationTimeSupportPerMode_r17_sequence); return offset; } static const per_sequence_t A_GNSS_ProvideCapabilities_eag_3_sequence[] = { { &hf_lpp_scheduledLocationRequestSupported_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ScheduledLocationTimeSupportPerMode_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_A_GNSS_ProvideCapabilities_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, A_GNSS_ProvideCapabilities_eag_3_sequence); return offset; } static const per_sequence_t PeriodicReportingIntervalMsSupportPerMode_r18_sequence[] = { { &hf_lpp_minPeriodicReportingIntervalMs1_Supported_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PositioningModes }, { &hf_lpp_minPeriodicReportingIntervalMs10_Supported_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PositioningModes }, { &hf_lpp_minPeriodicReportingIntervalMs100_Supported_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PositioningModes }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PeriodicReportingIntervalMsSupportPerMode_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_PeriodicReportingIntervalMsSupportPerMode_r18, PeriodicReportingIntervalMsSupportPerMode_r18_sequence); return offset; } static const per_sequence_t A_GNSS_ProvideCapabilities_eag_4_sequence[] = { { &hf_lpp_periodicReportingIntervalMsSupport_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicReportingIntervalMsSupportPerMode_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_A_GNSS_ProvideCapabilities_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, A_GNSS_ProvideCapabilities_eag_4_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_A_GNSS_ProvideCapabilities_eag_3 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_A_GNSS_ProvideCapabilities_eag_4 }, { 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 value_string lpp_T_utcTime_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_utcTime_r17(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_e_utraTime_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_e_utraTime_r17(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_nrTime_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_nrTime_r17(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_relativeTime_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_relativeTime_r17(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 ScheduledLocationTimeSupport_r17_sequence[] = { { &hf_lpp_utcTime_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_utcTime_r17 }, { &hf_lpp_gnssTime_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ID_Bitmap }, { &hf_lpp_e_utraTime_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_e_utraTime_r17 }, { &hf_lpp_nrTime_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nrTime_r17 }, { &hf_lpp_relativeTime_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_relativeTime_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_ScheduledLocationTimeSupport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_ScheduledLocationTimeSupport_r17, ScheduledLocationTimeSupport_r17_sequence); return offset; } static const value_string lpp_T_minPeriodicReportingIntervalMs_r18_vals[] = { { 0, "ms1" }, { 1, "ms10" }, { 2, "ms100" }, { 0, NULL } }; static int dissect_lpp_T_minPeriodicReportingIntervalMs_r18(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 PeriodicReportingIntervalMsSupport_r18_sequence[] = { { &hf_lpp_minPeriodicReportingIntervalMs_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_minPeriodicReportingIntervalMs_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PeriodicReportingIntervalMsSupport_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_PeriodicReportingIntervalMsSupport_r18, PeriodicReportingIntervalMsSupport_r18_sequence); 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 }, { &hf_lpp_scheduledLocationRequestSupported_r17, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_ScheduledLocationTimeSupport_r17 }, { &hf_lpp_periodicReportingIntervalMsSupport_r18, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_PeriodicReportingIntervalMsSupport_r18 }, { 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_eag_3_sequence[] = { { &hf_lpp_scheduledLocationRequestSupported_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ScheduledLocationTimeSupport_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_ECID_ProvideCapabilities_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, ECID_ProvideCapabilities_eag_3_sequence); return offset; } static const per_sequence_t ECID_ProvideCapabilities_eag_4_sequence[] = { { &hf_lpp_periodicReportingIntervalMsSupport_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicReportingIntervalMsSupport_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_ECID_ProvideCapabilities_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, ECID_ProvideCapabilities_eag_4_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ECID_ProvideCapabilities_eag_3 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ECID_ProvideCapabilities_eag_4 }, { 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_eag_4_sequence[] = { { &hf_lpp_scheduledLocationRequestSupported_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ScheduledLocationTimeSupportPerMode_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_Sensor_ProvideCapabilities_r13_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, Sensor_ProvideCapabilities_r13_eag_4_sequence); return offset; } static const per_sequence_t Sensor_ProvideCapabilities_r13_eag_5_sequence[] = { { &hf_lpp_periodicReportingIntervalMsSupport_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicReportingIntervalMsSupportPerMode_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_Sensor_ProvideCapabilities_r13_eag_5(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_5_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_ProvideCapabilities_r13_eag_4 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_ProvideCapabilities_r13_eag_5 }, { 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_eag_2_sequence[] = { { &hf_lpp_scheduledLocationRequestSupported_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ScheduledLocationTimeSupportPerMode_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_TBS_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, TBS_ProvideCapabilities_r13_eag_2_sequence); return offset; } static const per_sequence_t TBS_ProvideCapabilities_r13_eag_3_sequence[] = { { &hf_lpp_periodicReportingIntervalMsSupport_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicReportingIntervalMsSupportPerMode_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_TBS_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, TBS_ProvideCapabilities_r13_eag_3_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_TBS_ProvideCapabilities_r13_eag_2 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_TBS_ProvideCapabilities_r13_eag_3 }, { 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_eag_2_sequence[] = { { &hf_lpp_scheduledLocationRequestSupported_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ScheduledLocationTimeSupportPerMode_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_WLAN_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, WLAN_ProvideCapabilities_r13_eag_2_sequence); return offset; } static const per_sequence_t WLAN_ProvideCapabilities_r13_eag_3_sequence[] = { { &hf_lpp_periodicReportingIntervalMsSupport_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicReportingIntervalMsSupportPerMode_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_WLAN_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, WLAN_ProvideCapabilities_r13_eag_3_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_ProvideCapabilities_r13_eag_2 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_ProvideCapabilities_r13_eag_3 }, { 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, &hf_lpp_T_bt_Modes_r13_ue_based_v1810, 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, 3, NULL, NULL); return offset; } static int * const T_bt_MeasSupported_r13_bits[] = { &hf_lpp_T_bt_MeasSupported_r13_rssi_r13, &hf_lpp_T_bt_MeasSupported_r13_aod_v1800, 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, 2, 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_eag_2_sequence[] = { { &hf_lpp_scheduledLocationRequestSupported_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ScheduledLocationTimeSupportPerMode_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_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, BT_ProvideCapabilities_r13_eag_2_sequence); return offset; } static const value_string lpp_T_bt_AoA_r18_vals[] = { { 0, "request-only" }, { 1, "suggestion" }, { 0, NULL } }; static int dissect_lpp_T_bt_AoA_r18(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 BT_ProvideCapabilities_r13_eag_3_sequence[] = { { &hf_lpp_bt_AoA_r18 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_bt_AoA_r18 }, { &hf_lpp_periodicReportingIntervalMsSupport_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicReportingIntervalMsSupportPerMode_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_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, BT_ProvideCapabilities_r13_eag_3_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_BT_ProvideCapabilities_r13_eag_2 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_BT_ProvideCapabilities_r13_eag_3 }, { 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 value_string lpp_T_ten_ms_unit_ResponseTime_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_ten_ms_unit_ResponseTime_r17(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_eag_1_sequence[] = { { &hf_lpp_ten_ms_unit_ResponseTime_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ten_ms_unit_ResponseTime_r17 }, { &hf_lpp_scheduledLocationRequestSupported_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ScheduledLocationTimeSupport_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_ECID_ProvideCapabilities_r16_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, NR_ECID_ProvideCapabilities_r16_eag_1_sequence); return offset; } static const per_sequence_t NR_ECID_ProvideCapabilities_r16_eag_2_sequence[] = { { &hf_lpp_periodicReportingIntervalMsSupport_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicReportingIntervalMsSupport_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_ECID_ProvideCapabilities_r16_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, NR_ECID_ProvideCapabilities_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_ECID_ProvideCapabilities_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_ECID_ProvideCapabilities_r16_eag_2 }, { 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" }, { 8, "n24-v1690" }, { 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, 1, 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 value_string lpp_T_nr_UE_RxTEG_ID_MaxSupport_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n6" }, { 5, "n8" }, { 0, NULL } }; static int dissect_lpp_T_nr_UE_RxTEG_ID_MaxSupport_r17(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_nr_UE_TxTEG_ID_MaxSupport_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n6" }, { 5, "n8" }, { 0, NULL } }; static int dissect_lpp_T_nr_UE_TxTEG_ID_MaxSupport_r17(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_nr_UE_RxTxTEG_ID_MaxSupport_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n36" }, { 10, "n48" }, { 11, "n64" }, { 0, NULL } }; static int dissect_lpp_T_nr_UE_RxTxTEG_ID_MaxSupport_r17(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, 12, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_vals[] = { { 0, "n2" }, { 1, "n3" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 0, NULL } }; static int dissect_lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17(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, false, 0, NULL); return offset; } static const value_string lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGsSimul_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n6" }, { 5, "n8" }, { 0, NULL } }; static int dissect_lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGsSimul_r17(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_UE_TEG_ID_CapabilityPerBand_r17_sequence[] = { { &hf_lpp_freqBandIndicatorNR_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_FreqBandIndicatorNR_r16 }, { &hf_lpp_nr_UE_RxTEG_ID_MaxSupport_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_UE_RxTEG_ID_MaxSupport_r17 }, { &hf_lpp_nr_UE_TxTEG_ID_MaxSupport_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_UE_TxTEG_ID_MaxSupport_r17 }, { &hf_lpp_nr_UE_RxTxTEG_ID_MaxSupport_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_UE_RxTxTEG_ID_MaxSupport_r17 }, { &hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17 }, { &hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTEGsSimul_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGsSimul_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_UE_TEG_ID_CapabilityPerBand_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_UE_TEG_ID_CapabilityPerBand_r17, NR_UE_TEG_ID_CapabilityPerBand_r17_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_nrMaxBands_r16_OF_NR_UE_TEG_ID_CapabilityPerBand_r17_sequence_of[1] = { { &hf_lpp_nr_UE_TEG_ID_CapabilityBandList_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_UE_TEG_ID_CapabilityPerBand_r17 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_NR_UE_TEG_ID_CapabilityPerBand_r17(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_NR_UE_TEG_ID_CapabilityPerBand_r17, SEQUENCE_SIZE_1_nrMaxBands_r16_OF_NR_UE_TEG_ID_CapabilityPerBand_r17_sequence_of, 1, nrMaxBands_r16, false); return offset; } static const per_sequence_t NR_UE_TEG_Capability_r17_sequence[] = { { &hf_lpp_nr_UE_TEG_ID_CapabilityBandList_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_NR_UE_TEG_ID_CapabilityPerBand_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_UE_TEG_Capability_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_UE_TEG_Capability_r17, NR_UE_TEG_Capability_r17_sequence); return offset; } static const value_string lpp_T_supportOfDL_PRS_FirstPathRSRP_r17_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfDL_PRS_FirstPathRSRP_r17_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_dl_PRS_MeasRRC_Inactive_r17_02_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_dl_PRS_MeasRRC_Inactive_r17_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 value_string lpp_T_supportOfDL_PRS_BWA_RRC_Connected_r18_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfDL_PRS_BWA_RRC_Connected_r18_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_supportOfDL_PRS_BWA_RRC_Inactive_r18_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfDL_PRS_BWA_RRC_Inactive_r18_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_nr_NTN_MeasAndReport_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_nr_NTN_MeasAndReport_r18(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_nr_DL_PRS_RSCP_ReportingRRC_Connected_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_RSCP_ReportingRRC_Connected_r18(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_nr_DL_PRS_RSCP_ReportingRRC_Inactive_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_RSCP_ReportingRRC_Inactive_r18(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_assocSingleRx_Tx_WithUpToNsampleRSCP_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_assocSingleRx_Tx_WithUpToNsampleRSCP_r18(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_supportOfSymbolTimeStampForRSCP_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfSymbolTimeStampForRSCP_r18(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_supportOfFinerTimingReportGranularityForPRS_Meas_r18_01_vals[] = { { 0, "minus1" }, { 1, "minus2" }, { 2, "minus3" }, { 3, "minus4" }, { 4, "minus5" }, { 5, "minus6" }, { 0, NULL } }; static int dissect_lpp_T_supportOfFinerTimingReportGranularityForPRS_Meas_r18_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 int * const T_supportOfMeasurementsInTimeWindow_r18_02_bits[] = { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_02_rx_tx, &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_02_rsrp, &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_02_rsrpp, &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_02_rscp, NULL }; static int dissect_lpp_T_supportOfMeasurementsInTimeWindow_r18_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_supportOfMeasurementsInTimeWindow_r18_02_bits, 4, NULL, NULL); return offset; } static const per_sequence_t Multi_RTT_MeasCapabilityPerBand_r17_eag_1_sequence[] = { { &hf_lpp_supportOfDL_PRS_BWA_RRC_Connected_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfDL_PRS_BWA_RRC_Connected_r18_01 }, { &hf_lpp_supportOfDL_PRS_BWA_RRC_Inactive_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfDL_PRS_BWA_RRC_Inactive_r18_01 }, { &hf_lpp_nr_NTN_MeasAndReport_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_NTN_MeasAndReport_r18 }, { &hf_lpp_nr_DL_PRS_RSCP_ReportingRRC_Connected_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_RSCP_ReportingRRC_Connected_r18 }, { &hf_lpp_nr_DL_PRS_RSCP_ReportingRRC_Inactive_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_RSCP_ReportingRRC_Inactive_r18 }, { &hf_lpp_assocSingleRx_Tx_WithUpToNsampleRSCP_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_assocSingleRx_Tx_WithUpToNsampleRSCP_r18 }, { &hf_lpp_supportOfSymbolTimeStampForRSCP_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfSymbolTimeStampForRSCP_r18 }, { &hf_lpp_supportOfFinerTimingReportGranularityForPRS_Meas_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfFinerTimingReportGranularityForPRS_Meas_r18_01 }, { &hf_lpp_supportOfMeasurementsInTimeWindow_r18_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfMeasurementsInTimeWindow_r18_02 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_Multi_RTT_MeasCapabilityPerBand_r17_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, Multi_RTT_MeasCapabilityPerBand_r17_eag_1_sequence); return offset; } static const per_sequence_t Multi_RTT_MeasCapabilityPerBand_r17_sequence[] = { { &hf_lpp_freqBandIndicatorNR_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_FreqBandIndicatorNR_r16 }, { &hf_lpp_supportOfDL_PRS_FirstPathRSRP_r17_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_supportOfDL_PRS_FirstPathRSRP_r17_01 }, { &hf_lpp_dl_PRS_MeasRRC_Inactive_r17_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dl_PRS_MeasRRC_Inactive_r17_02 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Multi_RTT_MeasCapabilityPerBand_r17_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_Multi_RTT_MeasCapabilityPerBand_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_Multi_RTT_MeasCapabilityPerBand_r17, Multi_RTT_MeasCapabilityPerBand_r17_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_nrMaxBands_r16_OF_Multi_RTT_MeasCapabilityPerBand_r17_sequence_of[1] = { { &hf_lpp_multi_RTT_MeasCapabilityBandList_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_Multi_RTT_MeasCapabilityPerBand_r17 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_Multi_RTT_MeasCapabilityPerBand_r17(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_Multi_RTT_MeasCapabilityPerBand_r17, SEQUENCE_SIZE_1_nrMaxBands_r16_OF_Multi_RTT_MeasCapabilityPerBand_r17_sequence_of, 1, nrMaxBands_r16, false); return offset; } static const per_sequence_t NR_Multi_RTT_MeasurementCapability_r16_eag_1_sequence[] = { { &hf_lpp_nr_UE_TEG_Capability_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_UE_TEG_Capability_r17 }, { &hf_lpp_multi_RTT_MeasCapabilityBandList_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_Multi_RTT_MeasCapabilityPerBand_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_MeasurementCapability_r16_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, NR_Multi_RTT_MeasurementCapability_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_MeasurementCapability_r16_eag_1 }, { 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 value_string lpp_T_scs15_v1690_vals[] = { { 0, "n6" }, { 1, "n12" }, { 0, NULL } }; static int dissect_lpp_T_scs15_v1690(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_scs30_v1690_vals[] = { { 0, "n6" }, { 1, "n12" }, { 0, NULL } }; static int dissect_lpp_T_scs30_v1690(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_scs60_v1690_vals[] = { { 0, "n6" }, { 1, "n12" }, { 0, NULL } }; static int dissect_lpp_T_scs60_v1690(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_scs120_v1690_vals[] = { { 0, "n6" }, { 1, "n12" }, { 0, NULL } }; static int dissect_lpp_T_scs120_v1690(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 T_eag_1_sequence[] = { { &hf_lpp_scs15_v1690 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs15_v1690 }, { &hf_lpp_scs30_v1690 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs30_v1690 }, { &hf_lpp_scs60_v1690 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs60_v1690 }, { &hf_lpp_scs120_v1690 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs120_v1690 }, { 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_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 }, { &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_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 value_string lpp_T_supportedDL_PRS_ProcessingSamples_RRC_CONNECTED_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportedDL_PRS_ProcessingSamples_RRC_CONNECTED_r17(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_ProcessingWindowType1A_r17_vals[] = { { 0, "option1" }, { 1, "option2" }, { 2, "option3" }, { 0, NULL } }; static int dissect_lpp_T_prs_ProcessingWindowType1A_r17(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_prs_ProcessingWindowType1B_r17_vals[] = { { 0, "option1" }, { 1, "option2" }, { 2, "option3" }, { 0, NULL } }; static int dissect_lpp_T_prs_ProcessingWindowType1B_r17(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_prs_ProcessingWindowType2_r17_vals[] = { { 0, "option1" }, { 1, "option2" }, { 2, "option3" }, { 0, NULL } }; static int dissect_lpp_T_prs_ProcessingWindowType2_r17(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_prsProcessingType_r17_vals[] = { { 0, "type1A" }, { 1, "type1B" }, { 2, "type2" }, { 0, NULL } }; static int dissect_lpp_T_prsProcessingType_r17(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_ppw_dl_PRS_BufferType_r17_vals[] = { { 0, "type1" }, { 1, "type2" }, { 0, NULL } }; static int dissect_lpp_T_ppw_dl_PRS_BufferType_r17(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_ppw_durationOfPRS_ProcessingSymbolsN_r17_vals[] = { { 0, "msDot125" }, { 1, "msDot25" }, { 2, "msDot5" }, { 3, "ms1" }, { 4, "ms2" }, { 5, "ms4" }, { 6, "ms6" }, { 7, "ms8" }, { 8, "ms12" }, { 9, "ms16" }, { 10, "ms20" }, { 11, "ms25" }, { 12, "ms30" }, { 13, "ms32" }, { 14, "ms35" }, { 15, "ms40" }, { 16, "ms45" }, { 17, "ms50" }, { 0, NULL } }; static int dissect_lpp_T_ppw_durationOfPRS_ProcessingSymbolsN_r17(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_ppw_durationOfPRS_ProcessingSymbolsT_r17_vals[] = { { 0, "ms1" }, { 1, "ms2" }, { 2, "ms4" }, { 3, "ms8" }, { 4, "ms16" }, { 5, "ms20" }, { 6, "ms30" }, { 7, "ms40" }, { 8, "ms80" }, { 9, "ms160" }, { 10, "ms320" }, { 11, "ms640" }, { 12, "ms1280" }, { 0, NULL } }; static int dissect_lpp_T_ppw_durationOfPRS_ProcessingSymbolsT_r17(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, 13, NULL, false, 0, NULL); return offset; } static const per_sequence_t T_ppw_durationOfPRS_Processing1_r17_sequence[] = { { &hf_lpp_ppw_durationOfPRS_ProcessingSymbolsN_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_ppw_durationOfPRS_ProcessingSymbolsN_r17 }, { &hf_lpp_ppw_durationOfPRS_ProcessingSymbolsT_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_ppw_durationOfPRS_ProcessingSymbolsT_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_ppw_durationOfPRS_Processing1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ppw_durationOfPRS_Processing1_r17, T_ppw_durationOfPRS_Processing1_r17_sequence); return offset; } static const value_string lpp_T_ppw_durationOfPRS_ProcessingSymbolsN2_r17_vals[] = { { 0, "msDot125" }, { 1, "msDot25" }, { 2, "msDot5" }, { 3, "ms1" }, { 4, "ms2" }, { 5, "ms3" }, { 6, "ms4" }, { 7, "ms5" }, { 8, "ms6" }, { 9, "ms8" }, { 10, "ms12" }, { 0, NULL } }; static int dissect_lpp_T_ppw_durationOfPRS_ProcessingSymbolsN2_r17(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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_ppw_durationOfPRS_ProcessingSymbolsT2_r17_vals[] = { { 0, "ms4" }, { 1, "ms5" }, { 2, "ms6" }, { 3, "ms8" }, { 0, NULL } }; static int dissect_lpp_T_ppw_durationOfPRS_ProcessingSymbolsT2_r17(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 T_ppw_durationOfPRS_Processing2_r17_sequence[] = { { &hf_lpp_ppw_durationOfPRS_ProcessingSymbolsN2_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_ppw_durationOfPRS_ProcessingSymbolsN2_r17 }, { &hf_lpp_ppw_durationOfPRS_ProcessingSymbolsT2_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_ppw_durationOfPRS_ProcessingSymbolsT2_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_ppw_durationOfPRS_Processing2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ppw_durationOfPRS_Processing2_r17, T_ppw_durationOfPRS_Processing2_r17_sequence); return offset; } static const value_string lpp_T_scs15_r17_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs15_r17_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs30_r17_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs30_r17_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs60_r17_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs60_r17_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs120_r17_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs120_r17_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, 11, NULL, false, 0, NULL); return offset; } static const per_sequence_t T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17_sequence[] = { { &hf_lpp_scs15_r17_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs15_r17_01 }, { &hf_lpp_scs30_r17_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs30_r17_01 }, { &hf_lpp_scs60_r17_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs60_r17_01 }, { &hf_lpp_scs120_r17_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs120_r17_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17, T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17_sequence); return offset; } static const value_string lpp_T_fr1_01_vals[] = { { 0, "mhz5" }, { 1, "mhz10" }, { 2, "mhz20" }, { 3, "mhz40" }, { 4, "mhz50" }, { 5, "mhz80" }, { 6, "mhz100" }, { 0, NULL } }; static int dissect_lpp_T_fr1_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, 7, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_fr2_01_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz200" }, { 3, "mhz400" }, { 0, NULL } }; static int dissect_lpp_T_fr2_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, 4, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_ppw_maxNumOfDL_Bandwidth_r17_vals[] = { { 0, "fr1" }, { 1, "fr2" }, { 0, NULL } }; static const per_choice_t T_ppw_maxNumOfDL_Bandwidth_r17_choice[] = { { 0, &hf_lpp_fr1_01 , ASN1_NO_EXTENSIONS , dissect_lpp_T_fr1_01 }, { 1, &hf_lpp_fr2_01 , ASN1_NO_EXTENSIONS , dissect_lpp_T_fr2_01 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_ppw_maxNumOfDL_Bandwidth_r17(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_ppw_maxNumOfDL_Bandwidth_r17, T_ppw_maxNumOfDL_Bandwidth_r17_choice, NULL); return offset; } static const per_sequence_t PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_eag_1_sequence[] = { { &hf_lpp_ppw_maxNumOfDL_Bandwidth_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ppw_maxNumOfDL_Bandwidth_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_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_ProcessingCapabilityOutsideMGinPPWperType_r17_eag_1_sequence); return offset; } static const per_sequence_t PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_sequence[] = { { &hf_lpp_prsProcessingType_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_prsProcessingType_r17 }, { &hf_lpp_ppw_dl_PRS_BufferType_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_ppw_dl_PRS_BufferType_r17 }, { &hf_lpp_ppw_durationOfPRS_Processing1_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_ppw_durationOfPRS_Processing1_r17 }, { &hf_lpp_ppw_durationOfPRS_Processing2_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_ppw_durationOfPRS_Processing2_r17 }, { &hf_lpp_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ProcessingCapabilityOutsideMGinPPWperType_r17, PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_sequence_of[1] = { { &hf_lpp_prs_ProcessingCapabilityOutsideMGinPPW_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17(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_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17, SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_sequence_of, 1, 3, false); return offset; } static const value_string lpp_T_dl_PRS_BufferType_RRC_Inactive_r17_vals[] = { { 0, "type1" }, { 1, "type2" }, { 0, NULL } }; static int dissect_lpp_T_dl_PRS_BufferType_RRC_Inactive_r17(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_r17_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_r17(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_r17_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_r17(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_RRC_Inactive_r17_sequence[] = { { &hf_lpp_durationOfPRS_ProcessingSymbols_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_durationOfPRS_ProcessingSymbols_r17 }, { &hf_lpp_durationOfPRS_ProcessingSymbolsInEveryTms_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_durationOfPRS_ProcessingSymbolsInEveryTms_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_durationOfPRS_Processing_RRC_Inactive_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_RRC_Inactive_r17, T_durationOfPRS_Processing_RRC_Inactive_r17_sequence); return offset; } static const value_string lpp_T_scs15_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs15_r17(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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs30_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs30_r17(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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs60_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs60_r17(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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs120_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs120_r17(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, 11, NULL, false, 0, NULL); return offset; } static const per_sequence_t T_maxNumOfDL_PRS_ResProcessedPerSlot_RRC_Inactive_r17_sequence[] = { { &hf_lpp_scs15_r17_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs15_r17 }, { &hf_lpp_scs30_r17_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs30_r17 }, { &hf_lpp_scs60_r17_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs60_r17 }, { &hf_lpp_scs120_r17_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs120_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_maxNumOfDL_PRS_ResProcessedPerSlot_RRC_Inactive_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_RRC_Inactive_r17, T_maxNumOfDL_PRS_ResProcessedPerSlot_RRC_Inactive_r17_sequence); return offset; } static const value_string lpp_T_supportedLowerRxBeamSweepingFactor_FR2_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 0, NULL } }; static int dissect_lpp_T_supportedLowerRxBeamSweepingFactor_FR2_r17(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 PRS_ProcessingCapabilityPerBand_r16_eag_1_sequence[] = { { &hf_lpp_supportedDL_PRS_ProcessingSamples_RRC_CONNECTED_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportedDL_PRS_ProcessingSamples_RRC_CONNECTED_r17 }, { &hf_lpp_prs_ProcessingWindowType1A_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prs_ProcessingWindowType1A_r17 }, { &hf_lpp_prs_ProcessingWindowType1B_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prs_ProcessingWindowType1B_r17 }, { &hf_lpp_prs_ProcessingWindowType2_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prs_ProcessingWindowType2_r17 }, { &hf_lpp_prs_ProcessingCapabilityOutsideMGinPPW_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17 }, { &hf_lpp_dl_PRS_BufferType_RRC_Inactive_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_dl_PRS_BufferType_RRC_Inactive_r17 }, { &hf_lpp_durationOfPRS_Processing_RRC_Inactive_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_durationOfPRS_Processing_RRC_Inactive_r17 }, { &hf_lpp_maxNumOfDL_PRS_ResProcessedPerSlot_RRC_Inactive_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfDL_PRS_ResProcessedPerSlot_RRC_Inactive_r17 }, { &hf_lpp_supportedLowerRxBeamSweepingFactor_FR2_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportedLowerRxBeamSweepingFactor_FR2_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PRS_ProcessingCapabilityPerBand_r16_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_ProcessingCapabilityPerBand_r16_eag_1_sequence); return offset; } static const value_string lpp_T_supportedDL_PRS_ProcessingSamples_RRC_Inactive_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportedDL_PRS_ProcessingSamples_RRC_Inactive_r17(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 PRS_ProcessingCapabilityPerBand_r16_eag_2_sequence[] = { { &hf_lpp_supportedDL_PRS_ProcessingSamples_RRC_Inactive_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportedDL_PRS_ProcessingSamples_RRC_Inactive_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PRS_ProcessingCapabilityPerBand_r16_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, PRS_ProcessingCapabilityPerBand_r16_eag_2_sequence); return offset; } static const value_string lpp_T_prs_MeasurementWithoutMG_r17_vals[] = { { 0, "cp" }, { 1, "symbolDot25" }, { 2, "symbolDot5" }, { 3, "slotDot5" }, { 0, NULL } }; static int dissect_lpp_T_prs_MeasurementWithoutMG_r17(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 PRS_ProcessingCapabilityPerBand_r16_eag_3_sequence[] = { { &hf_lpp_prs_MeasurementWithoutMG_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prs_MeasurementWithoutMG_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PRS_ProcessingCapabilityPerBand_r16_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, PRS_ProcessingCapabilityPerBand_r16_eag_3_sequence); return offset; } static const value_string lpp_T_scs15_r18_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs15_r18(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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs30_r18_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs30_r18(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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs60_r18_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs60_r18(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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs120_r18_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs120_r18(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, 11, NULL, false, 0, NULL); return offset; } static const per_sequence_t T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18_sequence[] = { { &hf_lpp_scs15_r18_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs15_r18 }, { &hf_lpp_scs30_r18_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs30_r18 }, { &hf_lpp_scs60_r18_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs60_r18 }, { &hf_lpp_scs120_r18_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs120_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18, T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18_sequence); return offset; } static const value_string lpp_T_scs15_r18_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs15_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs30_r18_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs30_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs60_r18_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs60_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs120_r18_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs120_r18_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, 11, NULL, false, 0, NULL); return offset; } static const per_sequence_t T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18_sequence[] = { { &hf_lpp_scs15_r18_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs15_r18_01 }, { &hf_lpp_scs30_r18_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs30_r18_01 }, { &hf_lpp_scs60_r18_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs60_r18_01 }, { &hf_lpp_scs120_r18_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs120_r18_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18, T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18_sequence); return offset; } static const value_string lpp_T_scs15_r18_02_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs15_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs30_r18_02_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs30_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs60_r18_02_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs60_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs120_r18_02_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs120_r18_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, 11, NULL, false, 0, NULL); return offset; } static const per_sequence_t T_ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18_sequence[] = { { &hf_lpp_scs15_r18_03 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs15_r18_02 }, { &hf_lpp_scs30_r18_03 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs30_r18_02 }, { &hf_lpp_scs60_r18_03 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs60_r18_02 }, { &hf_lpp_scs120_r18_03 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_scs120_r18_02 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18, T_ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18_sequence); return offset; } static const value_string lpp_T_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR1_r18_vals[] = { { 0, "mhz10" }, { 1, "mhz20" }, { 2, "mhz40" }, { 3, "mhz50" }, { 4, "mhz80" }, { 5, "mhz100" }, { 6, "mhz160" }, { 7, "mhz200" }, { 0, NULL } }; static int dissect_lpp_T_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR1_r18(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_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR2_r18_vals[] = { { 0, "mhz100" }, { 1, "mhz200" }, { 2, "mhz400" }, { 3, "mhz800" }, { 0, NULL } }; static int dissect_lpp_T_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR2_r18(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_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18_vals[] = { { 0, "mhz5" }, { 1, "mhz10" }, { 2, "mhz20" }, { 3, "mhz40" }, { 4, "mhz50" }, { 5, "mhz80" }, { 6, "mhz100" }, { 0, NULL } }; static int dissect_lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18(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_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz200" }, { 3, "mhz400" }, { 0, NULL } }; static int dissect_lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18(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_dl_PRS_BufferTypeOfBWA_r18_vals[] = { { 0, "type1" }, { 1, "type2" }, { 0, NULL } }; static int dissect_lpp_T_dl_PRS_BufferTypeOfBWA_r18(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_prs_durationOfTwoPRS_BWA_ProcessingSymbolsN_r18_vals[] = { { 0, "msDot125" }, { 1, "msDot25" }, { 2, "msDot5" }, { 3, "ms1" }, { 4, "ms2" }, { 5, "ms4" }, { 6, "ms6" }, { 7, "ms8" }, { 8, "ms12" }, { 9, "ms16" }, { 10, "ms20" }, { 11, "ms25" }, { 12, "ms30" }, { 13, "ms32" }, { 14, "ms35" }, { 15, "ms40" }, { 16, "ms45" }, { 17, "ms50" }, { 0, NULL } }; static int dissect_lpp_T_prs_durationOfTwoPRS_BWA_ProcessingSymbolsN_r18(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_prs_durationOfTwoPRS_BWA_ProcessingSymbolsT_r18_vals[] = { { 0, "ms8" }, { 1, "ms16" }, { 2, "ms20" }, { 3, "ms30" }, { 4, "ms40" }, { 5, "ms80" }, { 6, "ms160" }, { 7, "ms320" }, { 8, "ms640" }, { 9, "ms1280" }, { 0, NULL } }; static int dissect_lpp_T_prs_durationOfTwoPRS_BWA_ProcessingSymbolsT_r18(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_prs_durationOfTwoPRS_BWA_Processing_r18_sequence[] = { { &hf_lpp_prs_durationOfTwoPRS_BWA_ProcessingSymbolsN_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_prs_durationOfTwoPRS_BWA_ProcessingSymbolsN_r18 }, { &hf_lpp_prs_durationOfTwoPRS_BWA_ProcessingSymbolsT_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_prs_durationOfTwoPRS_BWA_ProcessingSymbolsT_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_prs_durationOfTwoPRS_BWA_Processing_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_prs_durationOfTwoPRS_BWA_Processing_r18, T_prs_durationOfTwoPRS_BWA_Processing_r18_sequence); return offset; } static const value_string lpp_T_scs15_r18_03_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs15_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs30_r18_03_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs30_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs60_r18_03_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs60_r18_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, 11, NULL, false, 0, NULL); return offset; } static const per_sequence_t T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_sequence[] = { { &hf_lpp_scs15_r18_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs15_r18_03 }, { &hf_lpp_scs30_r18_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs30_r18_03 }, { &hf_lpp_scs60_r18_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs60_r18_03 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18, T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_sequence); return offset; } static const value_string lpp_T_scs60_r18_04_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs60_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs120_r18_03_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs120_r18_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, 11, NULL, false, 0, NULL); return offset; } static const per_sequence_t T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_sequence[] = { { &hf_lpp_scs60_r18_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs60_r18_04 }, { &hf_lpp_scs120_r18_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs120_r18_03 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18, T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_sequence); return offset; } static const per_sequence_t PRS_BWA_TwoContiguousIntrabandInMG_r18_sequence[] = { { &hf_lpp_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR1_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR1_r18 }, { &hf_lpp_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR2_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR2_r18 }, { &hf_lpp_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18 }, { &hf_lpp_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18 }, { &hf_lpp_dl_PRS_BufferTypeOfBWA_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_dl_PRS_BufferTypeOfBWA_r18 }, { &hf_lpp_prs_durationOfTwoPRS_BWA_Processing_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prs_durationOfTwoPRS_BWA_Processing_r18 }, { &hf_lpp_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18 }, { &hf_lpp_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PRS_BWA_TwoContiguousIntrabandInMG_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_BWA_TwoContiguousIntrabandInMG_r18, PRS_BWA_TwoContiguousIntrabandInMG_r18_sequence); return offset; } static const value_string lpp_T_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR1_r18_vals[] = { { 0, "mhz15" }, { 1, "mhz20" }, { 2, "mhz30" }, { 3, "mhz40" }, { 4, "mhz50" }, { 5, "mhz60" }, { 6, "mhz80" }, { 7, "mhz100" }, { 8, "mhz120" }, { 9, "mhz140" }, { 10, "mhz150" }, { 11, "mhz180" }, { 12, "mhz200" }, { 13, "mhz240" }, { 14, "mhz300" }, { 0, NULL } }; static int dissect_lpp_T_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR1_r18(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, 15, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR2_r18_vals[] = { { 0, "mhz150" }, { 1, "mhz200" }, { 2, "mhz300" }, { 3, "mhz400" }, { 4, "mhz600" }, { 5, "mhz800" }, { 6, "mhz1000" }, { 7, "mhz1200" }, { 0, NULL } }; static int dissect_lpp_T_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR2_r18(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_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18_01_vals[] = { { 0, "mhz5" }, { 1, "mhz10" }, { 2, "mhz20" }, { 3, "mhz40" }, { 4, "mhz50" }, { 5, "mhz80" }, { 6, "mhz100" }, { 0, NULL } }; static int dissect_lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18_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, 7, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18_01_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz200" }, { 3, "mhz400" }, { 0, NULL } }; static int dissect_lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18_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, 4, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_dl_PRS_BufferTypeOfBWA_r18_01_vals[] = { { 0, "type1" }, { 1, "type2" }, { 0, NULL } }; static int dissect_lpp_T_dl_PRS_BufferTypeOfBWA_r18_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 value_string lpp_T_prs_durationOfThreePRS_BWA_ProcessingSymbolsN_r18_vals[] = { { 0, "msDot125" }, { 1, "msDot25" }, { 2, "msDot5" }, { 3, "ms1" }, { 4, "ms2" }, { 5, "ms4" }, { 6, "ms6" }, { 7, "ms8" }, { 8, "ms12" }, { 9, "ms16" }, { 10, "ms20" }, { 11, "ms25" }, { 12, "ms30" }, { 13, "ms32" }, { 14, "ms35" }, { 15, "ms40" }, { 16, "ms45" }, { 17, "ms50" }, { 0, NULL } }; static int dissect_lpp_T_prs_durationOfThreePRS_BWA_ProcessingSymbolsN_r18(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_prs_durationOfThreePRS_BWA_ProcessingSymbolsT_r18_vals[] = { { 0, "ms8" }, { 1, "ms16" }, { 2, "ms20" }, { 3, "ms30" }, { 4, "ms40" }, { 5, "ms80" }, { 6, "ms160" }, { 7, "ms320" }, { 8, "ms640" }, { 9, "ms1280" }, { 0, NULL } }; static int dissect_lpp_T_prs_durationOfThreePRS_BWA_ProcessingSymbolsT_r18(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_prs_durationOfThreePRS_BWA_Processing_r18_sequence[] = { { &hf_lpp_prs_durationOfThreePRS_BWA_ProcessingSymbolsN_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_prs_durationOfThreePRS_BWA_ProcessingSymbolsN_r18 }, { &hf_lpp_prs_durationOfThreePRS_BWA_ProcessingSymbolsT_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_prs_durationOfThreePRS_BWA_ProcessingSymbolsT_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_prs_durationOfThreePRS_BWA_Processing_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_prs_durationOfThreePRS_BWA_Processing_r18, T_prs_durationOfThreePRS_BWA_Processing_r18_sequence); return offset; } static const value_string lpp_T_scs15_r18_04_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs15_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs30_r18_04_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs30_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs60_r18_05_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs60_r18_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, 11, NULL, false, 0, NULL); return offset; } static const per_sequence_t T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_01_sequence[] = { { &hf_lpp_scs15_r18_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs15_r18_04 }, { &hf_lpp_scs30_r18_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs30_r18_04 }, { &hf_lpp_scs60_r18_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs60_r18_05 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_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_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_01, T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_01_sequence); return offset; } static const value_string lpp_T_scs60_r18_06_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs60_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_scs120_r18_04_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 7, "n24" }, { 8, "n32" }, { 9, "n48" }, { 10, "n64" }, { 0, NULL } }; static int dissect_lpp_T_scs120_r18_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, 11, NULL, false, 0, NULL); return offset; } static const per_sequence_t T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_01_sequence[] = { { &hf_lpp_scs60_r18_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs60_r18_06 }, { &hf_lpp_scs120_r18_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_scs120_r18_04 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_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_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_01, T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_01_sequence); return offset; } static const per_sequence_t PRS_BWA_ThreeContiguousIntrabandInMG_r18_sequence[] = { { &hf_lpp_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR1_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR1_r18 }, { &hf_lpp_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR2_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR2_r18 }, { &hf_lpp_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18_01 }, { &hf_lpp_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18_01 }, { &hf_lpp_dl_PRS_BufferTypeOfBWA_r18_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_dl_PRS_BufferTypeOfBWA_r18_01 }, { &hf_lpp_prs_durationOfThreePRS_BWA_Processing_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prs_durationOfThreePRS_BWA_Processing_r18 }, { &hf_lpp_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_01 }, { &hf_lpp_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PRS_BWA_ThreeContiguousIntrabandInMG_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_BWA_ThreeContiguousIntrabandInMG_r18, PRS_BWA_ThreeContiguousIntrabandInMG_r18_sequence); return offset; } static const value_string lpp_T_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_Connected_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_Connected_r18(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_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_IdleAndInactive_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_IdleAndInactive_r18(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_dl_PRS_MeasurementWithRxFH_RRC_Inactive_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_dl_PRS_MeasurementWithRxFH_RRC_Inactive_r18(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_dl_PRS_MeasurementWithRxFH_RRC_Idle_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_dl_PRS_MeasurementWithRxFH_RRC_Idle_r18(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_reducedNumOfSampleForMeasurementWithFH_RRC_Connected_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_reducedNumOfSampleForMeasurementWithFH_RRC_Connected_r18(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_reducedNumOfSampleForMeasurementWithFH_RRC_IdleAndInactive_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_reducedNumOfSampleForMeasurementWithFH_RRC_IdleAndInactive_r18(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_supportOfPRS_BWA_WithTwoPFL_Combination_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfPRS_BWA_WithTwoPFL_Combination_r18(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_maximumPRS_BandwidthAcrossAllHopsFR1_r18_vals[] = { { 0, "mhz40" }, { 1, "mhz50" }, { 2, "mhz80" }, { 3, "mhz100" }, { 0, NULL } }; static int dissect_lpp_T_maximumPRS_BandwidthAcrossAllHopsFR1_r18(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_maximumPRS_BandwidthAcrossAllHopsFR2_r18_vals[] = { { 0, "mhz100" }, { 1, "mhz200" }, { 2, "mhz400" }, { 0, NULL } }; static int dissect_lpp_T_maximumPRS_BandwidthAcrossAllHopsFR2_r18(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_maximumFH_Hops_r18_vals[] = { { 0, "n2" }, { 1, "n3" }, { 2, "n4" }, { 3, "n5" }, { 4, "n6" }, { 0, NULL } }; static int dissect_lpp_T_maximumFH_Hops_r18(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, false, 0, NULL); return offset; } static const value_string lpp_T_processingPRS_SymbolsDurationN3_r18_vals[] = { { 0, "msDot125" }, { 1, "msDot25" }, { 2, "msDot5" }, { 3, "ms1" }, { 4, "ms2" }, { 5, "ms4" }, { 6, "ms6" }, { 7, "ms8" }, { 8, "ms12" }, { 9, "ms16" }, { 10, "ms20" }, { 11, "ms25" }, { 12, "ms30" }, { 13, "ms32" }, { 14, "ms35" }, { 15, "ms40" }, { 16, "ms45" }, { 17, "ms50" }, { 0, NULL } }; static int dissect_lpp_T_processingPRS_SymbolsDurationN3_r18(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_processingDurationT3_r18_vals[] = { { 0, "ms8" }, { 1, "ms16" }, { 2, "ms20" }, { 3, "ms30" }, { 4, "ms40" }, { 5, "ms80" }, { 6, "ms160" }, { 7, "ms320" }, { 8, "ms640" }, { 9, "ms1280" }, { 0, NULL } }; static int dissect_lpp_T_processingDurationT3_r18(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_processingDuration_r18_sequence[] = { { &hf_lpp_processingPRS_SymbolsDurationN3_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_processingPRS_SymbolsDurationN3_r18 }, { &hf_lpp_processingDurationT3_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_processingDurationT3_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_processingDuration_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_processingDuration_r18, T_processingDuration_r18_sequence); return offset; } static const value_string lpp_T_rf_RxRetunTimeFR1_r18_vals[] = { { 0, "n70" }, { 1, "n140" }, { 2, "n210" }, { 0, NULL } }; static int dissect_lpp_T_rf_RxRetunTimeFR1_r18(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_rf_RxRetunTimeFR2_r18_vals[] = { { 0, "n35" }, { 1, "n70" }, { 2, "n140" }, { 0, NULL } }; static int dissect_lpp_T_rf_RxRetunTimeFR2_r18(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_numOfOverlappingPRB_r18_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n4" }, { 0, NULL } }; static int dissect_lpp_T_numOfOverlappingPRB_r18(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 DL_PRS_MeasurementWithRxFH_RRC_Connected_r18_sequence[] = { { &hf_lpp_maximumPRS_BandwidthAcrossAllHopsFR1_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumPRS_BandwidthAcrossAllHopsFR1_r18 }, { &hf_lpp_maximumPRS_BandwidthAcrossAllHopsFR2_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumPRS_BandwidthAcrossAllHopsFR2_r18 }, { &hf_lpp_maximumFH_Hops_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumFH_Hops_r18 }, { &hf_lpp_processingDuration_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_processingDuration_r18 }, { &hf_lpp_rf_RxRetunTimeFR1_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_rf_RxRetunTimeFR1_r18 }, { &hf_lpp_rf_RxRetunTimeFR2_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_rf_RxRetunTimeFR2_r18 }, { &hf_lpp_numOfOverlappingPRB_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_numOfOverlappingPRB_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_PRS_MeasurementWithRxFH_RRC_Connected_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_MeasurementWithRxFH_RRC_Connected_r18, DL_PRS_MeasurementWithRxFH_RRC_Connected_r18_sequence); return offset; } static const per_sequence_t PRS_ProcessingCapabilityPerBand_r16_eag_4_sequence[] = { { &hf_lpp_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18 }, { &hf_lpp_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18 }, { &hf_lpp_ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18 }, { &hf_lpp_prs_BWA_TwoContiguousIntrabandInMG_RRC_Connected_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PRS_BWA_TwoContiguousIntrabandInMG_r18 }, { &hf_lpp_prs_BWA_ThreeContiguousIntrabandInMG_RRC_Connected_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PRS_BWA_ThreeContiguousIntrabandInMG_r18 }, { &hf_lpp_prs_BWA_TwoContiguousIntraband_RRC_IdleAndInactive_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PRS_BWA_TwoContiguousIntrabandInMG_r18 }, { &hf_lpp_prs_BWA_ThreeContiguousIntraband_RRC_IdleAndInactive_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PRS_BWA_ThreeContiguousIntrabandInMG_r18 }, { &hf_lpp_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_Connected_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_Connected_r18 }, { &hf_lpp_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_IdleAndInactive_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_IdleAndInactive_r18 }, { &hf_lpp_dl_PRS_MeasurementWithRxFH_RRC_Inactive_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_dl_PRS_MeasurementWithRxFH_RRC_Inactive_r18 }, { &hf_lpp_dl_PRS_MeasurementWithRxFH_RRC_Idle_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_dl_PRS_MeasurementWithRxFH_RRC_Idle_r18 }, { &hf_lpp_reducedNumOfSampleForMeasurementWithFH_RRC_Connected_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_reducedNumOfSampleForMeasurementWithFH_RRC_Connected_r18 }, { &hf_lpp_reducedNumOfSampleForMeasurementWithFH_RRC_IdleAndInactive_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_reducedNumOfSampleForMeasurementWithFH_RRC_IdleAndInactive_r18 }, { &hf_lpp_supportOfPRS_BWA_WithTwoPFL_Combination_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfPRS_BWA_WithTwoPFL_Combination_r18 }, { &hf_lpp_dl_PRS_MeasurementWithRxFH_RRC_Connected_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_DL_PRS_MeasurementWithRxFH_RRC_Connected_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PRS_ProcessingCapabilityPerBand_r16_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, PRS_ProcessingCapabilityPerBand_r16_eag_4_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_PRS_ProcessingCapabilityPerBand_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_PRS_ProcessingCapabilityPerBand_r16_eag_2 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_PRS_ProcessingCapabilityPerBand_r16_eag_3 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_PRS_ProcessingCapabilityPerBand_r16_eag_4 }, { 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 value_string lpp_T_dummy_vals[] = { { 0, "m1" }, { 1, "m2" }, { 0, NULL } }; static int dissect_lpp_T_dummy(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_ProcessingCapability_r16_eag_1_sequence[] = { { &hf_lpp_dummy , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_dummy }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_PRS_ProcessingCapability_r16_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, NR_DL_PRS_ProcessingCapability_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ProcessingCapability_r16_eag_1 }, { 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 value_string lpp_T_maxNumOfSRSposResourceSets_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n12" }, { 5, "n16" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfSRSposResourceSets_r17(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_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17(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_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 8, "n12" }, { 9, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17(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_maxNumOfPeriodicSRSposResources_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfPeriodicSRSposResources_r17(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_maxNumOfPeriodicSRSposResourcesPerSlot_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 8, "n12" }, { 9, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfPeriodicSRSposResourcesPerSlot_r17(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_dummy1_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_lpp_T_dummy1(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_dummy2_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 8, "n12" }, { 9, "n14" }, { 0, NULL } }; static int dissect_lpp_T_dummy2(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 PosSRS_RRC_Inactive_InInitialUL_BWP_r17_sequence[] = { { &hf_lpp_maxNumOfSRSposResourceSets_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfSRSposResourceSets_r17 }, { &hf_lpp_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17 }, { &hf_lpp_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17 }, { &hf_lpp_maxNumOfPeriodicSRSposResources_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfPeriodicSRSposResources_r17 }, { &hf_lpp_maxNumOfPeriodicSRSposResourcesPerSlot_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfPeriodicSRSposResourcesPerSlot_r17 }, { &hf_lpp_dummy1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dummy1 }, { &hf_lpp_dummy2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dummy2 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PosSRS_RRC_Inactive_InInitialUL_BWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_PosSRS_RRC_Inactive_InInitialUL_BWP_r17, PosSRS_RRC_Inactive_InInitialUL_BWP_r17_sequence); return offset; } static const value_string lpp_T_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17_vals[] = { { 0, "mhz5" }, { 1, "mhz10" }, { 2, "mhz15" }, { 3, "mhz20" }, { 4, "mhz25" }, { 5, "mhz30" }, { 6, "mhz35" }, { 7, "mhz40" }, { 8, "mhz45" }, { 9, "mhz50" }, { 10, "mhz60" }, { 11, "mhz70" }, { 12, "mhz80" }, { 13, "mhz90" }, { 14, "mhz100" }, { 0, NULL } }; static int dissect_lpp_T_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17(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, 15, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz200" }, { 3, "mhz400" }, { 0, NULL } }; static int dissect_lpp_T_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17(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_maxNumOfSRSposResourceSets_r17_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n12" }, { 5, "n16" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfSRSposResourceSets_r17_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 value_string lpp_T_maxNumOfPeriodicSRSposResources_r17_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfPeriodicSRSposResources_r17_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, 7, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maxNumOfPeriodicSRSposResourcesPerSlot_r17_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 8, "n12" }, { 9, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfPeriodicSRSposResourcesPerSlot_r17_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, 10, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_differentNumerologyBetweenSRSposAndInitialBWP_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_differentNumerologyBetweenSRSposAndInitialBWP_r17(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_srsPosWithoutRestrictionOnBWP_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_srsPosWithoutRestrictionOnBWP_r17(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_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17_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, 7, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 8, "n12" }, { 9, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17_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, 10, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_differentCenterFreqBetweenSRSposAndInitialBWP_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_differentCenterFreqBetweenSRSposAndInitialBWP_r17(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_maxNumOfSemiPersistentSRSposResources_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfSemiPersistentSRSposResources_r17(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_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 8, "n12" }, { 9, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17(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_switchingTimeSRS_TX_OtherTX_r17_vals[] = { { 0, "us100" }, { 1, "us140" }, { 2, "us200" }, { 3, "us300" }, { 4, "us500" }, { 0, NULL } }; static int dissect_lpp_T_switchingTimeSRS_TX_OtherTX_r17(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, false, 0, NULL); return offset; } static const per_sequence_t PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17_sequence[] = { { &hf_lpp_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17 }, { &hf_lpp_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17 }, { &hf_lpp_maxNumOfSRSposResourceSets_r17_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfSRSposResourceSets_r17_01 }, { &hf_lpp_maxNumOfPeriodicSRSposResources_r17_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfPeriodicSRSposResources_r17_01 }, { &hf_lpp_maxNumOfPeriodicSRSposResourcesPerSlot_r17_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfPeriodicSRSposResourcesPerSlot_r17_01 }, { &hf_lpp_differentNumerologyBetweenSRSposAndInitialBWP_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_differentNumerologyBetweenSRSposAndInitialBWP_r17 }, { &hf_lpp_srsPosWithoutRestrictionOnBWP_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_srsPosWithoutRestrictionOnBWP_r17 }, { &hf_lpp_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17_01 }, { &hf_lpp_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17_01 }, { &hf_lpp_differentCenterFreqBetweenSRSposAndInitialBWP_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_differentCenterFreqBetweenSRSposAndInitialBWP_r17 }, { &hf_lpp_maxNumOfSemiPersistentSRSposResources_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfSemiPersistentSRSposResources_r17 }, { &hf_lpp_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17 }, { &hf_lpp_switchingTimeSRS_TX_OtherTX_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_switchingTimeSRS_TX_OtherTX_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17, PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17_sequence); return offset; } static const per_sequence_t SRS_CapabilityPerBand_r16_eag_1_sequence[] = { { &hf_lpp_posSRS_RRC_Inactive_InInitialUL_BWP_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PosSRS_RRC_Inactive_InInitialUL_BWP_r17 }, { &hf_lpp_posSRS_RRC_Inactive_OutsideInitialUL_BWP_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17 }, { &hf_lpp_olpc_SRS_PosRRC_Inactive_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_OLPC_SRS_Pos_r16 }, { &hf_lpp_spatialRelationsSRS_PosRRC_Inactive_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SpatialRelationsSRS_Pos_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SRS_CapabilityPerBand_r16_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, SRS_CapabilityPerBand_r16_eag_1_sequence); return offset; } static const value_string lpp_T_maxNumOfSemiPersistentSRSposResources_r17_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfSemiPersistentSRSposResources_r17_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, 7, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 8, "n12" }, { 9, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_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, 10, NULL, false, 0, NULL); return offset; } static const per_sequence_t PosSRS_SP_RRC_Inactive_InInitialUL_BWP_r17_sequence[] = { { &hf_lpp_maxNumOfSemiPersistentSRSposResources_r17_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfSemiPersistentSRSposResources_r17_01 }, { &hf_lpp_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PosSRS_SP_RRC_Inactive_InInitialUL_BWP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_PosSRS_SP_RRC_Inactive_InInitialUL_BWP_r17, PosSRS_SP_RRC_Inactive_InInitialUL_BWP_r17_sequence); return offset; } static const per_sequence_t SRS_CapabilityPerBand_r16_eag_2_sequence[] = { { &hf_lpp_posSRS_SP_RRC_Inactive_InInitialUL_BWP_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PosSRS_SP_RRC_Inactive_InInitialUL_BWP_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SRS_CapabilityPerBand_r16_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, SRS_CapabilityPerBand_r16_eag_2_sequence); return offset; } static const value_string lpp_T_posSRS_Preconfigured_RRC_InactiveInitialUL_BWP_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_posSRS_Preconfigured_RRC_InactiveInitialUL_BWP_r18(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_posSRS_Preconfigured_RRC_InactiveOutsideInitialUL_BWP_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_posSRS_Preconfigured_RRC_InactiveOutsideInitialUL_BWP_r18(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_posSRS_ValidityAreaRRC_InactiveInitialUL_BWP_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_posSRS_ValidityAreaRRC_InactiveInitialUL_BWP_r18(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_posSRS_ValidityAreaRRC_InactiveOutsideInitialUL_BWP_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_posSRS_ValidityAreaRRC_InactiveOutsideInitialUL_BWP_r18(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_maximumSRS_BandwidthAcrossAllHopsFR1_r18_vals[] = { { 0, "mhz40" }, { 1, "mhz50" }, { 2, "mhz80" }, { 3, "mhz100" }, { 0, NULL } }; static int dissect_lpp_T_maximumSRS_BandwidthAcrossAllHopsFR1_r18(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_maximumSRS_BandwidthAcrossAllHopsFR2_r18_vals[] = { { 0, "mhz100" }, { 1, "mhz200" }, { 2, "mhz400" }, { 0, NULL } }; static int dissect_lpp_T_maximumSRS_BandwidthAcrossAllHopsFR2_r18(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_maximumTxFH_Hops_r18_vals[] = { { 0, "n2" }, { 1, "n3" }, { 2, "n4" }, { 3, "n5" }, { 4, "n6" }, { 0, NULL } }; static int dissect_lpp_T_maximumTxFH_Hops_r18(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, false, 0, NULL); return offset; } static const value_string lpp_T_rf_TxRetunTimeFR1_r18_vals[] = { { 0, "n70" }, { 1, "n140" }, { 2, "n210" }, { 0, NULL } }; static int dissect_lpp_T_rf_TxRetunTimeFR1_r18(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_rf_TxRetunTimeFR2_r18_vals[] = { { 0, "n35" }, { 1, "n70" }, { 2, "n140" }, { 0, NULL } }; static int dissect_lpp_T_rf_TxRetunTimeFR2_r18(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_switchTimeBetweenActiveBWP_FrequencyHop_r18_vals[] = { { 0, "n100" }, { 1, "n140" }, { 2, "n200" }, { 3, "n300" }, { 4, "n500" }, { 0, NULL } }; static int dissect_lpp_T_switchTimeBetweenActiveBWP_FrequencyHop_r18(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, false, 0, NULL); return offset; } static const value_string lpp_T_numOfOverlappingPRB_r18_01_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n4" }, { 0, NULL } }; static int dissect_lpp_T_numOfOverlappingPRB_r18_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, 4, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumSRS_ResourcePeriodic_r18_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumSRS_ResourcePeriodic_r18(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_maximumSRS_ResourceAperiodic_r18_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n4" }, { 4, "n8" }, { 5, "n16" }, { 6, "n32" }, { 7, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumSRS_ResourceAperiodic_r18(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_maximumSRS_ResourceSemipersistent_r18_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n4" }, { 4, "n8" }, { 5, "n16" }, { 6, "n32" }, { 7, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumSRS_ResourceSemipersistent_r18(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 per_sequence_t PosSRS_TxFrequencyHoppingRRC_Connected_r18_sequence[] = { { &hf_lpp_maximumSRS_BandwidthAcrossAllHopsFR1_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumSRS_BandwidthAcrossAllHopsFR1_r18 }, { &hf_lpp_maximumSRS_BandwidthAcrossAllHopsFR2_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumSRS_BandwidthAcrossAllHopsFR2_r18 }, { &hf_lpp_maximumTxFH_Hops_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumTxFH_Hops_r18 }, { &hf_lpp_rf_TxRetunTimeFR1_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_rf_TxRetunTimeFR1_r18 }, { &hf_lpp_rf_TxRetunTimeFR2_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_rf_TxRetunTimeFR2_r18 }, { &hf_lpp_switchTimeBetweenActiveBWP_FrequencyHop_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_switchTimeBetweenActiveBWP_FrequencyHop_r18 }, { &hf_lpp_numOfOverlappingPRB_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_numOfOverlappingPRB_r18_01 }, { &hf_lpp_maximumSRS_ResourcePeriodic_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumSRS_ResourcePeriodic_r18 }, { &hf_lpp_maximumSRS_ResourceAperiodic_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumSRS_ResourceAperiodic_r18 }, { &hf_lpp_maximumSRS_ResourceSemipersistent_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumSRS_ResourceSemipersistent_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PosSRS_TxFrequencyHoppingRRC_Connected_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_PosSRS_TxFrequencyHoppingRRC_Connected_r18, PosSRS_TxFrequencyHoppingRRC_Connected_r18_sequence); return offset; } static const value_string lpp_T_maximumSRS_BandwidthAcrossAllHopsFR1_r18_01_vals[] = { { 0, "mhz40" }, { 1, "mhz50" }, { 2, "mhz80" }, { 3, "mhz100" }, { 0, NULL } }; static int dissect_lpp_T_maximumSRS_BandwidthAcrossAllHopsFR1_r18_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, 4, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumSRS_BandwidthAcrossAllHopsFR2_r18_01_vals[] = { { 0, "mhz100" }, { 1, "mhz200" }, { 2, "mhz400" }, { 0, NULL } }; static int dissect_lpp_T_maximumSRS_BandwidthAcrossAllHopsFR2_r18_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 const value_string lpp_T_maximumTxFH_Hops_r18_01_vals[] = { { 0, "n2" }, { 1, "n3" }, { 2, "n4" }, { 3, "n5" }, { 4, "n6" }, { 0, NULL } }; static int dissect_lpp_T_maximumTxFH_Hops_r18_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, false, 0, NULL); return offset; } static const value_string lpp_T_rf_TxRetunTimeFR1_r18_01_vals[] = { { 0, "n70" }, { 1, "n140" }, { 2, "n210" }, { 0, NULL } }; static int dissect_lpp_T_rf_TxRetunTimeFR1_r18_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 const value_string lpp_T_rf_TxRetunTimeFR2_r18_01_vals[] = { { 0, "n35" }, { 1, "n70" }, { 2, "n140" }, { 0, NULL } }; static int dissect_lpp_T_rf_TxRetunTimeFR2_r18_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 const value_string lpp_T_switchTimeBetweenActiveBWP_FrequencyHop_r18_01_vals[] = { { 0, "n100" }, { 1, "n140" }, { 2, "n200" }, { 3, "n300" }, { 4, "n500" }, { 0, NULL } }; static int dissect_lpp_T_switchTimeBetweenActiveBWP_FrequencyHop_r18_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, false, 0, NULL); return offset; } static const value_string lpp_T_numOfOverlappingPRB_r18_02_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n4" }, { 0, NULL } }; static int dissect_lpp_T_numOfOverlappingPRB_r18_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, false, 0, NULL); return offset; } static const value_string lpp_T_maximumSRS_ResourcePeriodic_r18_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumSRS_ResourcePeriodic_r18_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, 7, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumSRS_ResourceSemipersistent_r18_01_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n4" }, { 4, "n8" }, { 5, "n16" }, { 6, "n32" }, { 7, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumSRS_ResourceSemipersistent_r18_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, 8, NULL, false, 0, NULL); return offset; } static const per_sequence_t PosSRS_TxFrequencyHoppingRRC_Inactive_r18_sequence[] = { { &hf_lpp_maximumSRS_BandwidthAcrossAllHopsFR1_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumSRS_BandwidthAcrossAllHopsFR1_r18_01 }, { &hf_lpp_maximumSRS_BandwidthAcrossAllHopsFR2_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumSRS_BandwidthAcrossAllHopsFR2_r18_01 }, { &hf_lpp_maximumTxFH_Hops_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumTxFH_Hops_r18_01 }, { &hf_lpp_rf_TxRetunTimeFR1_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_rf_TxRetunTimeFR1_r18_01 }, { &hf_lpp_rf_TxRetunTimeFR2_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_rf_TxRetunTimeFR2_r18_01 }, { &hf_lpp_switchTimeBetweenActiveBWP_FrequencyHop_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_switchTimeBetweenActiveBWP_FrequencyHop_r18_01 }, { &hf_lpp_numOfOverlappingPRB_r18_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_numOfOverlappingPRB_r18_02 }, { &hf_lpp_maximumSRS_ResourcePeriodic_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumSRS_ResourcePeriodic_r18_01 }, { &hf_lpp_maximumSRS_ResourceSemipersistent_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumSRS_ResourceSemipersistent_r18_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PosSRS_TxFrequencyHoppingRRC_Inactive_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_PosSRS_TxFrequencyHoppingRRC_Inactive_r18, PosSRS_TxFrequencyHoppingRRC_Inactive_r18_sequence); return offset; } static const value_string lpp_T_posSRS_TxFH_WithTimeWindow_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_posSRS_TxFH_WithTimeWindow_r18(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_numOfCarriersIntraBandContiguous_r18_02_vals[] = { { 0, "two" }, { 1, "three" }, { 2, "twoandthree" }, { 0, NULL } }; static int dissect_lpp_T_numOfCarriersIntraBandContiguous_r18_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, 3, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedBW_TwoCarriersFR1_r18_02_vals[] = { { 0, "mhz20" }, { 1, "mhz40" }, { 2, "mhz50" }, { 3, "mhz80" }, { 4, "mhz100" }, { 5, "mhz160" }, { 6, "mhz180" }, { 7, "mhz190" }, { 8, "mhz200" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedBW_TwoCarriersFR1_r18_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, 9, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedBW_TwoCarriersFR2_r18_02_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz200" }, { 3, "mhz400" }, { 4, "mhz600" }, { 5, "mhz800" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedBW_TwoCarriersFR2_r18_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, 6, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedBW_ThreeCarriersFR1_r18_02_vals[] = { { 0, "mhz80" }, { 1, "mhz100" }, { 2, "mhz160" }, { 3, "mhz200" }, { 4, "mhz240" }, { 5, "mhz300" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedBW_ThreeCarriersFR1_r18_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, 6, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedBW_ThreeCarriersFR2_r18_02_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz200" }, { 3, "mhz300" }, { 4, "mhz400" }, { 5, "mhz600" }, { 6, "mhz800" }, { 7, "mhz1000" }, { 8, "mhz1200" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedBW_ThreeCarriersFR2_r18_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, 9, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedResourceSet_r18_02_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n12" }, { 5, "n16" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceSet_r18_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, 6, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedResourcePeriodic_r18_02_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourcePeriodic_r18_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, 7, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedResourceSemi_r18_02_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n4" }, { 4, "n8" }, { 5, "n16" }, { 6, "n32" }, { 7, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceSemi_r18_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, 8, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedResourcePeriodicPerSlot_r18_02_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 8, "n12" }, { 9, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourcePeriodicPerSlot_r18_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, 10, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedResourceSemiPerSlot_r18_02_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n3" }, { 4, "n4" }, { 5, "n5" }, { 6, "n6" }, { 7, "n8" }, { 8, "n10" }, { 9, "n12" }, { 10, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceSemiPerSlot_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_guardPeriod_r18_01_vals[] = { { 0, "n0" }, { 1, "n30" }, { 2, "n100" }, { 3, "n140" }, { 4, "n200" }, { 0, NULL } }; static int dissect_lpp_T_guardPeriod_r18_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, false, 0, NULL); return offset; } static const value_string lpp_T_powerClassForTwoAggregatedCarriers_r18_01_vals[] = { { 0, "pc2" }, { 1, "pc3" }, { 0, NULL } }; static int dissect_lpp_T_powerClassForTwoAggregatedCarriers_r18_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 value_string lpp_T_powerClassForThreeAggregatedCarriers_r18_01_vals[] = { { 0, "pc2" }, { 1, "pc3" }, { 0, NULL } }; static int dissect_lpp_T_powerClassForThreeAggregatedCarriers_r18_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 PosSRS_BWA_RRC_Inactive_r18_sequence[] = { { &hf_lpp_numOfCarriersIntraBandContiguous_r18_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_numOfCarriersIntraBandContiguous_r18_02 }, { &hf_lpp_maximumAggregatedBW_TwoCarriersFR1_r18_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumAggregatedBW_TwoCarriersFR1_r18_02 }, { &hf_lpp_maximumAggregatedBW_TwoCarriersFR2_r18_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumAggregatedBW_TwoCarriersFR2_r18_02 }, { &hf_lpp_maximumAggregatedBW_ThreeCarriersFR1_r18_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumAggregatedBW_ThreeCarriersFR1_r18_02 }, { &hf_lpp_maximumAggregatedBW_ThreeCarriersFR2_r18_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumAggregatedBW_ThreeCarriersFR2_r18_02 }, { &hf_lpp_maximumAggregatedResourceSet_r18_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceSet_r18_02 }, { &hf_lpp_maximumAggregatedResourcePeriodic_r18_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourcePeriodic_r18_02 }, { &hf_lpp_maximumAggregatedResourceSemi_r18_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceSemi_r18_02 }, { &hf_lpp_maximumAggregatedResourcePeriodicPerSlot_r18_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourcePeriodicPerSlot_r18_02 }, { &hf_lpp_maximumAggregatedResourceSemiPerSlot_r18_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceSemiPerSlot_r18_02 }, { &hf_lpp_guardPeriod_r18_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_guardPeriod_r18_01 }, { &hf_lpp_powerClassForTwoAggregatedCarriers_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_powerClassForTwoAggregatedCarriers_r18_01 }, { &hf_lpp_powerClassForThreeAggregatedCarriers_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_powerClassForThreeAggregatedCarriers_r18_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PosSRS_BWA_RRC_Inactive_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_PosSRS_BWA_RRC_Inactive_r18, PosSRS_BWA_RRC_Inactive_r18_sequence); return offset; } static const per_sequence_t SRS_CapabilityPerBand_r16_eag_3_sequence[] = { { &hf_lpp_posSRS_Preconfigured_RRC_InactiveInitialUL_BWP_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_posSRS_Preconfigured_RRC_InactiveInitialUL_BWP_r18 }, { &hf_lpp_posSRS_Preconfigured_RRC_InactiveOutsideInitialUL_BWP_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_posSRS_Preconfigured_RRC_InactiveOutsideInitialUL_BWP_r18 }, { &hf_lpp_posSRS_ValidityAreaRRC_InactiveInitialUL_BWP_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_posSRS_ValidityAreaRRC_InactiveInitialUL_BWP_r18 }, { &hf_lpp_posSRS_ValidityAreaRRC_InactiveOutsideInitialUL_BWP_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_posSRS_ValidityAreaRRC_InactiveOutsideInitialUL_BWP_r18 }, { &hf_lpp_posSRS_TxFH_RRC_Connected_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PosSRS_TxFrequencyHoppingRRC_Connected_r18 }, { &hf_lpp_posSRS_TxFH_RRC_Inactive_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PosSRS_TxFrequencyHoppingRRC_Inactive_r18 }, { &hf_lpp_posSRS_TxFH_WithTimeWindow_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_posSRS_TxFH_WithTimeWindow_r18 }, { &hf_lpp_posSRS_BWA_RRC_Inactive_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PosSRS_BWA_RRC_Inactive_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SRS_CapabilityPerBand_r16_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, SRS_CapabilityPerBand_r16_eag_3_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_SRS_CapabilityPerBand_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_SRS_CapabilityPerBand_r16_eag_2 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_SRS_CapabilityPerBand_r16_eag_3 }, { 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 value_string lpp_T_numOfCarriersIntraBandContiguous_r18_vals[] = { { 0, "two" }, { 1, "three" }, { 2, "twoandthree" }, { 0, NULL } }; static int dissect_lpp_T_numOfCarriersIntraBandContiguous_r18(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_maximumAggregatedBW_TwoCarriersFR1_r18_vals[] = { { 0, "mhz20" }, { 1, "mhz40" }, { 2, "mhz50" }, { 3, "mhz80" }, { 4, "mhz100" }, { 5, "mhz160" }, { 6, "mhz180" }, { 7, "mhz190" }, { 8, "mhz200" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedBW_TwoCarriersFR1_r18(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_maximumAggregatedBW_TwoCarriersFR2_r18_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz200" }, { 3, "mhz400" }, { 4, "mhz600" }, { 5, "mhz800" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedBW_TwoCarriersFR2_r18(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_maximumAggregatedBW_ThreeCarriersFR1_r18_vals[] = { { 0, "mhz80" }, { 1, "mhz100" }, { 2, "mhz160" }, { 3, "mhz200" }, { 4, "mhz240" }, { 5, "mhz300" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedBW_ThreeCarriersFR1_r18(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_maximumAggregatedBW_ThreeCarriersFR2_r18_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz200" }, { 3, "mhz300" }, { 4, "mhz400" }, { 5, "mhz600" }, { 6, "mhz800" }, { 7, "mhz1000" }, { 8, "mhz1200" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedBW_ThreeCarriersFR2_r18(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_maximumAggregatedResourceSet_r18_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n12" }, { 5, "n16" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceSet_r18(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_maximumAggregatedResourcePeriodic_r18_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourcePeriodic_r18(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_maximumAggregatedResourceAperiodic_r18_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n4" }, { 4, "n8" }, { 5, "n16" }, { 6, "n32" }, { 7, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceAperiodic_r18(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_maximumAggregatedResourceSemi_r18_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n4" }, { 4, "n8" }, { 5, "n16" }, { 6, "n32" }, { 7, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceSemi_r18(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_maximumAggregatedResourcePeriodicPerSlot_r18_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 8, "n12" }, { 9, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourcePeriodicPerSlot_r18(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_maximumAggregatedResourceAperiodicPerSlot_r18_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n3" }, { 4, "n4" }, { 5, "n5" }, { 6, "n6" }, { 7, "n8" }, { 8, "n10" }, { 9, "n12" }, { 10, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceAperiodicPerSlot_r18(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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedResourceSemiPerSlot_r18_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n3" }, { 4, "n4" }, { 5, "n5" }, { 6, "n6" }, { 7, "n8" }, { 8, "n10" }, { 9, "n12" }, { 10, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceSemiPerSlot_r18(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, 11, NULL, false, 0, NULL); return offset; } static const per_sequence_t PosSRS_BWA_RRC_Connected_r18_sequence[] = { { &hf_lpp_numOfCarriersIntraBandContiguous_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_numOfCarriersIntraBandContiguous_r18 }, { &hf_lpp_maximumAggregatedBW_TwoCarriersFR1_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumAggregatedBW_TwoCarriersFR1_r18 }, { &hf_lpp_maximumAggregatedBW_TwoCarriersFR2_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumAggregatedBW_TwoCarriersFR2_r18 }, { &hf_lpp_maximumAggregatedBW_ThreeCarriersFR1_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumAggregatedBW_ThreeCarriersFR1_r18 }, { &hf_lpp_maximumAggregatedBW_ThreeCarriersFR2_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumAggregatedBW_ThreeCarriersFR2_r18 }, { &hf_lpp_maximumAggregatedResourceSet_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceSet_r18 }, { &hf_lpp_maximumAggregatedResourcePeriodic_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourcePeriodic_r18 }, { &hf_lpp_maximumAggregatedResourceAperiodic_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceAperiodic_r18 }, { &hf_lpp_maximumAggregatedResourceSemi_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceSemi_r18 }, { &hf_lpp_maximumAggregatedResourcePeriodicPerSlot_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourcePeriodicPerSlot_r18 }, { &hf_lpp_maximumAggregatedResourceAperiodicPerSlot_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceAperiodicPerSlot_r18 }, { &hf_lpp_maximumAggregatedResourceSemiPerSlot_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceSemiPerSlot_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PosSRS_BWA_RRC_Connected_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_PosSRS_BWA_RRC_Connected_r18, PosSRS_BWA_RRC_Connected_r18_sequence); return offset; } static const value_string lpp_T_numOfCarriersIntraBandContiguous_r18_01_vals[] = { { 0, "two" }, { 1, "three" }, { 2, "twoandthree" }, { 0, NULL } }; static int dissect_lpp_T_numOfCarriersIntraBandContiguous_r18_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 const value_string lpp_T_maximumAggregatedBW_TwoCarriersFR1_r18_01_vals[] = { { 0, "mhz20" }, { 1, "mhz40" }, { 2, "mhz50" }, { 3, "mhz80" }, { 4, "mhz100" }, { 5, "mhz160" }, { 6, "mhz180" }, { 7, "mhz190" }, { 8, "mhz200" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedBW_TwoCarriersFR1_r18_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_maximumAggregatedBW_TwoCarriersFR2_r18_01_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz200" }, { 3, "mhz400" }, { 4, "mhz600" }, { 5, "mhz800" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedBW_TwoCarriersFR2_r18_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 value_string lpp_T_maximumAggregatedBW_ThreeCarriersFR1_r18_01_vals[] = { { 0, "mhz80" }, { 1, "mhz100" }, { 2, "mhz160" }, { 3, "mhz200" }, { 4, "mhz240" }, { 5, "mhz300" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedBW_ThreeCarriersFR1_r18_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 value_string lpp_T_maximumAggregatedBW_ThreeCarriersFR2_r18_01_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz200" }, { 3, "mhz300" }, { 4, "mhz400" }, { 5, "mhz600" }, { 6, "mhz800" }, { 7, "mhz1000" }, { 8, "mhz1200" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedBW_ThreeCarriersFR2_r18_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_maximumAggregatedResourceSet_r18_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n12" }, { 5, "n16" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceSet_r18_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 value_string lpp_T_maximumAggregatedResourcePeriodic_r18_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourcePeriodic_r18_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, 7, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedResourceAperiodic_r18_01_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n4" }, { 4, "n8" }, { 5, "n16" }, { 6, "n32" }, { 7, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceAperiodic_r18_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, 8, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedResourceSemi_r18_01_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n4" }, { 4, "n8" }, { 5, "n16" }, { 6, "n32" }, { 7, "n64" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceSemi_r18_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, 8, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedResourcePeriodicPerSlot_r18_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 8, "n12" }, { 9, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourcePeriodicPerSlot_r18_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, 10, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedResourceAperiodicPerSlot_r18_01_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n3" }, { 4, "n4" }, { 5, "n5" }, { 6, "n6" }, { 7, "n8" }, { 8, "n10" }, { 9, "n12" }, { 10, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceAperiodicPerSlot_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_maximumAggregatedResourceSemiPerSlot_r18_01_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n3" }, { 4, "n4" }, { 5, "n5" }, { 6, "n6" }, { 7, "n8" }, { 8, "n10" }, { 9, "n12" }, { 10, "n14" }, { 0, NULL } }; static int dissect_lpp_T_maximumAggregatedResourceSemiPerSlot_r18_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, 11, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_guardPeriod_r18_vals[] = { { 0, "n0" }, { 1, "n30" }, { 2, "n100" }, { 3, "n140" }, { 4, "n200" }, { 0, NULL } }; static int dissect_lpp_T_guardPeriod_r18(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, false, 0, NULL); return offset; } static const value_string lpp_T_powerClassForTwoAggregatedCarriers_r18_vals[] = { { 0, "pc2" }, { 1, "pc3" }, { 0, NULL } }; static int dissect_lpp_T_powerClassForTwoAggregatedCarriers_r18(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_powerClassForThreeAggregatedCarriers_r18_vals[] = { { 0, "pc2" }, { 1, "pc3" }, { 0, NULL } }; static int dissect_lpp_T_powerClassForThreeAggregatedCarriers_r18(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 PosSRS_BWA_IndependentCA_RRC_Connected_r18_sequence[] = { { &hf_lpp_numOfCarriersIntraBandContiguous_r18_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_numOfCarriersIntraBandContiguous_r18_01 }, { &hf_lpp_maximumAggregatedBW_TwoCarriersFR1_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumAggregatedBW_TwoCarriersFR1_r18_01 }, { &hf_lpp_maximumAggregatedBW_TwoCarriersFR2_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumAggregatedBW_TwoCarriersFR2_r18_01 }, { &hf_lpp_maximumAggregatedBW_ThreeCarriersFR1_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumAggregatedBW_ThreeCarriersFR1_r18_01 }, { &hf_lpp_maximumAggregatedBW_ThreeCarriersFR2_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_maximumAggregatedBW_ThreeCarriersFR2_r18_01 }, { &hf_lpp_maximumAggregatedResourceSet_r18_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceSet_r18_01 }, { &hf_lpp_maximumAggregatedResourcePeriodic_r18_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourcePeriodic_r18_01 }, { &hf_lpp_maximumAggregatedResourceAperiodic_r18_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceAperiodic_r18_01 }, { &hf_lpp_maximumAggregatedResourceSemi_r18_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceSemi_r18_01 }, { &hf_lpp_maximumAggregatedResourcePeriodicPerSlot_r18_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourcePeriodicPerSlot_r18_01 }, { &hf_lpp_maximumAggregatedResourceAperiodicPerSlot_r18_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceAperiodicPerSlot_r18_01 }, { &hf_lpp_maximumAggregatedResourceSemiPerSlot_r18_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_maximumAggregatedResourceSemiPerSlot_r18_01 }, { &hf_lpp_guardPeriod_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_guardPeriod_r18 }, { &hf_lpp_powerClassForTwoAggregatedCarriers_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_powerClassForTwoAggregatedCarriers_r18 }, { &hf_lpp_powerClassForThreeAggregatedCarriers_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_powerClassForThreeAggregatedCarriers_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PosSRS_BWA_IndependentCA_RRC_Connected_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_PosSRS_BWA_IndependentCA_RRC_Connected_r18, PosSRS_BWA_IndependentCA_RRC_Connected_r18_sequence); return offset; } static const per_sequence_t SRS_PosResourcesPerBand_r16_eag_1_sequence[] = { { &hf_lpp_posSRS_BWA_RRC_Connected_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PosSRS_BWA_RRC_Connected_r18 }, { &hf_lpp_posSRS_BWA_IndependentCA_RRC_Connected_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PosSRS_BWA_IndependentCA_RRC_Connected_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SRS_PosResourcesPerBand_r16_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, SRS_PosResourcesPerBand_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_SRS_PosResourcesPerBand_r16_eag_1 }, { 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 value_string lpp_T_ten_ms_unit_ResponseTime_r17_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_ten_ms_unit_ResponseTime_r17_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 int * const T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02_bits[] = { &hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02_eAoD, &hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02_eAoA, NULL }; static int dissect_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_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_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02_bits, 2, NULL, NULL); return offset; } static const value_string lpp_T_nr_on_demand_DL_PRS_InformationSup_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_nr_on_demand_DL_PRS_InformationSup_r17(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_nr_on_demand_DL_PRS_ConfigurationsSup_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_nr_on_demand_DL_PRS_ConfigurationsSup_r17(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_On_Demand_DL_PRS_Support_r17_sequence[] = { { &hf_lpp_nr_on_demand_DL_PRS_InformationSup_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_on_demand_DL_PRS_InformationSup_r17 }, { &hf_lpp_nr_on_demand_DL_PRS_ConfigurationsSup_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_on_demand_DL_PRS_ConfigurationsSup_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_On_Demand_DL_PRS_Support_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_On_Demand_DL_PRS_Support_r17, NR_On_Demand_DL_PRS_Support_r17_sequence); return offset; } static int * const T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17_bits[] = { &hf_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17_case1, &hf_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17_case2, &hf_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17_case3, NULL }; static int dissect_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17(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_UE_RxTx_TEG_ID_ReportingSupport_r17_bits, 3, NULL, NULL); return offset; } static const value_string lpp_LOS_NLOS_IndicatorType2_r17_vals[] = { { 0, "hardvalue" }, { 1, "hardAndsoftvalue" }, { 0, NULL } }; static int dissect_lpp_LOS_NLOS_IndicatorType2_r17(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_LOS_NLOS_IndicatorGranularity2_r17_vals[] = { { 0, "trpspecific" }, { 1, "resourcespecific" }, { 2, "both" }, { 0, NULL } }; static int dissect_lpp_LOS_NLOS_IndicatorGranularity2_r17(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_nr_los_nlos_IndicatorSupport_r17_02_sequence[] = { { &hf_lpp_type_r17_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorType2_r17 }, { &hf_lpp_granularity_r17_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorGranularity2_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_IndicatorSupport_r17_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_nr_los_nlos_IndicatorSupport_r17_02, T_nr_los_nlos_IndicatorSupport_r17_02_sequence); return offset; } static const value_string lpp_T_additionalPathsExtSupport_r17_01_vals[] = { { 0, "n4" }, { 1, "n6" }, { 2, "n8" }, { 0, NULL } }; static int dissect_lpp_T_additionalPathsExtSupport_r17_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_maxNrOfAreas_r17(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, maxNrOfAreas_r17, NULL, false); return offset; } static const per_sequence_t T_nr_dl_prs_AssistanceDataValidity_r17_02_sequence[] = { { &hf_lpp_area_validity_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_maxNrOfAreas_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_dl_prs_AssistanceDataValidity_r17_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_nr_dl_prs_AssistanceDataValidity_r17_02, T_nr_dl_prs_AssistanceDataValidity_r17_02_sequence); return offset; } static const value_string lpp_T_multiMeasInSameMeasReport_r17_02_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_multiMeasInSameMeasReport_r17_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 value_string lpp_T_mg_ActivationRequest_r17_02_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_mg_ActivationRequest_r17_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 NR_Multi_RTT_ProvideCapabilities_r16_eag_1_sequence[] = { { &hf_lpp_ten_ms_unit_ResponseTime_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ten_ms_unit_ResponseTime_r17_01 }, { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02 }, { &hf_lpp_nr_Multi_RTT_On_Demand_DL_PRS_Support_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Support_r17 }, { &hf_lpp_nr_UE_RxTx_TEG_ID_ReportingSupport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17 }, { &hf_lpp_nr_los_nlos_IndicatorSupport_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_los_nlos_IndicatorSupport_r17_02 }, { &hf_lpp_additionalPathsExtSupport_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_additionalPathsExtSupport_r17_01 }, { &hf_lpp_scheduledLocationRequestSupported_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ScheduledLocationTimeSupport_r17 }, { &hf_lpp_nr_dl_prs_AssistanceDataValidity_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_dl_prs_AssistanceDataValidity_r17_02 }, { &hf_lpp_multiMeasInSameMeasReport_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_multiMeasInSameMeasReport_r17_02 }, { &hf_lpp_mg_ActivationRequest_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_mg_ActivationRequest_r17_02 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_ProvideCapabilities_r16_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, NR_Multi_RTT_ProvideCapabilities_r16_eag_1_sequence); return offset; } static const value_string lpp_T_posMeasGapSupport_r17_02_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_posMeasGapSupport_r17_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 NR_Multi_RTT_ProvideCapabilities_r16_eag_2_sequence[] = { { &hf_lpp_posMeasGapSupport_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_posMeasGapSupport_r17_02 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_ProvideCapabilities_r16_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, NR_Multi_RTT_ProvideCapabilities_r16_eag_2_sequence); return offset; } static const value_string lpp_T_nr_MultiRTT_OnDemandPRS_ForBWA_Support_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_nr_MultiRTT_OnDemandPRS_ForBWA_Support_r18(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_eag_3_sequence[] = { { &hf_lpp_nr_MultiRTT_OnDemandPRS_ForBWA_Support_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_MultiRTT_OnDemandPRS_ForBWA_Support_r18 }, { &hf_lpp_periodicReportingIntervalMsSupport_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicReportingIntervalMsSupport_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_ProvideCapabilities_r16_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, NR_Multi_RTT_ProvideCapabilities_r16_eag_3_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_ProvideCapabilities_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_ProvideCapabilities_r16_eag_2 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_ProvideCapabilities_r16_eag_3 }, { 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 value_string lpp_T_maxDL_PRS_FirstPathRSRP_MeasPerTRP_r17_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n24" }, { 0, NULL } }; static int dissect_lpp_T_maxDL_PRS_FirstPathRSRP_MeasPerTRP_r17(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_dl_PRS_MeasRRC_Inactive_r17_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_dl_PRS_MeasRRC_Inactive_r17_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 DL_AoD_MeasCapabilityPerBand_r16_eag_1_sequence[] = { { &hf_lpp_maxDL_PRS_FirstPathRSRP_MeasPerTRP_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maxDL_PRS_FirstPathRSRP_MeasPerTRP_r17 }, { &hf_lpp_dl_PRS_MeasRRC_Inactive_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_dl_PRS_MeasRRC_Inactive_r17_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_AoD_MeasCapabilityPerBand_r16_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, DL_AoD_MeasCapabilityPerBand_r16_eag_1_sequence); return offset; } static int * const T_supportOfMeasurementsInTimeWindow_r18_01_bits[] = { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_01_rsrp, &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_01_rsrpp, NULL }; static int dissect_lpp_T_supportOfMeasurementsInTimeWindow_r18_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_supportOfMeasurementsInTimeWindow_r18_01_bits, 2, NULL, NULL); return offset; } static const value_string lpp_T_supportOfPRS_MeasurementRRC_Idle_r18_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfPRS_MeasurementRRC_Idle_r18_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 DL_AoD_MeasCapabilityPerBand_r16_eag_2_sequence[] = { { &hf_lpp_supportOfMeasurementsInTimeWindow_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfMeasurementsInTimeWindow_r18_01 }, { &hf_lpp_supportOfPRS_MeasurementRRC_Idle_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfPRS_MeasurementRRC_Idle_r18_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_AoD_MeasCapabilityPerBand_r16_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, DL_AoD_MeasCapabilityPerBand_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_DL_AoD_MeasCapabilityPerBand_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_DL_AoD_MeasCapabilityPerBand_r16_eag_2 }, { 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 value_string lpp_T_maxDL_PRS_RSRP_MeasurementFR1_v1730_vals[] = { { 0, "n16" }, { 1, "n24" }, { 0, NULL } }; static int dissect_lpp_T_maxDL_PRS_RSRP_MeasurementFR1_v1730(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_maxDL_PRS_RSRP_MeasurementFR2_v1730_vals[] = { { 0, "n16" }, { 1, "n24" }, { 0, NULL } }; static int dissect_lpp_T_maxDL_PRS_RSRP_MeasurementFR2_v1730(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 NR_DL_AoD_MeasurementCapability_r16_eag_1_sequence[] = { { &hf_lpp_maxDL_PRS_RSRP_MeasurementFR1_v1730, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maxDL_PRS_RSRP_MeasurementFR1_v1730 }, { &hf_lpp_maxDL_PRS_RSRP_MeasurementFR2_v1730, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_maxDL_PRS_RSRP_MeasurementFR2_v1730 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_MeasurementCapability_r16_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, NR_DL_AoD_MeasurementCapability_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_MeasurementCapability_r16_eag_1 }, { 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 int * const T_nr_PosCalcAssistanceSupport_r17_01_bits[] = { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_trpLocSup, &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_beamInfoSup, &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_rtdInfoSup, &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_beamAntInfoSup, &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_nr_IntegrityBoundsSup_r18, NULL }; static int dissect_lpp_T_nr_PosCalcAssistanceSupport_r17_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_PosCalcAssistanceSupport_r17_01_bits, 5, NULL, NULL); return offset; } static const per_sequence_t T_nr_los_nlos_AssistanceDataSupport_r17_01_sequence[] = { { &hf_lpp_type_r17_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorType2_r17 }, { &hf_lpp_granularity_r17_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorGranularity2_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_AssistanceDataSupport_r17_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_los_nlos_AssistanceDataSupport_r17_01, T_nr_los_nlos_AssistanceDataSupport_r17_01_sequence); return offset; } static int * const T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01_bits[] = { &hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01_eAoD, &hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01_eAoA, NULL }; static int dissect_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_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_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01_bits, 2, NULL, NULL); return offset; } static const value_string lpp_T_dl_PRS_ResourcePrioritySubset_Sup_r17_vals[] = { { 0, "sameSet" }, { 1, "differentSet" }, { 2, "sameOrDifferentSet" }, { 0, NULL } }; static int dissect_lpp_T_dl_PRS_ResourcePrioritySubset_Sup_r17(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_nr_DL_PRS_BeamInfoSup_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_BeamInfoSup_r17(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 T_nr_los_nlos_IndicatorSupport_r17_01_sequence[] = { { &hf_lpp_type_r17_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorType2_r17 }, { &hf_lpp_granularity_r17_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorGranularity2_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_IndicatorSupport_r17_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_los_nlos_IndicatorSupport_r17_01, T_nr_los_nlos_IndicatorSupport_r17_01_sequence); return offset; } static const per_sequence_t T_nr_dl_prs_AssistanceDataValidity_r17_01_sequence[] = { { &hf_lpp_area_validity_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_maxNrOfAreas_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_dl_prs_AssistanceDataValidity_r17_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_dl_prs_AssistanceDataValidity_r17_01, T_nr_dl_prs_AssistanceDataValidity_r17_01_sequence); return offset; } static const value_string lpp_T_multiMeasInSameMeasReport_r17_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_multiMeasInSameMeasReport_r17_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_mg_ActivationRequest_r17_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_mg_ActivationRequest_r17_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_DL_AoD_ProvideCapabilities_r16_eag_1_sequence[] = { { &hf_lpp_ten_ms_unit_ResponseTime_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes }, { &hf_lpp_nr_PosCalcAssistanceSupport_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_PosCalcAssistanceSupport_r17_01 }, { &hf_lpp_nr_los_nlos_AssistanceDataSupport_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_los_nlos_AssistanceDataSupport_r17_01 }, { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01 }, { &hf_lpp_dl_PRS_ResourcePrioritySubset_Sup_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_dl_PRS_ResourcePrioritySubset_Sup_r17 }, { &hf_lpp_nr_DL_PRS_BeamInfoSup_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_BeamInfoSup_r17 }, { &hf_lpp_nr_DL_AoD_On_Demand_DL_PRS_Support_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Support_r17 }, { &hf_lpp_nr_los_nlos_IndicatorSupport_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_los_nlos_IndicatorSupport_r17_01 }, { &hf_lpp_scheduledLocationRequestSupported_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ScheduledLocationTimeSupportPerMode_r17 }, { &hf_lpp_nr_dl_prs_AssistanceDataValidity_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_dl_prs_AssistanceDataValidity_r17_01 }, { &hf_lpp_multiMeasInSameMeasReport_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_multiMeasInSameMeasReport_r17_01 }, { &hf_lpp_mg_ActivationRequest_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_mg_ActivationRequest_r17_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_ProvideCapabilities_r16_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, NR_DL_AoD_ProvideCapabilities_r16_eag_1_sequence); return offset; } static const value_string lpp_T_posMeasGapSupport_r17_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_posMeasGapSupport_r17_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_DL_AoD_ProvideCapabilities_r16_eag_2_sequence[] = { { &hf_lpp_posMeasGapSupport_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_posMeasGapSupport_r17_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_ProvideCapabilities_r16_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, NR_DL_AoD_ProvideCapabilities_r16_eag_2_sequence); return offset; } static const value_string lpp_T_multiLocationEstimateInSameMeasReport_r17_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_multiLocationEstimateInSameMeasReport_r17_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_DL_AoD_ProvideCapabilities_r16_eag_3_sequence[] = { { &hf_lpp_multiLocationEstimateInSameMeasReport_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_multiLocationEstimateInSameMeasReport_r17_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_ProvideCapabilities_r16_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, NR_DL_AoD_ProvideCapabilities_r16_eag_3_sequence); return offset; } static int * const T_nr_IntegrityAssistanceSupport_r18_01_bits[] = { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_serviceParametersSup, &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_serviceAlertSup, &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_riskParametersSup, &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_integrityParaTRP_LocSup, &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_integrityParaBeamInfoSup, &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_integrityParaRTD_InfoSup, &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_integrityBeamAntInfoSup, NULL }; static int dissect_lpp_T_nr_IntegrityAssistanceSupport_r18_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_IntegrityAssistanceSupport_r18_01_bits, 7, NULL, NULL); return offset; } static const per_sequence_t NR_DL_AoD_ProvideCapabilities_r16_eag_4_sequence[] = { { &hf_lpp_locationCoordinateTypes_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LocationCoordinateTypes }, { &hf_lpp_nr_IntegrityAssistanceSupport_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_IntegrityAssistanceSupport_r18_01 }, { &hf_lpp_periodicReportingIntervalMsSupport_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicReportingIntervalMsSupportPerMode_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_ProvideCapabilities_r16_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, NR_DL_AoD_ProvideCapabilities_r16_eag_4_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_ProvideCapabilities_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_ProvideCapabilities_r16_eag_2 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_ProvideCapabilities_r16_eag_3 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_ProvideCapabilities_r16_eag_4 }, { 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 value_string lpp_T_supportOfDL_PRS_FirstPathRSRP_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfDL_PRS_FirstPathRSRP_r17(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_dl_PRS_MeasRRC_Inactive_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_dl_PRS_MeasRRC_Inactive_r17(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_BWA_RRC_Connected_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfDL_PRS_BWA_RRC_Connected_r18(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_BWA_RRC_Inactive_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfDL_PRS_BWA_RRC_Inactive_r18(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_BWA_RRC_Idle_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfDL_PRS_BWA_RRC_Idle_r18(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_nr_DL_PRS_RSCPD_ReportingRRC_Connected_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_RSCPD_ReportingRRC_Connected_r18(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_assocSingleRSTD_WithUpToNsampleRSCPD_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_assocSingleRSTD_WithUpToNsampleRSCPD_r18(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_nr_DL_PRS_RSCPD_MeasurementRRC_Idle_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_RSCPD_MeasurementRRC_Idle_r18(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_supportOfUE_basedCarrierPhasePositioning_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfUE_basedCarrierPhasePositioning_r18(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_supportOfSymbolTimeStampForRSCPD_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfSymbolTimeStampForRSCPD_r18(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_supportOfFinerTimingReportGranularityForPRS_Meas_r18_vals[] = { { 0, "minus1" }, { 1, "minus2" }, { 2, "minus3" }, { 3, "minus4" }, { 4, "minus5" }, { 5, "minus6" }, { 0, NULL } }; static int dissect_lpp_T_supportOfFinerTimingReportGranularityForPRS_Meas_r18(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 int * const T_supportOfMeasurementsInTimeWindow_r18_bits[] = { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_rstd, &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_rsrp, &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_rsrpp, &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_rscpd, NULL }; static int dissect_lpp_T_supportOfMeasurementsInTimeWindow_r18(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_supportOfMeasurementsInTimeWindow_r18_bits, 4, NULL, NULL); return offset; } static const value_string lpp_T_supportOfPRS_MeasurementRRC_Idle_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_supportOfPRS_MeasurementRRC_Idle_r18(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_TDOA_MeasCapabilityPerBand_r17_eag_1_sequence[] = { { &hf_lpp_supportOfDL_PRS_BWA_RRC_Connected_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfDL_PRS_BWA_RRC_Connected_r18 }, { &hf_lpp_supportOfDL_PRS_BWA_RRC_Inactive_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfDL_PRS_BWA_RRC_Inactive_r18 }, { &hf_lpp_supportOfDL_PRS_BWA_RRC_Idle_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfDL_PRS_BWA_RRC_Idle_r18 }, { &hf_lpp_nr_DL_PRS_RSCPD_ReportingRRC_Connected_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_RSCPD_ReportingRRC_Connected_r18 }, { &hf_lpp_assocSingleRSTD_WithUpToNsampleRSCPD_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_assocSingleRSTD_WithUpToNsampleRSCPD_r18 }, { &hf_lpp_nr_DL_PRS_RSCPD_MeasurementRRC_Idle_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_RSCPD_MeasurementRRC_Idle_r18 }, { &hf_lpp_supportOfUE_basedCarrierPhasePositioning_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfUE_basedCarrierPhasePositioning_r18 }, { &hf_lpp_supportOfSymbolTimeStampForRSCPD_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfSymbolTimeStampForRSCPD_r18 }, { &hf_lpp_supportOfFinerTimingReportGranularityForPRS_Meas_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfFinerTimingReportGranularityForPRS_Meas_r18 }, { &hf_lpp_supportOfMeasurementsInTimeWindow_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfMeasurementsInTimeWindow_r18 }, { &hf_lpp_supportOfPRS_MeasurementRRC_Idle_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_supportOfPRS_MeasurementRRC_Idle_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_TDOA_MeasCapabilityPerBand_r17_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, DL_TDOA_MeasCapabilityPerBand_r17_eag_1_sequence); return offset; } static const per_sequence_t DL_TDOA_MeasCapabilityPerBand_r17_sequence[] = { { &hf_lpp_freqBandIndicatorNR_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_FreqBandIndicatorNR_r16 }, { &hf_lpp_supportOfDL_PRS_FirstPathRSRP_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_supportOfDL_PRS_FirstPathRSRP_r17 }, { &hf_lpp_dl_PRS_MeasRRC_Inactive_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dl_PRS_MeasRRC_Inactive_r17 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_DL_TDOA_MeasCapabilityPerBand_r17_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_TDOA_MeasCapabilityPerBand_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_TDOA_MeasCapabilityPerBand_r17, DL_TDOA_MeasCapabilityPerBand_r17_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_TDOA_MeasCapabilityPerBand_r17_sequence_of[1] = { { &hf_lpp_dl_tdoa_MeasCapabilityBandList_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_TDOA_MeasCapabilityPerBand_r17 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_TDOA_MeasCapabilityPerBand_r17(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_TDOA_MeasCapabilityPerBand_r17, SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_TDOA_MeasCapabilityPerBand_r17_sequence_of, 1, nrMaxBands_r16, false); return offset; } static const per_sequence_t NR_DL_TDOA_MeasurementCapability_r16_eag_1_sequence[] = { { &hf_lpp_nr_UE_TEG_Capability_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_UE_TEG_Capability_r17 }, { &hf_lpp_dl_tdoa_MeasCapabilityBandList_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_TDOA_MeasCapabilityPerBand_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_MeasurementCapability_r16_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, NR_DL_TDOA_MeasurementCapability_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_MeasurementCapability_r16_eag_1 }, { 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 int * const T_nr_PosCalcAssistanceSupport_r17_bits[] = { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_trpLocSup, &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_beamInfoSup, &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_rtdInfoSup, &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_trpTEG_InfoSup, &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_nr_IntegritySup_r18, &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_pruInfoSup_r18, NULL }; static int dissect_lpp_T_nr_PosCalcAssistanceSupport_r17(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_PosCalcAssistanceSupport_r17_bits, 6, NULL, NULL); return offset; } static const per_sequence_t T_nr_los_nlos_AssistanceDataSupport_r17_sequence[] = { { &hf_lpp_type_r17_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorType2_r17 }, { &hf_lpp_granularity_r17_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorGranularity2_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_AssistanceDataSupport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_los_nlos_AssistanceDataSupport_r17, T_nr_los_nlos_AssistanceDataSupport_r17_sequence); return offset; } static int * const T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_bits[] = { &hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_eAoD, &hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_eAoA, NULL }; static int dissect_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17(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_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_bits, 2, NULL, NULL); return offset; } static const per_sequence_t T_nr_los_nlos_IndicatorSupport_r17_sequence[] = { { &hf_lpp_type_r17_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorType2_r17 }, { &hf_lpp_granularity_r17_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorGranularity2_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_IndicatorSupport_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_los_nlos_IndicatorSupport_r17, T_nr_los_nlos_IndicatorSupport_r17_sequence); return offset; } static const value_string lpp_T_additionalPathsExtSupport_r17_vals[] = { { 0, "n4" }, { 1, "n6" }, { 2, "n8" }, { 0, NULL } }; static int dissect_lpp_T_additionalPathsExtSupport_r17(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_nr_dl_prs_AssistanceDataValidity_r17_sequence[] = { { &hf_lpp_area_validity_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_maxNrOfAreas_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_dl_prs_AssistanceDataValidity_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_dl_prs_AssistanceDataValidity_r17, T_nr_dl_prs_AssistanceDataValidity_r17_sequence); return offset; } static const value_string lpp_T_multiMeasInSameMeasReport_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_multiMeasInSameMeasReport_r17(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_mg_ActivationRequest_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_mg_ActivationRequest_r17(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_eag_1_sequence[] = { { &hf_lpp_ten_ms_unit_ResponseTime_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes }, { &hf_lpp_nr_PosCalcAssistanceSupport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_PosCalcAssistanceSupport_r17 }, { &hf_lpp_nr_los_nlos_AssistanceDataSupport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_los_nlos_AssistanceDataSupport_r17 }, { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17 }, { &hf_lpp_nr_DL_TDOA_On_Demand_DL_PRS_Support_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Support_r17 }, { &hf_lpp_nr_los_nlos_IndicatorSupport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_los_nlos_IndicatorSupport_r17 }, { &hf_lpp_additionalPathsExtSupport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_additionalPathsExtSupport_r17 }, { &hf_lpp_scheduledLocationRequestSupported_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ScheduledLocationTimeSupportPerMode_r17 }, { &hf_lpp_nr_dl_prs_AssistanceDataValidity_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_dl_prs_AssistanceDataValidity_r17 }, { &hf_lpp_multiMeasInSameMeasReport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_multiMeasInSameMeasReport_r17 }, { &hf_lpp_mg_ActivationRequest_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_mg_ActivationRequest_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_ProvideCapabilities_r16_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, NR_DL_TDOA_ProvideCapabilities_r16_eag_1_sequence); return offset; } static const value_string lpp_T_posMeasGapSupport_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_posMeasGapSupport_r17(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_eag_2_sequence[] = { { &hf_lpp_posMeasGapSupport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_posMeasGapSupport_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_ProvideCapabilities_r16_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, NR_DL_TDOA_ProvideCapabilities_r16_eag_2_sequence); return offset; } static const value_string lpp_T_multiLocationEstimateInSameMeasReport_r17_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_multiLocationEstimateInSameMeasReport_r17(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_eag_3_sequence[] = { { &hf_lpp_multiLocationEstimateInSameMeasReport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_multiLocationEstimateInSameMeasReport_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_ProvideCapabilities_r16_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, NR_DL_TDOA_ProvideCapabilities_r16_eag_3_sequence); return offset; } static int * const T_periodicAssistanceData_r18_bits[] = { &hf_lpp_T_periodicAssistanceData_r18_solicited, &hf_lpp_T_periodicAssistanceData_r18_unsolicited, NULL }; static int dissect_lpp_T_periodicAssistanceData_r18(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_r18_bits, 2, NULL, NULL); return offset; } static int * const T_nr_IntegrityAssistanceSupport_r18_bits[] = { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_serviceParametersSup, &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_serviceAlertSup, &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_riskParametersSup, &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_integrityParaTRP_LocSup, &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_integrityParaBeamInfoSup, &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_integrityParaRTD_InfoSup, NULL }; static int dissect_lpp_T_nr_IntegrityAssistanceSupport_r18(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_IntegrityAssistanceSupport_r18_bits, 6, NULL, NULL); return offset; } static const value_string lpp_T_nr_DL_TDOA_OnDemandPRS_ForBWA_Support_r18_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_lpp_T_nr_DL_TDOA_OnDemandPRS_ForBWA_Support_r18(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_eag_4_sequence[] = { { &hf_lpp_locationCoordinateTypes_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LocationCoordinateTypes }, { &hf_lpp_periodicAssistanceData_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_periodicAssistanceData_r18 }, { &hf_lpp_nr_IntegrityAssistanceSupport_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_IntegrityAssistanceSupport_r18 }, { &hf_lpp_nr_DL_TDOA_OnDemandPRS_ForBWA_Support_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_TDOA_OnDemandPRS_ForBWA_Support_r18 }, { &hf_lpp_periodicReportingIntervalMsSupport_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicReportingIntervalMsSupportPerMode_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_ProvideCapabilities_r16_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, NR_DL_TDOA_ProvideCapabilities_r16_eag_4_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_ProvideCapabilities_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_ProvideCapabilities_r16_eag_2 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_ProvideCapabilities_r16_eag_3 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_ProvideCapabilities_r16_eag_4 }, { 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_eag_1_sequence[] = { { &hf_lpp_nr_UE_TEG_Capability_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_UE_TEG_Capability_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_UL_ProvideCapabilities_r16_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, NR_UL_ProvideCapabilities_r16_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_UL_ProvideCapabilities_r16_eag_1 }, { 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_) { 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, NULL); 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_Integrity_ServiceParametersReq_r17_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_lpp_GNSS_Integrity_ServiceParametersReq_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_Integrity_ServiceParametersReq_r17, GNSS_Integrity_ServiceParametersReq_r17_sequence); return offset; } static const per_sequence_t GNSS_Integrity_ServiceAlertReq_r17_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_lpp_GNSS_Integrity_ServiceAlertReq_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_Integrity_ServiceAlertReq_r17, GNSS_Integrity_ServiceAlertReq_r17_sequence); return offset; } static const per_sequence_t GNSS_CommonAssistDataReq_eag_3_sequence[] = { { &hf_lpp_gnss_Integrity_ServiceParametersReq_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_Integrity_ServiceParametersReq_r17 }, { &hf_lpp_gnss_Integrity_ServiceAlertReq_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_Integrity_ServiceAlertReq_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_CommonAssistDataReq_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_CommonAssistDataReq_eag_3_sequence); return offset; } static const per_sequence_t GNSS_SSR_IOD_UpdateReq_r18_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_lpp_GNSS_SSR_IOD_UpdateReq_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IOD_UpdateReq_r18, GNSS_SSR_IOD_UpdateReq_r18_sequence); return offset; } static const per_sequence_t GNSS_CommonAssistDataReq_eag_4_sequence[] = { { &hf_lpp_gnss_SSR_IOD_UpdateReq_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_IOD_UpdateReq_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_CommonAssistDataReq_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, GNSS_CommonAssistDataReq_eag_4_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistDataReq_eag_3 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistDataReq_eag_4 }, { 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); 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); 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); 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 int * const T_orbit_IntegrityReq_r17_bits[] = { &hf_lpp_T_orbit_IntegrityReq_r17_correlationTimeReq, NULL }; static int dissect_lpp_T_orbit_IntegrityReq_r17(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_orbit_IntegrityReq_r17_bits, 1, NULL, NULL); return offset; } static const per_sequence_t GNSS_SSR_OrbitCorrectionsReq_r15_eag_1_sequence[] = { { &hf_lpp_orbit_IntegrityReq_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_orbit_IntegrityReq_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_OrbitCorrectionsReq_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_SSR_OrbitCorrectionsReq_r15_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_OrbitCorrectionsReq_r15_eag_1 }, { 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 value_string lpp_T_clock_IntegrityParametersReq_r17_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_clock_IntegrityParametersReq_r17(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_ssr_IntegrityClockBoundsReq_r17_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_ssr_IntegrityClockBoundsReq_r17(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_SSR_ClockCorrectionsReq_r15_eag_1_sequence[] = { { &hf_lpp_clock_IntegrityParametersReq_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_clock_IntegrityParametersReq_r17 }, { &hf_lpp_ssr_IntegrityClockBoundsReq_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ssr_IntegrityClockBoundsReq_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_ClockCorrectionsReq_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_SSR_ClockCorrectionsReq_r15_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_ClockCorrectionsReq_r15_eag_1 }, { 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 value_string lpp_T_ssr_IntegrityCodeBiasBoundsReq_r17_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_ssr_IntegrityCodeBiasBoundsReq_r17(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_SSR_CodeBiasReq_r15_eag_1_sequence[] = { { &hf_lpp_ssr_IntegrityCodeBiasBoundsReq_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ssr_IntegrityCodeBiasBoundsReq_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_CodeBiasReq_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_SSR_CodeBiasReq_r15_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_CodeBiasReq_r15_eag_1 }, { 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 value_string lpp_T_ssr_IntegrityPhaseBiasBoundsReq_r17_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_ssr_IntegrityPhaseBiasBoundsReq_r17(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_SSR_PhaseBiasReq_r16_eag_1_sequence[] = { { &hf_lpp_ssr_IntegrityPhaseBiasBoundsReq_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ssr_IntegrityPhaseBiasBoundsReq_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_PhaseBiasReq_r16_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_SSR_PhaseBiasReq_r16_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_PhaseBiasReq_r16_eag_1 }, { 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 int * const T_stec_IntegrityReq_r17_bits[] = { &hf_lpp_T_stec_IntegrityReq_r17_correlationTimeReq, NULL }; static int dissect_lpp_T_stec_IntegrityReq_r17(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_stec_IntegrityReq_r17_bits, 1, NULL, NULL); return offset; } static const per_sequence_t GNSS_SSR_STEC_CorrectionReq_r16_eag_1_sequence[] = { { &hf_lpp_stec_IntegrityReq_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_stec_IntegrityReq_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_STEC_CorrectionReq_r16_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_SSR_STEC_CorrectionReq_r16_eag_1_sequence); return offset; } static const per_sequence_t GNSS_SSR_STEC_CorrectionReq_r16_sequence[] = { { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_STEC_CorrectionReq_r16_eag_1 }, { NULL, 0, 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 value_string lpp_T_griddedCorrectionIntegrityReq_r17_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_griddedCorrectionIntegrityReq_r17(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_SSR_GriddedCorrectionReq_r16_eag_1_sequence[] = { { &hf_lpp_griddedCorrectionIntegrityReq_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_griddedCorrectionIntegrityReq_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_GriddedCorrectionReq_r16_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_SSR_GriddedCorrectionReq_r16_eag_1_sequence); return offset; } static const per_sequence_t GNSS_SSR_GriddedCorrectionReq_r16_sequence[] = { { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_GriddedCorrectionReq_r16_eag_1 }, { NULL, 0, 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 value_string lpp_T_refEphReq_r17_vals[] = { { 0, "b1c" }, { 0, NULL } }; static int dissect_lpp_T_refEphReq_r17(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 GNSS_SSR_OrbitCorrectionsSet2Req_r17_sequence[] = { { &hf_lpp_refEphReq_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_refEphReq_r17 }, { &hf_lpp_gnss_SSR_OrbitCorrectionsSet2Req_r17_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_OrbitCorrectionsReq_r15 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_OrbitCorrectionsSet2Req_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_OrbitCorrectionsSet2Req_r17, GNSS_SSR_OrbitCorrectionsSet2Req_r17_sequence); return offset; } static const value_string lpp_T_refEphReq_r17_01_vals[] = { { 0, "b1c" }, { 0, NULL } }; static int dissect_lpp_T_refEphReq_r17_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, true, 0, NULL); return offset; } static const per_sequence_t GNSS_SSR_ClockCorrectionsSet2Req_r17_sequence[] = { { &hf_lpp_refEphReq_r17_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_refEphReq_r17_01 }, { &hf_lpp_gnss_SSR_ClockCorrectionsSet2Req_r17_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_ClockCorrectionsReq_r15 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_ClockCorrectionsSet2Req_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ClockCorrectionsSet2Req_r17, GNSS_SSR_ClockCorrectionsSet2Req_r17_sequence); return offset; } static const value_string lpp_T_refEphReq_r17_02_vals[] = { { 0, "b1c" }, { 0, NULL } }; static int dissect_lpp_T_refEphReq_r17_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, 0, NULL); return offset; } static const per_sequence_t GNSS_SSR_URA_Set2Req_r17_sequence[] = { { &hf_lpp_refEphReq_r17_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_refEphReq_r17_02 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_URA_Set2Req_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_Set2Req_r17, GNSS_SSR_URA_Set2Req_r17_sequence); return offset; } static const per_sequence_t GNSS_GenericAssistDataReqElement_eag_4_sequence[] = { { &hf_lpp_gnss_SSR_OrbitCorrectionsSet2Req_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_OrbitCorrectionsSet2Req_r17 }, { &hf_lpp_gnss_SSR_ClockCorrectionsSet2Req_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_ClockCorrectionsSet2Req_r17 }, { &hf_lpp_gnss_SSR_URA_Set2Req_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_URA_Set2Req_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_GenericAssistDataReqElement_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, GNSS_GenericAssistDataReqElement_eag_4_sequence); return offset; } static const value_string lpp_T_inside_r18_vals[] = { { 0, "upper-left" }, { 1, "upper-right" }, { 2, "lower-left" }, { 3, "lower-right" }, { 0, NULL } }; static int dissect_lpp_T_inside_r18(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_outside_r18_vals[] = { { 0, "north" }, { 1, "west" }, { 2, "south" }, { 3, "east" }, { 4, "above" }, { 5, "below" }, { 0, NULL } }; static int dissect_lpp_T_outside_r18(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_relativeLocationInfo_r18_vals[] = { { 0, "inside-r18" }, { 1, "outside-r18" }, { 0, NULL } }; static const per_choice_t T_relativeLocationInfo_r18_choice[] = { { 0, &hf_lpp_inside_r18 , ASN1_NO_EXTENSIONS , dissect_lpp_T_inside_r18 }, { 1, &hf_lpp_outside_r18 , ASN1_NO_EXTENSIONS , dissect_lpp_T_outside_r18 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_relativeLocationInfo_r18(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_relativeLocationInfo_r18, T_relativeLocationInfo_r18_choice, NULL); return offset; } static const value_string lpp_T_verticalGridType_r18_vals[] = { { 0, "ground-level" }, { 1, "threeD" }, { 0, NULL } }; static int dissect_lpp_T_verticalGridType_r18(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_M50_900(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, -50, 900U, NULL, false); return offset; } static const per_sequence_t GNSS_LOS_NLOS_GriddedIndicationsReq_r18_sequence[] = { { &hf_lpp_gridPointsSetID_Req_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_16383 }, { &hf_lpp_relativeLocationInfo_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_relativeLocationInfo_r18 }, { &hf_lpp_verticalGridType_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_verticalGridType_r18 }, { &hf_lpp_referenceAltitudeFine_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_9 }, { &hf_lpp_referenceAltitudeCoarse_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M50_900 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_LOS_NLOS_GriddedIndicationsReq_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_LOS_NLOS_GriddedIndicationsReq_r18, GNSS_LOS_NLOS_GriddedIndicationsReq_r18_sequence); return offset; } static const per_sequence_t GNSS_SSR_SatellitePCVResidualsReq_r18_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_lpp_GNSS_SSR_SatellitePCVResidualsReq_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_SatellitePCVResidualsReq_r18, GNSS_SSR_SatellitePCVResidualsReq_r18_sequence); return offset; } static const per_sequence_t GNSS_GenericAssistDataReqElement_eag_5_sequence[] = { { &hf_lpp_gnss_LOS_NLOS_GriddedIndicationsReq_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_LOS_NLOS_GriddedIndicationsReq_r18 }, { &hf_lpp_gnss_SSR_SatellitePCVResidualsReq_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_SatellitePCVResidualsReq_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_GenericAssistDataReqElement_eag_5(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_5_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataReqElement_eag_4 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataReqElement_eag_5 }, { 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_eag_2_sequence[] = { { &hf_lpp_gnss_Integrity_PeriodicServiceAlertReq_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_PeriodicAssistDataReq_r15_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_PeriodicAssistDataReq_r15_eag_2_sequence); return offset; } static const per_sequence_t GNSS_PeriodicAssistDataReq_r15_eag_3_sequence[] = { { &hf_lpp_gnss_SSR_PeriodicOrbitCorrectionsSet2Req_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 }, { &hf_lpp_gnss_SSR_PeriodicClockCorrectionsSet2Req_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 }, { &hf_lpp_gnss_SSR_PeriodicURA_Set2Req_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_PeriodicAssistDataReq_r15_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_PeriodicAssistDataReq_r15_eag_3_sequence); return offset; } static const per_sequence_t GNSS_PeriodicAssistDataReq_r15_eag_4_sequence[] = { { &hf_lpp_gnss_SSR_PeriodicIOD_UpdateReq_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_PeriodicAssistDataReq_r15_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, GNSS_PeriodicAssistDataReq_r15_eag_4_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_PeriodicAssistDataReq_r15_eag_2 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_PeriodicAssistDataReq_r15_eag_3 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_PeriodicAssistDataReq_r15_eag_4 }, { 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_) { 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 int dissect_lpp_INTEGER_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_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 1024U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_59(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, 59U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_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, 0U, 23U, NULL, false); return offset; } static const per_sequence_t T_dl_prs_duration_r17_sequence[] = { { &hf_lpp_seconds_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_59 }, { &hf_lpp_minutes_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_59 }, { &hf_lpp_hours_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_23 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_dl_prs_duration_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_duration_r17, T_dl_prs_duration_r17_sequence); return offset; } static const per_sequence_t DL_PRS_StartTime_and_Duration_r17_sequence[] = { { &hf_lpp_dl_prs_start_time_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_1024 }, { &hf_lpp_dl_prs_duration_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dl_prs_duration_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_PRS_StartTime_and_Duration_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_StartTime_and_Duration_r17, DL_PRS_StartTime_and_Duration_r17_sequence); return offset; } static const value_string lpp_T_dl_prs_FrequencyRangeReq_r17_vals[] = { { 0, "fr1" }, { 1, "fr2" }, { 0, NULL } }; static int dissect_lpp_T_dl_prs_FrequencyRangeReq_r17(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_dl_prs_ResourceSetPeriodicityReq_r17_vals[] = { { 0, "p4" }, { 1, "p5" }, { 2, "p8" }, { 3, "p10" }, { 4, "p16" }, { 5, "p20" }, { 6, "p32" }, { 7, "p40" }, { 8, "p64" }, { 9, "p80" }, { 10, "p160" }, { 11, "p320" }, { 12, "p640" }, { 13, "p1280" }, { 14, "p2560" }, { 15, "p5120" }, { 16, "p10240" }, { 17, "p20480" }, { 18, "p40960" }, { 19, "p81920" }, { 20, "p128-v1760" }, { 21, "p256-v1760" }, { 22, "p512-v1760" }, { 0, NULL } }; static int dissect_lpp_T_dl_prs_ResourceSetPeriodicityReq_r17(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, 20, NULL, true, 3, 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 const value_string lpp_T_dl_prs_ResourceRepetitionFactorReq_r17_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n6" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 0, NULL } }; static int dissect_lpp_T_dl_prs_ResourceRepetitionFactorReq_r17(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_NumSymbolsReq_r17_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n6" }, { 3, "n12" }, { 4, "n1-v1800" }, { 0, NULL } }; static int dissect_lpp_T_dl_prs_NumSymbolsReq_r17(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_dl_prs_CombSizeN_Req_r17_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n6" }, { 3, "n12" }, { 0, NULL } }; static int dissect_lpp_T_dl_prs_CombSizeN_Req_r17(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_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 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 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 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 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 value_string lpp_T_dl_prs_QCL_InformationReq_r17_vals[] = { { 0, "dl-prs-QCL-InfoRecPerResourceSet-r17" }, { 1, "dl-prs-QCL-Info-requested-r17" }, { 0, NULL } }; static const per_choice_t T_dl_prs_QCL_InformationReq_r17_choice[] = { { 0, &hf_lpp_dl_prs_QCL_InfoRecPerResourceSet_r17, ASN1_NO_EXTENSIONS , dissect_lpp_DL_PRS_QCL_Info_r16 }, { 1, &hf_lpp_dl_prs_QCL_Info_requested_r17, ASN1_NO_EXTENSIONS , dissect_lpp_NULL }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_dl_prs_QCL_InformationReq_r17(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_QCL_InformationReq_r17, T_dl_prs_QCL_InformationReq_r17_choice, NULL); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_QCL_Info_r16_sequence_of[1] = { { &hf_lpp_dl_prs_QCL_InfoRecPerResource_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_QCL_Info_r16 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_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_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_QCL_Info_r16, SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_QCL_Info_r16_sequence_of, 1, nrMaxResourcesPerSet_r16, false); return offset; } static const per_sequence_t DL_PRS_QCL_InfoReq_r17_eag_1_sequence[] = { { &hf_lpp_dl_prs_QCL_InfoRecPerResource_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_QCL_Info_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_PRS_QCL_InfoReq_r17_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, DL_PRS_QCL_InfoReq_r17_eag_1_sequence); return offset; } static const per_sequence_t DL_PRS_QCL_InfoReq_r17_sequence[] = { { &hf_lpp_nr_DL_PRS_ResourceSetID_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ResourceSetID_r16 }, { &hf_lpp_dl_prs_QCL_InformationReq_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_dl_prs_QCL_InformationReq_r17 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_QCL_InfoReq_r17_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_PRS_QCL_InfoReq_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_InfoReq_r17, DL_PRS_QCL_InfoReq_r17_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_QCL_InfoReq_r17_sequence_of[1] = { { &hf_lpp_dl_prs_QCL_InformationReqSet_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_QCL_InfoReq_r17 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_QCL_InfoReq_r17(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_QCL_InfoReq_r17, SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_QCL_InfoReq_r17_sequence_of, 1, nrMaxSetsPerTrpPerFreqLayer_r16, false); return offset; } static const per_sequence_t DL_PRS_QCL_InformationReqPerTRP_r17_sequence[] = { { &hf_lpp_dl_PRS_ID_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_nr_PhysCellID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 }, { &hf_lpp_nr_CellGlobalID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 }, { &hf_lpp_nr_ARFCN_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 }, { &hf_lpp_dl_prs_QCL_InformationReqSet_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_QCL_InfoReq_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_PRS_QCL_InformationReqPerTRP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_InformationReqPerTRP_r17, DL_PRS_QCL_InformationReqPerTRP_r17_sequence); return offset; } static const per_sequence_t DL_PRS_QCL_InformationReqTRPlist_r17_sequence_of[1] = { { &hf_lpp_DL_PRS_QCL_InformationReqTRPlist_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_QCL_InformationReqPerTRP_r17 }, }; static int dissect_lpp_DL_PRS_QCL_InformationReqTRPlist_r17(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_QCL_InformationReqTRPlist_r17, DL_PRS_QCL_InformationReqTRPlist_r17_sequence_of, 1, nrMaxTRPsPerFreq_r16, false); return offset; } static const per_sequence_t NR_On_Demand_DL_PRS_PerFreqLayer_r17_sequence[] = { { &hf_lpp_dl_prs_FrequencyRangeReq_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_dl_prs_FrequencyRangeReq_r17 }, { &hf_lpp_dl_prs_ResourceSetPeriodicityReq_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dl_prs_ResourceSetPeriodicityReq_r17 }, { &hf_lpp_dl_prs_ResourceBandwidthReq_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_63 }, { &hf_lpp_dl_prs_ResourceRepetitionFactorReq_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dl_prs_ResourceRepetitionFactorReq_r17 }, { &hf_lpp_dl_prs_NumSymbolsReq_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dl_prs_NumSymbolsReq_r17 }, { &hf_lpp_dl_prs_CombSizeN_Req_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dl_prs_CombSizeN_Req_r17 }, { &hf_lpp_dl_prs_QCL_InformationReqTRPlist_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_DL_PRS_QCL_InformationReqTRPlist_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_On_Demand_DL_PRS_PerFreqLayer_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_On_Demand_DL_PRS_PerFreqLayer_r17, NR_On_Demand_DL_PRS_PerFreqLayer_r17_sequence); return offset; } static const per_sequence_t NR_On_Demand_DL_PRS_Information_r17_sequence_of[1] = { { &hf_lpp_NR_On_Demand_DL_PRS_Information_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_On_Demand_DL_PRS_PerFreqLayer_r17 }, }; static int dissect_lpp_NR_On_Demand_DL_PRS_Information_r17(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_On_Demand_DL_PRS_Information_r17, NR_On_Demand_DL_PRS_Information_r17_sequence_of, 1, nrMaxFreqLayers_r16, false); return offset; } static int dissect_lpp_INTEGER_1_maxOD_DL_PRS_Configs_r17(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, maxOD_DL_PRS_Configs_r17, NULL, false); return offset; } static const per_sequence_t DL_PRS_Configuration_ID_r17_sequence[] = { { &hf_lpp_nr_dl_prs_configuration_id_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_maxOD_DL_PRS_Configs_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_PRS_Configuration_ID_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_Configuration_ID_r17, DL_PRS_Configuration_ID_r17_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_DL_PRS_Configuration_ID_r17_sequence_of[1] = { { &hf_lpp_dl_prs_configuration_id_PrefList_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_Configuration_ID_r17 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_DL_PRS_Configuration_ID_r17(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_maxOD_DL_PRS_Configs_r17_OF_DL_PRS_Configuration_ID_r17, SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_DL_PRS_Configuration_ID_r17_sequence_of, 1, maxOD_DL_PRS_Configs_r17, false); return offset; } static const per_sequence_t T_dl_PRS_AggregationID_PrefList_r18_sequence_of[1] = { { &hf_lpp_dl_PRS_AggregationID_PrefList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_maxOD_DL_PRS_Configs_r17 }, }; static int dissect_lpp_T_dl_PRS_AggregationID_PrefList_r18(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_dl_PRS_AggregationID_PrefList_r18, T_dl_PRS_AggregationID_PrefList_r18_sequence_of, 1, maxOD_DL_PRS_Configs_r17, false); return offset; } static int dissect_lpp_INTEGER_1_nrMaxFreqLayers_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, nrMaxFreqLayers_r16, NULL, false); return offset; } static const per_sequence_t NR_OnDemandDL_PRS_AggregationReqElement_r18_sequence_of[1] = { { &hf_lpp_NR_OnDemandDL_PRS_AggregationReqElement_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_nrMaxFreqLayers_r16 }, }; static int dissect_lpp_NR_OnDemandDL_PRS_AggregationReqElement_r18(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_OnDemandDL_PRS_AggregationReqElement_r18, NR_OnDemandDL_PRS_AggregationReqElement_r18_sequence_of, 2, 3, false); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_NR_OnDemandDL_PRS_AggregationReqElement_r18_sequence_of[1] = { { &hf_lpp_nr_OnDemandDL_PRS_AggregationReqList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_OnDemandDL_PRS_AggregationReqElement_r18 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_NR_OnDemandDL_PRS_AggregationReqElement_r18(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_maxOD_DL_PRS_Configs_r17_OF_NR_OnDemandDL_PRS_AggregationReqElement_r18, SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_NR_OnDemandDL_PRS_AggregationReqElement_r18_sequence_of, 1, maxOD_DL_PRS_Configs_r17, false); return offset; } static const per_sequence_t NR_On_Demand_DL_PRS_Request_r17_eag_1_sequence[] = { { &hf_lpp_dl_PRS_AggregationID_PrefList_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_dl_PRS_AggregationID_PrefList_r18 }, { &hf_lpp_nr_OnDemandDL_PRS_AggregationReqList_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_NR_OnDemandDL_PRS_AggregationReqElement_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_On_Demand_DL_PRS_Request_r17_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, NR_On_Demand_DL_PRS_Request_r17_eag_1_sequence); return offset; } static const per_sequence_t NR_On_Demand_DL_PRS_Request_r17_sequence[] = { { &hf_lpp_dl_prs_StartTime_and_Duration_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_DL_PRS_StartTime_and_Duration_r17 }, { &hf_lpp_nr_on_demand_DL_PRS_Information_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Information_r17 }, { &hf_lpp_dl_prs_configuration_id_PrefList_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_DL_PRS_Configuration_ID_r17 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_On_Demand_DL_PRS_Request_r17_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_On_Demand_DL_PRS_Request_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_On_Demand_DL_PRS_Request_r17, NR_On_Demand_DL_PRS_Request_r17_sequence); return offset; } static const value_string lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_02_vals[] = { { 0, "eAoD" }, { 1, "eAoA" }, { 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_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 value_string lpp_T_pre_configured_AssistanceDataRequest_r17_02_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_pre_configured_AssistanceDataRequest_r17_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 NR_Multi_RTT_RequestAssistanceData_r16_eag_1_sequence[] = { { &hf_lpp_nr_on_demand_DL_PRS_Request_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Request_r17 }, { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_02 }, { &hf_lpp_pre_configured_AssistanceDataRequest_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_pre_configured_AssistanceDataRequest_r17_02 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_RequestAssistanceData_r16_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, NR_Multi_RTT_RequestAssistanceData_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_RequestAssistanceData_r16_eag_1 }, { 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 int * const T_nr_PosCalcAssistanceRequest_r17_01_bits[] = { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_trpLoc, &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_beamInfo, &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_rtdInfo, &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_beamAntInfo, &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_losNlosInfo, &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_nr_IntegrityBounds_r18, NULL }; static int dissect_lpp_T_nr_PosCalcAssistanceRequest_r17_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_PosCalcAssistanceRequest_r17_01_bits, 6, NULL, NULL); return offset; } static const value_string lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_01_vals[] = { { 0, "eAoD" }, { 1, "eAoA" }, { 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_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 value_string lpp_T_nr_DL_PRS_BeamInfoRequest_r17_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_BeamInfoRequest_r17(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_pre_configured_AssistanceDataRequest_r17_01_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_pre_configured_AssistanceDataRequest_r17_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 int * const T_nr_IntegrityAssistanceRequest_r18_01_bits[] = { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_serviceParameters, &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_serviceAlert, &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_riskParameters, &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_integrityParaTRP_Loc, &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_integrityParaBeamInfo, &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_integrityParaRTD_Info, &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_integrityBeamAntInfo, NULL }; static int dissect_lpp_T_nr_IntegrityAssistanceRequest_r18_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_IntegrityAssistanceRequest_r18_01_bits, 7, NULL, NULL); return offset; } static const per_sequence_t NR_DL_AoD_RequestAssistanceData_r16_eag_1_sequence[] = { { &hf_lpp_nr_PosCalcAssistanceRequest_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_PosCalcAssistanceRequest_r17_01 }, { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_01 }, { &hf_lpp_nr_DL_PRS_BeamInfoRequest_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_BeamInfoRequest_r17 }, { &hf_lpp_nr_on_demand_DL_PRS_Request_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Request_r17 }, { &hf_lpp_pre_configured_AssistanceDataRequest_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_pre_configured_AssistanceDataRequest_r17_01 }, { &hf_lpp_nr_IntegrityAssistanceRequest_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_IntegrityAssistanceRequest_r18_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_RequestAssistanceData_r16_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, NR_DL_AoD_RequestAssistanceData_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_RequestAssistanceData_r16_eag_1 }, { 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 int * const T_nr_PosCalcAssistanceRequest_r17_bits[] = { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_trpLoc, &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_beamInfo, &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_rtdInfo, &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_losNlosInfo, &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_trpTEG_Info, &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_nr_IntegrityBounds_r18, &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_pruInfo_r18, NULL }; static int dissect_lpp_T_nr_PosCalcAssistanceRequest_r17(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_PosCalcAssistanceRequest_r17_bits, 7, NULL, NULL); return offset; } static const value_string lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_vals[] = { { 0, "eAoD" }, { 1, "eAoA" }, { 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17(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_pre_configured_AssistanceDataRequest_r17_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_pre_configured_AssistanceDataRequest_r17(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_RequestAssistanceData_r16_eag_1_sequence[] = { { &hf_lpp_nr_PosCalcAssistanceRequest_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_PosCalcAssistanceRequest_r17 }, { &hf_lpp_nr_on_demand_DL_PRS_Request_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Request_r17 }, { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17 }, { &hf_lpp_pre_configured_AssistanceDataRequest_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_pre_configured_AssistanceDataRequest_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_RequestAssistanceData_r16_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, NR_DL_TDOA_RequestAssistanceData_r16_eag_1_sequence); return offset; } static int dissect_lpp_INTEGER_4_81920(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, 81920U, NULL, false); return offset; } static const per_sequence_t NR_PeriodicControlParam_r18_sequence[] = { { &hf_lpp_deliveryAmount_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_32 }, { &hf_lpp_deliveryInterval_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_4_81920 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_PeriodicControlParam_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_PeriodicControlParam_r18, NR_PeriodicControlParam_r18_sequence); return offset; } static const per_sequence_t NR_PeriodicAssistDataReq_r18_sequence[] = { { &hf_lpp_nr_PeriodicPRU_DL_InfoReq_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PeriodicControlParam_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_PeriodicAssistDataReq_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_PeriodicAssistDataReq_r18, NR_PeriodicAssistDataReq_r18_sequence); return offset; } static int * const T_nr_IntegrityAssistanceRequest_r18_bits[] = { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_serviceParameters, &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_serviceAlert, &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_riskParameters, &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_integrityParaTRP_Loc, &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_integrityParaBeamInfo, &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_integrityParaRTD_Info, NULL }; static int dissect_lpp_T_nr_IntegrityAssistanceRequest_r18(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_IntegrityAssistanceRequest_r18_bits, 6, NULL, NULL); return offset; } static const per_sequence_t NR_DL_TDOA_RequestAssistanceData_r16_eag_2_sequence[] = { { &hf_lpp_nr_PeriodicAssistDataReq_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_PeriodicAssistDataReq_r18 }, { &hf_lpp_nr_IntegrityAssistanceRequest_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_IntegrityAssistanceRequest_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_RequestAssistanceData_r16_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, NR_DL_TDOA_RequestAssistanceData_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_RequestAssistanceData_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_RequestAssistanceData_r16_eag_2 }, { 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 int * const T_requestedAD_r18_bits[] = { &hf_lpp_T_requestedAD_r18_beacon_location, &hf_lpp_T_requestedAD_r18_beacon_antConfig, &hf_lpp_T_requestedAD_r18_beacon_transmConfig, NULL }; static int dissect_lpp_T_requestedAD_r18(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_r18_bits, 3, NULL, NULL); return offset; } static const per_sequence_t BT_RequestAssistanceData_r18_sequence[] = { { &hf_lpp_requestedAD_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_requestedAD_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_RequestAssistanceData_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_RequestAssistanceData_r18, BT_RequestAssistanceData_r18_sequence); return offset; } static const per_sequence_t RequestAssistanceData_r9_IEs_eag_3_sequence[] = { { &hf_lpp_bt_RequestAssistanceData_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BT_RequestAssistanceData_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_RequestAssistanceData_r9_IEs_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, RequestAssistanceData_r9_IEs_eag_3_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_RequestAssistanceData_r9_IEs_eag_3 }, { 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_) { 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_) { tvbuff_t *notificationOfLeapSecond_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 2, 2, false, NULL, 0, ¬ificationOfLeapSecond_tvb, NULL); if (notificationOfLeapSecond_tvb) { unsigned 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_02_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_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_eag(tvb, offset, actx, tree, T_eag_1_02_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_02 }, { 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 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_) { tvbuff_t *dataID_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 2, 2, false, NULL, 0, &dataID_tvb, NULL); if (dataID_tvb) { unsigned 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, INT64_C(-137438953472), UINT64_C(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, NULL); 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_) { tvbuff_t *param_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 1, 1, false, NULL, 0, ¶m_tvb, NULL); if (param_tvb) { unsigned 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_) { tvbuff_t *param_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 3, 3, false, NULL, 0, ¶m_tvb, NULL); if (param_tvb) { unsigned 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_Integrity_ServiceParameters_r17_sequence[] = { { &hf_lpp_irMinimum_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_irMaximum_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_Integrity_ServiceParameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_Integrity_ServiceParameters_r17, GNSS_Integrity_ServiceParameters_r17_sequence); return offset; } static const per_sequence_t GNSS_Integrity_ServiceAlert_r17_sequence[] = { { &hf_lpp_ionosphereDoNotUse_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN }, { &hf_lpp_troposphereDoNotUse_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_Integrity_ServiceAlert_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_Integrity_ServiceAlert_r17, GNSS_Integrity_ServiceAlert_r17_sequence); return offset; } static const per_sequence_t GNSS_CommonAssistData_eag_3_sequence[] = { { &hf_lpp_gnss_Integrity_ServiceParameters_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_Integrity_ServiceParameters_r17 }, { &hf_lpp_gnss_Integrity_ServiceAlert_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_Integrity_ServiceAlert_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_CommonAssistData_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_CommonAssistData_eag_3_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 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 value_string lpp_SpatialDelta_r18_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n10" }, { 6, "n20" }, { 7, "n50" }, { 8, "n100" }, { 0, NULL } }; static int dissect_lpp_SpatialDelta_r18(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 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 const value_string lpp_T_bitmaskOfGrids_r18_vals[] = { { 0, "bog16-r18" }, { 1, "bog64-r18" }, { 2, "bog256-r18" }, { 0, NULL } }; static const per_choice_t T_bitmaskOfGrids_r18_choice[] = { { 0, &hf_lpp_bog16_r18 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_16 }, { 1, &hf_lpp_bog64_r18 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_64 }, { 2, &hf_lpp_bog256_r18 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_256 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_bitmaskOfGrids_r18(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_bitmaskOfGrids_r18, T_bitmaskOfGrids_r18_choice, NULL); return offset; } static const per_sequence_t ArrayOfGridPoints_r18_sequence[] = { { &hf_lpp_referencePointLatitude_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16777216_16777215 }, { &hf_lpp_referencePointLongitude_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M33554432_33554431 }, { &hf_lpp_numberOfStepsSouth_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_numberOfStepsEast_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stepSouth_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SpatialDelta_r18 }, { &hf_lpp_stepEast_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SpatialDelta_r18 }, { &hf_lpp_bitmaskOfGrids_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_bitmaskOfGrids_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_ArrayOfGridPoints_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_ArrayOfGridPoints_r18, ArrayOfGridPoints_r18_sequence); return offset; } static int dissect_lpp_INTEGER_1_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, 1U, 3U, NULL, false); return offset; } static const per_sequence_t VerticalGridPoints_r18_sequence[] = { { &hf_lpp_referenceAltitudeCoarse_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M50_900 }, { &hf_lpp_numberOfStepsDown_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_3 }, { &hf_lpp_stepDown_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SpatialDelta_r18 }, { &hf_lpp_upperValidityDeltaAltitude_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SpatialDelta_r18 }, { &hf_lpp_lowerValidityDeltaAltitude_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SpatialDelta_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_VerticalGridPoints_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_VerticalGridPoints_r18, VerticalGridPoints_r18_sequence); return offset; } static const per_sequence_t GNSS_LOS_NLOS_GridPoints_r18_sequence[] = { { &hf_lpp_gridPointsSetID_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 }, { &hf_lpp_horizontalGridPoints_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ArrayOfGridPoints_r18 }, { &hf_lpp_referenceAltitudeFine_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_9 }, { &hf_lpp_verticalGridPoints_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_VerticalGridPoints_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_LOS_NLOS_GridPoints_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_LOS_NLOS_GridPoints_r18, GNSS_LOS_NLOS_GridPoints_r18_sequence); return offset; } static int dissect_lpp_INTEGER_0_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, 0U, 64U, NULL, false); return offset; } static const per_sequence_t GNSS_SSR_IOD_Update_r18_sequence[] = { { &hf_lpp_epochTime_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime }, { &hf_lpp_ssrUpdateInterval_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 }, { &hf_lpp_iod_ssr_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 }, { &hf_lpp_iod_ssr_PCVResiduals_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_64 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_IOD_Update_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IOD_Update_r18, GNSS_SSR_IOD_Update_r18_sequence); return offset; } static const per_sequence_t GNSS_CommonAssistData_eag_4_sequence[] = { { &hf_lpp_gnss_los_nlos_GridPoints_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_LOS_NLOS_GridPoints_r18 }, { &hf_lpp_gnss_SSR_IOD_Update_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_IOD_Update_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_CommonAssistData_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, GNSS_CommonAssistData_eag_4_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistData_eag_3 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistData_eag_4 }, { 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 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_eag_1_sequence[] = { { &hf_lpp_bdsTgd2_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M512_511 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BDS_ClockModel_r12_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, BDS_ClockModel_r12_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_BDS_ClockModel_r12_eag_1 }, { 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 const per_sequence_t BDS_ClockModel2_r16_eag_1_sequence[] = { { &hf_lpp_bdsTgdB2ap_r17 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M2048_2047 }, { &hf_lpp_bdsIscB2ad_r17 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M2048_2047 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BDS_ClockModel2_r16_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, BDS_ClockModel2_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_BDS_ClockModel2_r16_eag_1 }, { 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, INT32_MIN, 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_) { int64_t cnavMo; int curr_offset = offset; offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, INT64_C(-4294967296), 4294967295U, &cnavMo, false); 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 (%"PRId64")", (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_) { uint64_t cnavE; int curr_offset = offset; offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, 0U, UINT64_C(8589934591), &cnavE, false); 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 (%"PRIu64")", (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_) { int64_t cnavOmega; int curr_offset = offset; offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, INT64_C(-4294967296), 4294967295U, &cnavOmega, false); 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 (%"PRId64")", (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_) { int64_t cnavOMEGA0; int curr_offset = offset; offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, INT64_C(-4294967296), 4294967295U, &cnavOMEGA0, false); 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 (%"PRId64")", (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_) { int64_t cnavIo; int curr_offset = offset; offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, INT64_C(-4294967296), 4294967295U, &cnavIo, false); 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 (%"PRId64")", (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_) { tvbuff_t *gloP1_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 2, 2, false, NULL, 0, &gloP1_tvb, NULL); if (gloP1_tvb) { unsigned 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, INT64_C(-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, UINT64_C(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_) { 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); 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_) { uint32_t 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); 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_) { 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); 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_) { 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); 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_) { 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); if (bdsSvHealth_tvb) { uint16_t 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, ENC_BIG_ENDIAN, "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, ENC_BIG_ENDIAN, "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_) { uint32_t 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); 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_) { tvbuff_t *utcDN_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 4, 4, false, NULL, 0, &utcDN_tvb, NULL); if (utcDN_tvb) { unsigned 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_) { tvbuff_t *kp_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 2, 2, false, NULL, 0, &kp_tvb, NULL); if (kp_tvb) { unsigned 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 RAC_OrbitalErrorComponents_r17_sequence[] = { { &hf_lpp_radial_r17 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_alongTrack_r17 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_crossTrack_r17 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_RAC_OrbitalErrorComponents_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_RAC_OrbitalErrorComponents_r17, RAC_OrbitalErrorComponents_r17_sequence); return offset; } static const per_sequence_t SSR_IntegrityOrbitBounds_r17_sequence[] = { { &hf_lpp_meanOrbitError_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_RAC_OrbitalErrorComponents_r17 }, { &hf_lpp_stdDevOrbitError_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_RAC_OrbitalErrorComponents_r17 }, { &hf_lpp_meanOrbitRateError_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_RAC_OrbitalErrorComponents_r17 }, { &hf_lpp_stdDevOrbitRateError_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_RAC_OrbitalErrorComponents_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SSR_IntegrityOrbitBounds_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityOrbitBounds_r17, SSR_IntegrityOrbitBounds_r17_sequence); return offset; } static const per_sequence_t SSR_OrbitCorrectionSatelliteElement_r15_eag_1_sequence[] = { { &hf_lpp_ssr_IntegrityOrbitBounds_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SSR_IntegrityOrbitBounds_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SSR_OrbitCorrectionSatelliteElement_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, SSR_OrbitCorrectionSatelliteElement_r15_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_SSR_OrbitCorrectionSatelliteElement_r15_eag_1 }, { 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 int dissect_lpp_INTEGER_1_3600(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, 3600U, NULL, false); return offset; } static const per_sequence_t ORBIT_IntegrityParameters_r17_sequence[] = { { &hf_lpp_probOnsetConstFault_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_meanConstFaultDuration_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_3600 }, { &hf_lpp_probOnsetSatFault_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_meanSatFaultDuration_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_3600 }, { &hf_lpp_orbitRangeErrorCorrelationTime_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 }, { &hf_lpp_orbitRangeRateErrorCorrelationTime_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_ORBIT_IntegrityParameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_ORBIT_IntegrityParameters_r17, ORBIT_IntegrityParameters_r17_sequence); return offset; } static const per_sequence_t GNSS_SSR_OrbitCorrections_r15_eag_1_sequence[] = { { &hf_lpp_orbit_IntegrityParameters_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ORBIT_IntegrityParameters_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_OrbitCorrections_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_SSR_OrbitCorrections_r15_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_OrbitCorrections_r15_eag_1 }, { 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_IntegrityClockBounds_r17_sequence[] = { { &hf_lpp_meanClock_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevClock_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_meanClockRate_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevClockRate_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SSR_IntegrityClockBounds_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityClockBounds_r17, SSR_IntegrityClockBounds_r17_sequence); return offset; } static const per_sequence_t SSR_ClockCorrectionSatelliteElement_r15_eag_1_sequence[] = { { &hf_lpp_ssr_IntegrityClockBounds_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SSR_IntegrityClockBounds_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SSR_ClockCorrectionSatelliteElement_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, SSR_ClockCorrectionSatelliteElement_r15_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_SSR_ClockCorrectionSatelliteElement_r15_eag_1 }, { 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 CLOCK_IntegrityParameters_r17_sequence[] = { { &hf_lpp_clockRangeErrorCorrelationTime_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_clockRangeRateErrorCorrelationTime_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_CLOCK_IntegrityParameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_CLOCK_IntegrityParameters_r17, CLOCK_IntegrityParameters_r17_sequence); return offset; } static const per_sequence_t GNSS_SSR_ClockCorrections_r15_eag_1_sequence[] = { { &hf_lpp_clock_IntegrityParameters_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_CLOCK_IntegrityParameters_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_ClockCorrections_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_SSR_ClockCorrections_r15_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_ClockCorrections_r15_eag_1 }, { 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_IntegrityCodeBiasBounds_r17_sequence[] = { { &hf_lpp_meanCodeBias_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevCodeBias_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_meanCodeBiasRate_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevCodeBiasRate_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SSR_IntegrityCodeBiasBounds_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityCodeBiasBounds_r17, SSR_IntegrityCodeBiasBounds_r17_sequence); return offset; } static const per_sequence_t SSR_CodeBiasSignalElement_r15_eag_1_sequence[] = { { &hf_lpp_ssr_IntegrityCodeBiasBounds_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SSR_IntegrityCodeBiasBounds_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SSR_CodeBiasSignalElement_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, SSR_CodeBiasSignalElement_r15_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_SSR_CodeBiasSignalElement_r15_eag_1 }, { 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_IntegrityPhaseBiasBounds_r17_sequence[] = { { &hf_lpp_meanPhaseBias_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevPhaseBias_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_meanPhaseBiasRate_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevPhaseBiasRate_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SSR_IntegrityPhaseBiasBounds_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityPhaseBiasBounds_r17, SSR_IntegrityPhaseBiasBounds_r17_sequence); return offset; } static const per_sequence_t SSR_PhaseBiasSignalElement_r16_eag_1_sequence[] = { { &hf_lpp_ssr_IntegrityPhaseBiasBounds_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SSR_IntegrityPhaseBiasBounds_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SSR_PhaseBiasSignalElement_r16_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, SSR_PhaseBiasSignalElement_r16_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_SSR_PhaseBiasSignalElement_r16_eag_1 }, { 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_IntegrityErrorBounds_r17_sequence[] = { { &hf_lpp_meanIonosphere_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevIonosphere_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_meanIonosphereRate_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevIonosphereRate_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_STEC_IntegrityErrorBounds_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityErrorBounds_r17, STEC_IntegrityErrorBounds_r17_sequence); return offset; } static const per_sequence_t STEC_SatElement_r16_eag_1_sequence[] = { { &hf_lpp_stec_IntegrityErrorBounds_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_STEC_IntegrityErrorBounds_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_STEC_SatElement_r16_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, STEC_SatElement_r16_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_STEC_SatElement_r16_eag_1 }, { 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 int dissect_lpp_INTEGER_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_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 256U, NULL, false); return offset; } static int dissect_lpp_INTEGER_1_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, 1U, 255U, NULL, false); return offset; } static const per_sequence_t STEC_IntegrityParameters_r17_sequence[] = { { &hf_lpp_probOnsetIonoFault_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_meanIonoFaultDuration_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_256 }, { &hf_lpp_ionoRangeErrorCorrelationTime_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_255 }, { &hf_lpp_ionoRangeRateErrorCorrelationTime_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_STEC_IntegrityParameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityParameters_r17, STEC_IntegrityParameters_r17_sequence); return offset; } static const per_sequence_t GNSS_SSR_STEC_Correction_r16_eag_1_sequence[] = { { &hf_lpp_stec_IntegrityParameters_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_STEC_IntegrityParameters_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_STEC_Correction_r16_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_SSR_STEC_Correction_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_STEC_Correction_r16_eag_1 }, { 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 TropoDelayIntegrityErrorBounds_r17_sequence[] = { { &hf_lpp_meanTroposphereVerticalHydroStaticDelay_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevTroposphereVerticalHydroStaticDelay_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_meanTroposphereVerticalWetDelay_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevTroposphereVerticalWetDelay_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_meanTroposphereVerticalHydroStaticDelayRate_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevTroposphereVerticalHydroStaticDelayRate_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_meanTroposphereVerticalWetDelayRate_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevTroposphereVerticalWetDelayRate_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_TropoDelayIntegrityErrorBounds_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_TropoDelayIntegrityErrorBounds_r17, TropoDelayIntegrityErrorBounds_r17_sequence); return offset; } static const per_sequence_t TropospericDelayCorrection_r16_eag_1_sequence[] = { { &hf_lpp_tropoDelayIntegrityErrorBounds_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TropoDelayIntegrityErrorBounds_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_TropospericDelayCorrection_r16_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, TropospericDelayCorrection_r16_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_TropospericDelayCorrection_r16_eag_1 }, { 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 SSR_GriddedCorrectionIntegrityParameters_r17_sequence[] = { { &hf_lpp_probOnsetTroposphereFault_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_meanTroposphereFaultDuration_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_256 }, { &hf_lpp_troposphereRangeErrorCorrelationTime_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_255 }, { &hf_lpp_troposphereRangeRateErrorCorrelationTime_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SSR_GriddedCorrectionIntegrityParameters_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_GriddedCorrectionIntegrityParameters_r17, SSR_GriddedCorrectionIntegrityParameters_r17_sequence); return offset; } static const per_sequence_t GNSS_SSR_GriddedCorrection_r16_eag_1_sequence[] = { { &hf_lpp_ssr_GriddedCorrectionIntegrityParameters_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SSR_GriddedCorrectionIntegrityParameters_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_GriddedCorrection_r16_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_SSR_GriddedCorrection_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_GriddedCorrection_r16_eag_1 }, { 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 value_string lpp_T_refEph_r17_vals[] = { { 0, "b1c" }, { 0, NULL } }; static int dissect_lpp_T_refEph_r17(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 GNSS_SSR_OrbitCorrectionsSet2_r17_sequence[] = { { &hf_lpp_refEph_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_refEph_r17 }, { &hf_lpp_gnss_SSR_OrbitCorrections_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_OrbitCorrections_r15 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_OrbitCorrectionsSet2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_OrbitCorrectionsSet2_r17, GNSS_SSR_OrbitCorrectionsSet2_r17_sequence); return offset; } static const value_string lpp_T_refEph_r17_01_vals[] = { { 0, "b1c" }, { 0, NULL } }; static int dissect_lpp_T_refEph_r17_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, true, 0, NULL); return offset; } static const per_sequence_t GNSS_SSR_ClockCorrectionsSet2_r17_sequence[] = { { &hf_lpp_refEph_r17_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_refEph_r17_01 }, { &hf_lpp_gnss_SSR_ClockCorrections_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_ClockCorrections_r15 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_ClockCorrectionsSet2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ClockCorrectionsSet2_r17, GNSS_SSR_ClockCorrectionsSet2_r17_sequence); return offset; } static const value_string lpp_T_refEph_r17_02_vals[] = { { 0, "b1c" }, { 0, NULL } }; static int dissect_lpp_T_refEph_r17_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, 0, NULL); return offset; } static const per_sequence_t GNSS_SSR_URA_Set2_r17_sequence[] = { { &hf_lpp_refEph_r17_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_refEph_r17_02 }, { &hf_lpp_gnss_SSR_URA_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SSR_URA_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_URA_Set2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_Set2_r17, GNSS_SSR_URA_Set2_r17_sequence); return offset; } static const per_sequence_t GNSS_GenericAssistDataElement_eag_4_sequence[] = { { &hf_lpp_gnss_SSR_OrbitCorrectionsSet2_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_OrbitCorrectionsSet2_r17 }, { &hf_lpp_gnss_SSR_ClockCorrectionsSet2_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_ClockCorrectionsSet2_r17 }, { &hf_lpp_gnss_SSR_URA_Set2_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_URA_Set2_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_GenericAssistDataElement_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, GNSS_GenericAssistDataElement_eag_4_sequence); 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, NULL); return offset; } static const value_string lpp_T_los_r18_vals[] = { { 0, "true" }, { 1, "false" }, { 2, "uncertain" }, { 0, NULL } }; static int dissect_lpp_T_los_r18(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 GNSS_LOS_InfoElement_r18_sequence[] = { { &hf_lpp_svID_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID }, { &hf_lpp_los_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_los_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_LOS_InfoElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_LOS_InfoElement_r18, GNSS_LOS_InfoElement_r18_sequence); return offset; } static const per_sequence_t GNSS_LOS_InfoList_r18_sequence_of[1] = { { &hf_lpp_GNSS_LOS_InfoList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_LOS_InfoElement_r18 }, }; static int dissect_lpp_GNSS_LOS_InfoList_r18(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_LOS_InfoList_r18, GNSS_LOS_InfoList_r18_sequence_of, 1, 64, false); return offset; } static const per_sequence_t GridElement_r18_sequence[] = { { &hf_lpp_gnss_LOS_InfoList_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_LOS_InfoList_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GridElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_r18, GridElement_r18_sequence); return offset; } static const per_sequence_t GridList_r18_sequence_of[1] = { { &hf_lpp_GridList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GridElement_r18 }, }; static int dissect_lpp_GridList_r18(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_r18, GridList_r18_sequence_of, 1, 1024, false); return offset; } static const per_sequence_t GNSS_LOS_NLOS_GriddedIndications_r18_sequence[] = { { &hf_lpp_gridPointsSetID_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 }, { &hf_lpp_expirationTime_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_UTCTime }, { &hf_lpp_gridList_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GridList_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_LOS_NLOS_GriddedIndications_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_LOS_NLOS_GriddedIndications_r18, GNSS_LOS_NLOS_GriddedIndications_r18_sequence); return offset; } static const per_sequence_t SSR_PhaseCenterVariationList_r18_sequence_of[1] = { { &hf_lpp_SSR_PhaseCenterVariationList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 }, }; static int dissect_lpp_SSR_PhaseCenterVariationList_r18(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_PhaseCenterVariationList_r18, SSR_PhaseCenterVariationList_r18_sequence_of, 1, 32, false); return offset; } static const per_sequence_t SSR_SatellitePCV_FrequencyElement_r18_sequence[] = { { &hf_lpp_frequencyID_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_FrequencyID_r15 }, { &hf_lpp_phaseCenterVariations_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_PhaseCenterVariationList_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SSR_SatellitePCV_FrequencyElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_SatellitePCV_FrequencyElement_r18, SSR_SatellitePCV_FrequencyElement_r18_sequence); return offset; } static const per_sequence_t SSR_SatellitePCV_FrequencyList_r18_sequence_of[1] = { { &hf_lpp_SSR_SatellitePCV_FrequencyList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_SatellitePCV_FrequencyElement_r18 }, }; static int dissect_lpp_SSR_SatellitePCV_FrequencyList_r18(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_SatellitePCV_FrequencyList_r18, SSR_SatellitePCV_FrequencyList_r18_sequence_of, 1, 8, false); return offset; } static const per_sequence_t SSR_SatellitePCV_Element_r18_sequence[] = { { &hf_lpp_svID_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID }, { &hf_lpp_ssr_SatellitePCV_FrequencyList_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_SatellitePCV_FrequencyList_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_SSR_SatellitePCV_Element_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_SatellitePCV_Element_r18, SSR_SatellitePCV_Element_r18_sequence); return offset; } static const per_sequence_t SSR_SatellitePCV_List_r18_sequence_of[1] = { { &hf_lpp_SSR_SatellitePCV_List_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_SatellitePCV_Element_r18 }, }; static int dissect_lpp_SSR_SatellitePCV_List_r18(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_SatellitePCV_List_r18, SSR_SatellitePCV_List_r18_sequence_of, 1, 64, false); return offset; } static const per_sequence_t GNSS_SSR_SatellitePCVResiduals_r18_sequence[] = { { &hf_lpp_iod_ssr_PCVResiduals_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_64 }, { &hf_lpp_ssr_SatellitePCV_List_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SSR_SatellitePCV_List_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_SSR_SatellitePCVResiduals_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_SatellitePCVResiduals_r18, GNSS_SSR_SatellitePCVResiduals_r18_sequence); return offset; } static const per_sequence_t GNSS_GenericAssistDataElement_eag_5_sequence[] = { { &hf_lpp_gnss_LOS_NLOS_GriddedIndications_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_LOS_NLOS_GriddedIndications_r18 }, { &hf_lpp_gnss_SSR_SatellitePCVResiduals_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_SSR_SatellitePCVResiduals_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_GenericAssistDataElement_eag_5(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_5_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataElement_eag_4 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataElement_eag_5 }, { 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 value_string lpp_T_remoteUE_Indication_r18_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_remoteUE_Indication_r18(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_TargetDeviceErrorCauses_eag_1_sequence[] = { { &hf_lpp_remoteUE_Indication_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_remoteUE_Indication_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_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, GNSS_TargetDeviceErrorCauses_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_TargetDeviceErrorCauses_eag_1 }, { 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_eag_2_sequence[] = { { &hf_lpp_gnss_Integrity_PeriodicServiceAlert_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_PeriodicAssistData_r15_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_PeriodicAssistData_r15_eag_2_sequence); return offset; } static const per_sequence_t GNSS_PeriodicAssistData_r15_eag_3_sequence[] = { { &hf_lpp_gnss_SSR_PeriodicOrbitCorrectionsSet2_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 }, { &hf_lpp_gnss_SSR_PeriodicClockCorrectionsSet2_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 }, { &hf_lpp_gnss_SSR_PeriodicURA_Set2_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_PeriodicAssistData_r15_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_PeriodicAssistData_r15_eag_3_sequence); return offset; } static const per_sequence_t GNSS_PeriodicAssistData_r15_eag_4_sequence[] = { { &hf_lpp_gnss_SSR_PeriodicIOD_Update_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_GNSS_PeriodicControlParam_r15 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_PeriodicAssistData_r15_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, GNSS_PeriodicAssistData_r15_eag_4_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_PeriodicAssistData_r15_eag_2 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_PeriodicAssistData_r15_eag_3 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_PeriodicAssistData_r15_eag_4 }, { 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_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_01_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_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_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_01 }, { 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); 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); 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_) { tvbuff_t *transmitterLatitude_tvb = NULL; uint32_t 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_) { tvbuff_t *transmitterLongitude_tvb = NULL; uint32_t 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_) { tvbuff_t *transmitterAltitude_tvb = NULL; uint32_t 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 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 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_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" }, { 4, "n1-v1800" }, { 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, 1, 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 per_sequence_t NR_DL_PRSResourcePriorityItem_r17_sequence[] = { { &hf_lpp_nr_DL_PRS_PrioResourceSetID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 }, { &hf_lpp_nr_DL_PRS_PrioResourceID_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ResourceID_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_PRSResourcePriorityItem_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_PRSResourcePriorityItem_r17, NR_DL_PRSResourcePriorityItem_r17_sequence); return offset; } static const per_sequence_t DL_PRS_ResourcePrioritySubset_r17_sequence_of[1] = { { &hf_lpp_DL_PRS_ResourcePrioritySubset_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRSResourcePriorityItem_r17 }, }; static int dissect_lpp_DL_PRS_ResourcePrioritySubset_r17(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_ResourcePrioritySubset_r17, DL_PRS_ResourcePrioritySubset_r17_sequence_of, 1, maxNumPrioResources_r17, false); return offset; } static const per_sequence_t NR_DL_PRS_Resource_r16_eag_1_sequence[] = { { &hf_lpp_dl_PRS_ResourcePrioritySubset_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_DL_PRS_ResourcePrioritySubset_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_PRS_Resource_r16_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, NR_DL_PRS_Resource_r16_eag_1_sequence); return offset; } static int dissect_lpp_INTEGER_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, 13U, 13U, NULL, false); return offset; } static const per_sequence_t NR_DL_PRS_Resource_r16_eag_2_sequence[] = { { &hf_lpp_dl_PRS_ResourceSymbolOffset_v1800, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_13 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_PRS_Resource_r16_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, NR_DL_PRS_Resource_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_Resource_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_Resource_r16_eag_2 }, { 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 value_string lpp_T_prs_OnlyTP_r16_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_prs_OnlyTP_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_AssistanceDataPerTRP_r16_eag_1_sequence[] = { { &hf_lpp_prs_OnlyTP_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prs_OnlyTP_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_PRS_AssistanceDataPerTRP_r16_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, NR_DL_PRS_AssistanceDataPerTRP_r16_eag_1_sequence); 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 int dissect_lpp_INTEGER_0_60(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, 60U, NULL, false); 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 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 T_expectedAoD_r17_sequence[] = { { &hf_lpp_expectedDL_AzimuthAoD_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 }, { &hf_lpp_expectedDL_AzimuthAoD_Unc_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_60 }, { &hf_lpp_expectedDL_ZenithAoD_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_180 }, { &hf_lpp_expectedDL_ZenithAoD_Unc_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_30 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_expectedAoD_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_expectedAoD_r17, T_expectedAoD_r17_sequence); return offset; } static const per_sequence_t T_expectedAoA_r17_sequence[] = { { &hf_lpp_expectedDL_AzimuthAoA_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 }, { &hf_lpp_expectedDL_AzimuthAoA_Unc_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_60 }, { &hf_lpp_expectedDL_ZenithAoA_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_180 }, { &hf_lpp_expectedDL_ZenithAoA_Unc_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_30 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_expectedAoA_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_expectedAoA_r17, T_expectedAoA_r17_sequence); return offset; } static const value_string lpp_NR_DL_PRS_ExpectedAoD_or_AoA_r17_vals[] = { { 0, "expectedAoD-r17" }, { 1, "expectedAoA-r17" }, { 0, NULL } }; static const per_choice_t NR_DL_PRS_ExpectedAoD_or_AoA_r17_choice[] = { { 0, &hf_lpp_expectedAoD_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_T_expectedAoD_r17 }, { 1, &hf_lpp_expectedAoA_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_T_expectedAoA_r17 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_NR_DL_PRS_ExpectedAoD_or_AoA_r17(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_ExpectedAoD_or_AoA_r17, NR_DL_PRS_ExpectedAoD_or_AoA_r17_choice, NULL); return offset; } static const per_sequence_t NR_DL_PRS_AssistanceDataPerTRP_r16_eag_2_sequence[] = { { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ExpectedAoD_or_AoA_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_PRS_AssistanceDataPerTRP_r16_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, NR_DL_PRS_AssistanceDataPerTRP_r16_eag_2_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_AssistanceDataPerTRP_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_AssistanceDataPerTRP_r16_eag_2 }, { 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 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 const per_sequence_t NR_DL_PRS_AggregationElement_r18_sequence[] = { { &hf_lpp_nr_DL_PRS_FrequencyLayerIndex_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_nrMaxFreqLayers_1_r16 }, { &hf_lpp_nr_DL_PRS_TRP_Index_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_nrMaxTRPsPerFreq_1_r16 }, { &hf_lpp_nr_DL_PRS_ResourceSetIndex_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_nrMaxSetsPerTrpPerFreqLayer_1_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_PRS_AggregationElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_AggregationElement_r18, NR_DL_PRS_AggregationElement_r18_sequence); return offset; } static const per_sequence_t NR_linkedDL_PRS_ResourceSetID_PRS_AggregationList_r18_sequence_of[1] = { { &hf_lpp_NR_linkedDL_PRS_ResourceSetID_PRS_AggregationList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_AggregationElement_r18 }, }; static int dissect_lpp_NR_linkedDL_PRS_ResourceSetID_PRS_AggregationList_r18(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_linkedDL_PRS_ResourceSetID_PRS_AggregationList_r18, NR_linkedDL_PRS_ResourceSetID_PRS_AggregationList_r18_sequence_of, 2, 3, false); return offset; } static const per_sequence_t NR_DL_PRS_AggregationInfo_r18_sequence_of[1] = { { &hf_lpp_NR_DL_PRS_AggregationInfo_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_linkedDL_PRS_ResourceSetID_PRS_AggregationList_r18 }, }; static int dissect_lpp_NR_DL_PRS_AggregationInfo_r18(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_AggregationInfo_r18, NR_DL_PRS_AggregationInfo_r18_sequence_of, 1, nrMaxNumPRS_BandWidthAggregation_r18, false); return offset; } static const per_sequence_t NR_DL_PRS_AssistanceData_r16_eag_1_sequence[] = { { &hf_lpp_nr_DL_PRS_AggregationInfo_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_AggregationInfo_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_PRS_AssistanceData_r16_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, NR_DL_PRS_AssistanceData_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_AssistanceData_r16_eag_1 }, { 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_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" }, { 3, "on-demand-dl-prs-NotSupportedByServer-v1700" }, { 4, "on-demand-dl-prs-SupportedButCurrentlyNotAvailableByServer-v1700" }, { 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, 2, 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 value_string lpp_T_remoteUE_Indication_r18_04_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_remoteUE_Indication_r18_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 NR_Multi_RTT_TargetDeviceErrorCauses_r16_eag_1_sequence[] = { { &hf_lpp_remoteUE_Indication_r18_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_remoteUE_Indication_r18_04 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_TargetDeviceErrorCauses_r16_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, NR_Multi_RTT_TargetDeviceErrorCauses_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_TargetDeviceErrorCauses_r16_eag_1 }, { 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 On_Demand_DL_PRS_Configuration_r17_sequence[] = { { &hf_lpp_dl_prs_configuration_id_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_Configuration_ID_r17 }, { &hf_lpp_nr_DL_PRS_PositioningFrequencyLayer_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_PositioningFrequencyLayer_r16 }, { &hf_lpp_nr_DL_PRS_Info_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_Info_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_On_Demand_DL_PRS_Configuration_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_On_Demand_DL_PRS_Configuration_r17, On_Demand_DL_PRS_Configuration_r17_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_On_Demand_DL_PRS_Configuration_r17_sequence_of[1] = { { &hf_lpp_on_demand_dl_prs_configuration_list_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_On_Demand_DL_PRS_Configuration_r17 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_On_Demand_DL_PRS_Configuration_r17(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_maxOD_DL_PRS_Configs_r17_OF_On_Demand_DL_PRS_Configuration_r17, SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_On_Demand_DL_PRS_Configuration_r17_sequence_of, 1, maxOD_DL_PRS_Configs_r17, false); return offset; } static const per_sequence_t OnDemandDL_PRS_AggregationInfo_r18_sequence_of[1] = { { &hf_lpp_OnDemandDL_PRS_AggregationInfo_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_Configuration_ID_r17 }, }; static int dissect_lpp_OnDemandDL_PRS_AggregationInfo_r18(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_OnDemandDL_PRS_AggregationInfo_r18, OnDemandDL_PRS_AggregationInfo_r18_sequence_of, 2, 3, false); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_OnDemandDL_PRS_AggregationInfo_r18_sequence_of[1] = { { &hf_lpp_onDemandDL_PRS_AggregationList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_OnDemandDL_PRS_AggregationInfo_r18 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_OnDemandDL_PRS_AggregationInfo_r18(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_maxOD_DL_PRS_Configs_r17_OF_OnDemandDL_PRS_AggregationInfo_r18, SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_OnDemandDL_PRS_AggregationInfo_r18_sequence_of, 1, maxOD_DL_PRS_Configs_r17, false); return offset; } static const per_sequence_t NR_On_Demand_DL_PRS_Configurations_r17_eag_1_sequence[] = { { &hf_lpp_onDemandDL_PRS_AggregationList_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_OnDemandDL_PRS_AggregationInfo_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_On_Demand_DL_PRS_Configurations_r17_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, NR_On_Demand_DL_PRS_Configurations_r17_eag_1_sequence); return offset; } static const per_sequence_t NR_On_Demand_DL_PRS_Configurations_r17_sequence[] = { { &hf_lpp_on_demand_dl_prs_configuration_list_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_On_Demand_DL_PRS_Configuration_r17 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_On_Demand_DL_PRS_Configurations_r17_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_On_Demand_DL_PRS_Configurations_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_On_Demand_DL_PRS_Configurations_r17, NR_On_Demand_DL_PRS_Configurations_r17_sequence); return offset; } static const per_sequence_t NR_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17_sequence_of[1] = { { &hf_lpp_NR_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_Configuration_ID_r17 }, }; static int dissect_lpp_NR_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17(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_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17, NR_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17_sequence_of, 1, maxOD_DL_PRS_Configs_r17, false); return offset; } static const per_sequence_t NR_Cell_IDs_r17_sequence[] = { { &hf_lpp_nr_CellGlobalID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 }, { &hf_lpp_nr_PhysCellID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 }, { &hf_lpp_nr_ARFCN_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Cell_IDs_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_Cell_IDs_r17, NR_Cell_IDs_r17_sequence); return offset; } static const per_sequence_t AreaID_CellList_r17_sequence_of[1] = { { &hf_lpp_AreaID_CellList_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_Cell_IDs_r17 }, }; static int dissect_lpp_AreaID_CellList_r17(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_AreaID_CellList_r17, AreaID_CellList_r17_sequence_of, 1, maxCellIDsPerArea_r17, false); return offset; } static const per_sequence_t NR_Multi_RTT_ProvideAssistanceData_r16_eag_1_sequence[] = { { &hf_lpp_nr_On_Demand_DL_PRS_Configurations_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Configurations_r17 }, { &hf_lpp_nr_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17 }, { &hf_lpp_assistanceDataValidityArea_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_AreaID_CellList_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_ProvideAssistanceData_r16_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, NR_Multi_RTT_ProvideAssistanceData_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_ProvideAssistanceData_r16_eag_1 }, { 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 per_sequence_t LocalOrigin_r18_sequence[] = { { &hf_lpp_coordinateID_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_VisibleString_SIZE_1_256 }, { &hf_lpp_point_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15 }, { &hf_lpp_horizAxesOrientation_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3599 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_LocalOrigin_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_LocalOrigin_r18, LocalOrigin_r18_sequence); return offset; } static const value_string lpp_T_referencePointGeographicLocation_r16_vals[] = { { 0, "location3D-r16" }, { 1, "ha-location3D-r16" }, { 2, "localOrigin-v1800" }, { 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 }, { 2, &hf_lpp_localOrigin_v1800, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_LocalOrigin_r18 }, { 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 value_string lpp_T_cartesianCoordinatesUnits_r18_02_vals[] = { { 0, "mm" }, { 1, "cm" }, { 2, "dm" }, { 3, "m" }, { 0, NULL } }; static int dissect_lpp_T_cartesianCoordinatesUnits_r18_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 X_Value_r18_sequence[] = { { &hf_lpp_delta_x_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 }, { &hf_lpp_coarse_delta_x_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_X_Value_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_X_Value_r18, X_Value_r18_sequence); return offset; } static const per_sequence_t Y_Value_r18_sequence[] = { { &hf_lpp_delta_y_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 }, { &hf_lpp_coarse_delta_y_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_Y_Value_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_Y_Value_r18, Y_Value_r18_sequence); return offset; } static const per_sequence_t Z_Value_r18_sequence[] = { { &hf_lpp_delta_z_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 }, { &hf_lpp_coarse_delta_z_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_Z_Value_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_Z_Value_r18, Z_Value_r18_sequence); return offset; } static const per_sequence_t RelativeCartesianLocation_r18_sequence[] = { { &hf_lpp_cartesianCoordinatesUnits_r18_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cartesianCoordinatesUnits_r18_02 }, { &hf_lpp_x_value_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_X_Value_r18 }, { &hf_lpp_y_value_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_Y_Value_r18 }, { &hf_lpp_z_value_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_Z_Value_r18 }, { &hf_lpp_locationUnc_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationUncertainty_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_RelativeCartesianLocation_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_RelativeCartesianLocation_r18, RelativeCartesianLocation_r18_sequence); return offset; } static const value_string lpp_T_units_r18_vals[] = { { 0, "mm" }, { 1, "cm" }, { 2, "m" }, { 0, NULL } }; static int dissect_lpp_T_units_r18(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 T_meanLocationErrorBound_r18_sequence[] = { { &hf_lpp_horizontal_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_vertical_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_meanLocationErrorBound_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_meanLocationErrorBound_r18, T_meanLocationErrorBound_r18_sequence); return offset; } static const per_sequence_t T_stdDevLocationErrorBound_r18_sequence[] = { { &hf_lpp_horizontal_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_vertical_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_stdDevLocationErrorBound_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_stdDevLocationErrorBound_r18, T_stdDevLocationErrorBound_r18_sequence); return offset; } static const per_sequence_t NR_IntegrityLocationBounds_r18_sequence[] = { { &hf_lpp_units_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_units_r18 }, { &hf_lpp_meanLocationErrorBound_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_meanLocationErrorBound_r18 }, { &hf_lpp_stdDevLocationErrorBound_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_stdDevLocationErrorBound_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_IntegrityLocationBounds_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityLocationBounds_r18, NR_IntegrityLocationBounds_r18_sequence); return offset; } static const per_sequence_t DL_PRS_Resource_ARP_Element_r16_eag_1_sequence[] = { { &hf_lpp_dl_PRS_Resource_ARP_locationCartesian_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_RelativeCartesianLocation_r18 }, { &hf_lpp_nr_IntegrityDL_PRS_ResourceARP_LocationBounds_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityLocationBounds_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_PRS_Resource_ARP_Element_r16_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, DL_PRS_Resource_ARP_Element_r16_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_Resource_ARP_Element_r16_eag_1 }, { 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_eag_1_sequence[] = { { &hf_lpp_dl_PRS_ResourceSetARP_Cartesian_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_RelativeCartesianLocation_r18 }, { &hf_lpp_nr_IntegrityDL_PRS_ResourceSetARP_LocationBounds_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityLocationBounds_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_PRS_ResourceSets_TRP_Element_r16_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, DL_PRS_ResourceSets_TRP_Element_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_ResourceSets_TRP_Element_r16_eag_1 }, { 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_eag_1_sequence[] = { { &hf_lpp_trp_LocationCartesian_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_RelativeCartesianLocation_r18 }, { &hf_lpp_nr_IntegrityTRP_LocationBounds_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityLocationBounds_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_TRP_LocationInfoElement_r16_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, TRP_LocationInfoElement_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_TRP_LocationInfoElement_r16_eag_1 }, { 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 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 const per_sequence_t NR_IntegrityBeamInfoBounds_r18_sequence[] = { { &hf_lpp_meanAzimuth_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevAzimuth_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_meanElevation_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevElevation_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_IntegrityBeamInfoBounds_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityBeamInfoBounds_r18, NR_IntegrityBeamInfoBounds_r18_sequence); return offset; } static const per_sequence_t DL_PRS_BeamInfoElement_r16_eag_1_sequence[] = { { &hf_lpp_nr_IntegrityBeamInfoBounds_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityBeamInfoBounds_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_PRS_BeamInfoElement_r16_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, DL_PRS_BeamInfoElement_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_BeamInfoElement_r16_eag_1 }, { 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 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 value_string lpp_T_resolution_r18_vals[] = { { 0, "mdot1" }, { 1, "m1" }, { 2, "m10" }, { 3, "m30" }, { 0, NULL } }; static int dissect_lpp_T_resolution_r18(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_IntegrityRTD_InfoBounds_r18_sequence[] = { { &hf_lpp_resolution_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_resolution_r18 }, { &hf_lpp_meanRTD_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_stdDevRTD_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_31 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_IntegrityRTD_InfoBounds_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityRTD_InfoBounds_r18, NR_IntegrityRTD_InfoBounds_r18_sequence); return offset; } static const per_sequence_t RTD_InfoElement_r16_eag_1_sequence[] = { { &hf_lpp_nr_IntegrityRTD_InfoBounds_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityRTD_InfoBounds_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_RTD_InfoElement_r16_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, RTD_InfoElement_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_RTD_InfoElement_r16_eag_1 }, { 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_IntegrityBeamPowerBounds_r18_sequence[] = { { &hf_lpp_meanBeamPower_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 }, { &hf_lpp_stdDevBeamPower_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_IntegrityBeamPowerBounds_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityBeamPowerBounds_r18, NR_IntegrityBeamPowerBounds_r18_sequence); return offset; } static const per_sequence_t BeamPowerElement_r17_eag_1_sequence[] = { { &hf_lpp_nr_IntegrityBeamPowerBounds_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityBeamPowerBounds_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BeamPowerElement_r17_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, BeamPowerElement_r17_eag_1_sequence); return offset; } static const per_sequence_t BeamPowerElement_r17_sequence[] = { { &hf_lpp_nr_dl_prs_ResourceSetID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 }, { &hf_lpp_nr_dl_prs_ResourceID_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ResourceID_r16 }, { &hf_lpp_nr_dl_prs_RelativePower_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_30 }, { &hf_lpp_nr_dl_prs_RelativePowerFine_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_9 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_BeamPowerElement_r17_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BeamPowerElement_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_BeamPowerElement_r17, BeamPowerElement_r17_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_2_maxNumResourcesPerAngle_r17_OF_BeamPowerElement_r17_sequence_of[1] = { { &hf_lpp_beamPowerList_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BeamPowerElement_r17 }, }; static int dissect_lpp_SEQUENCE_SIZE_2_maxNumResourcesPerAngle_r17_OF_BeamPowerElement_r17(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_2_maxNumResourcesPerAngle_r17_OF_BeamPowerElement_r17, SEQUENCE_SIZE_2_maxNumResourcesPerAngle_r17_OF_BeamPowerElement_r17_sequence_of, 2, maxNumResourcesPerAngle_r17, false); return offset; } static const per_sequence_t ElevationElement_R17_sequence[] = { { &hf_lpp_elevation_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_180 }, { &hf_lpp_elevation_fine_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_9 }, { &hf_lpp_beamPowerList_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_2_maxNumResourcesPerAngle_r17_OF_BeamPowerElement_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_ElevationElement_R17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_ElevationElement_R17, ElevationElement_R17_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_1801_OF_ElevationElement_R17_sequence_of[1] = { { &hf_lpp_elevationList_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_ElevationElement_R17 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_1801_OF_ElevationElement_R17(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_1801_OF_ElevationElement_R17, SEQUENCE_SIZE_1_1801_OF_ElevationElement_R17_sequence_of, 1, 1801, false); return offset; } static const per_sequence_t NR_TRP_BeamAntennaInfoAzimuthElevation_r17_sequence[] = { { &hf_lpp_azimuth_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_359 }, { &hf_lpp_azimuth_fine_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_9 }, { &hf_lpp_elevationList_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_1801_OF_ElevationElement_R17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_TRP_BeamAntennaInfoAzimuthElevation_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_BeamAntennaInfoAzimuthElevation_r17, NR_TRP_BeamAntennaInfoAzimuthElevation_r17_sequence); return offset; } static const per_sequence_t NR_TRP_BeamAntennaAngles_r17_sequence_of[1] = { { &hf_lpp_NR_TRP_BeamAntennaAngles_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TRP_BeamAntennaInfoAzimuthElevation_r17 }, }; static int dissect_lpp_NR_TRP_BeamAntennaAngles_r17(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_BeamAntennaAngles_r17, NR_TRP_BeamAntennaAngles_r17_sequence_of, 1, 3600, false); return offset; } static const per_sequence_t NR_TRP_BeamAntennaInfoPerTRP_r17_sequence[] = { { &hf_lpp_dl_PRS_ID_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_nr_PhysCellID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 }, { &hf_lpp_nr_CellGlobalID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 }, { &hf_lpp_nr_ARFCN_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 }, { &hf_lpp_associated_DL_PRS_ID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 }, { &hf_lpp_lcs_GCS_TranslationParameter_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LCS_GCS_TranslationParameter_r16 }, { &hf_lpp_nr_TRP_BeamAntennaAngles_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_TRP_BeamAntennaAngles_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_TRP_BeamAntennaInfoPerTRP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_BeamAntennaInfoPerTRP_r17, NR_TRP_BeamAntennaInfoPerTRP_r17_sequence); return offset; } static const per_sequence_t NR_TRP_BeamAntennaInfoPerFreqLayer_r17_sequence_of[1] = { { &hf_lpp_NR_TRP_BeamAntennaInfoPerFreqLayer_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TRP_BeamAntennaInfoPerTRP_r17 }, }; static int dissect_lpp_NR_TRP_BeamAntennaInfoPerFreqLayer_r17(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_BeamAntennaInfoPerFreqLayer_r17, NR_TRP_BeamAntennaInfoPerFreqLayer_r17_sequence_of, 1, nrMaxTRPsPerFreq_r16, false); return offset; } static const per_sequence_t NR_TRP_BeamAntennaInfo_r17_sequence_of[1] = { { &hf_lpp_NR_TRP_BeamAntennaInfo_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TRP_BeamAntennaInfoPerFreqLayer_r17 }, }; static int dissect_lpp_NR_TRP_BeamAntennaInfo_r17(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_BeamAntennaInfo_r17, NR_TRP_BeamAntennaInfo_r17_sequence_of, 1, nrMaxFreqLayers_r16, false); return offset; } static int dissect_lpp_INTEGER_0_10(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, 10U, NULL, false); return offset; } static const value_string lpp_T_indicator_r17_vals[] = { { 0, "soft-r17" }, { 1, "hard-r17" }, { 0, NULL } }; static const per_choice_t T_indicator_r17_choice[] = { { 0, &hf_lpp_soft_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_10 }, { 1, &hf_lpp_hard_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_BOOLEAN }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_indicator_r17(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_indicator_r17, T_indicator_r17_choice, NULL); return offset; } static const per_sequence_t LOS_NLOS_Indicator_r17_sequence[] = { { &hf_lpp_indicator_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_indicator_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_LOS_NLOS_Indicator_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_LOS_NLOS_Indicator_r17, LOS_NLOS_Indicator_r17_sequence); return offset; } static const per_sequence_t NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17_sequence_of[1] = { { &hf_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_Indicator_r17 }, }; static int dissect_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17(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_ExpectedLOS_NLOS_AssistancePerResource_r17, NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17_sequence_of, 1, nrMaxResourcesPerSet_r16, false); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17_sequence_of[1] = { { &hf_lpp_perResource_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17(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_ExpectedLOS_NLOS_AssistancePerResource_r17, SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17_sequence_of, 1, nrMaxSetsPerTrpPerFreqLayer_r16, false); return offset; } static const value_string lpp_T_nr_los_nlos_indicator_r17_vals[] = { { 0, "perTrp-r17" }, { 1, "perResource-r17" }, { 0, NULL } }; static const per_choice_t T_nr_los_nlos_indicator_r17_choice[] = { { 0, &hf_lpp_perTrp_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_LOS_NLOS_Indicator_r17 }, { 1, &hf_lpp_perResource_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_indicator_r17(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_los_nlos_indicator_r17, T_nr_los_nlos_indicator_r17_choice, NULL); return offset; } static const per_sequence_t NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerTRP_r17_sequence[] = { { &hf_lpp_dl_PRS_ID_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_nr_PhysCellID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 }, { &hf_lpp_nr_CellGlobalID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 }, { &hf_lpp_nr_ARFCN_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 }, { &hf_lpp_nr_los_nlos_indicator_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_los_nlos_indicator_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerTRP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ExpectedLOS_NLOS_AssistancePerTRP_r17, NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerTRP_r17_sequence); return offset; } static const per_sequence_t NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerFreqLayer_r17_sequence_of[1] = { { &hf_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerFreqLayer_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerTRP_r17 }, }; static int dissect_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerFreqLayer_r17(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_ExpectedLOS_NLOS_AssistancePerFreqLayer_r17, NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerFreqLayer_r17_sequence_of, 1, nrMaxTRPsPerFreq_r16, false); return offset; } static const per_sequence_t NR_DL_PRS_ExpectedLOS_NLOS_Assistance_r17_sequence_of[1] = { { &hf_lpp_NR_DL_PRS_ExpectedLOS_NLOS_Assistance_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerFreqLayer_r17 }, }; static int dissect_lpp_NR_DL_PRS_ExpectedLOS_NLOS_Assistance_r17(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_ExpectedLOS_NLOS_Assistance_r17, NR_DL_PRS_ExpectedLOS_NLOS_Assistance_r17_sequence_of, 1, nrMaxFreqLayers_r16, false); return offset; } static int dissect_lpp_INTEGER_0_maxNumOfTRP_TxTEGs_1_r17(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, maxNumOfTRP_TxTEGs_1_r17, NULL, false); return offset; } static const per_sequence_t DL_PRS_TEG_InfoElement_r17_sequence[] = { { &hf_lpp_dl_prs_trp_Tx_TEG_ID_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_maxNumOfTRP_TxTEGs_1_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_DL_PRS_TEG_InfoElement_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_TEG_InfoElement_r17, DL_PRS_TEG_InfoElement_r17_sequence); return offset; } static const per_sequence_t DL_PRS_TEG_InfoPerResourceSet_r17_sequence_of[1] = { { &hf_lpp_DL_PRS_TEG_InfoPerResourceSet_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_TEG_InfoElement_r17 }, }; static int dissect_lpp_DL_PRS_TEG_InfoPerResourceSet_r17(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_TEG_InfoPerResourceSet_r17, DL_PRS_TEG_InfoPerResourceSet_r17_sequence_of, 1, nrMaxResourcesPerSet_r16, false); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_TEG_InfoPerResourceSet_r17_sequence_of[1] = { { &hf_lpp_dl_PRS_TEG_InfoSet_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DL_PRS_TEG_InfoPerResourceSet_r17 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_TEG_InfoPerResourceSet_r17(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_TEG_InfoPerResourceSet_r17, SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_TEG_InfoPerResourceSet_r17_sequence_of, 1, nrMaxSetsPerTrpPerFreqLayer_r16, false); return offset; } static const value_string lpp_TEG_TimingErrorMargin_r17_vals[] = { { 0, "tc0" }, { 1, "tc2" }, { 2, "tc4" }, { 3, "tc6" }, { 4, "tc8" }, { 5, "tc12" }, { 6, "tc16" }, { 7, "tc20" }, { 8, "tc24" }, { 9, "tc32" }, { 10, "tc40" }, { 11, "tc48" }, { 12, "tc56" }, { 13, "tc64" }, { 14, "tc72" }, { 15, "tc80" }, { 0, NULL } }; static int dissect_lpp_TEG_TimingErrorMargin_r17(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, 16, NULL, false, 0, NULL); return offset; } static const per_sequence_t NR_DL_PRS_TRP_TEG_InfoPerTRP_r17_eag_1_sequence[] = { { &hf_lpp_nr_TRP_TxTEG_TimingErrorMargin_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TEG_TimingErrorMargin_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_PRS_TRP_TEG_InfoPerTRP_r17_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, NR_DL_PRS_TRP_TEG_InfoPerTRP_r17_eag_1_sequence); return offset; } static const per_sequence_t NR_DL_PRS_TRP_TEG_InfoPerTRP_r17_sequence[] = { { &hf_lpp_dl_PRS_ID_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_nr_PhysCellID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 }, { &hf_lpp_nr_CellGlobalID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 }, { &hf_lpp_nr_ARFCN_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 }, { &hf_lpp_dl_PRS_TEG_InfoSet_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_TEG_InfoPerResourceSet_r17 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_TRP_TEG_InfoPerTRP_r17_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_PRS_TRP_TEG_InfoPerTRP_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_TRP_TEG_InfoPerTRP_r17, NR_DL_PRS_TRP_TEG_InfoPerTRP_r17_sequence); return offset; } static const per_sequence_t NR_DL_PRS_TRP_TEG_InfoPerFreqLayer_r17_sequence_of[1] = { { &hf_lpp_NR_DL_PRS_TRP_TEG_InfoPerFreqLayer_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_TRP_TEG_InfoPerTRP_r17 }, }; static int dissect_lpp_NR_DL_PRS_TRP_TEG_InfoPerFreqLayer_r17(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_TRP_TEG_InfoPerFreqLayer_r17, NR_DL_PRS_TRP_TEG_InfoPerFreqLayer_r17_sequence_of, 1, nrMaxTRPsPerFreq_r16, false); return offset; } static const per_sequence_t NR_DL_PRS_TRP_TEG_Info_r17_sequence_of[1] = { { &hf_lpp_NR_DL_PRS_TRP_TEG_Info_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_TRP_TEG_InfoPerFreqLayer_r17 }, }; static int dissect_lpp_NR_DL_PRS_TRP_TEG_Info_r17(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_TRP_TEG_Info_r17, NR_DL_PRS_TRP_TEG_Info_r17_sequence_of, 1, nrMaxFreqLayers_r16, false); return offset; } static const per_sequence_t NR_PositionCalculationAssistance_r16_eag_1_sequence[] = { { &hf_lpp_nr_TRP_BeamAntennaInfo_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_TRP_BeamAntennaInfo_r17 }, { &hf_lpp_nr_DL_PRS_Expected_LOS_NLOS_Assistance_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ExpectedLOS_NLOS_Assistance_r17 }, { &hf_lpp_nr_DL_PRS_TRP_TEG_Info_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_TRP_TEG_Info_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_PositionCalculationAssistance_r16_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, NR_PositionCalculationAssistance_r16_eag_1_sequence); return offset; } static const per_sequence_t NR_IntegrityServiceParameters_r18_sequence[] = { { &hf_lpp_ir_Minimum_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_ir_Maximum_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_IntegrityServiceParameters_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityServiceParameters_r18, NR_IntegrityServiceParameters_r18_sequence); return offset; } static const per_sequence_t NR_TRP_IntegrityServiceAlertElement_r18_sequence[] = { { &hf_lpp_dl_PRS_ID_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_nr_PhysCellID_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 }, { &hf_lpp_nr_CellGlobalID_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 }, { &hf_lpp_nr_ARFCN_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 }, { &hf_lpp_rtd_DoNotUse_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BOOLEAN }, { &hf_lpp_trp_LocationDoNotUse_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BOOLEAN }, { &hf_lpp_beamInfo_DoNotUse_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BOOLEAN }, { &hf_lpp_beamAntennaInfo_DoNotUse_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_TRP_IntegrityServiceAlertElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityServiceAlertElement_r18, NR_TRP_IntegrityServiceAlertElement_r18_sequence); return offset; } static const per_sequence_t NR_TRP_IntegrityServiceAlertPerFreqLayer_r18_sequence_of[1] = { { &hf_lpp_NR_TRP_IntegrityServiceAlertPerFreqLayer_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TRP_IntegrityServiceAlertElement_r18 }, }; static int dissect_lpp_NR_TRP_IntegrityServiceAlertPerFreqLayer_r18(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_IntegrityServiceAlertPerFreqLayer_r18, NR_TRP_IntegrityServiceAlertPerFreqLayer_r18_sequence_of, 1, nrMaxTRPsPerFreq_r16, false); return offset; } static const per_sequence_t NR_IntegrityServiceAlert_r18_sequence_of[1] = { { &hf_lpp_NR_IntegrityServiceAlert_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TRP_IntegrityServiceAlertPerFreqLayer_r18 }, }; static int dissect_lpp_NR_IntegrityServiceAlert_r18(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_IntegrityServiceAlert_r18, NR_IntegrityServiceAlert_r18_sequence_of, 1, nrMaxFreqLayers_r16, false); return offset; } static const per_sequence_t NR_IntegrityRiskParameters_r18_sequence[] = { { &hf_lpp_nr_ProbOnsetTRP_Fault_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_nr_MeanTRP_FaultDuration_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_3600 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_IntegrityRiskParameters_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityRiskParameters_r18, NR_IntegrityRiskParameters_r18_sequence); return offset; } static const per_sequence_t NR_IntegrityParametersTRP_LocationInfo_r18_sequence[] = { { &hf_lpp_trp_ErrorCorrelationTime_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 }, { &hf_lpp_dl_PRS_ResourceSetARP_ErrorCorrelationTime_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 }, { &hf_lpp_dl_PRS_ResourceARP_ErrorCorrelationTime_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_IntegrityParametersTRP_LocationInfo_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityParametersTRP_LocationInfo_r18, NR_IntegrityParametersTRP_LocationInfo_r18_sequence); return offset; } static const per_sequence_t NR_IntegrityParametersDL_PRS_BeamInfo_r18_sequence[] = { { &hf_lpp_dl_PRS_BeamInfoErrorCorrelationTime_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_IntegrityParametersDL_PRS_BeamInfo_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityParametersDL_PRS_BeamInfo_r18, NR_IntegrityParametersDL_PRS_BeamInfo_r18_sequence); return offset; } static const per_sequence_t NR_IntegrityParametersRTD_Info_r18_sequence[] = { { &hf_lpp_rtd_ErrorCorrelationTime_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_IntegrityParametersRTD_Info_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityParametersRTD_Info_r18, NR_IntegrityParametersRTD_Info_r18_sequence); return offset; } static const per_sequence_t NR_IntegrityParametersTRP_BeamAntennaInfo_r18_sequence[] = { { &hf_lpp_trp_BeamAntennaInfoErrorCorrelationTime_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_IntegrityParametersTRP_BeamAntennaInfo_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityParametersTRP_BeamAntennaInfo_r18, NR_IntegrityParametersTRP_BeamAntennaInfo_r18_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 per_sequence_t HA_EllipsoidPointWithScalableUncertaintyEllipse_r16_sequence[] = { { &hf_lpp_degreesLatitude_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 }, { &hf_lpp_degreesLongitude_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 }, { &hf_lpp_uncertaintySemiMajor_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_uncertaintySemiMinor_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_orientationMajorAxis_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 }, { &hf_lpp_confidence_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 }, { &hf_lpp_ha_ExtendedUncertaintyRangeUsed_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_lpp_HA_EllipsoidPointWithScalableUncertaintyEllipse_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_HA_EllipsoidPointWithScalableUncertaintyEllipse_r16, HA_EllipsoidPointWithScalableUncertaintyEllipse_r16_sequence); return offset; } static const per_sequence_t HA_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_r16_sequence[] = { { &hf_lpp_degreesLatitude_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 }, { &hf_lpp_degreesLongitude_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 }, { &hf_lpp_altitude_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M64000_1280000 }, { &hf_lpp_uncertaintySemiMajor_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_uncertaintySemiMinor_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_orientationMajorAxis_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 }, { &hf_lpp_horizontalConfidence_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 }, { &hf_lpp_uncertaintyAltitude_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 }, { &hf_lpp_ha_HorizontalExtendedRangeUsed_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN }, { &hf_lpp_ha_VerticalExtendedRangeUsed_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_lpp_HA_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_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_HA_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_r16, HA_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_r16_sequence); return offset; } static const value_string lpp_T_cartesianCoordinatesUnits_r18_vals[] = { { 0, "mm" }, { 1, "cm" }, { 2, "dm" }, { 3, "m" }, { 0, NULL } }; static int dissect_lpp_T_cartesianCoordinatesUnits_r18(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 Local2dPointWithUncertaintyEllipse_r18_sequence[] = { { &hf_lpp_localOrigin_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_ReferencePoint_r16 }, { &hf_lpp_cartesianCoordinatesUnits_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_cartesianCoordinatesUnits_r18 }, { &hf_lpp_x_value_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_X_Value_r18 }, { &hf_lpp_y_value_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_Y_Value_r18 }, { &hf_lpp_uncertaintySemiMajor_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 }, { &hf_lpp_uncertaintySemiMinor_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 }, { &hf_lpp_orientationMajorAxis_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 }, { &hf_lpp_confidence_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_Local2dPointWithUncertaintyEllipse_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_Local2dPointWithUncertaintyEllipse_r18, Local2dPointWithUncertaintyEllipse_r18_sequence); return offset; } static const value_string lpp_T_cartesianCoordinatesUnits_r18_01_vals[] = { { 0, "mm" }, { 1, "cm" }, { 2, "dm" }, { 3, "m" }, { 0, NULL } }; static int dissect_lpp_T_cartesianCoordinatesUnits_r18_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, 4, NULL, true, 0, NULL); return offset; } static const per_sequence_t Local3dPointWithUncertaintyEllipsoid_r18_sequence[] = { { &hf_lpp_localOrigin_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_ReferencePoint_r16 }, { &hf_lpp_cartesianCoordinatesUnits_r18_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_cartesianCoordinatesUnits_r18_01 }, { &hf_lpp_x_value_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_X_Value_r18 }, { &hf_lpp_y_value_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_Y_Value_r18 }, { &hf_lpp_z_value_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_Z_Value_r18 }, { &hf_lpp_uncertaintySemiMajor_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 }, { &hf_lpp_uncertaintySemiMinor_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 }, { &hf_lpp_orientationMajorAxis_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 }, { &hf_lpp_uncertaintyAltitude_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 }, { &hf_lpp_confidence_r18 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 }, { &hf_lpp_vConfidence_r18 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_100 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_Local3dPointWithUncertaintyEllipsoid_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_Local3dPointWithUncertaintyEllipsoid_r18, Local3dPointWithUncertaintyEllipsoid_r18_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" }, { 9, "ha-EllipsoidPointWithScalableUncertaintyEllipse-v1680" }, { 10, "ha-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-v1680" }, { 11, "local2dPointWithUncertaintyEllipse-v1800" }, { 12, "local3dPointWithUncertaintyEllipsoid-v1800" }, { 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 }, { 9, &hf_lpp_ha_EllipsoidPointWithScalableUncertaintyEllipse_v1680, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_HA_EllipsoidPointWithScalableUncertaintyEllipse_r16 }, { 10, &hf_lpp_ha_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_v1680, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_HA_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_r16 }, { 11, &hf_lpp_local2dPointWithUncertaintyEllipse_v1800, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_Local2dPointWithUncertaintyEllipse_r18 }, { 12, &hf_lpp_local3dPointWithUncertaintyEllipsoid_v1800, ASN1_NOT_EXTENSION_ROOT, dissect_lpp_Local3dPointWithUncertaintyEllipsoid_r18 }, { 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 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 int dissect_lpp_INTEGER_0_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, 0U, 13U, NULL, false); return offset; } static const per_sequence_t NR_TimeStamp_r16_eag_1_sequence[] = { { &hf_lpp_nr_Symbol_r18 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_13 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_TimeStamp_r16_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, NR_TimeStamp_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimeStamp_r16_eag_1 }, { 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_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 int dissect_lpp_INTEGER_0_126083073(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, 126083073U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_63041537(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, 63041537U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_31520769(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, 31520769U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_15760385(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, 15760385U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_7880193(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, 7880193U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_3940097(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, 3940097U, NULL, false); 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" }, { 6, "kMinus6-r18" }, { 7, "kMinus5-r18" }, { 8, "kMinus4-r18" }, { 9, "kMinus3-r18" }, { 10, "kMinus2-r18" }, { 11, "kMinus1-r18" }, { 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 }, { 6, &hf_lpp_kMinus6_r18_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_126083073 }, { 7, &hf_lpp_kMinus5_r18_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_63041537 }, { 8, &hf_lpp_kMinus4_r18_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_31520769 }, { 9, &hf_lpp_kMinus3_r18_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_15760385 }, { 10, &hf_lpp_kMinus2_r18_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_7880193 }, { 11, &hf_lpp_kMinus1_r18_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_3940097 }, { 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 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 int dissect_lpp_INTEGER_0_1046401(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, 1046401U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_523201(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, 523201U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_261601(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, 261601U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_130801(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, 130801U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_65401(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, 65401U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_32701(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, 32701U, 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" }, { 6, "kMinus6-r18" }, { 7, "kMinus5-r18" }, { 8, "kMinus4-r18" }, { 9, "kMinus3-r18" }, { 10, "kMinus2-r18" }, { 11, "kMinus1-r18" }, { 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 }, { 6, &hf_lpp_kMinus6_r18 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_1046401 }, { 7, &hf_lpp_kMinus5_r18 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_523201 }, { 8, &hf_lpp_kMinus4_r18 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_261601 }, { 9, &hf_lpp_kMinus3_r18 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_130801 }, { 10, &hf_lpp_kMinus2_r18 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_65401 }, { 11, &hf_lpp_kMinus1_r18 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_32701 }, { 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 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 const per_sequence_t NR_AdditionalPath_r16_eag_1_sequence[] = { { &hf_lpp_nr_DL_PRS_RSRPP_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_126 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_AdditionalPath_r16_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, NR_AdditionalPath_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_AdditionalPath_r16_eag_1 }, { 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 int dissect_lpp_INTEGER_0_524224(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, 524224U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_262112(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, 262112U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_131056(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, 131056U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_65528(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, 65528U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_32764(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, 32764U, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_16382(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, 16382U, NULL, false); 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" }, { 6, "kMinus6-r18" }, { 7, "kMinus5-r18" }, { 8, "kMinus4-r18" }, { 9, "kMinus3-r18" }, { 10, "kMinus2-r18" }, { 11, "kMinus1-r18" }, { 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 }, { 6, &hf_lpp_kMinus6_r18_02 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_524224 }, { 7, &hf_lpp_kMinus5_r18_02 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_262112 }, { 8, &hf_lpp_kMinus4_r18_02 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_131056 }, { 9, &hf_lpp_kMinus3_r18_02 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_65528 }, { 10, &hf_lpp_kMinus2_r18_02 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_32764 }, { 11, &hf_lpp_kMinus1_r18_02 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_16382 }, { 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 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 int dissect_lpp_INTEGER_0_maxNumOfRxTEGs_1_r17(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, maxNumOfRxTEGs_1_r17, NULL, false); return offset; } static const per_sequence_t NR_AdditionalPathListExt_r17_sequence_of[1] = { { &hf_lpp_NR_AdditionalPathListExt_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_AdditionalPath_r16 }, }; static int dissect_lpp_NR_AdditionalPathListExt_r17(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_AdditionalPathListExt_r17, NR_AdditionalPathListExt_r17_sequence_of, 1, 8, false); return offset; } static const per_sequence_t NR_DL_TDOA_AdditionalMeasurementElement_r16_eag_1_sequence[] = { { &hf_lpp_nr_UE_Rx_TEG_ID_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_maxNumOfRxTEGs_1_r17 }, { &hf_lpp_nr_DL_PRS_FirstPathRSRP_ResultDiff_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_61 }, { &hf_lpp_nr_los_nlos_IndicatorPerResource_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LOS_NLOS_Indicator_r17 }, { &hf_lpp_nr_AdditionalPathListExt_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_AdditionalPathListExt_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_AdditionalMeasurementElement_r16_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, NR_DL_TDOA_AdditionalMeasurementElement_r16_eag_1_sequence); return offset; } static const value_string lpp_T_nr_MeasBasedOnAggregatedResources_r18_01_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_nr_MeasBasedOnAggregatedResources_r18_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_AggregatedDL_PRS_ResourceInfo_Element_r18_sequence[] = { { &hf_lpp_aggregatedDL_PRS_ID_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 }, { &hf_lpp_nr_DL_PRS_ResourceSetID_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 }, { &hf_lpp_nr_DL_PRS_ResourceID_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceID_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_AggregatedDL_PRS_ResourceInfo_Element_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_AggregatedDL_PRS_ResourceInfo_Element_r18, NR_AggregatedDL_PRS_ResourceInfo_Element_r18_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_2_3_OF_NR_AggregatedDL_PRS_ResourceInfo_Element_r18_sequence_of[1] = { { &hf_lpp_nr_AggregatedDL_PRS_ResourceInfo_List_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_AggregatedDL_PRS_ResourceInfo_Element_r18 }, }; static int dissect_lpp_SEQUENCE_SIZE_2_3_OF_NR_AggregatedDL_PRS_ResourceInfo_Element_r18(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_2_3_OF_NR_AggregatedDL_PRS_ResourceInfo_Element_r18, SEQUENCE_SIZE_2_3_OF_NR_AggregatedDL_PRS_ResourceInfo_Element_r18_sequence_of, 2, 3, false); return offset; } static const value_string lpp_T_phaseQualityResolution_r18_vals[] = { { 0, "mdot1" }, { 1, "m1" }, { 0, NULL } }; static int dissect_lpp_T_phaseQualityResolution_r18(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_PhaseQuality_r18_sequence[] = { { &hf_lpp_phaseQualityIndex_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 }, { &hf_lpp_phaseQualityResolution_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_phaseQualityResolution_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_PhaseQuality_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_PhaseQuality_r18, NR_PhaseQuality_r18_sequence); return offset; } static const per_sequence_t NR_RSCPD_AdditionalMeasurementSamplesElement_r18_sequence[] = { { &hf_lpp_nr_RSCPD_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3599 }, { &hf_lpp_nr_PhaseQuality_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhaseQuality_r18 }, { &hf_lpp_nr_TimeStamp_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_TimeStamp_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_RSCPD_AdditionalMeasurementSamplesElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_RSCPD_AdditionalMeasurementSamplesElement_r18, NR_RSCPD_AdditionalMeasurementSamplesElement_r18_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCPD_AdditionalMeasurementSamplesElement_r18_sequence_of[1] = { { &hf_lpp_nr_RSCPD_AddMeasurementSamples_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_RSCPD_AdditionalMeasurementSamplesElement_r18 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCPD_AdditionalMeasurementSamplesElement_r18(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_nrNumOfSamples_1_r18_OF_NR_RSCPD_AdditionalMeasurementSamplesElement_r18, SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCPD_AdditionalMeasurementSamplesElement_r18_sequence_of, 1, nrNumOfSamples_1_r18, false); return offset; } static const value_string lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_01_vals[] = { { 0, "singleHop" }, { 1, "multipleHop" }, { 0, NULL } }; static int dissect_lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_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 NR_DL_TDOA_AdditionalMeasurementElement_r16_eag_2_sequence[] = { { &hf_lpp_nr_MeasBasedOnAggregatedResources_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_MeasBasedOnAggregatedResources_r18_01 }, { &hf_lpp_nr_AggregatedDL_PRS_ResourceInfo_List_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_2_3_OF_NR_AggregatedDL_PRS_ResourceInfo_Element_r18 }, { &hf_lpp_nr_RSCPD_r18 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3599 }, { &hf_lpp_nr_PhaseQuality_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_PhaseQuality_r18 }, { &hf_lpp_nr_RSCPD_AdditionalMeasurementsAddSamples_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCPD_AdditionalMeasurementSamplesElement_r18 }, { &hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_AdditionalMeasurementElement_r16_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, NR_DL_TDOA_AdditionalMeasurementElement_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_AdditionalMeasurementElement_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_AdditionalMeasurementElement_r16_eag_2 }, { 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 value_string lpp_T_nr_los_nlos_Indicator_r17_vals[] = { { 0, "perTRP-r17" }, { 1, "perResource-r17" }, { 0, NULL } }; static const per_choice_t T_nr_los_nlos_Indicator_r17_choice[] = { { 0, &hf_lpp_perTRP_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_LOS_NLOS_Indicator_r17 }, { 1, &hf_lpp_perResource_r17_01, ASN1_NO_EXTENSIONS , dissect_lpp_LOS_NLOS_Indicator_r17 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_Indicator_r17(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_los_nlos_Indicator_r17, T_nr_los_nlos_Indicator_r17_choice, NULL); return offset; } static const per_sequence_t NR_DL_TDOA_AdditionalMeasurementsExt_r17_sequence_of[1] = { { &hf_lpp_NR_DL_TDOA_AdditionalMeasurementsExt_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_AdditionalMeasurementElement_r16 }, }; static int dissect_lpp_NR_DL_TDOA_AdditionalMeasurementsExt_r17(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_AdditionalMeasurementsExt_r17, NR_DL_TDOA_AdditionalMeasurementsExt_r17_sequence_of, 1, maxAddMeasTDOA_r17, false); return offset; } static const per_sequence_t NR_DL_TDOA_MeasElement_r16_eag_1_sequence[] = { { &hf_lpp_nr_UE_Rx_TEG_ID_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_maxNumOfRxTEGs_1_r17 }, { &hf_lpp_nr_DL_PRS_FirstPathRSRP_Result_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_126 }, { &hf_lpp_nr_los_nlos_Indicator_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_los_nlos_Indicator_r17 }, { &hf_lpp_nr_AdditionalPathListExt_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_AdditionalPathListExt_r17 }, { &hf_lpp_nr_DL_TDOA_AdditionalMeasurementsExt_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_AdditionalMeasurementsExt_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_MeasElement_r16_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, NR_DL_TDOA_MeasElement_r16_eag_1_sequence); return offset; } static const value_string lpp_T_nr_MeasBasedOnAggregatedResources_r18_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_nr_MeasBasedOnAggregatedResources_r18(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_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_vals[] = { { 0, "singleHop" }, { 1, "multipleHop" }, { 0, NULL } }; static int dissect_lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18(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 NR_DL_TDOA_MeasElement_r16_eag_2_sequence[] = { { &hf_lpp_nr_MeasBasedOnAggregatedResources_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_MeasBasedOnAggregatedResources_r18 }, { &hf_lpp_nr_AggregatedDL_PRS_ResourceInfo_List_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_2_3_OF_NR_AggregatedDL_PRS_ResourceInfo_Element_r18 }, { &hf_lpp_nr_RSCPD_r18 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3599 }, { &hf_lpp_nr_PhaseQuality_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_PhaseQuality_r18 }, { &hf_lpp_nr_RSCPD_AddMeasurementSamples_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCPD_AdditionalMeasurementSamplesElement_r18 }, { &hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_MeasElement_r16_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, NR_DL_TDOA_MeasElement_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_MeasElement_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_MeasElement_r16_eag_2 }, { 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_eag_1_sequence[] = { { &hf_lpp_nr_UE_RxTEG_TimingErrorMargin_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TEG_TimingErrorMargin_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_SignalMeasurementInformation_r16_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, NR_DL_TDOA_SignalMeasurementInformation_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_SignalMeasurementInformation_r16_eag_1 }, { 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 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 value_string lpp_T_nr_los_nlos_Indicator_r17_01_vals[] = { { 0, "perTRP-r17" }, { 1, "perResource-r17" }, { 0, NULL } }; static const per_choice_t T_nr_los_nlos_Indicator_r17_01_choice[] = { { 0, &hf_lpp_perTRP_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_LOS_NLOS_Indicator_r17 }, { 1, &hf_lpp_perResource_r17_01, ASN1_NO_EXTENSIONS , dissect_lpp_LOS_NLOS_Indicator_r17 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_Indicator_r17_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_nr_los_nlos_Indicator_r17_01, T_nr_los_nlos_Indicator_r17_01_choice, NULL); return offset; } static const value_string lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_03_vals[] = { { 0, "singleHop" }, { 1, "multipleHop" }, { 0, NULL } }; static int dissect_lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_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 per_sequence_t NR_DL_AoD_AdditionalMeasurementElement_r17_eag_1_sequence[] = { { &hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_03 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_AdditionalMeasurementElement_r17_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, NR_DL_AoD_AdditionalMeasurementElement_r17_eag_1_sequence); return offset; } static const per_sequence_t NR_DL_AoD_AdditionalMeasurementElement_r17_sequence[] = { { &hf_lpp_nr_DL_PRS_ResourceID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceID_r16 }, { &hf_lpp_nr_DL_PRS_ResourceSetID_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 }, { &hf_lpp_nr_TimeStamp_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimeStamp_r16 }, { &hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_30 }, { &hf_lpp_nr_DL_PRS_RxBeamIndex_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_8 }, { &hf_lpp_nr_DL_PRS_FirstPathRSRP_ResultDiff_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_61 }, { &hf_lpp_nr_los_nlos_IndicatorPerResource_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LOS_NLOS_Indicator_r17 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_AdditionalMeasurementElement_r17_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_AdditionalMeasurementElement_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_r17, NR_DL_AoD_AdditionalMeasurementElement_r17_sequence); return offset; } static const per_sequence_t NR_DL_AoD_AdditionalMeasurementsExt_r17_sequence_of[1] = { { &hf_lpp_NR_DL_AoD_AdditionalMeasurementsExt_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_AdditionalMeasurementElement_r17 }, }; static int dissect_lpp_NR_DL_AoD_AdditionalMeasurementsExt_r17(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_AdditionalMeasurementsExt_r17, NR_DL_AoD_AdditionalMeasurementsExt_r17_sequence_of, 1, maxAddMeasAoD_r17, false); return offset; } static const per_sequence_t NR_DL_AoD_MeasElement_r16_eag_1_sequence[] = { { &hf_lpp_nr_DL_PRS_FirstPathRSRP_Result_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_126 }, { &hf_lpp_nr_los_nlos_Indicator_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_los_nlos_Indicator_r17_01 }, { &hf_lpp_nr_DL_AoD_AdditionalMeasurementsExt_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_AdditionalMeasurementsExt_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_MeasElement_r16_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, NR_DL_AoD_MeasElement_r16_eag_1_sequence); return offset; } static const value_string lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_02_vals[] = { { 0, "singleHop" }, { 1, "multipleHop" }, { 0, NULL } }; static int dissect_lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_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 NR_DL_AoD_MeasElement_r16_eag_2_sequence[] = { { &hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_02 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_MeasElement_r16_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, NR_DL_AoD_MeasElement_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_MeasElement_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_MeasElement_r16_eag_2 }, { 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_nr_los_nlos_Indicator_r18_vals[] = { { 0, "perTRP" }, { 1, "perResource" }, { 0, NULL } }; static const per_choice_t T_nr_los_nlos_Indicator_r18_choice[] = { { 0, &hf_lpp_perTRP , ASN1_NO_EXTENSIONS , dissect_lpp_LOS_NLOS_Indicator_r17 }, { 1, &hf_lpp_perResource , ASN1_NO_EXTENSIONS , dissect_lpp_LOS_NLOS_Indicator_r17 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_Indicator_r18(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_los_nlos_Indicator_r18, T_nr_los_nlos_Indicator_r18_choice, NULL); return offset; } static const per_sequence_t NR_RSCP_AdditionalMeasurements_r18_sequence[] = { { &hf_lpp_nr_RSCP_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3599 }, { &hf_lpp_nr_PhaseQuality_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhaseQuality_r18 }, { &hf_lpp_nr_TimeStamp_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_TimeStamp_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_RSCP_AdditionalMeasurements_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_RSCP_AdditionalMeasurements_r18, NR_RSCP_AdditionalMeasurements_r18_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18_sequence_of[1] = { { &hf_lpp_nr_PRU_RSCP_AddSampleMeasurements_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_RSCP_AdditionalMeasurements_r18 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18(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_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18, SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18_sequence_of, 1, nrNumOfSamples_1_r18, false); return offset; } static const per_sequence_t T_nr_PRU_RSRP_AddSampleMeasurements_r18_sequence_of[1] = { { &hf_lpp_nr_PRU_RSRP_AddSampleMeasurements_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_61 }, }; static int dissect_lpp_T_nr_PRU_RSRP_AddSampleMeasurements_r18(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_nr_PRU_RSRP_AddSampleMeasurements_r18, T_nr_PRU_RSRP_AddSampleMeasurements_r18_sequence_of, 1, nrNumOfSamples_1_r18, false); return offset; } static const per_sequence_t T_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18_sequence_of[1] = { { &hf_lpp_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_61 }, }; static int dissect_lpp_T_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18(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_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18, T_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18_sequence_of, 1, nrNumOfSamples_1_r18, false); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_nrNumOfSamples_r18_OF_NR_RSCP_AdditionalMeasurements_r18_sequence_of[1] = { { &hf_lpp_nr_PRU_RSCP_AdditionalMeasurementsList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_RSCP_AdditionalMeasurements_r18 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_r18_OF_NR_RSCP_AdditionalMeasurements_r18(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_nrNumOfSamples_r18_OF_NR_RSCP_AdditionalMeasurements_r18, SEQUENCE_SIZE_1_nrNumOfSamples_r18_OF_NR_RSCP_AdditionalMeasurements_r18_sequence_of, 1, nrNumOfSamples_r18, false); return offset; } static const per_sequence_t T_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18_sequence_of[1] = { { &hf_lpp_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_61 }, }; static int dissect_lpp_T_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18(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_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18, T_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18_sequence_of, 1, nrNumOfSamples_r18, false); return offset; } static const per_sequence_t T_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18_sequence_of[1] = { { &hf_lpp_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_61 }, }; static int dissect_lpp_T_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18(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_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18, T_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18_sequence_of, 1, nrNumOfSamples_r18, false); return offset; } static const per_sequence_t NR_PRU_RSCP_AdditionalMeasurementElement_r18_sequence[] = { { &hf_lpp_nr_DL_PRS_ResourceID_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceID_r16 }, { &hf_lpp_nr_DL_PRS_ResourceSetID_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 }, { &hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_61 }, { &hf_lpp_nr_DL_PRS_FirstPathRSRP_ResultDiff_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_61 }, { &hf_lpp_nr_PRU_RSCP_AdditionalMeasurementsList_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_r18_OF_NR_RSCP_AdditionalMeasurements_r18 }, { &hf_lpp_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18 }, { &hf_lpp_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_PRU_RSCP_AdditionalMeasurementElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_PRU_RSCP_AdditionalMeasurementElement_r18, NR_PRU_RSCP_AdditionalMeasurementElement_r18_sequence); return offset; } static const per_sequence_t NR_PRU_RSCP_AdditionalMeasurements_r18_sequence_of[1] = { { &hf_lpp_NR_PRU_RSCP_AdditionalMeasurements_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_PRU_RSCP_AdditionalMeasurementElement_r18 }, }; static int dissect_lpp_NR_PRU_RSCP_AdditionalMeasurements_r18(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_PRU_RSCP_AdditionalMeasurements_r18, NR_PRU_RSCP_AdditionalMeasurements_r18_sequence_of, 1, 3, false); return offset; } static const per_sequence_t NR_PRU_RSCP_MeasElement_r18_sequence[] = { { &hf_lpp_dl_PRS_ID_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 }, { &hf_lpp_nr_PhysCellID_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhysCellID_r16 }, { &hf_lpp_nr_CellGlobalID_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 }, { &hf_lpp_nr_ARFCN_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueNR_r15 }, { &hf_lpp_nr_DL_PRS_ResourceID_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceID_r16 }, { &hf_lpp_nr_DL_PRS_ResourceSetID_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_ResourceSetID_r16 }, { &hf_lpp_nr_TimeStamp_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NR_TimeStamp_r16 }, { &hf_lpp_nr_los_nlos_Indicator_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_los_nlos_Indicator_r18 }, { &hf_lpp_nr_RSCP_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3599 }, { &hf_lpp_nr_DL_PRS_RSRP_Result_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_126 }, { &hf_lpp_nr_DL_PRS_FirstPathRSRP_Result_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_126 }, { &hf_lpp_nr_PhaseQuality_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PhaseQuality_r18 }, { &hf_lpp_nr_PRU_RSCP_AddSampleMeasurements_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18 }, { &hf_lpp_nr_PRU_RSRP_AddSampleMeasurements_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_PRU_RSRP_AddSampleMeasurements_r18 }, { &hf_lpp_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18 }, { &hf_lpp_nr_PRU_RSCP_AdditionalMeasurements_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PRU_RSCP_AdditionalMeasurements_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_PRU_RSCP_MeasElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_PRU_RSCP_MeasElement_r18, NR_PRU_RSCP_MeasElement_r18_sequence); return offset; } static const per_sequence_t NR_PRU_RSCP_MeasurementInformation_r18_sequence_of[1] = { { &hf_lpp_NR_PRU_RSCP_MeasurementInformation_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_PRU_RSCP_MeasElement_r18 }, }; static int dissect_lpp_NR_PRU_RSCP_MeasurementInformation_r18(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_PRU_RSCP_MeasurementInformation_r18, NR_PRU_RSCP_MeasurementInformation_r18_sequence_of, 1, nrMaxTRPs_r16, false); return offset; } static const per_sequence_t NR_PRU_DL_Info_r18_sequence[] = { { &hf_lpp_nr_PRU_LocationInfo_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationCoordinates }, { &hf_lpp_nr_PRU_DL_TDOA_MeasInfo_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_TDOA_SignalMeasurementInformation_r16 }, { &hf_lpp_nr_PRU_DL_AoD_MeasInfo_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_DL_AoD_SignalMeasurementInformation_r16 }, { &hf_lpp_nr_PRU_RSCP_MeasInfo_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PRU_RSCP_MeasurementInformation_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_PRU_DL_Info_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_PRU_DL_Info_r18, NR_PRU_DL_Info_r18_sequence); return offset; } static const per_sequence_t NR_PositionCalculationAssistance_r16_eag_2_sequence[] = { { &hf_lpp_nr_IntegrityServiceParameters_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityServiceParameters_r18 }, { &hf_lpp_nr_IntegrityServiceAlert_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityServiceAlert_r18 }, { &hf_lpp_nr_IntegrityRiskParameters_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityRiskParameters_r18 }, { &hf_lpp_nr_IntegrityParametersTRP_LocationInfo_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityParametersTRP_LocationInfo_r18 }, { &hf_lpp_nr_IntegrityParametersDL_PRS_BeamInfo_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityParametersDL_PRS_BeamInfo_r18 }, { &hf_lpp_nr_IntegrityParametersRTD_Info_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityParametersRTD_Info_r18 }, { &hf_lpp_nr_IntegrityParametersTRP_BeamAntennaInfo_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityParametersTRP_BeamAntennaInfo_r18 }, { &hf_lpp_nr_PRU_DL_Info_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_PRU_DL_Info_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_PositionCalculationAssistance_r16_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, NR_PositionCalculationAssistance_r16_eag_2_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_PositionCalculationAssistance_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_PositionCalculationAssistance_r16_eag_2 }, { 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" }, { 4, "on-demand-dl-prs-NotSupportedByServer-v1700" }, { 5, "on-demand-dl-prs-SupportedButCurrentlyNotAvailableByServer-v1700" }, { 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, 2, 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 value_string lpp_T_remoteUE_Indication_r18_03_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_remoteUE_Indication_r18_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 NR_DL_AoD_TargetDeviceErrorCauses_r16_eag_1_sequence[] = { { &hf_lpp_remoteUE_Indication_r18_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_remoteUE_Indication_r18_03 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_TargetDeviceErrorCauses_r16_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, NR_DL_AoD_TargetDeviceErrorCauses_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_TargetDeviceErrorCauses_r16_eag_1 }, { 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_eag_1_sequence[] = { { &hf_lpp_nr_DL_PRS_BeamInfo_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_BeamInfo_r16 }, { &hf_lpp_nr_On_Demand_DL_PRS_Configurations_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Configurations_r17 }, { &hf_lpp_nr_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17 }, { &hf_lpp_assistanceDataValidityArea_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_AreaID_CellList_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_ProvideAssistanceData_r16_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, NR_DL_AoD_ProvideAssistanceData_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_ProvideAssistanceData_r16_eag_1 }, { 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" }, { 4, "on-demand-dl-prs-NotSupportedByServer-v1700" }, { 5, "on-demand-dl-prs-SupportedButCurrentlyNotAvailableByServer-v1700" }, { 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, 2, 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 value_string lpp_T_remoteUE_Indication_r18_02_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_remoteUE_Indication_r18_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 NR_DL_TDOA_TargetDeviceErrorCauses_r16_eag_1_sequence[] = { { &hf_lpp_remoteUE_Indication_r18_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_remoteUE_Indication_r18_02 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_TargetDeviceErrorCauses_r16_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, NR_DL_TDOA_TargetDeviceErrorCauses_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_TargetDeviceErrorCauses_r16_eag_1 }, { 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_eag_1_sequence[] = { { &hf_lpp_nr_On_Demand_DL_PRS_Configurations_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Configurations_r17 }, { &hf_lpp_nr_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17 }, { &hf_lpp_assistanceDataValidityArea_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_AreaID_CellList_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_ProvideAssistanceData_r16_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, NR_DL_TDOA_ProvideAssistanceData_r16_eag_1_sequence); return offset; } static const per_sequence_t NR_PeriodicAssistData_r18_sequence[] = { { &hf_lpp_nr_PeriodicPRU_DL_Info_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_PeriodicControlParam_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_PeriodicAssistData_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_PeriodicAssistData_r18, NR_PeriodicAssistData_r18_sequence); return offset; } static const per_sequence_t NR_DL_TDOA_ProvideAssistanceData_r16_eag_2_sequence[] = { { &hf_lpp_nr_PeriodicAssistData_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_PeriodicAssistData_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_ProvideAssistanceData_r16_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, NR_DL_TDOA_ProvideAssistanceData_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_ProvideAssistanceData_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_ProvideAssistanceData_r16_eag_2 }, { 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 int dissect_lpp_BIT_STRING_SIZE_48(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, 48, 48, false, NULL, 0, NULL, NULL); return offset; } static int dissect_lpp_INTEGER_2_maxBT_BeaconAntElt_r18(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, 2U, maxBT_BeaconAntElt_r18, NULL, false); return offset; } static int dissect_lpp_INTEGER_30_130(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, 30U, 130U, NULL, false); return offset; } static const per_sequence_t BT_UniformLinearArray_r18_sequence[] = { { &hf_lpp_bt_NoElements_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_2_maxBT_BeaconAntElt_r18 }, { &hf_lpp_bt_InterElementDist_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_30_130 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_UniformLinearArray_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_UniformLinearArray_r18, BT_UniformLinearArray_r18_sequence); return offset; } static int dissect_lpp_INTEGER_1_maxBT_BeaconAntElt_r18(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, maxBT_BeaconAntElt_r18, NULL, false); return offset; } static int dissect_lpp_INTEGER_30_135(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, 30U, 135U, NULL, false); return offset; } static const per_sequence_t BT_UniformRectangularArray_r18_sequence[] = { { &hf_lpp_bt_NoElementsY_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_maxBT_BeaconAntElt_r18 }, { &hf_lpp_bt_NoElementsZ_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_maxBT_BeaconAntElt_r18 }, { &hf_lpp_bt_InterElementDistY_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_30_135 }, { &hf_lpp_bt_InterElementDistZ_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_30_135 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_UniformRectangularArray_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_UniformRectangularArray_r18, BT_UniformRectangularArray_r18_sequence); return offset; } static const per_sequence_t BT_UniformCircularArray_r18_sequence[] = { { &hf_lpp_bt_NoElements_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_2_maxBT_BeaconAntElt_r18 }, { &hf_lpp_bt_InterElementDist_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_30_130 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_UniformCircularArray_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_UniformCircularArray_r18, BT_UniformCircularArray_r18_sequence); return offset; } static int dissect_lpp_INTEGER_M135_135(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, -135, 135U, NULL, false); return offset; } static const per_sequence_t BT_ULA_GenericAntElement_r18_sequence[] = { { &hf_lpp_deltaY_r18 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M135_135 }, { &hf_lpp_deltaX_r18 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M135_135 }, { &hf_lpp_deltaZ_r18 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M135_135 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_ULA_GenericAntElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ULA_GenericAntElement_r18, BT_ULA_GenericAntElement_r18_sequence); return offset; } static const per_sequence_t BT_GenericArray_r18_sequence_of[1] = { { &hf_lpp_BT_GenericArray_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BT_ULA_GenericAntElement_r18 }, }; static int dissect_lpp_BT_GenericArray_r18(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_GenericArray_r18, BT_GenericArray_r18_sequence_of, 2, maxBT_BeaconAntElt_r18, false); return offset; } static const value_string lpp_BT_AntArrayConfig_r18_vals[] = { { 0, "bt-UniformLinearArray-r18" }, { 1, "bt-UniformRectangularArray-r18" }, { 2, "bt-UniformCircularArray-r18" }, { 3, "bt-GenericArray-r18" }, { 0, NULL } }; static const per_choice_t BT_AntArrayConfig_r18_choice[] = { { 0, &hf_lpp_bt_UniformLinearArray_r18, ASN1_NO_EXTENSIONS , dissect_lpp_BT_UniformLinearArray_r18 }, { 1, &hf_lpp_bt_UniformRectangularArray_r18, ASN1_NO_EXTENSIONS , dissect_lpp_BT_UniformRectangularArray_r18 }, { 2, &hf_lpp_bt_UniformCircularArray_r18, ASN1_NO_EXTENSIONS , dissect_lpp_BT_UniformCircularArray_r18 }, { 3, &hf_lpp_bt_GenericArray_r18, ASN1_NO_EXTENSIONS , dissect_lpp_BT_GenericArray_r18 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_BT_AntArrayConfig_r18(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_AntArrayConfig_r18, BT_AntArrayConfig_r18_choice, NULL); return offset; } static const value_string lpp_T_polarization_r18_vals[] = { { 0, "m45" }, { 1, "zero" }, { 2, "p45" }, { 3, "p90" }, { 4, "circ" }, { 0, NULL } }; static int dissect_lpp_T_polarization_r18(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, false, 0, NULL); return offset; } static const per_sequence_t BT_AntElement_r18_sequence[] = { { &hf_lpp_polarization_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_polarization_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_AntElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_AntElement_r18, BT_AntElement_r18_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntElement_r18_sequence_of[1] = { { &hf_lpp_bt_antElementList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BT_AntElement_r18 }, }; static int dissect_lpp_SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntElement_r18(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_2_maxBT_BeaconAntElt_r18_OF_BT_AntElement_r18, SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntElement_r18_sequence_of, 2, maxBT_BeaconAntElt_r18, false); return offset; } static int dissect_lpp_INTEGER_1_16(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, 16U, NULL, false); return offset; } static const value_string lpp_T_antElementIndexOffset_r18_vals[] = { { 0, "o16" }, { 1, "o32" }, { 2, "o48" }, { 3, "o64" }, { 0, NULL } }; static int dissect_lpp_T_antElementIndexOffset_r18(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 BT_AntSwitchElement_r18_sequence[] = { { &hf_lpp_antElementIndexShort_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_16 }, { &hf_lpp_antElementIndexOffset_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_antElementIndexOffset_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_AntSwitchElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_AntSwitchElement_r18, BT_AntSwitchElement_r18_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntSwitchElement_r18_sequence_of[1] = { { &hf_lpp_bt_antSwitchingPattern_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BT_AntSwitchElement_r18 }, }; static int dissect_lpp_SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntSwitchElement_r18(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_2_maxBT_BeaconAntElt_r18_OF_BT_AntSwitchElement_r18, SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntSwitchElement_r18_sequence_of, 2, maxBT_BeaconAntElt_r18, false); return offset; } static int dissect_lpp_INTEGER_32_16777(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, 32U, 16777U, NULL, false); return offset; } static int dissect_lpp_INTEGER_6_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, 6U, 65535U, NULL, false); return offset; } static int dissect_lpp_INTEGER_2_20(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, 2U, 20U, NULL, false); return offset; } static const value_string lpp_T_cte_Type2us_r18_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_cte_Type2us_r18(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_tx_PHY_M2_r18_02_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_tx_PHY_M2_r18_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 BT_AoD_TransmConfig_r18_sequence[] = { { &hf_lpp_primaryAdvInterval_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_32_16777 }, { &hf_lpp_secondAdvInterval_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_6_65535 }, { &hf_lpp_cte_Length_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_2_20 }, { &hf_lpp_cte_Count_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_16 }, { &hf_lpp_cte_Type2us_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_cte_Type2us_r18 }, { &hf_lpp_tx_PHY_M2_r18_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_tx_PHY_M2_r18_02 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_AoD_TransmConfig_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_AoD_TransmConfig_r18, BT_AoD_TransmConfig_r18_sequence); return offset; } static const per_sequence_t BT_BeaconInfoElement_r18_sequence[] = { { &hf_lpp_bt_Addr_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_48 }, { &hf_lpp_bt_BeaconLocation_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_RelativeLocation_r16 }, { &hf_lpp_bt_LCS_GCS_TranslationParameter_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LCS_GCS_TranslationParameter_r16 }, { &hf_lpp_bt_antArrayConfig_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BT_AntArrayConfig_r18 }, { &hf_lpp_bt_antElementList_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntElement_r18 }, { &hf_lpp_bt_antSwitchingPattern_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntSwitchElement_r18 }, { &hf_lpp_bt_AoD_TransmConfig_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BT_AoD_TransmConfig_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_BeaconInfoElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_BeaconInfoElement_r18, BT_BeaconInfoElement_r18_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxBT_BeaconAD_r18_OF_BT_BeaconInfoElement_r18_sequence_of[1] = { { &hf_lpp_bt_BeaconInfoList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BT_BeaconInfoElement_r18 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_maxBT_BeaconAD_r18_OF_BT_BeaconInfoElement_r18(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_maxBT_BeaconAD_r18_OF_BT_BeaconInfoElement_r18, SEQUENCE_SIZE_1_maxBT_BeaconAD_r18_OF_BT_BeaconInfoElement_r18_sequence_of, 1, maxBT_BeaconAD_r18, false); return offset; } static const per_sequence_t BT_BeaconInfo_r18_sequence[] = { { &hf_lpp_referencePoint_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ReferencePoint_r16 }, { &hf_lpp_bt_BeaconInfoList_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_maxBT_BeaconAD_r18_OF_BT_BeaconInfoElement_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_BeaconInfo_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_BeaconInfo_r18, BT_BeaconInfo_r18_sequence); return offset; } static const value_string lpp_T_cause_r13_06_vals[] = { { 0, "undefined" }, { 1, "assistanceDataNotSupportedByServer-v1810" }, { 2, "assistanceDataSupportedButCurrentlyNotAvailableByServer-v1810" }, { 3, "notAllrequestedAssistanceDataAvailableByServer-v1810" }, { 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, 3, 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" }, { 3, "assistanceDataMissing-v1810" }, { 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, 1, 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_ProvideAssistanceData_r18_sequence[] = { { &hf_lpp_bt_BeaconInfo_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BT_BeaconInfo_r18 }, { &hf_lpp_bt_Error_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BT_Error_r13 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_ProvideAssistanceData_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ProvideAssistanceData_r18, BT_ProvideAssistanceData_r18_sequence); return offset; } static const per_sequence_t ProvideAssistanceData_r9_IEs_eag_3_sequence[] = { { &hf_lpp_bt_ProvideAssistanceData_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BT_ProvideAssistanceData_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_ProvideAssistanceData_r9_IEs_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, ProvideAssistanceData_r9_IEs_eag_3_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ProvideAssistanceData_r9_IEs_eag_3 }, { 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_) { 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" }, { 4, "locationEstimateAndMeasurementsRequired-r18" }, { 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, 1, 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_) { uint32_t 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_) { uint32_t idx; const char *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); 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, "mayReturnAdditionalInformation" }, { 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" }, { 1, "ten-milli-seconds-v1700" }, { 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, 1, 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 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 const per_sequence_t T_gnssTime_r17_01_sequence[] = { { &hf_lpp_gnss_TOD_msec_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3599999 }, { &hf_lpp_gnss_TimeID_r17 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_gnssTime_r17_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_gnssTime_r17_01, T_gnssTime_r17_01_sequence); return offset; } static const per_sequence_t T_e_utraTime_r17_01_sequence[] = { { &hf_lpp_lte_PhysCellId_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 }, { &hf_lpp_lte_ArfcnEUTRA_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueEUTRA }, { &hf_lpp_lte_CellGlobalId_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA }, { &hf_lpp_lte_SystemFrameNumber_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_e_utraTime_r17_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_e_utraTime_r17_01, T_e_utraTime_r17_01_sequence); return offset; } static const value_string lpp_T_nr_Slot_r17_vals[] = { { 0, "scs15-r17" }, { 1, "scs30-r17" }, { 2, "scs60-r17" }, { 3, "scs120-r17" }, { 0, NULL } }; static const per_choice_t T_nr_Slot_r17_choice[] = { { 0, &hf_lpp_scs15_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_9 }, { 1, &hf_lpp_scs30_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_19 }, { 2, &hf_lpp_scs60_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_39 }, { 3, &hf_lpp_scs120_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_79 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_nr_Slot_r17(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_r17, T_nr_Slot_r17_choice, NULL); return offset; } static const per_sequence_t T_nrTime_r17_01_sequence[] = { { &hf_lpp_nr_PhysCellID_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_PhysCellID_r16 }, { &hf_lpp_nr_ARFCN_r17 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueNR_r15 }, { &hf_lpp_nr_CellGlobalID_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NCGI_r15 }, { &hf_lpp_nr_SFN_r17 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 }, { &hf_lpp_nr_Slot_r17 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_Slot_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nrTime_r17_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_nrTime_r17_01, T_nrTime_r17_01_sequence); return offset; } static const value_string lpp_T_networkTime_r17_vals[] = { { 0, "e-utraTime-r17" }, { 1, "nrTime-r17" }, { 0, NULL } }; static const per_choice_t T_networkTime_r17_choice[] = { { 0, &hf_lpp_e_utraTime_r17_02, ASN1_EXTENSION_ROOT , dissect_lpp_T_e_utraTime_r17_01 }, { 1, &hf_lpp_nrTime_r17_02 , ASN1_EXTENSION_ROOT , dissect_lpp_T_nrTime_r17_01 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_networkTime_r17(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_r17, T_networkTime_r17_choice, NULL); return offset; } static const per_sequence_t ScheduledLocationTime_r17_sequence[] = { { &hf_lpp_utcTime_r17_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_UTCTime }, { &hf_lpp_gnssTime_r17_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_gnssTime_r17_01 }, { &hf_lpp_networkTime_r17 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_networkTime_r17 }, { &hf_lpp_relativeTime_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_1024 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_ScheduledLocationTime_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_ScheduledLocationTime_r17, ScheduledLocationTime_r17_sequence); return offset; } static int dissect_lpp_TargetIntegrityRisk_r17(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, 10U, 90U, NULL, false); return offset; } static const per_sequence_t CommonIEsRequestLocationInformation_eag_3_sequence[] = { { &hf_lpp_scheduledLocationTime_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ScheduledLocationTime_r17 }, { &hf_lpp_targetIntegrityRisk_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TargetIntegrityRisk_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_CommonIEsRequestLocationInformation_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, CommonIEsRequestLocationInformation_eag_3_sequence); return offset; } static const value_string lpp_T_reportingAmount_r18_vals[] = { { 0, "ra2" }, { 1, "ra4" }, { 2, "ra8" }, { 3, "ra16" }, { 4, "ra32" }, { 5, "ra64" }, { 6, "ra-Infinity" }, { 0, NULL } }; static int dissect_lpp_T_reportingAmount_r18(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 int dissect_lpp_INTEGER_1_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, 1U, 999U, NULL, false); return offset; } static const per_sequence_t PeriodicalReportingCriteriaExt_r18_sequence[] = { { &hf_lpp_reportingAmount_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_reportingAmount_r18 }, { &hf_lpp_reportingIntervalMs_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_999 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_PeriodicalReportingCriteriaExt_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_PeriodicalReportingCriteriaExt_r18, PeriodicalReportingCriteriaExt_r18_sequence); return offset; } static const per_sequence_t CommonIEsRequestLocationInformation_eag_4_sequence[] = { { &hf_lpp_periodicalReportingExt_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PeriodicalReportingCriteriaExt_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_CommonIEsRequestLocationInformation_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, CommonIEsRequestLocationInformation_eag_4_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsRequestLocationInformation_eag_3 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsRequestLocationInformation_eag_4 }, { 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 value_string lpp_T_ha_GNSS_MetricsReq_r17_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_ha_GNSS_MetricsReq_r17(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_2_sequence[] = { { &hf_lpp_ha_GNSS_MetricsReq_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_ha_GNSS_MetricsReq_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_PositioningInstructions_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_PositioningInstructions_eag_2_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_PositioningInstructions_eag_2 }, { 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, &hf_lpp_T_requestedMeasurements_r13_01_aod_v1800, 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, 2, NULL, NULL); return offset; } static int * const T_bt_requestedAoA_Config_r18_bits[] = { &hf_lpp_T_bt_requestedAoA_Config_r18_aoa_advConfig, &hf_lpp_T_bt_requestedAoA_Config_r18_aoa_cteConfig, NULL }; static int dissect_lpp_T_bt_requestedAoA_Config_r18(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_requestedAoA_Config_r18_bits, 2, NULL, NULL); return offset; } static const value_string lpp_T_cte_Status_r18_01_vals[] = { { 0, "enabled" }, { 1, "disabled" }, { 0, NULL } }; static int dissect_lpp_T_cte_Status_r18_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_M127_20(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, 20U, NULL, false); return offset; } static const value_string lpp_T_tx_PHY_M2_r18_01_vals[] = { { 0, "m2" }, { 0, NULL } }; static int dissect_lpp_T_tx_PHY_M2_r18_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 BT_SuggestedAoA_Config_r18_sequence[] = { { &hf_lpp_cte_Status_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_cte_Status_r18_01 }, { &hf_lpp_primaryAdvInterval_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_32_16777 }, { &hf_lpp_secondAdvInterval_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_6_65535 }, { &hf_lpp_tx_Power_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M127_20 }, { &hf_lpp_cte_Length_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_2_20 }, { &hf_lpp_cte_Count_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_16 }, { &hf_lpp_tx_PHY_M2_r18_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_tx_PHY_M2_r18_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_SuggestedAoA_Config_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_SuggestedAoA_Config_r18, BT_SuggestedAoA_Config_r18_sequence); return offset; } static const per_sequence_t BT_RequestLocationInformation_r13_eag_1_sequence[] = { { &hf_lpp_bt_requestedAoA_Config_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_bt_requestedAoA_Config_r18 }, { &hf_lpp_bt_suggestedAoA_Config_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BT_SuggestedAoA_Config_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_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, BT_RequestLocationInformation_r13_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_BT_RequestLocationInformation_r13_eag_1 }, { 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, &hf_lpp_T_nr_RequestedMeasurements_r16_01_firstPathRsrpReq_r17, &hf_lpp_T_nr_RequestedMeasurements_r16_01_dl_PRS_RSCP_Request_r18, 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, 3, 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 value_string lpp_T_nr_UE_RxTxTEG_Request_r17_vals[] = { { 0, "case1" }, { 1, "case2" }, { 2, "case3" }, { 0, NULL } }; static int dissect_lpp_T_nr_UE_RxTxTEG_Request_r17(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 value_string lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTxTEGs_r17_vals[] = { { 0, "n0" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n6" }, { 5, "n8" }, { 0, NULL } }; static int dissect_lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTxTEGs_r17(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_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_02_vals[] = { { 0, "n0" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n6" }, { 5, "n8" }, { 0, NULL } }; static int dissect_lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_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, 6, NULL, true, 0, NULL); return offset; } static const value_string lpp_T_reducedDL_PRS_ProcessingSamples_r17_02_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_reducedDL_PRS_ProcessingSamples_r17_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, 0, NULL); return offset; } static const value_string lpp_LOS_NLOS_IndicatorType1_r17_vals[] = { { 0, "hardvalue" }, { 1, "softvalue" }, { 0, NULL } }; static int dissect_lpp_LOS_NLOS_IndicatorType1_r17(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_LOS_NLOS_IndicatorGranularity1_r17_vals[] = { { 0, "trpspecific" }, { 1, "resourcespecific" }, { 0, NULL } }; static int dissect_lpp_LOS_NLOS_IndicatorGranularity1_r17(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 T_nr_los_nlos_IndicatorRequest_r17_02_sequence[] = { { &hf_lpp_type_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorType1_r17 }, { &hf_lpp_granularity_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorGranularity1_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_IndicatorRequest_r17_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_nr_los_nlos_IndicatorRequest_r17_02, T_nr_los_nlos_IndicatorRequest_r17_02_sequence); return offset; } static const value_string lpp_T_additionalPathsExt_r17_01_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_additionalPathsExt_r17_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_additionalPathsDL_PRS_RSRP_Request_r17_01_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_additionalPathsDL_PRS_RSRP_Request_r17_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_multiMeasInSameReport_r17_02_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_multiMeasInSameReport_r17_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 value_string lpp_T_lowerRxBeamSweepingFactor_FR2_r17_02_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_lowerRxBeamSweepingFactor_FR2_r17_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 NR_Multi_RTT_RequestLocationInformation_r16_eag_1_sequence[] = { { &hf_lpp_nr_UE_RxTxTEG_Request_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_UE_RxTxTEG_Request_r17 }, { &hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTxTEGs_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTxTEGs_r17 }, { &hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_02 }, { &hf_lpp_reducedDL_PRS_ProcessingSamples_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_reducedDL_PRS_ProcessingSamples_r17_02 }, { &hf_lpp_nr_los_nlos_IndicatorRequest_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_los_nlos_IndicatorRequest_r17_02 }, { &hf_lpp_additionalPathsExt_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_additionalPathsExt_r17_01 }, { &hf_lpp_additionalPathsDL_PRS_RSRP_Request_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_additionalPathsDL_PRS_RSRP_Request_r17_01 }, { &hf_lpp_multiMeasInSameReport_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_multiMeasInSameReport_r17_02 }, { &hf_lpp_lowerRxBeamSweepingFactor_FR2_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_lowerRxBeamSweepingFactor_FR2_r17_02 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_RequestLocationInformation_r16_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, NR_Multi_RTT_RequestLocationInformation_r16_eag_1_sequence); return offset; } static const value_string lpp_T_fr1_04_vals[] = { { 0, "mhz40" }, { 1, "mhz50" }, { 2, "mhz80" }, { 3, "mhz100" }, { 0, NULL } }; static int dissect_lpp_T_fr1_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, false, 0, NULL); return offset; } static const value_string lpp_T_fr2_04_vals[] = { { 0, "mhz100" }, { 1, "mhz200" }, { 2, "mhz400" }, { 0, NULL } }; static int dissect_lpp_T_fr2_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, 3, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02_vals[] = { { 0, "fr1" }, { 1, "fr2" }, { 0, NULL } }; static const per_choice_t T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02_choice[] = { { 0, &hf_lpp_fr1_04 , ASN1_NO_EXTENSIONS , dissect_lpp_T_fr1_04 }, { 1, &hf_lpp_fr2_04 , ASN1_NO_EXTENSIONS , dissect_lpp_T_fr2_04 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_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_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02, T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02_choice, NULL); return offset; } static const per_sequence_t T_nr_DL_PRS_RxHoppingRequest_r18_02_sequence[] = { { &hf_lpp_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_RxHoppingRequest_r18_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_nr_DL_PRS_RxHoppingRequest_r18_02, T_nr_DL_PRS_RxHoppingRequest_r18_02_sequence); return offset; } static int dissect_lpp_INTEGER_M6_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, -6, -1, NULL, false); return offset; } static const per_sequence_t T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_01_sequence_of[1] = { { &hf_lpp_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_nrMaxFreqLayers_1_r16 }, }; static int dissect_lpp_T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_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_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_01, T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_01_sequence_of, 2, 3, false); return offset; } static const per_sequence_t T_nr_DL_PRS_JointMeasurementRequest_r18_01_sequence[] = { { &hf_lpp_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_JointMeasurementRequest_r18_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_DL_PRS_JointMeasurementRequest_r18_01, T_nr_DL_PRS_JointMeasurementRequest_r18_01_sequence); return offset; } static const value_string lpp_T_nr_OneShotSlotOffsetTimeWindow_r18_vals[] = { { 0, "scs15-r18" }, { 1, "scs30-r18" }, { 2, "scs60-r18" }, { 3, "scs120-r18" }, { 0, NULL } }; static const per_choice_t T_nr_OneShotSlotOffsetTimeWindow_r18_choice[] = { { 0, &hf_lpp_scs15_r18 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_10239 }, { 1, &hf_lpp_scs30_r18 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_20479 }, { 2, &hf_lpp_scs60_r18 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_40959 }, { 3, &hf_lpp_scs120_r18 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_81919 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_nr_OneShotSlotOffsetTimeWindow_r18(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_OneShotSlotOffsetTimeWindow_r18, T_nr_OneShotSlotOffsetTimeWindow_r18_choice, NULL); return offset; } static const value_string lpp_T_nr_PeriodicOrOneShotTimeWindow_r18_vals[] = { { 0, "nr-PeriodicityAndSlotOffsetTimeWindow-r18" }, { 1, "nr-OneShotSlotOffsetTimeWindow-r18" }, { 0, NULL } }; static const per_choice_t T_nr_PeriodicOrOneShotTimeWindow_r18_choice[] = { { 0, &hf_lpp_nr_PeriodicityAndSlotOffsetTimeWindow_r18, ASN1_NO_EXTENSIONS , dissect_lpp_NR_DL_PRS_Periodicity_and_ResourceSetSlotOffset_r16 }, { 1, &hf_lpp_nr_OneShotSlotOffsetTimeWindow_r18, ASN1_NO_EXTENSIONS , dissect_lpp_T_nr_OneShotSlotOffsetTimeWindow_r18 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_nr_PeriodicOrOneShotTimeWindow_r18(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_PeriodicOrOneShotTimeWindow_r18, T_nr_PeriodicOrOneShotTimeWindow_r18_choice, NULL); return offset; } static const value_string lpp_T_nr_DurationTimeWindow_r18_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n6" }, { 4, "n8" }, { 5, "n12" }, { 6, "n16" }, { 0, NULL } }; static int dissect_lpp_T_nr_DurationTimeWindow_r18(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 per_sequence_t T_dl_SelectedPRS_ResourceSetIndexList_r18_sequence_of[1] = { { &hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_nrMaxSetsPerTrpPerFreqLayer_1_r16 }, }; static int dissect_lpp_T_dl_SelectedPRS_ResourceSetIndexList_r18(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_dl_SelectedPRS_ResourceSetIndexList_r18, T_dl_SelectedPRS_ResourceSetIndexList_r18_sequence_of, 1, nrMaxSetsPerTrpPerFreqLayer_r16, false); return offset; } static const per_sequence_t NR_SelectedDL_PRS_IndexPerTRP_r18_sequence[] = { { &hf_lpp_nr_SelectedTRP_Index_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_nrMaxTRPsPerFreq_1_r16 }, { &hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_dl_SelectedPRS_ResourceSetIndexList_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_SelectedDL_PRS_IndexPerTRP_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_r18, NR_SelectedDL_PRS_IndexPerTRP_r18_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r18_sequence_of[1] = { { &hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_SelectedDL_PRS_IndexPerTRP_r18 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r18(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_r18, SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r18_sequence_of, 1, nrMaxTRPsPerFreq_r16, false); return offset; } static int * const T_nr_MeasurementsToPerformInTimeWindow_r18_bits[] = { &hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rstd, &hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_ueRxTx, &hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rsrp, &hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rsrpp, &hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rscp, &hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rscpd, NULL }; static int dissect_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18(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_nr_MeasurementsToPerformInTimeWindow_r18_bits, 6, NULL, NULL); return offset; } static const per_sequence_t NR_DL_PRS_MeasurementTimeWindowsConfigElement_r18_sequence[] = { { &hf_lpp_nr_StartSFN_TimeWindow_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 }, { &hf_lpp_nr_PeriodicOrOneShotTimeWindow_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_PeriodicOrOneShotTimeWindow_r18 }, { &hf_lpp_nr_SymbolOffsetTimeWindow_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_13 }, { &hf_lpp_nr_DurationTimeWindow_r18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nr_DurationTimeWindow_r18 }, { &hf_lpp_nr_SelectedDL_PRS_FrequencyLayerIndex_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_nrMaxFreqLayers_1_r16 }, { &hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r18 }, { &hf_lpp_nr_MeasurementsToPerformInTimeWindow_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_PRS_MeasurementTimeWindowsConfigElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_MeasurementTimeWindowsConfigElement_r18, NR_DL_PRS_MeasurementTimeWindowsConfigElement_r18_sequence); return offset; } static const per_sequence_t NR_DL_PRS_MeasurementTimeWindowsConfig_r18_sequence_of[1] = { { &hf_lpp_NR_DL_PRS_MeasurementTimeWindowsConfig_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_PRS_MeasurementTimeWindowsConfigElement_r18 }, }; static int dissect_lpp_NR_DL_PRS_MeasurementTimeWindowsConfig_r18(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_MeasurementTimeWindowsConfig_r18, NR_DL_PRS_MeasurementTimeWindowsConfig_r18_sequence_of, 1, 2, false); return offset; } static const per_sequence_t NR_Multi_RTT_RequestLocationInformation_r16_eag_2_sequence[] = { { &hf_lpp_nr_DL_PRS_RxHoppingRequest_r18_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_RxHoppingRequest_r18_02 }, { &hf_lpp_timingReportingGranularityFactorExt_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M6_M1 }, { &hf_lpp_nr_DL_PRS_JointMeasurementRequest_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_JointMeasurementRequest_r18_01 }, { &hf_lpp_nr_DL_PRS_MeasurementTimeWindowsConfig_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_MeasurementTimeWindowsConfig_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_RequestLocationInformation_r16_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, NR_Multi_RTT_RequestLocationInformation_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_RequestLocationInformation_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_RequestLocationInformation_r16_eag_2 }, { 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 int dissect_lpp_INTEGER_9_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, 9U, 24U, NULL, false); return offset; } static const per_sequence_t T_nr_los_nlos_IndicatorRequest_r17_01_sequence[] = { { &hf_lpp_type_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorType1_r17 }, { &hf_lpp_granularity_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorGranularity1_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_IndicatorRequest_r17_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_los_nlos_IndicatorRequest_r17_01, T_nr_los_nlos_IndicatorRequest_r17_01_sequence); return offset; } static const value_string lpp_T_reducedDL_PRS_ProcessingSamples_r17_01_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_reducedDL_PRS_ProcessingSamples_r17_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, true, 0, NULL); return offset; } static const value_string lpp_T_lowerRxBeamSweepingFactor_FR2_r17_01_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_lowerRxBeamSweepingFactor_FR2_r17_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_DL_AoD_ReportConfig_r16_eag_1_sequence[] = { { &hf_lpp_maxDL_PRS_RSRP_MeasurementsPerTRP_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_9_24 }, { &hf_lpp_maxDL_PRS_RSRPP_MeasurementsPerTRP_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_24 }, { &hf_lpp_nr_los_nlos_IndicatorRequest_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_los_nlos_IndicatorRequest_r17_01 }, { &hf_lpp_reducedDL_PRS_ProcessingSamples_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_reducedDL_PRS_ProcessingSamples_r17_01 }, { &hf_lpp_lowerRxBeamSweepingFactor_FR2_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_lowerRxBeamSweepingFactor_FR2_r17_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_ReportConfig_r16_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, NR_DL_AoD_ReportConfig_r16_eag_1_sequence); return offset; } static const per_sequence_t NR_DL_AoD_ReportConfig_r16_eag_2_sequence[] = { { &hf_lpp_nr_DL_PRS_MeasurementTimeWindowsConfig_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_MeasurementTimeWindowsConfig_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_ReportConfig_r16_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, NR_DL_AoD_ReportConfig_r16_eag_2_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_ReportConfig_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_ReportConfig_r16_eag_2 }, { 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 value_string lpp_T_multiMeasInSameReport_r17_01_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_multiMeasInSameReport_r17_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_DL_AoD_RequestLocationInformation_r16_eag_1_sequence[] = { { &hf_lpp_multiMeasInSameReport_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_multiMeasInSameReport_r17_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_RequestLocationInformation_r16_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, NR_DL_AoD_RequestLocationInformation_r16_eag_1_sequence); return offset; } static const value_string lpp_T_fr1_03_vals[] = { { 0, "mhz40" }, { 1, "mhz50" }, { 2, "mhz80" }, { 3, "mhz100" }, { 0, NULL } }; static int dissect_lpp_T_fr1_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, false, 0, NULL); return offset; } static const value_string lpp_T_fr2_03_vals[] = { { 0, "mhz100" }, { 1, "mhz200" }, { 2, "mhz400" }, { 0, NULL } }; static int dissect_lpp_T_fr2_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, 3, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01_vals[] = { { 0, "fr1" }, { 1, "fr2" }, { 0, NULL } }; static const per_choice_t T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01_choice[] = { { 0, &hf_lpp_fr1_03 , ASN1_NO_EXTENSIONS , dissect_lpp_T_fr1_03 }, { 1, &hf_lpp_fr2_03 , ASN1_NO_EXTENSIONS , dissect_lpp_T_fr2_03 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_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_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01, T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01_choice, NULL); return offset; } static const per_sequence_t T_nr_DL_PRS_RxHoppingRequest_r18_01_sequence[] = { { &hf_lpp_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_RxHoppingRequest_r18_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_DL_PRS_RxHoppingRequest_r18_01, T_nr_DL_PRS_RxHoppingRequest_r18_01_sequence); return offset; } static const per_sequence_t NR_DL_AoD_RequestLocationInformation_r16_eag_2_sequence[] = { { &hf_lpp_nr_DL_PRS_RxHoppingRequest_r18_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_RxHoppingRequest_r18_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_RequestLocationInformation_r16_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, NR_DL_AoD_RequestLocationInformation_r16_eag_2_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_RequestLocationInformation_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_RequestLocationInformation_r16_eag_2 }, { 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, &hf_lpp_T_nr_RequestedMeasurements_r16_firstPathRsrpReq_r17, &hf_lpp_T_nr_RequestedMeasurements_r16_dl_PRS_RSCPD_Request_r18, 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, 3, NULL, NULL); return offset; } static const value_string lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_01_vals[] = { { 0, "n0" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n6" }, { 5, "n8" }, { 0, NULL } }; static int dissect_lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_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, true, 0, NULL); return offset; } static const value_string lpp_T_reducedDL_PRS_ProcessingSamples_r17_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_reducedDL_PRS_ProcessingSamples_r17(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_lowerRxBeamSweepingFactor_FR2_r17_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_lowerRxBeamSweepingFactor_FR2_r17(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_ReportConfig_r16_eag_1_sequence[] = { { &hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_01 }, { &hf_lpp_reducedDL_PRS_ProcessingSamples_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_reducedDL_PRS_ProcessingSamples_r17 }, { &hf_lpp_lowerRxBeamSweepingFactor_FR2_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_lowerRxBeamSweepingFactor_FR2_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_ReportConfig_r16_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, NR_DL_TDOA_ReportConfig_r16_eag_1_sequence); return offset; } static const per_sequence_t NR_DL_TDOA_ReportConfig_r16_eag_2_sequence[] = { { &hf_lpp_timingReportingGranularityFactorExt_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M6_M1 }, { &hf_lpp_nr_DL_PRS_MeasurementTimeWindowsConfig_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_DL_PRS_MeasurementTimeWindowsConfig_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_ReportConfig_r16_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, NR_DL_TDOA_ReportConfig_r16_eag_2_sequence); return offset; } static const per_sequence_t NR_DL_TDOA_ReportConfig_r16_sequence[] = { { &hf_lpp_maxDL_PRS_RSTD_MeasurementsPerTRP_Pair_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_ReportConfig_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_ReportConfig_r16_eag_2 }, { 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 value_string lpp_T_nr_UE_RxTEG_Request_r17_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_nr_UE_RxTEG_Request_r17(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 T_nr_los_nlos_IndicatorRequest_r17_sequence[] = { { &hf_lpp_type_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorType1_r17 }, { &hf_lpp_granularity_r17 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LOS_NLOS_IndicatorGranularity1_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_IndicatorRequest_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_los_nlos_IndicatorRequest_r17, T_nr_los_nlos_IndicatorRequest_r17_sequence); return offset; } static const value_string lpp_T_additionalPathsExt_r17_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_additionalPathsExt_r17(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_additionalPathsDL_PRS_RSRP_Request_r17_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_additionalPathsDL_PRS_RSRP_Request_r17(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_multiMeasInSameReport_r17_vals[] = { { 0, "requested" }, { 0, NULL } }; static int dissect_lpp_T_multiMeasInSameReport_r17(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_eag_1_sequence[] = { { &hf_lpp_nr_UE_RxTEG_Request_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_UE_RxTEG_Request_r17 }, { &hf_lpp_nr_los_nlos_IndicatorRequest_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_los_nlos_IndicatorRequest_r17 }, { &hf_lpp_additionalPathsExt_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_additionalPathsExt_r17 }, { &hf_lpp_additionalPathsDL_PRS_RSRP_Request_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_additionalPathsDL_PRS_RSRP_Request_r17 }, { &hf_lpp_multiMeasInSameReport_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_multiMeasInSameReport_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_RequestLocationInformation_r16_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, NR_DL_TDOA_RequestLocationInformation_r16_eag_1_sequence); return offset; } static const per_sequence_t T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_sequence_of[1] = { { &hf_lpp_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_nrMaxFreqLayers_1_r16 }, }; static int dissect_lpp_T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18(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_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18, T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_sequence_of, 2, 3, false); return offset; } static const per_sequence_t T_nr_DL_PRS_JointMeasurementRequest_r18_sequence[] = { { &hf_lpp_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_JointMeasurementRequest_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_DL_PRS_JointMeasurementRequest_r18, T_nr_DL_PRS_JointMeasurementRequest_r18_sequence); return offset; } static const value_string lpp_T_fr1_02_vals[] = { { 0, "mhz40" }, { 1, "mhz50" }, { 2, "mhz80" }, { 3, "mhz100" }, { 0, NULL } }; static int dissect_lpp_T_fr1_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, false, 0, NULL); return offset; } static const value_string lpp_T_fr2_02_vals[] = { { 0, "mhz100" }, { 1, "mhz200" }, { 2, "mhz400" }, { 0, NULL } }; static int dissect_lpp_T_fr2_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, 3, NULL, false, 0, NULL); return offset; } static const value_string lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_vals[] = { { 0, "fr1" }, { 1, "fr2" }, { 0, NULL } }; static const per_choice_t T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_choice[] = { { 0, &hf_lpp_fr1_02 , ASN1_NO_EXTENSIONS , dissect_lpp_T_fr1_02 }, { 1, &hf_lpp_fr2_02 , ASN1_NO_EXTENSIONS , dissect_lpp_T_fr2_02 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18(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_DL_PRS_RxHoppingTotalBandwidth_r18, T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_choice, NULL); return offset; } static const per_sequence_t T_nr_DL_PRS_RxHoppingRequest_r18_sequence[] = { { &hf_lpp_nr_DL_PRS_RxHoppingTotalBandwidth_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_nr_DL_PRS_RxHoppingRequest_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_DL_PRS_RxHoppingRequest_r18, T_nr_DL_PRS_RxHoppingRequest_r18_sequence); return offset; } static const per_sequence_t NR_DL_TDOA_RequestLocationInformation_r16_eag_2_sequence[] = { { &hf_lpp_nr_DL_PRS_JointMeasurementRequest_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_JointMeasurementRequest_r18 }, { &hf_lpp_nr_DL_PRS_RxHoppingRequest_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_DL_PRS_RxHoppingRequest_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_RequestLocationInformation_r16_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, NR_DL_TDOA_RequestLocationInformation_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_RequestLocationInformation_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_RequestLocationInformation_r16_eag_2 }, { 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_) { 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 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 int dissect_lpp_INTEGER_0_50000(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, 50000U, NULL, false); return offset; } static int dissect_lpp_INTEGER_10_90(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, 10U, 90U, NULL, false); return offset; } static const per_sequence_t IntegrityInfo_r17_sequence[] = { { &hf_lpp_horizontalProtectionLevel_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_50000 }, { &hf_lpp_verticalProtectionLevel_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_50000 }, { &hf_lpp_achievableTargetIntegrityRisk_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_10_90 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_IntegrityInfo_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_IntegrityInfo_r17, IntegrityInfo_r17_sequence); return offset; } static const per_sequence_t CommonIEsProvideLocationInformation_eag_4_sequence[] = { { &hf_lpp_integrityInfo_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_IntegrityInfo_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_CommonIEsProvideLocationInformation_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, CommonIEsProvideLocationInformation_eag_4_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsProvideLocationInformation_eag_4 }, { 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_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 int dissect_lpp_INTEGER_0_99(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, 99U, NULL, false); return offset; } static const value_string lpp_T_fixType_r17_vals[] = { { 0, "carrier-phase-float" }, { 1, "carrier-phase-fix" }, { 0, NULL } }; static int dissect_lpp_T_fixType_r17(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 HA_GNSS_Metrics_r17_sequence[] = { { &hf_lpp_nrOfUsedSatellites_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_64 }, { &hf_lpp_hdopi_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_256 }, { &hf_lpp_pdopi_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_256 }, { &hf_lpp_age_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_99 }, { &hf_lpp_fixType_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_fixType_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_HA_GNSS_Metrics_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_lpp_HA_GNSS_Metrics_r17, HA_GNSS_Metrics_r17_sequence); return offset; } static const per_sequence_t GNSS_LocationInformation_eag_1_sequence[] = { { &hf_lpp_ha_GNSS_Metrics_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_HA_GNSS_Metrics_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_GNSS_LocationInformation_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_LocationInformation_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_LocationInformation_eag_1 }, { 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_) { 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); if (error_Resolution_tvb) { unsigned 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_) { 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); if (error_Value_tvb) { unsigned 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_) { 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); if (error_NumSamples_tvb) { unsigned 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_) { 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_MeasurementElement_r18_sequence[] = { { &hf_lpp_btAddr_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_48 }, { &hf_lpp_bt_azimuth_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 }, { &hf_lpp_bt_elevation_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_180 }, { &hf_lpp_rssi_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M128_127 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_MeasurementElement_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_r18, BT_MeasurementElement_r18_sequence); return offset; } static const per_sequence_t BT_MeasurementList_r18_sequence_of[1] = { { &hf_lpp_BT_MeasurementList_r18_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BT_MeasurementElement_r18 }, }; static int dissect_lpp_BT_MeasurementList_r18(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_r18, BT_MeasurementList_r18_sequence_of, 1, maxBT_Beacon_r13, false); return offset; } static const per_sequence_t BT_MeasurementInformation_r13_eag_1_sequence[] = { { &hf_lpp_bt_MeasurementList_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BT_MeasurementList_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_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, BT_MeasurementInformation_r13_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_BT_MeasurementInformation_r13_eag_1 }, { 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_cte_Status_r18_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int dissect_lpp_T_cte_Status_r18(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_tx_PHY_M2_r18_vals[] = { { 0, "m2" }, { 0, NULL } }; static int dissect_lpp_T_tx_PHY_M2_r18(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_AoA_Config_r18_sequence[] = { { &hf_lpp_bt_Addr_r18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_48 }, { &hf_lpp_cte_Status_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_cte_Status_r18 }, { &hf_lpp_primaryAdvInterval_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_32_16777 }, { &hf_lpp_secondAdvInterval_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_6_65535 }, { &hf_lpp_tx_Power_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M127_20 }, { &hf_lpp_cte_Length_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_2_20 }, { &hf_lpp_cte_Count_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_16 }, { &hf_lpp_tx_PHY_M2_r18 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_tx_PHY_M2_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_AoA_Config_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_AoA_Config_r18, BT_AoA_Config_r18_sequence); return offset; } static const per_sequence_t BT_ProvideLocationInformation_r13_eag_1_sequence[] = { { &hf_lpp_bt_AoA_Config_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BT_AoA_Config_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_BT_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, BT_ProvideLocationInformation_r13_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_BT_ProvideLocationInformation_r13_eag_1 }, { 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 value_string lpp_T_remoteUE_Indication_r18_01_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_remoteUE_Indication_r18_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_ECID_TargetDeviceErrorCauses_r16_eag_1_sequence[] = { { &hf_lpp_remoteUE_Indication_r18_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_remoteUE_Indication_r18_01 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_ECID_TargetDeviceErrorCauses_r16_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, NR_ECID_TargetDeviceErrorCauses_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_ECID_TargetDeviceErrorCauses_r16_eag_1 }, { 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 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" }, { 6, "kMinus6-r18" }, { 7, "kMinus5-r18" }, { 8, "kMinus4-r18" }, { 9, "kMinus3-r18" }, { 10, "kMinus2-r18" }, { 11, "kMinus1-r18" }, { 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 }, { 6, &hf_lpp_kMinus6_r18_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_126083073 }, { 7, &hf_lpp_kMinus5_r18_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_63041537 }, { 8, &hf_lpp_kMinus4_r18_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_31520769 }, { 9, &hf_lpp_kMinus3_r18_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_15760385 }, { 10, &hf_lpp_kMinus2_r18_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_7880193 }, { 11, &hf_lpp_kMinus1_r18_01 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_3940097 }, { 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 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" }, { 6, "kMinus6-r18" }, { 7, "kMinus5-r18" }, { 8, "kMinus4-r18" }, { 9, "kMinus3-r18" }, { 10, "kMinus2-r18" }, { 11, "kMinus1-r18" }, { 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 }, { 6, &hf_lpp_kMinus6_r18_02 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_524224 }, { 7, &hf_lpp_kMinus5_r18_02 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_262112 }, { 8, &hf_lpp_kMinus4_r18_02 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_131056 }, { 9, &hf_lpp_kMinus3_r18_02 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_65528 }, { 10, &hf_lpp_kMinus2_r18_02 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_32764 }, { 11, &hf_lpp_kMinus1_r18_02 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_INTEGER_0_16382 }, { 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 int dissect_lpp_INTEGER_0_maxNumOfRxTxTEGs_1_r17(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, maxNumOfRxTxTEGs_1_r17, NULL, false); return offset; } static const per_sequence_t T_case1_r17_sequence[] = { { &hf_lpp_nr_UE_RxTx_TEG_ID_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_maxNumOfRxTxTEGs_1_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_case1_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_case1_r17, T_case1_r17_sequence); return offset; } static int dissect_lpp_INTEGER_1_maxTxTEG_Sets_r17(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, maxTxTEG_Sets_r17, NULL, false); return offset; } static const per_sequence_t T_case2_r17_sequence[] = { { &hf_lpp_nr_UE_RxTx_TEG_ID_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_maxNumOfRxTxTEGs_1_r17 }, { &hf_lpp_nr_UE_Tx_TEG_Index_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_maxTxTEG_Sets_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_case2_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_case2_r17, T_case2_r17_sequence); return offset; } static const per_sequence_t T_case3_r17_sequence[] = { { &hf_lpp_nr_UE_Rx_TEG_ID_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_maxNumOfRxTEGs_1_r17 }, { &hf_lpp_nr_UE_Tx_TEG_Index_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_maxTxTEG_Sets_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_case3_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_case3_r17, T_case3_r17_sequence); return offset; } static const value_string lpp_NR_UE_RxTx_TEG_Info_r17_vals[] = { { 0, "case1-r17" }, { 1, "case2-r17" }, { 2, "case3-r17" }, { 0, NULL } }; static const per_choice_t NR_UE_RxTx_TEG_Info_r17_choice[] = { { 0, &hf_lpp_case1_r17 , ASN1_EXTENSION_ROOT , dissect_lpp_T_case1_r17 }, { 1, &hf_lpp_case2_r17 , ASN1_EXTENSION_ROOT , dissect_lpp_T_case2_r17 }, { 2, &hf_lpp_case3_r17 , ASN1_EXTENSION_ROOT , dissect_lpp_T_case3_r17 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_NR_UE_RxTx_TEG_Info_r17(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_UE_RxTx_TEG_Info_r17, NR_UE_RxTx_TEG_Info_r17_choice, NULL); return offset; } static const per_sequence_t NR_Multi_RTT_AdditionalMeasurementElement_r16_eag_1_sequence[] = { { &hf_lpp_nr_UE_RxTx_TEG_Info_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_UE_RxTx_TEG_Info_r17 }, { &hf_lpp_nr_DL_PRS_FirstPathRSRP_ResultDiff_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_61 }, { &hf_lpp_nr_los_nlos_IndicatorPerResource_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LOS_NLOS_Indicator_r17 }, { &hf_lpp_nr_AdditionalPathListExt_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_AdditionalPathListExt_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_AdditionalMeasurementElement_r16_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, NR_Multi_RTT_AdditionalMeasurementElement_r16_eag_1_sequence); return offset; } static const value_string lpp_T_nr_MeasBasedOnAggregatedResources_r18_03_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_nr_MeasBasedOnAggregatedResources_r18_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 value_string lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_05_vals[] = { { 0, "singleHop" }, { 1, "multipleHop" }, { 0, NULL } }; static int dissect_lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_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 int dissect_lpp_INTEGER_0_542(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, 542U, NULL, false); return offset; } static int dissect_lpp_INTEGER_M265_265(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, -265, 265U, NULL, false); return offset; } static const per_sequence_t NR_NTN_UE_RxTxMeasurements_r18_sequence[] = { { &hf_lpp_nr_NTN_UE_RxTxTimeDiffSubframeOffset_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_542 }, { &hf_lpp_nr_NTN_DL_TimingDrift_r18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M265_265 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_NTN_UE_RxTxMeasurements_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_NTN_UE_RxTxMeasurements_r18, NR_NTN_UE_RxTxMeasurements_r18_sequence); return offset; } static const per_sequence_t NR_Multi_RTT_AdditionalMeasurementElement_r16_eag_2_sequence[] = { { &hf_lpp_nr_MeasBasedOnAggregatedResources_r18_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_MeasBasedOnAggregatedResources_r18_03 }, { &hf_lpp_nr_AggregatedDL_PRS_ResourceInfo_List_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_2_3_OF_NR_AggregatedDL_PRS_ResourceInfo_Element_r18 }, { &hf_lpp_nr_RSCP_r18 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3599 }, { &hf_lpp_nr_PhaseQuality_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_PhaseQuality_r18 }, { &hf_lpp_nr_RSCP_AdditionalMeasurementsAddSample_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18 }, { &hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_05 }, { &hf_lpp_nr_NTN_UE_RxTxMeasurements_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_NTN_UE_RxTxMeasurements_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_AdditionalMeasurementElement_r16_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, NR_Multi_RTT_AdditionalMeasurementElement_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_AdditionalMeasurementElement_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_AdditionalMeasurementElement_r16_eag_2 }, { 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 value_string lpp_T_nr_los_nlos_Indicator_r17_02_vals[] = { { 0, "perTRP-r17" }, { 1, "perResource-r17" }, { 0, NULL } }; static const per_choice_t T_nr_los_nlos_Indicator_r17_02_choice[] = { { 0, &hf_lpp_perTRP_r17 , ASN1_NO_EXTENSIONS , dissect_lpp_LOS_NLOS_Indicator_r17 }, { 1, &hf_lpp_perResource_r17_01, ASN1_NO_EXTENSIONS , dissect_lpp_LOS_NLOS_Indicator_r17 }, { 0, NULL, 0, NULL } }; static int dissect_lpp_T_nr_los_nlos_Indicator_r17_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_nr_los_nlos_Indicator_r17_02, T_nr_los_nlos_Indicator_r17_02_choice, NULL); return offset; } static const per_sequence_t NR_Multi_RTT_AdditionalMeasurementsExt_r17_sequence_of[1] = { { &hf_lpp_NR_Multi_RTT_AdditionalMeasurementsExt_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_AdditionalMeasurementElement_r16 }, }; static int dissect_lpp_NR_Multi_RTT_AdditionalMeasurementsExt_r17(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_AdditionalMeasurementsExt_r17, NR_Multi_RTT_AdditionalMeasurementsExt_r17_sequence_of, 1, maxAddMeasRTT_r17, false); return offset; } static const per_sequence_t NR_Multi_RTT_MeasElement_r16_eag_1_sequence[] = { { &hf_lpp_nr_UE_RxTx_TEG_Info_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_UE_RxTx_TEG_Info_r17 }, { &hf_lpp_nr_DL_PRS_FirstPathRSRP_Result_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_126 }, { &hf_lpp_nr_los_nlos_Indicator_r17_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_los_nlos_Indicator_r17_02 }, { &hf_lpp_nr_AdditionalPathListExt_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_AdditionalPathListExt_r17 }, { &hf_lpp_nr_Multi_RTT_AdditionalMeasurementsExt_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_Multi_RTT_AdditionalMeasurementsExt_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_MeasElement_r16_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, NR_Multi_RTT_MeasElement_r16_eag_1_sequence); return offset; } static const value_string lpp_T_nr_MeasBasedOnAggregatedResources_r18_02_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_lpp_T_nr_MeasBasedOnAggregatedResources_r18_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 value_string lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_04_vals[] = { { 0, "singleHop" }, { 1, "multipleHop" }, { 0, NULL } }; static int dissect_lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_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 const per_sequence_t NR_Multi_RTT_MeasElement_r16_eag_2_sequence[] = { { &hf_lpp_nr_MeasBasedOnAggregatedResources_r18_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_MeasBasedOnAggregatedResources_r18_02 }, { &hf_lpp_nr_AggregatedDL_PRS_ResourceInfo_List_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_2_3_OF_NR_AggregatedDL_PRS_ResourceInfo_Element_r18 }, { &hf_lpp_nr_RSCP_r18 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3599 }, { &hf_lpp_nr_PhaseQuality_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_PhaseQuality_r18 }, { &hf_lpp_nr_RSCP_AddSampleMeasurements_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18 }, { &hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_04 }, { &hf_lpp_nr_NTN_UE_RxTxMeasurements_r18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NR_NTN_UE_RxTxMeasurements_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_MeasElement_r16_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, NR_Multi_RTT_MeasElement_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_MeasElement_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_MeasElement_r16_eag_2 }, { 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 int dissect_lpp_INTEGER_0_maxNumOfTxTEGs_1_r17(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, maxNumOfTxTEGs_1_r17, NULL, false); return offset; } static int dissect_lpp_INTEGER_0_2199(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, 2199U, NULL, false); return offset; } static const per_sequence_t T_carrierFreq_r17_sequence[] = { { &hf_lpp_absoluteFrequencyPointA_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueNR_r15 }, { &hf_lpp_offsetToPointA_r17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2199 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_T_carrierFreq_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_carrierFreq_r17, T_carrierFreq_r17_sequence); return offset; } static int dissect_lpp_INTEGER_0_maxNumOfSRS_PosResources_1_r17(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, maxNumOfSRS_PosResources_1_r17, NULL, false); return offset; } static const per_sequence_t T_srs_PosResourceList_r17_sequence_of[1] = { { &hf_lpp_srs_PosResourceList_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_maxNumOfSRS_PosResources_1_r17 }, }; static int dissect_lpp_T_srs_PosResourceList_r17(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_srs_PosResourceList_r17, T_srs_PosResourceList_r17_sequence_of, 1, maxNumOfSRS_PosResources_r17, false); return offset; } static const per_sequence_t NR_SRS_TxTEG_Element_r17_sequence[] = { { &hf_lpp_nr_TimeStamp_r17, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_TimeStamp_r16 }, { &hf_lpp_nr_UE_Tx_TEG_ID_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_maxNumOfTxTEGs_1_r17 }, { &hf_lpp_carrierFreq_r17 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_carrierFreq_r17 }, { &hf_lpp_srs_PosResourceList_r17, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_srs_PosResourceList_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_SRS_TxTEG_Element_r17(tvbuff_t *tvb _U_, int offset _U_, asn1_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_SRS_TxTEG_Element_r17, NR_SRS_TxTEG_Element_r17_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxTxTEG_Sets_r17_OF_NR_SRS_TxTEG_Element_r17_sequence_of[1] = { { &hf_lpp_nr_SRS_TxTEG_Set_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_SRS_TxTEG_Element_r17 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_maxTxTEG_Sets_r17_OF_NR_SRS_TxTEG_Element_r17(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_maxTxTEG_Sets_r17_OF_NR_SRS_TxTEG_Element_r17, SEQUENCE_SIZE_1_maxTxTEG_Sets_r17_OF_NR_SRS_TxTEG_Element_r17_sequence_of, 1, maxTxTEG_Sets_r17, false); return offset; } static const per_sequence_t NR_Multi_RTT_SignalMeasurementInformation_r16_eag_1_sequence[] = { { &hf_lpp_nr_SRS_TxTEG_Set_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxTxTEG_Sets_r17_OF_NR_SRS_TxTEG_Element_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_SignalMeasurementInformation_r16_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, NR_Multi_RTT_SignalMeasurementInformation_r16_eag_1_sequence); return offset; } static const value_string lpp_RxTxTEG_TimingErrorMargin_r17_vals[] = { { 0, "tc0-5" }, { 1, "tc1" }, { 2, "tc2" }, { 3, "tc4" }, { 4, "tc8" }, { 5, "tc12" }, { 6, "tc16" }, { 7, "tc20" }, { 8, "tc24" }, { 9, "tc32" }, { 10, "tc40" }, { 11, "tc48" }, { 12, "tc64" }, { 13, "tc80" }, { 14, "tc96" }, { 15, "tc128" }, { 0, NULL } }; static int dissect_lpp_RxTxTEG_TimingErrorMargin_r17(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, 16, NULL, false, 0, NULL); return offset; } static const per_sequence_t NR_Multi_RTT_SignalMeasurementInformation_r16_eag_2_sequence[] = { { &hf_lpp_nr_UE_RxTEG_TimingErrorMargin_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TEG_TimingErrorMargin_r17 }, { &hf_lpp_nr_UE_TxTEG_TimingErrorMargin_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TEG_TimingErrorMargin_r17 }, { &hf_lpp_nr_UE_RxTxTEG_TimingErrorMargin_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_RxTxTEG_TimingErrorMargin_r17 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_SignalMeasurementInformation_r16_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, NR_Multi_RTT_SignalMeasurementInformation_r16_eag_2_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_SignalMeasurementInformation_r16_eag_1 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_SignalMeasurementInformation_r16_eag_2 }, { 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 SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_Multi_RTT_SignalMeasurementInformation_r16_sequence_of[1] = { { &hf_lpp_nr_Multi_RTT_SignalMeasurementInstances_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_SignalMeasurementInformation_r16 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_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_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_Multi_RTT_SignalMeasurementInformation_r16, SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_Multi_RTT_SignalMeasurementInformation_r16_sequence_of, 1, maxMeasInstances_r17, false); return offset; } static const per_sequence_t NR_Multi_RTT_ProvideLocationInformation_r16_eag_1_sequence[] = { { &hf_lpp_nr_Multi_RTT_SignalMeasurementInstances_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_Multi_RTT_SignalMeasurementInformation_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_Multi_RTT_ProvideLocationInformation_r16_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, NR_Multi_RTT_ProvideLocationInformation_r16_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_Multi_RTT_ProvideLocationInformation_r16_eag_1 }, { 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 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_eag_1_sequence[] = { { &hf_lpp_locationCoordinates_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LocationCoordinates }, { &hf_lpp_locationSource_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LocationSource_r13 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_LocationInformation_r16_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, NR_DL_AoD_LocationInformation_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_LocationInformation_r16_eag_1 }, { 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 SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_SignalMeasurementInformation_r16_sequence_of[1] = { { &hf_lpp_nr_DL_AoD_SignalMeasurementInstances_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_SignalMeasurementInformation_r16 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_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_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_SignalMeasurementInformation_r16, SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_SignalMeasurementInformation_r16_sequence_of, 1, maxMeasInstances_r17, false); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_LocationInformation_r16_sequence_of[1] = { { &hf_lpp_nr_DL_AoD_LocationInformationInstances_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_LocationInformation_r16 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_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_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_LocationInformation_r16, SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_LocationInformation_r16_sequence_of, 1, maxMeasInstances_r17, false); return offset; } static const per_sequence_t NR_DL_AoD_ProvideLocationInformation_r16_eag_1_sequence[] = { { &hf_lpp_nr_DL_AoD_SignalMeasurementInstances_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_SignalMeasurementInformation_r16 }, { &hf_lpp_nr_DL_AoD_LocationInformationInstances_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_LocationInformation_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_AoD_ProvideLocationInformation_r16_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, NR_DL_AoD_ProvideLocationInformation_r16_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_AoD_ProvideLocationInformation_r16_eag_1 }, { 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_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_eag_1_sequence[] = { { &hf_lpp_locationCoordinates_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LocationCoordinates }, { &hf_lpp_locationSource_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LocationSource_r13 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_LocationInformation_r16_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, NR_DL_TDOA_LocationInformation_r16_eag_1_sequence); 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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_LocationInformation_r16_eag_1 }, { 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 SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_SignalMeasurementInformation_r16_sequence_of[1] = { { &hf_lpp_nr_DL_TDOA_SignalMeasurementInstances_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_SignalMeasurementInformation_r16 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_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_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_SignalMeasurementInformation_r16, SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_SignalMeasurementInformation_r16_sequence_of, 1, maxMeasInstances_r17, false); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_LocationInformation_r16_sequence_of[1] = { { &hf_lpp_nr_DL_TDOA_LocationInformationInstances_r17_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_LocationInformation_r16 }, }; static int dissect_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_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_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_LocationInformation_r16, SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_LocationInformation_r16_sequence_of, 1, maxMeasInstances_r17, false); return offset; } static const per_sequence_t NR_DL_TDOA_ProvideLocationInformation_r16_eag_1_sequence[] = { { &hf_lpp_nr_DL_TDOA_SignalMeasurementInstances_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_SignalMeasurementInformation_r16 }, { &hf_lpp_nr_DL_TDOA_LocationInformationInstances_r17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_LocationInformation_r16 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_DL_TDOA_ProvideLocationInformation_r16_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, NR_DL_TDOA_ProvideLocationInformation_r16_eag_1_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 }, { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NR_DL_TDOA_ProvideLocationInformation_r16_eag_1 }, { 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_) { 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_) { 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_) { 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_) { 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_) { 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_) { 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_1_9: dissect_GNSS_Integrity_ServiceParameters_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; case LPP_POS_SIB_TYPE_1_10: dissect_GNSS_Integrity_ServiceAlert_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; case LPP_POS_SIB_TYPE_1_11: dissect_GNSS_LOS_NLOS_GridPoints_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; case LPP_POS_SIB_TYPE_1_12: dissect_GNSS_SSR_IOD_Update_r18_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_17a: dissect_GNSS_SSR_OrbitCorrectionsSet2_r17_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_18a: dissect_GNSS_SSR_ClockCorrectionsSet2_r17_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_20a: dissect_GNSS_SSR_URA_Set2_r17_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_2_26: dissect_GNSS_LOS_NLOS_GriddedIndications_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; case LPP_POS_SIB_TYPE_2_27: dissect_GNSS_SSR_SatellitePCVResiduals_r18_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; case LPP_POS_SIB_TYPE_6_4: dissect_NR_TRP_BeamAntennaInfo_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; case LPP_POS_SIB_TYPE_6_5: dissect_NR_DL_PRS_TRP_TEG_Info_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; case LPP_POS_SIB_TYPE_6_6: dissect_NR_On_Demand_DL_PRS_Configurations_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; case LPP_POS_SIB_TYPE_6_7: dissect_NR_PRU_DL_Info_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; case LPP_POS_SIB_TYPE_7_1: dissect_NR_IntegrityRiskParameters_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; case LPP_POS_SIB_TYPE_7_2: dissect_NR_IntegrityServiceParameters_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; case LPP_POS_SIB_TYPE_7_3: dissect_NR_IntegrityServiceAlert_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; case LPP_POS_SIB_TYPE_7_4: dissect_NR_IntegrityParameters_r18_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; } static const per_sequence_t NR_IntegrityParameters_r18_sequence[] = { { &hf_lpp_nr_IntegrityParametersTRP_LocationInfo_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityParametersTRP_LocationInfo_r18 }, { &hf_lpp_nr_IntegrityParametersDL_PRS_BeamInfo_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityParametersDL_PRS_BeamInfo_r18 }, { &hf_lpp_nr_IntegrityParametersRTD_Info_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityParametersRTD_Info_r18 }, { &hf_lpp_nr_IntegrityParametersTRP_BeamAntennaInfo_r18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NR_IntegrityParametersTRP_BeamAntennaInfo_r18 }, { NULL, 0, 0, NULL } }; static int dissect_lpp_NR_IntegrityParameters_r18(tvbuff_t *tvb _U_, int offset _U_, asn1_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_IntegrityParameters_r18, NR_IntegrityParameters_r18_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_NR_DL_PRS_TRP_TEG_Info_r17_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_TRP_TEG_Info_r17(tvb, offset, &asn1_ctx, tree, hf_lpp_NR_DL_PRS_TRP_TEG_Info_r17_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NR_IntegrityRiskParameters_r18_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_IntegrityRiskParameters_r18(tvb, offset, &asn1_ctx, tree, hf_lpp_NR_IntegrityRiskParameters_r18_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NR_IntegrityServiceAlert_r18_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_IntegrityServiceAlert_r18(tvb, offset, &asn1_ctx, tree, hf_lpp_NR_IntegrityServiceAlert_r18_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NR_IntegrityServiceParameters_r18_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_IntegrityServiceParameters_r18(tvb, offset, &asn1_ctx, tree, hf_lpp_NR_IntegrityServiceParameters_r18_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NR_On_Demand_DL_PRS_Configurations_r17_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_On_Demand_DL_PRS_Configurations_r17(tvb, offset, &asn1_ctx, tree, hf_lpp_NR_On_Demand_DL_PRS_Configurations_r17_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NR_PRU_DL_Info_r18_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_PRU_DL_Info_r18(tvb, offset, &asn1_ctx, tree, hf_lpp_NR_PRU_DL_Info_r18_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NR_TRP_BeamAntennaInfo_r17_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_TRP_BeamAntennaInfo_r17(tvb, offset, &asn1_ctx, tree, hf_lpp_NR_TRP_BeamAntennaInfo_r17_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_Integrity_ServiceParameters_r17_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_Integrity_ServiceParameters_r17(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_Integrity_ServiceParameters_r17_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GNSS_Integrity_ServiceAlert_r17_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_Integrity_ServiceAlert_r17(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_Integrity_ServiceAlert_r17_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GNSS_LOS_NLOS_GridPoints_r18_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_LOS_NLOS_GridPoints_r18(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_LOS_NLOS_GridPoints_r18_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GNSS_SSR_IOD_Update_r18_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_IOD_Update_r18(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_IOD_Update_r18_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_GNSS_SSR_OrbitCorrectionsSet2_r17_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_OrbitCorrectionsSet2_r17(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_OrbitCorrectionsSet2_r17_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GNSS_SSR_ClockCorrectionsSet2_r17_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_ClockCorrectionsSet2_r17(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_ClockCorrectionsSet2_r17_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GNSS_SSR_URA_Set2_r17_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_Set2_r17(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_URA_Set2_r17_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GNSS_LOS_NLOS_GriddedIndications_r18_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_LOS_NLOS_GriddedIndications_r18(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_LOS_NLOS_GriddedIndications_r18_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GNSS_SSR_SatellitePCVResiduals_r18_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_SatellitePCVResiduals_r18(tvb, offset, &asn1_ctx, tree, hf_lpp_GNSS_SSR_SatellitePCVResiduals_r18_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; } static int dissect_NR_IntegrityParameters_r18_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_IntegrityParameters_r18(tvb, offset, &asn1_ctx, tree, hf_lpp_NR_IntegrityParameters_r18_PDU); offset += 7; offset >>= 3; return offset; } 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[] = { { &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_NR_DL_PRS_TRP_TEG_Info_r17_PDU, { "NR-DL-PRS-TRP-TEG-Info-r17", "lpp.NR_DL_PRS_TRP_TEG_Info_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_IntegrityRiskParameters_r18_PDU, { "NR-IntegrityRiskParameters-r18", "lpp.NR_IntegrityRiskParameters_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_IntegrityServiceAlert_r18_PDU, { "NR-IntegrityServiceAlert-r18", "lpp.NR_IntegrityServiceAlert_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_IntegrityServiceParameters_r18_PDU, { "NR-IntegrityServiceParameters-r18", "lpp.NR_IntegrityServiceParameters_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_On_Demand_DL_PRS_Configurations_r17_PDU, { "NR-On-Demand-DL-PRS-Configurations-r17", "lpp.NR_On_Demand_DL_PRS_Configurations_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_PRU_DL_Info_r18_PDU, { "NR-PRU-DL-Info-r18", "lpp.NR_PRU_DL_Info_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_TRP_BeamAntennaInfo_r17_PDU, { "NR-TRP-BeamAntennaInfo-r17", "lpp.NR_TRP_BeamAntennaInfo_r17", FT_UINT32, BASE_DEC, 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_Integrity_ServiceParameters_r17_PDU, { "GNSS-Integrity-ServiceParameters-r17", "lpp.GNSS_Integrity_ServiceParameters_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_GNSS_Integrity_ServiceAlert_r17_PDU, { "GNSS-Integrity-ServiceAlert-r17", "lpp.GNSS_Integrity_ServiceAlert_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_GNSS_LOS_NLOS_GridPoints_r18_PDU, { "GNSS-LOS-NLOS-GridPoints-r18", "lpp.GNSS_LOS_NLOS_GridPoints_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_GNSS_SSR_IOD_Update_r18_PDU, { "GNSS-SSR-IOD-Update-r18", "lpp.GNSS_SSR_IOD_Update_r18_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_GNSS_SSR_OrbitCorrectionsSet2_r17_PDU, { "GNSS-SSR-OrbitCorrectionsSet2-r17", "lpp.GNSS_SSR_OrbitCorrectionsSet2_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_GNSS_SSR_ClockCorrectionsSet2_r17_PDU, { "GNSS-SSR-ClockCorrectionsSet2-r17", "lpp.GNSS_SSR_ClockCorrectionsSet2_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_GNSS_SSR_URA_Set2_r17_PDU, { "GNSS-SSR-URA-Set2-r17", "lpp.GNSS_SSR_URA_Set2_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_GNSS_LOS_NLOS_GriddedIndications_r18_PDU, { "GNSS-LOS-NLOS-GriddedIndications-r18", "lpp.GNSS_LOS_NLOS_GriddedIndications_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_GNSS_SSR_SatellitePCVResiduals_r18_PDU, { "GNSS-SSR-SatellitePCVResiduals-r18", "lpp.GNSS_SSR_SatellitePCVResiduals_r18_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_NR_IntegrityParameters_r18_PDU, { "NR-IntegrityParameters-r18", "lpp.NR_IntegrityParameters_r18_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_bt_RequestAssistanceData_r18, { "bt-RequestAssistanceData-r18", "lpp.bt_RequestAssistanceData_r18_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_bt_ProvideAssistanceData_r18, { "bt-ProvideAssistanceData-r18", "lpp.bt_ProvideAssistanceData_r18_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_r16, { "degreesLatitude-r16", "lpp.degreesLatitude_r16", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M2147483648_2147483647", HFILL }}, { &hf_lpp_degreesLongitude_r16, { "degreesLongitude-r16", "lpp.degreesLongitude_r16", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M2147483648_2147483647", HFILL }}, { &hf_lpp_altitude_r16, { "altitude-r16", "lpp.altitude_r16", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M64000_1280000", HFILL }}, { &hf_lpp_uncertaintySemiMajor_r16, { "uncertaintySemiMajor-r16", "lpp.uncertaintySemiMajor_r16", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_uncertaintySemiMinor_r16, { "uncertaintySemiMinor-r16", "lpp.uncertaintySemiMinor_r16", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_orientationMajorAxis_r16, { "orientationMajorAxis-r16", "lpp.orientationMajorAxis_r16", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_179", HFILL }}, { &hf_lpp_horizontalConfidence_r16, { "horizontalConfidence-r16", "lpp.horizontalConfidence_r16", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_lpp_uncertaintyAltitude_r16, { "uncertaintyAltitude-r16", "lpp.uncertaintyAltitude_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_ha_HorizontalExtendedRangeUsed_r16, { "ha-HorizontalExtendedRangeUsed-r16", "lpp.ha_HorizontalExtendedRangeUsed_r16", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_lpp_ha_VerticalExtendedRangeUsed_r16, { "ha-VerticalExtendedRangeUsed-r16", "lpp.ha_VerticalExtendedRangeUsed_r16", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_lpp_confidence_r16, { "confidence-r16", "lpp.confidence_r16", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_lpp_ha_ExtendedUncertaintyRangeUsed_r16, { "ha-ExtendedUncertaintyRangeUsed-r16", "lpp.ha_ExtendedUncertaintyRangeUsed_r16", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", 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, UNS(&units_degree_degrees), 0, "INTEGER_0_359", HFILL }}, { &hf_lpp_horizontalSpeed, { "horizontalSpeed", "lpp.horizontalSpeed", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&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, UNS(&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, UNS(&units_kmh), 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_verticalUncertaintySpeed, { "verticalUncertaintySpeed", "lpp.verticalUncertaintySpeed", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_kmh), 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_localOrigin_r18, { "localOrigin-r18", "lpp.localOrigin_r18_element", FT_NONE, BASE_NONE, NULL, 0, "ReferencePoint_r16", HFILL }}, { &hf_lpp_cartesianCoordinatesUnits_r18, { "cartesianCoordinatesUnits-r18", "lpp.cartesianCoordinatesUnits_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_cartesianCoordinatesUnits_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_x_value_r18, { "x-value-r18", "lpp.x_value_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_y_value_r18, { "y-value-r18", "lpp.y_value_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_uncertaintySemiMajor_r18, { "uncertaintySemiMajor-r18", "lpp.uncertaintySemiMajor_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_127", HFILL }}, { &hf_lpp_uncertaintySemiMinor_r18, { "uncertaintySemiMinor-r18", "lpp.uncertaintySemiMinor_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_127", HFILL }}, { &hf_lpp_orientationMajorAxis_r18, { "orientationMajorAxis-r18", "lpp.orientationMajorAxis_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_179", HFILL }}, { &hf_lpp_confidence_r18, { "confidence-r18", "lpp.confidence_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_lpp_cartesianCoordinatesUnits_r18_01, { "cartesianCoordinatesUnits-r18", "lpp.cartesianCoordinatesUnits_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_cartesianCoordinatesUnits_r18_01_vals), 0, "T_cartesianCoordinatesUnits_r18_01", HFILL }}, { &hf_lpp_z_value_r18, { "z-value-r18", "lpp.z_value_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_uncertaintyAltitude_r18, { "uncertaintyAltitude-r18", "lpp.uncertaintyAltitude_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_127", HFILL }}, { &hf_lpp_vConfidence_r18, { "vConfidence-r18", "lpp.vConfidence_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", 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_ha_EllipsoidPointWithScalableUncertaintyEllipse_r16, { "ha-EllipsoidPointWithScalableUncertaintyEllipse-r16", "lpp.ha_EllipsoidPointWithScalableUncertaintyEllipse_r16", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_lpp_ha_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_r16, { "ha-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-r16", "lpp.ha_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_r16", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_lpp_local2dPointWithUncertaintyEllipse_r18, { "local2dPointWithUncertaintyEllipse-r18", "lpp.local2dPointWithUncertaintyEllipse_r18", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_lpp_local3dPointWithUncertaintyEllipsoid_r18, { "local3dPointWithUncertaintyEllipsoid-r18", "lpp.local3dPointWithUncertaintyEllipsoid_r18", 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_minPeriodicReportingIntervalMs_r18, { "minPeriodicReportingIntervalMs-r18", "lpp.minPeriodicReportingIntervalMs_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_minPeriodicReportingIntervalMs_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_minPeriodicReportingIntervalMs1_Supported_r18, { "minPeriodicReportingIntervalMs1-Supported-r18", "lpp.minPeriodicReportingIntervalMs1_Supported_r18_element", FT_NONE, BASE_NONE, NULL, 0, "PositioningModes", HFILL }}, { &hf_lpp_minPeriodicReportingIntervalMs10_Supported_r18, { "minPeriodicReportingIntervalMs10-Supported-r18", "lpp.minPeriodicReportingIntervalMs10_Supported_r18_element", FT_NONE, BASE_NONE, NULL, 0, "PositioningModes", HFILL }}, { &hf_lpp_minPeriodicReportingIntervalMs100_Supported_r18, { "minPeriodicReportingIntervalMs100-Supported-r18", "lpp.minPeriodicReportingIntervalMs100_Supported_r18_element", FT_NONE, BASE_NONE, NULL, 0, "PositioningModes", 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_utcTime_r17, { "utcTime-r17", "lpp.utcTime_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_utcTime_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_gnssTime_r17, { "gnssTime-r17", "lpp.gnssTime_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_ID_Bitmap", HFILL }}, { &hf_lpp_e_utraTime_r17, { "e-utraTime-r17", "lpp.e_utraTime_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_e_utraTime_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_nrTime_r17, { "nrTime-r17", "lpp.nrTime_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nrTime_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_relativeTime_r17, { "relativeTime-r17", "lpp.relativeTime_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_relativeTime_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_utcTime_r17_01, { "utcTime-r17", "lpp.utcTime_r17_element", FT_NONE, BASE_NONE, NULL, 0, "PositioningModes", HFILL }}, { &hf_lpp_gnssTime_r17_01, { "gnssTime-r17", "lpp.gnssTime_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_posModes_r17, { "posModes-r17", "lpp.posModes_r17_element", FT_NONE, BASE_NONE, NULL, 0, "PositioningModes", HFILL }}, { &hf_lpp_gnss_TimeIDs_r17, { "gnss-TimeIDs-r17", "lpp.gnss_TimeIDs_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_ID_Bitmap", HFILL }}, { &hf_lpp_e_utraTime_r17_01, { "e-utraTime-r17", "lpp.e_utraTime_r17_element", FT_NONE, BASE_NONE, NULL, 0, "PositioningModes", HFILL }}, { &hf_lpp_nrTime_r17_01, { "nrTime-r17", "lpp.nrTime_r17_element", FT_NONE, BASE_NONE, NULL, 0, "PositioningModes", HFILL }}, { &hf_lpp_relativeTime_r17_01, { "relativeTime-r17", "lpp.relativeTime_r17_element", FT_NONE, BASE_NONE, NULL, 0, "PositioningModes", 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_remoteUE_IndicationReq_r18, { "remoteUE-IndicationReq-r18", "lpp.remoteUE_IndicationReq_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_remoteUE_IndicationReq_r18_vals), 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_remoteUE_Indication_r18, { "remoteUE-Indication-r18", "lpp.remoteUE_Indication_r18", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_lpp_locationEstimateAndMeasurementReporting_r18, { "locationEstimateAndMeasurementReporting-r18", "lpp.locationEstimateAndMeasurementReporting_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_locationEstimateAndMeasurementReporting_r18_vals), 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_scheduledLocationTime_r17, { "scheduledLocationTime-r17", "lpp.scheduledLocationTime_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_targetIntegrityRisk_r17, { "targetIntegrityRisk-r17", "lpp.targetIntegrityRisk_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_periodicalReportingExt_r18, { "periodicalReportingExt-r18", "lpp.periodicalReportingExt_r18_element", FT_NONE, BASE_NONE, NULL, 0, "PeriodicalReportingCriteriaExt_r18", 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_reportingAmount_r18, { "reportingAmount-r18", "lpp.reportingAmount_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_reportingAmount_r18_vals), 0, "T_reportingAmount_r18", HFILL }}, { &hf_lpp_reportingIntervalMs_r18, { "reportingIntervalMs-r18", "lpp.reportingIntervalMs_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_999", 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, UNS(&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, UNS(&units_seconds), 0, "INTEGER_1_128", HFILL }}, { &hf_lpp_responseTimeEarlyFix_r12, { "responseTimeEarlyFix-r12", "lpp.responseTimeEarlyFix_r12", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&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, UNS(&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_utcTime_r17_02, { "utcTime-r17", "lpp.utcTime_r17", FT_STRING, BASE_NONE, NULL, 0, "UTCTime", HFILL }}, { &hf_lpp_gnssTime_r17_02, { "gnssTime-r17", "lpp.gnssTime_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_gnssTime_r17_01", HFILL }}, { &hf_lpp_gnss_TOD_msec_r17, { "gnss-TOD-msec-r17", "lpp.gnss_TOD_msec_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3599999", HFILL }}, { &hf_lpp_gnss_TimeID_r17, { "gnss-TimeID-r17", "lpp.gnss_TimeID_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_ID", HFILL }}, { &hf_lpp_networkTime_r17, { "networkTime-r17", "lpp.networkTime_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_networkTime_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_e_utraTime_r17_02, { "e-utraTime-r17", "lpp.e_utraTime_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_e_utraTime_r17_01", HFILL }}, { &hf_lpp_lte_PhysCellId_r17, { "lte-PhysCellId-r17", "lpp.lte_PhysCellId_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_503", HFILL }}, { &hf_lpp_lte_ArfcnEUTRA_r17, { "lte-ArfcnEUTRA-r17", "lpp.lte_ArfcnEUTRA_r17", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueEUTRA", HFILL }}, { &hf_lpp_lte_CellGlobalId_r17, { "lte-CellGlobalId-r17", "lpp.lte_CellGlobalId_r17_element", FT_NONE, BASE_NONE, NULL, 0, "CellGlobalIdEUTRA_AndUTRA", HFILL }}, { &hf_lpp_lte_SystemFrameNumber_r17, { "lte-SystemFrameNumber-r17", "lpp.lte_SystemFrameNumber_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_lpp_nrTime_r17_02, { "nrTime-r17", "lpp.nrTime_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_nrTime_r17_01", HFILL }}, { &hf_lpp_nr_PhysCellID_r17, { "nr-PhysCellID-r17", "lpp.nr_PhysCellID_r17", FT_UINT32, BASE_DEC, NULL, 0, "NR_PhysCellID_r16", HFILL }}, { &hf_lpp_nr_ARFCN_r17, { "nr-ARFCN-r17", "lpp.nr_ARFCN_r17", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueNR_r15", HFILL }}, { &hf_lpp_nr_CellGlobalID_r17, { "nr-CellGlobalID-r17", "lpp.nr_CellGlobalID_r17_element", FT_NONE, BASE_NONE, NULL, 0, "NCGI_r15", HFILL }}, { &hf_lpp_nr_SFN_r17, { "nr-SFN-r17", "lpp.nr_SFN_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_lpp_nr_Slot_r17, { "nr-Slot-r17", "lpp.nr_Slot_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_Slot_r17_vals), 0, "T_nr_Slot_r17", HFILL }}, { &hf_lpp_scs15_r17, { "scs15-r17", "lpp.scs15_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_9", HFILL }}, { &hf_lpp_scs30_r17, { "scs30-r17", "lpp.scs30_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_19", HFILL }}, { &hf_lpp_scs60_r17, { "scs60-r17", "lpp.scs60_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_39", HFILL }}, { &hf_lpp_scs120_r17, { "scs120-r17", "lpp.scs120_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_79", HFILL }}, { &hf_lpp_relativeTime_r17_02, { "relativeTime-r17", "lpp.relativeTime_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_1024", 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_integrityInfo_r17, { "integrityInfo-r17", "lpp.integrityInfo_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, 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_ha_EllipsoidPointWithScalableUncertaintyEllipse_v1680, { "ha-EllipsoidPointWithScalableUncertaintyEllipse-v1680", "lpp.ha_EllipsoidPointWithScalableUncertaintyEllipse_v1680_element", FT_NONE, BASE_NONE, NULL, 0, "HA_EllipsoidPointWithScalableUncertaintyEllipse_r16", HFILL }}, { &hf_lpp_ha_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_v1680, { "ha-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-v1680", "lpp.ha_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_v1680_element", FT_NONE, BASE_NONE, NULL, 0, "HA_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_r16", HFILL }}, { &hf_lpp_local2dPointWithUncertaintyEllipse_v1800, { "local2dPointWithUncertaintyEllipse-v1800", "lpp.local2dPointWithUncertaintyEllipse_v1800_element", FT_NONE, BASE_NONE, NULL, 0, "Local2dPointWithUncertaintyEllipse_r18", HFILL }}, { &hf_lpp_local3dPointWithUncertaintyEllipsoid_v1800, { "local3dPointWithUncertaintyEllipsoid-v1800", "lpp.local3dPointWithUncertaintyEllipsoid_v1800_element", FT_NONE, BASE_NONE, NULL, 0, "Local3dPointWithUncertaintyEllipsoid_r18", 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_horizontalProtectionLevel_r17, { "horizontalProtectionLevel-r17", "lpp.horizontalProtectionLevel_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_50000", HFILL }}, { &hf_lpp_verticalProtectionLevel_r17, { "verticalProtectionLevel-r17", "lpp.verticalProtectionLevel_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_50000", HFILL }}, { &hf_lpp_achievableTargetIntegrityRisk_r17, { "achievableTargetIntegrityRisk-r17", "lpp.achievableTargetIntegrityRisk_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_10_90", 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_AreaID_CellList_r17_item, { "NR-Cell-IDs-r17", "lpp.NR_Cell_IDs_r17_element", FT_NONE, BASE_NONE, NULL, 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_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_coordinateID_r18, { "coordinateID-r18", "lpp.coordinateID_r18", FT_STRING, BASE_NONE, NULL, 0, "VisibleString_SIZE_1_256", HFILL }}, { &hf_lpp_point_r18, { "point-r18", "lpp.point_r18_element", FT_NONE, BASE_NONE, NULL, 0, "HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15", HFILL }}, { &hf_lpp_horizAxesOrientation_r18, { "horizAxesOrientation-r18", "lpp.horizAxesOrientation_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3599", HFILL }}, { &hf_lpp_indicator_r17, { "indicator-r17", "lpp.indicator_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_indicator_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_soft_r17, { "soft-r17", "lpp.soft_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_10", HFILL }}, { &hf_lpp_hard_r17, { "hard-r17", "lpp.hard_r17", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", 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_AdditionalPathListExt_r17_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_kMinus6_r18, { "kMinus6-r18", "lpp.kMinus6_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1046401", HFILL }}, { &hf_lpp_kMinus5_r18, { "kMinus5-r18", "lpp.kMinus5_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_523201", HFILL }}, { &hf_lpp_kMinus4_r18, { "kMinus4-r18", "lpp.kMinus4_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_261601", HFILL }}, { &hf_lpp_kMinus3_r18, { "kMinus3-r18", "lpp.kMinus3_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_130801", HFILL }}, { &hf_lpp_kMinus2_r18, { "kMinus2-r18", "lpp.kMinus2_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65401", HFILL }}, { &hf_lpp_kMinus1_r18, { "kMinus1-r18", "lpp.kMinus1_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_32701", 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_RSRPP_r17, { "nr-DL-PRS-RSRPP-r17", "lpp.nr_DL_PRS_RSRPP_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_126", HFILL }}, { &hf_lpp_aggregatedDL_PRS_ID_r18, { "aggregatedDL-PRS-ID-r18", "lpp.aggregatedDL_PRS_ID_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_nr_DL_PRS_ResourceSetID_r18, { "nr-DL-PRS-ResourceSetID-r18", "lpp.nr_DL_PRS_ResourceSetID_r18", FT_UINT32, BASE_DEC, NULL, 0, "NR_DL_PRS_ResourceSetID_r16", HFILL }}, { &hf_lpp_nr_DL_PRS_ResourceID_r18, { "nr-DL-PRS-ResourceID-r18", "lpp.nr_DL_PRS_ResourceID_r18", FT_UINT32, BASE_DEC, NULL, 0, "NR_DL_PRS_ResourceID_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_AggregationInfo_r18, { "nr-DL-PRS-AggregationInfo-r18", "lpp.nr_DL_PRS_AggregationInfo_r18", FT_UINT32, BASE_DEC, 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_prs_OnlyTP_r16, { "prs-OnlyTP-r16", "lpp.prs_OnlyTP_r16", FT_UINT32, BASE_DEC, VALS(lpp_T_prs_OnlyTP_r16_vals), 0, NULL, HFILL }}, { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_r17, { "nr-DL-PRS-ExpectedAoD-or-AoA-r17", "lpp.nr_DL_PRS_ExpectedAoD_or_AoA_r17", FT_UINT32, BASE_DEC, VALS(lpp_NR_DL_PRS_ExpectedAoD_or_AoA_r17_vals), 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_expectedAoD_r17, { "expectedAoD-r17", "lpp.expectedAoD_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_expectedDL_AzimuthAoD_r17, { "expectedDL-AzimuthAoD-r17", "lpp.expectedDL_AzimuthAoD_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_359", HFILL }}, { &hf_lpp_expectedDL_AzimuthAoD_Unc_r17, { "expectedDL-AzimuthAoD-Unc-r17", "lpp.expectedDL_AzimuthAoD_Unc_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_60", HFILL }}, { &hf_lpp_expectedDL_ZenithAoD_r17, { "expectedDL-ZenithAoD-r17", "lpp.expectedDL_ZenithAoD_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_180", HFILL }}, { &hf_lpp_expectedDL_ZenithAoD_Unc_r17, { "expectedDL-ZenithAoD-Unc-r17", "lpp.expectedDL_ZenithAoD_Unc_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_30", HFILL }}, { &hf_lpp_expectedAoA_r17, { "expectedAoA-r17", "lpp.expectedAoA_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_expectedDL_AzimuthAoA_r17, { "expectedDL-AzimuthAoA-r17", "lpp.expectedDL_AzimuthAoA_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_359", HFILL }}, { &hf_lpp_expectedDL_AzimuthAoA_Unc_r17, { "expectedDL-AzimuthAoA-Unc-r17", "lpp.expectedDL_AzimuthAoA_Unc_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_60", HFILL }}, { &hf_lpp_expectedDL_ZenithAoA_r17, { "expectedDL-ZenithAoA-r17", "lpp.expectedDL_ZenithAoA_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_180", HFILL }}, { &hf_lpp_expectedDL_ZenithAoA_Unc_r17, { "expectedDL-ZenithAoA-Unc-r17", "lpp.expectedDL_ZenithAoA_Unc_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_30", HFILL }}, { &hf_lpp_NR_DL_PRS_AggregationInfo_r18_item, { "NR-linkedDL-PRS-ResourceSetID-PRS-AggregationList-r18", "lpp.NR_linkedDL_PRS_ResourceSetID_PRS_AggregationList_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_linkedDL_PRS_ResourceSetID_PRS_AggregationList_r18_item, { "NR-DL-PRS-AggregationElement-r18", "lpp.NR_DL_PRS_AggregationElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_DL_PRS_FrequencyLayerIndex_r18, { "nr-DL-PRS-FrequencyLayerIndex-r18", "lpp.nr_DL_PRS_FrequencyLayerIndex_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_nrMaxFreqLayers_1_r16", HFILL }}, { &hf_lpp_nr_DL_PRS_TRP_Index_r18, { "nr-DL-PRS-TRP-Index-r18", "lpp.nr_DL_PRS_TRP_Index_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_nrMaxTRPsPerFreq_1_r16", HFILL }}, { &hf_lpp_nr_DL_PRS_ResourceSetIndex_r18, { "nr-DL-PRS-ResourceSetIndex-r18", "lpp.nr_DL_PRS_ResourceSetIndex_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_nrMaxSetsPerTrpPerFreqLayer_1_r16", 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_nr_IntegrityBeamInfoBounds_r18, { "nr-IntegrityBeamInfoBounds-r18", "lpp.nr_IntegrityBeamInfoBounds_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_meanAzimuth_r18, { "meanAzimuth-r18", "lpp.meanAzimuth_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevAzimuth_r18, { "stdDevAzimuth-r18", "lpp.stdDevAzimuth_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanElevation_r18, { "meanElevation-r18", "lpp.meanElevation_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevElevation_r18, { "stdDevElevation-r18", "lpp.stdDevElevation_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_NR_DL_PRS_ExpectedLOS_NLOS_Assistance_r17_item, { "NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerFreqLayer-r17", "lpp.NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerFreqLayer_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerFreqLayer_r17_item, { "NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerTRP-r17", "lpp.NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerTRP_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_PRS_ID_r17, { "dl-PRS-ID-r17", "lpp.dl_PRS_ID_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_nr_los_nlos_indicator_r17, { "nr-los-nlos-indicator-r17", "lpp.nr_los_nlos_indicator_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_los_nlos_indicator_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_perTrp_r17, { "perTrp-r17", "lpp.perTrp_r17_element", FT_NONE, BASE_NONE, NULL, 0, "LOS_NLOS_Indicator_r17", HFILL }}, { &hf_lpp_perResource_r17, { "perResource-r17", "lpp.perResource_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17", HFILL }}, { &hf_lpp_perResource_r17_item, { "NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerResource-r17", "lpp.NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17_item, { "LOS-NLOS-Indicator-r17", "lpp.LOS_NLOS_Indicator_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, 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_dl_PRS_ResourcePrioritySubset_r17, { "dl-PRS-ResourcePrioritySubset-r17", "lpp.dl_PRS_ResourcePrioritySubset_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_PRS_ResourceSymbolOffset_v1800, { "dl-PRS-ResourceSymbolOffset-v1800", "lpp.dl_PRS_ResourceSymbolOffset_v1800", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_13", 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_DL_PRS_ResourcePrioritySubset_r17_item, { "NR-DL-PRSResourcePriorityItem-r17", "lpp.NR_DL_PRSResourcePriorityItem_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_DL_PRS_PrioResourceSetID_r17, { "nr-DL-PRS-PrioResourceSetID-r17", "lpp.nr_DL_PRS_PrioResourceSetID_r17", FT_UINT32, BASE_DEC, NULL, 0, "NR_DL_PRS_ResourceSetID_r16", HFILL }}, { &hf_lpp_nr_DL_PRS_PrioResourceID_r17, { "nr-DL-PRS-PrioResourceID-r17", "lpp.nr_DL_PRS_PrioResourceID_r17", FT_UINT32, BASE_DEC, NULL, 0, "NR_DL_PRS_ResourceID_r16", HFILL }}, { &hf_lpp_NR_DL_PRS_MeasurementTimeWindowsConfig_r18_item, { "NR-DL-PRS-MeasurementTimeWindowsConfigElement-r18", "lpp.NR_DL_PRS_MeasurementTimeWindowsConfigElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_StartSFN_TimeWindow_r18, { "nr-StartSFN-TimeWindow-r18", "lpp.nr_StartSFN_TimeWindow_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_lpp_nr_PeriodicOrOneShotTimeWindow_r18, { "nr-PeriodicOrOneShotTimeWindow-r18", "lpp.nr_PeriodicOrOneShotTimeWindow_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_PeriodicOrOneShotTimeWindow_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_nr_PeriodicityAndSlotOffsetTimeWindow_r18, { "nr-PeriodicityAndSlotOffsetTimeWindow-r18", "lpp.nr_PeriodicityAndSlotOffsetTimeWindow_r18", 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_nr_OneShotSlotOffsetTimeWindow_r18, { "nr-OneShotSlotOffsetTimeWindow-r18", "lpp.nr_OneShotSlotOffsetTimeWindow_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_OneShotSlotOffsetTimeWindow_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_scs15_r18, { "scs15-r18", "lpp.scs15_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_10239", HFILL }}, { &hf_lpp_scs30_r18, { "scs30-r18", "lpp.scs30_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_20479", HFILL }}, { &hf_lpp_scs60_r18, { "scs60-r18", "lpp.scs60_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_40959", HFILL }}, { &hf_lpp_scs120_r18, { "scs120-r18", "lpp.scs120_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_81919", HFILL }}, { &hf_lpp_nr_SymbolOffsetTimeWindow_r18, { "nr-SymbolOffsetTimeWindow-r18", "lpp.nr_SymbolOffsetTimeWindow_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_13", HFILL }}, { &hf_lpp_nr_DurationTimeWindow_r18, { "nr-DurationTimeWindow-r18", "lpp.nr_DurationTimeWindow_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DurationTimeWindow_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_nr_SelectedDL_PRS_FrequencyLayerIndex_r18, { "nr-SelectedDL-PRS-FrequencyLayerIndex-r18", "lpp.nr_SelectedDL_PRS_FrequencyLayerIndex_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_nrMaxFreqLayers_1_r16", HFILL }}, { &hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r18, { "nr-SelectedDL-PRS-IndexListPerFreq-r18", "lpp.nr_SelectedDL_PRS_IndexListPerFreq_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r18", HFILL }}, { &hf_lpp_nr_SelectedDL_PRS_IndexListPerFreq_r18_item, { "NR-SelectedDL-PRS-IndexPerTRP-r18", "lpp.NR_SelectedDL_PRS_IndexPerTRP_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_MeasurementsToPerformInTimeWindow_r18, { "nr-MeasurementsToPerformInTimeWindow-r18", "lpp.nr_MeasurementsToPerformInTimeWindow_r18", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_SelectedTRP_Index_r18, { "nr-SelectedTRP-Index-r18", "lpp.nr_SelectedTRP_Index_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_nrMaxTRPsPerFreq_1_r16", HFILL }}, { &hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r18, { "dl-SelectedPRS-ResourceSetIndexList-r18", "lpp.dl_SelectedPRS_ResourceSetIndexList_r18", FT_UINT32, BASE_DEC, NULL, 0, "T_dl_SelectedPRS_ResourceSetIndexList_r18", HFILL }}, { &hf_lpp_dl_SelectedPRS_ResourceSetIndexList_r18_item, { "dl-SelectedPRS-ResourceSetIndexList-r18 item", "lpp.dl_SelectedPRS_ResourceSetIndexList_r18_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_nrMaxSetsPerTrpPerFreqLayer_1_r16", 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_dummy, { "dummy", "lpp.dummy", FT_UINT32, BASE_DEC, VALS(lpp_T_dummy_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_scs15_v1690, { "scs15-v1690", "lpp.scs15_v1690", FT_UINT32, BASE_DEC, VALS(lpp_T_scs15_v1690_vals), 0, NULL, HFILL }}, { &hf_lpp_scs30_v1690, { "scs30-v1690", "lpp.scs30_v1690", FT_UINT32, BASE_DEC, VALS(lpp_T_scs30_v1690_vals), 0, NULL, HFILL }}, { &hf_lpp_scs60_v1690, { "scs60-v1690", "lpp.scs60_v1690", FT_UINT32, BASE_DEC, VALS(lpp_T_scs60_v1690_vals), 0, NULL, HFILL }}, { &hf_lpp_scs120_v1690, { "scs120-v1690", "lpp.scs120_v1690", FT_UINT32, BASE_DEC, VALS(lpp_T_scs120_v1690_vals), 0, NULL, HFILL }}, { &hf_lpp_supportedDL_PRS_ProcessingSamples_RRC_CONNECTED_r17, { "supportedDL-PRS-ProcessingSamples-RRC-CONNECTED-r17", "lpp.supportedDL_PRS_ProcessingSamples_RRC_CONNECTED_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_supportedDL_PRS_ProcessingSamples_RRC_CONNECTED_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_prs_ProcessingWindowType1A_r17, { "prs-ProcessingWindowType1A-r17", "lpp.prs_ProcessingWindowType1A_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_prs_ProcessingWindowType1A_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_prs_ProcessingWindowType1B_r17, { "prs-ProcessingWindowType1B-r17", "lpp.prs_ProcessingWindowType1B_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_prs_ProcessingWindowType1B_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_prs_ProcessingWindowType2_r17, { "prs-ProcessingWindowType2-r17", "lpp.prs_ProcessingWindowType2_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_prs_ProcessingWindowType2_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_prs_ProcessingCapabilityOutsideMGinPPW_r17, { "prs-ProcessingCapabilityOutsideMGinPPW-r17", "lpp.prs_ProcessingCapabilityOutsideMGinPPW_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17", HFILL }}, { &hf_lpp_prs_ProcessingCapabilityOutsideMGinPPW_r17_item, { "PRS-ProcessingCapabilityOutsideMGinPPWperType-r17", "lpp.PRS_ProcessingCapabilityOutsideMGinPPWperType_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_PRS_BufferType_RRC_Inactive_r17, { "dl-PRS-BufferType-RRC-Inactive-r17", "lpp.dl_PRS_BufferType_RRC_Inactive_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_BufferType_RRC_Inactive_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_durationOfPRS_Processing_RRC_Inactive_r17, { "durationOfPRS-Processing-RRC-Inactive-r17", "lpp.durationOfPRS_Processing_RRC_Inactive_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_durationOfPRS_ProcessingSymbols_r17, { "durationOfPRS-ProcessingSymbols-r17", "lpp.durationOfPRS_ProcessingSymbols_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_durationOfPRS_ProcessingSymbols_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_durationOfPRS_ProcessingSymbolsInEveryTms_r17, { "durationOfPRS-ProcessingSymbolsInEveryTms-r17", "lpp.durationOfPRS_ProcessingSymbolsInEveryTms_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_durationOfPRS_ProcessingSymbolsInEveryTms_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_maxNumOfDL_PRS_ResProcessedPerSlot_RRC_Inactive_r17, { "maxNumOfDL-PRS-ResProcessedPerSlot-RRC-Inactive-r17", "lpp.maxNumOfDL_PRS_ResProcessedPerSlot_RRC_Inactive_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_maxNumOfDL_PRS_ResProcessedPerSlot_RRC_Inactive_r17", HFILL }}, { &hf_lpp_scs15_r17_01, { "scs15-r17", "lpp.scs15_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_scs15_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_scs30_r17_01, { "scs30-r17", "lpp.scs30_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_scs30_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_scs60_r17_01, { "scs60-r17", "lpp.scs60_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_scs60_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_scs120_r17_01, { "scs120-r17", "lpp.scs120_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_scs120_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_supportedLowerRxBeamSweepingFactor_FR2_r17, { "supportedLowerRxBeamSweepingFactor-FR2-r17", "lpp.supportedLowerRxBeamSweepingFactor_FR2_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_supportedLowerRxBeamSweepingFactor_FR2_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_supportedDL_PRS_ProcessingSamples_RRC_Inactive_r17, { "supportedDL-PRS-ProcessingSamples-RRC-Inactive-r17", "lpp.supportedDL_PRS_ProcessingSamples_RRC_Inactive_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_supportedDL_PRS_ProcessingSamples_RRC_Inactive_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_prs_MeasurementWithoutMG_r17, { "prs-MeasurementWithoutMG-r17", "lpp.prs_MeasurementWithoutMG_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_prs_MeasurementWithoutMG_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18, { "maxNumOfOneSymbolPRS-ResProcessedPerSlot-RRC-Inactive-r18", "lpp.maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18_element", FT_NONE, BASE_NONE, NULL, 0, "T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18", HFILL }}, { &hf_lpp_scs15_r18_01, { "scs15-r18", "lpp.scs15_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs15_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_scs30_r18_01, { "scs30-r18", "lpp.scs30_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs30_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_scs60_r18_01, { "scs60-r18", "lpp.scs60_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs60_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_scs120_r18_01, { "scs120-r18", "lpp.scs120_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs120_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18, { "maxNumOfOneSymbolPRS-ResProcessedPerSlot-RRC-Connected-r18", "lpp.maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18_element", FT_NONE, BASE_NONE, NULL, 0, "T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18", HFILL }}, { &hf_lpp_scs15_r18_02, { "scs15-r18", "lpp.scs15_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs15_r18_01_vals), 0, "T_scs15_r18_01", HFILL }}, { &hf_lpp_scs30_r18_02, { "scs30-r18", "lpp.scs30_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs30_r18_01_vals), 0, "T_scs30_r18_01", HFILL }}, { &hf_lpp_scs60_r18_02, { "scs60-r18", "lpp.scs60_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs60_r18_01_vals), 0, "T_scs60_r18_01", HFILL }}, { &hf_lpp_scs120_r18_02, { "scs120-r18", "lpp.scs120_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs120_r18_01_vals), 0, "T_scs120_r18_01", HFILL }}, { &hf_lpp_ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18, { "ppw-maxNumOfOneSymbolPRS-ResProcessedPerSlot-r18", "lpp.ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18_element", FT_NONE, BASE_NONE, NULL, 0, "T_ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18", HFILL }}, { &hf_lpp_scs15_r18_03, { "scs15-r18", "lpp.scs15_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs15_r18_02_vals), 0, "T_scs15_r18_02", HFILL }}, { &hf_lpp_scs30_r18_03, { "scs30-r18", "lpp.scs30_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs30_r18_02_vals), 0, "T_scs30_r18_02", HFILL }}, { &hf_lpp_scs60_r18_03, { "scs60-r18", "lpp.scs60_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs60_r18_02_vals), 0, "T_scs60_r18_02", HFILL }}, { &hf_lpp_scs120_r18_03, { "scs120-r18", "lpp.scs120_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs120_r18_02_vals), 0, "T_scs120_r18_02", HFILL }}, { &hf_lpp_prs_BWA_TwoContiguousIntrabandInMG_RRC_Connected_r18, { "prs-BWA-TwoContiguousIntrabandInMG-RRC-Connected-r18", "lpp.prs_BWA_TwoContiguousIntrabandInMG_RRC_Connected_r18_element", FT_NONE, BASE_NONE, NULL, 0, "PRS_BWA_TwoContiguousIntrabandInMG_r18", HFILL }}, { &hf_lpp_prs_BWA_ThreeContiguousIntrabandInMG_RRC_Connected_r18, { "prs-BWA-ThreeContiguousIntrabandInMG-RRC-Connected-r18", "lpp.prs_BWA_ThreeContiguousIntrabandInMG_RRC_Connected_r18_element", FT_NONE, BASE_NONE, NULL, 0, "PRS_BWA_ThreeContiguousIntrabandInMG_r18", HFILL }}, { &hf_lpp_prs_BWA_TwoContiguousIntraband_RRC_IdleAndInactive_r18, { "prs-BWA-TwoContiguousIntraband-RRC-IdleAndInactive-r18", "lpp.prs_BWA_TwoContiguousIntraband_RRC_IdleAndInactive_r18_element", FT_NONE, BASE_NONE, NULL, 0, "PRS_BWA_TwoContiguousIntrabandInMG_r18", HFILL }}, { &hf_lpp_prs_BWA_ThreeContiguousIntraband_RRC_IdleAndInactive_r18, { "prs-BWA-ThreeContiguousIntraband-RRC-IdleAndInactive-r18", "lpp.prs_BWA_ThreeContiguousIntraband_RRC_IdleAndInactive_r18_element", FT_NONE, BASE_NONE, NULL, 0, "PRS_BWA_ThreeContiguousIntrabandInMG_r18", HFILL }}, { &hf_lpp_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_Connected_r18, { "reducedNumOfSampleInMeasurementWithPRS-BWA-RRC-Connected-r18", "lpp.reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_Connected_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_Connected_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_IdleAndInactive_r18, { "reducedNumOfSampleInMeasurementWithPRS-BWA-RRC-IdleAndInactive-r18", "lpp.reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_IdleAndInactive_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_reducedNumOfSampleInMeasurementWithPRS_BWA_RRC_IdleAndInactive_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_dl_PRS_MeasurementWithRxFH_RRC_Inactive_r18, { "dl-PRS-MeasurementWithRxFH-RRC-Inactive-r18", "lpp.dl_PRS_MeasurementWithRxFH_RRC_Inactive_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_MeasurementWithRxFH_RRC_Inactive_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_dl_PRS_MeasurementWithRxFH_RRC_Idle_r18, { "dl-PRS-MeasurementWithRxFH-RRC-Idle-r18", "lpp.dl_PRS_MeasurementWithRxFH_RRC_Idle_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_MeasurementWithRxFH_RRC_Idle_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_reducedNumOfSampleForMeasurementWithFH_RRC_Connected_r18, { "reducedNumOfSampleForMeasurementWithFH-RRC-Connected-r18", "lpp.reducedNumOfSampleForMeasurementWithFH_RRC_Connected_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_reducedNumOfSampleForMeasurementWithFH_RRC_Connected_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_reducedNumOfSampleForMeasurementWithFH_RRC_IdleAndInactive_r18, { "reducedNumOfSampleForMeasurementWithFH-RRC-IdleAndInactive-r18", "lpp.reducedNumOfSampleForMeasurementWithFH_RRC_IdleAndInactive_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_reducedNumOfSampleForMeasurementWithFH_RRC_IdleAndInactive_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_supportOfPRS_BWA_WithTwoPFL_Combination_r18, { "supportOfPRS-BWA-WithTwoPFL-Combination-r18", "lpp.supportOfPRS_BWA_WithTwoPFL_Combination_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfPRS_BWA_WithTwoPFL_Combination_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_dl_PRS_MeasurementWithRxFH_RRC_Connected_r18, { "dl-PRS-MeasurementWithRxFH-RRC-Connected-r18", "lpp.dl_PRS_MeasurementWithRxFH_RRC_Connected_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_prsProcessingType_r17, { "prsProcessingType-r17", "lpp.prsProcessingType_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_prsProcessingType_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_ppw_dl_PRS_BufferType_r17, { "ppw-dl-PRS-BufferType-r17", "lpp.ppw_dl_PRS_BufferType_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ppw_dl_PRS_BufferType_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_ppw_durationOfPRS_Processing1_r17, { "ppw-durationOfPRS-Processing1-r17", "lpp.ppw_durationOfPRS_Processing1_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_ppw_durationOfPRS_ProcessingSymbolsN_r17, { "ppw-durationOfPRS-ProcessingSymbolsN-r17", "lpp.ppw_durationOfPRS_ProcessingSymbolsN_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ppw_durationOfPRS_ProcessingSymbolsN_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_ppw_durationOfPRS_ProcessingSymbolsT_r17, { "ppw-durationOfPRS-ProcessingSymbolsT-r17", "lpp.ppw_durationOfPRS_ProcessingSymbolsT_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ppw_durationOfPRS_ProcessingSymbolsT_r17_vals), 0, "T_ppw_durationOfPRS_ProcessingSymbolsT_r17", HFILL }}, { &hf_lpp_ppw_durationOfPRS_Processing2_r17, { "ppw-durationOfPRS-Processing2-r17", "lpp.ppw_durationOfPRS_Processing2_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_ppw_durationOfPRS_ProcessingSymbolsN2_r17, { "ppw-durationOfPRS-ProcessingSymbolsN2-r17", "lpp.ppw_durationOfPRS_ProcessingSymbolsN2_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ppw_durationOfPRS_ProcessingSymbolsN2_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_ppw_durationOfPRS_ProcessingSymbolsT2_r17, { "ppw-durationOfPRS-ProcessingSymbolsT2-r17", "lpp.ppw_durationOfPRS_ProcessingSymbolsT2_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ppw_durationOfPRS_ProcessingSymbolsT2_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17, { "ppw-maxNumOfDL-PRS-ResProcessedPerSlot-r17", "lpp.ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17", HFILL }}, { &hf_lpp_scs15_r17_02, { "scs15-r17", "lpp.scs15_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_scs15_r17_01_vals), 0, "T_scs15_r17_01", HFILL }}, { &hf_lpp_scs30_r17_02, { "scs30-r17", "lpp.scs30_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_scs30_r17_01_vals), 0, "T_scs30_r17_01", HFILL }}, { &hf_lpp_scs60_r17_02, { "scs60-r17", "lpp.scs60_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_scs60_r17_01_vals), 0, "T_scs60_r17_01", HFILL }}, { &hf_lpp_scs120_r17_02, { "scs120-r17", "lpp.scs120_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_scs120_r17_01_vals), 0, "T_scs120_r17_01", HFILL }}, { &hf_lpp_ppw_maxNumOfDL_Bandwidth_r17, { "ppw-maxNumOfDL-Bandwidth-r17", "lpp.ppw_maxNumOfDL_Bandwidth_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ppw_maxNumOfDL_Bandwidth_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_fr1_01, { "fr1", "lpp.fr1", FT_UINT32, BASE_DEC, VALS(lpp_T_fr1_01_vals), 0, "T_fr1_01", HFILL }}, { &hf_lpp_fr2_01, { "fr2", "lpp.fr2", FT_UINT32, BASE_DEC, VALS(lpp_T_fr2_01_vals), 0, "T_fr2_01", HFILL }}, { &hf_lpp_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR1_r18, { "maximumOfTwoAggregatedDL-PRS-Bandwidth-FR1-r18", "lpp.maximumOfTwoAggregatedDL_PRS_Bandwidth_FR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR1_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR2_r18, { "maximumOfTwoAggregatedDL-PRS-Bandwidth-FR2-r18", "lpp.maximumOfTwoAggregatedDL_PRS_Bandwidth_FR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumOfTwoAggregatedDL_PRS_Bandwidth_FR2_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18, { "maximumOfDL-PRS-BandwidthPerPFL-FR1-r18", "lpp.maximumOfDL_PRS_BandwidthPerPFL_FR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18, { "maximumOfDL-PRS-BandwidthPerPFL-FR2-r18", "lpp.maximumOfDL_PRS_BandwidthPerPFL_FR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_dl_PRS_BufferTypeOfBWA_r18, { "dl-PRS-BufferTypeOfBWA-r18", "lpp.dl_PRS_BufferTypeOfBWA_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_BufferTypeOfBWA_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_prs_durationOfTwoPRS_BWA_Processing_r18, { "prs-durationOfTwoPRS-BWA-Processing-r18", "lpp.prs_durationOfTwoPRS_BWA_Processing_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_prs_durationOfTwoPRS_BWA_ProcessingSymbolsN_r18, { "prs-durationOfTwoPRS-BWA-ProcessingSymbolsN-r18", "lpp.prs_durationOfTwoPRS_BWA_ProcessingSymbolsN_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_prs_durationOfTwoPRS_BWA_ProcessingSymbolsN_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_prs_durationOfTwoPRS_BWA_ProcessingSymbolsT_r18, { "prs-durationOfTwoPRS-BWA-ProcessingSymbolsT-r18", "lpp.prs_durationOfTwoPRS_BWA_ProcessingSymbolsT_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_prs_durationOfTwoPRS_BWA_ProcessingSymbolsT_r18_vals), 0, "T_prs_durationOfTwoPRS_BWA_ProcessingSymbolsT_r18", HFILL }}, { &hf_lpp_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18, { "maxNumOfAggregatedDL-PRS-ResourcePerSlot-FR1-r18", "lpp.maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_element", FT_NONE, BASE_NONE, NULL, 0, "T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18", HFILL }}, { &hf_lpp_scs15_r18_04, { "scs15-r18", "lpp.scs15_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs15_r18_03_vals), 0, "T_scs15_r18_03", HFILL }}, { &hf_lpp_scs30_r18_04, { "scs30-r18", "lpp.scs30_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs30_r18_03_vals), 0, "T_scs30_r18_03", HFILL }}, { &hf_lpp_scs60_r18_04, { "scs60-r18", "lpp.scs60_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs60_r18_03_vals), 0, "T_scs60_r18_03", HFILL }}, { &hf_lpp_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18, { "maxNumOfAggregatedDL-PRS-ResourcePerSlot-FR2-r18", "lpp.maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_element", FT_NONE, BASE_NONE, NULL, 0, "T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18", HFILL }}, { &hf_lpp_scs60_r18_05, { "scs60-r18", "lpp.scs60_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs60_r18_04_vals), 0, "T_scs60_r18_04", HFILL }}, { &hf_lpp_scs120_r18_04, { "scs120-r18", "lpp.scs120_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs120_r18_03_vals), 0, "T_scs120_r18_03", HFILL }}, { &hf_lpp_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR1_r18, { "maximumOfThreeAggregatedDL-PRS-Bandwidth-FR1-r18", "lpp.maximumOfThreeAggregatedDL_PRS_Bandwidth_FR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR1_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR2_r18, { "maximumOfThreeAggregatedDL-PRS-Bandwidth-FR2-r18", "lpp.maximumOfThreeAggregatedDL_PRS_Bandwidth_FR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumOfThreeAggregatedDL_PRS_Bandwidth_FR2_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18_01, { "maximumOfDL-PRS-BandwidthPerPFL-FR1-r18", "lpp.maximumOfDL_PRS_BandwidthPerPFL_FR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18_01_vals), 0, "T_maximumOfDL_PRS_BandwidthPerPFL_FR1_r18_01", HFILL }}, { &hf_lpp_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18_01, { "maximumOfDL-PRS-BandwidthPerPFL-FR2-r18", "lpp.maximumOfDL_PRS_BandwidthPerPFL_FR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18_01_vals), 0, "T_maximumOfDL_PRS_BandwidthPerPFL_FR2_r18_01", HFILL }}, { &hf_lpp_dl_PRS_BufferTypeOfBWA_r18_01, { "dl-PRS-BufferTypeOfBWA-r18", "lpp.dl_PRS_BufferTypeOfBWA_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_BufferTypeOfBWA_r18_01_vals), 0, "T_dl_PRS_BufferTypeOfBWA_r18_01", HFILL }}, { &hf_lpp_prs_durationOfThreePRS_BWA_Processing_r18, { "prs-durationOfThreePRS-BWA-Processing-r18", "lpp.prs_durationOfThreePRS_BWA_Processing_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_prs_durationOfThreePRS_BWA_ProcessingSymbolsN_r18, { "prs-durationOfThreePRS-BWA-ProcessingSymbolsN-r18", "lpp.prs_durationOfThreePRS_BWA_ProcessingSymbolsN_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_prs_durationOfThreePRS_BWA_ProcessingSymbolsN_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_prs_durationOfThreePRS_BWA_ProcessingSymbolsT_r18, { "prs-durationOfThreePRS-BWA-ProcessingSymbolsT-r18", "lpp.prs_durationOfThreePRS_BWA_ProcessingSymbolsT_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_prs_durationOfThreePRS_BWA_ProcessingSymbolsT_r18_vals), 0, "T_prs_durationOfThreePRS_BWA_ProcessingSymbolsT_r18", HFILL }}, { &hf_lpp_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_01, { "maxNumOfAggregatedDL-PRS-ResourcePerSlot-FR1-r18", "lpp.maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_element", FT_NONE, BASE_NONE, NULL, 0, "T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_01", HFILL }}, { &hf_lpp_scs15_r18_05, { "scs15-r18", "lpp.scs15_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs15_r18_04_vals), 0, "T_scs15_r18_04", HFILL }}, { &hf_lpp_scs30_r18_05, { "scs30-r18", "lpp.scs30_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs30_r18_04_vals), 0, "T_scs30_r18_04", HFILL }}, { &hf_lpp_scs60_r18_06, { "scs60-r18", "lpp.scs60_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs60_r18_05_vals), 0, "T_scs60_r18_05", HFILL }}, { &hf_lpp_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_01, { "maxNumOfAggregatedDL-PRS-ResourcePerSlot-FR2-r18", "lpp.maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_element", FT_NONE, BASE_NONE, NULL, 0, "T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_01", HFILL }}, { &hf_lpp_scs60_r18_07, { "scs60-r18", "lpp.scs60_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs60_r18_06_vals), 0, "T_scs60_r18_06", HFILL }}, { &hf_lpp_scs120_r18_05, { "scs120-r18", "lpp.scs120_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_scs120_r18_04_vals), 0, "T_scs120_r18_04", HFILL }}, { &hf_lpp_maximumPRS_BandwidthAcrossAllHopsFR1_r18, { "maximumPRS-BandwidthAcrossAllHopsFR1-r18", "lpp.maximumPRS_BandwidthAcrossAllHopsFR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumPRS_BandwidthAcrossAllHopsFR1_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumPRS_BandwidthAcrossAllHopsFR2_r18, { "maximumPRS-BandwidthAcrossAllHopsFR2-r18", "lpp.maximumPRS_BandwidthAcrossAllHopsFR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumPRS_BandwidthAcrossAllHopsFR2_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumFH_Hops_r18, { "maximumFH-Hops-r18", "lpp.maximumFH_Hops_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumFH_Hops_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_processingDuration_r18, { "processingDuration-r18", "lpp.processingDuration_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_processingPRS_SymbolsDurationN3_r18, { "processingPRS-SymbolsDurationN3-r18", "lpp.processingPRS_SymbolsDurationN3_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_processingPRS_SymbolsDurationN3_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_processingDurationT3_r18, { "processingDurationT3-r18", "lpp.processingDurationT3_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_processingDurationT3_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_rf_RxRetunTimeFR1_r18, { "rf-RxRetunTimeFR1-r18", "lpp.rf_RxRetunTimeFR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_rf_RxRetunTimeFR1_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_rf_RxRetunTimeFR2_r18, { "rf-RxRetunTimeFR2-r18", "lpp.rf_RxRetunTimeFR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_rf_RxRetunTimeFR2_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_numOfOverlappingPRB_r18, { "numOfOverlappingPRB-r18", "lpp.numOfOverlappingPRB_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_numOfOverlappingPRB_r18_vals), 0, NULL, 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_DL_PRS_TRP_TEG_Info_r17_item, { "NR-DL-PRS-TRP-TEG-InfoPerFreqLayer-r17", "lpp.NR_DL_PRS_TRP_TEG_InfoPerFreqLayer_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_DL_PRS_TRP_TEG_InfoPerFreqLayer_r17_item, { "NR-DL-PRS-TRP-TEG-InfoPerTRP-r17", "lpp.NR_DL_PRS_TRP_TEG_InfoPerTRP_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_PRS_TEG_InfoSet_r17, { "dl-PRS-TEG-InfoSet-r17", "lpp.dl_PRS_TEG_InfoSet_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_TEG_InfoPerResourceSet_r17", HFILL }}, { &hf_lpp_dl_PRS_TEG_InfoSet_r17_item, { "DL-PRS-TEG-InfoPerResourceSet-r17", "lpp.DL_PRS_TEG_InfoPerResourceSet_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_TRP_TxTEG_TimingErrorMargin_r17, { "nr-TRP-TxTEG-TimingErrorMargin-r17", "lpp.nr_TRP_TxTEG_TimingErrorMargin_r17", FT_UINT32, BASE_DEC, VALS(lpp_TEG_TimingErrorMargin_r17_vals), 0, "TEG_TimingErrorMargin_r17", HFILL }}, { &hf_lpp_DL_PRS_TEG_InfoPerResourceSet_r17_item, { "DL-PRS-TEG-InfoElement-r17", "lpp.DL_PRS_TEG_InfoElement_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_prs_trp_Tx_TEG_ID_r17, { "dl-prs-trp-Tx-TEG-ID-r17", "lpp.dl_prs_trp_Tx_TEG_ID_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNumOfTRP_TxTEGs_1_r17", HFILL }}, { &hf_lpp_nr_ProbOnsetTRP_Fault_r18, { "nr-ProbOnsetTRP-Fault-r18", "lpp.nr_ProbOnsetTRP_Fault_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_nr_MeanTRP_FaultDuration_r18, { "nr-MeanTRP-FaultDuration-r18", "lpp.nr_MeanTRP_FaultDuration_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_3600", HFILL }}, { &hf_lpp_NR_IntegrityServiceAlert_r18_item, { "NR-TRP-IntegrityServiceAlertPerFreqLayer-r18", "lpp.NR_TRP_IntegrityServiceAlertPerFreqLayer_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_TRP_IntegrityServiceAlertPerFreqLayer_r18_item, { "NR-TRP-IntegrityServiceAlertElement-r18", "lpp.NR_TRP_IntegrityServiceAlertElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_PRS_ID_r18, { "dl-PRS-ID-r18", "lpp.dl_PRS_ID_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_nr_PhysCellID_r18, { "nr-PhysCellID-r18", "lpp.nr_PhysCellID_r18", FT_UINT32, BASE_DEC, NULL, 0, "NR_PhysCellID_r16", HFILL }}, { &hf_lpp_nr_CellGlobalID_r18, { "nr-CellGlobalID-r18", "lpp.nr_CellGlobalID_r18_element", FT_NONE, BASE_NONE, NULL, 0, "NCGI_r15", HFILL }}, { &hf_lpp_nr_ARFCN_r18, { "nr-ARFCN-r18", "lpp.nr_ARFCN_r18", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueNR_r15", HFILL }}, { &hf_lpp_rtd_DoNotUse_r18, { "rtd-DoNotUse-r18", "lpp.rtd_DoNotUse_r18", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_lpp_trp_LocationDoNotUse_r18, { "trp-LocationDoNotUse-r18", "lpp.trp_LocationDoNotUse_r18", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_lpp_beamInfo_DoNotUse_r18, { "beamInfo-DoNotUse-r18", "lpp.beamInfo_DoNotUse_r18", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_lpp_beamAntennaInfo_DoNotUse_r18, { "beamAntennaInfo-DoNotUse-r18", "lpp.beamAntennaInfo_DoNotUse_r18", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_lpp_ir_Minimum_r18, { "ir-Minimum-r18", "lpp.ir_Minimum_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_ir_Maximum_r18, { "ir-Maximum-r18", "lpp.ir_Maximum_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_on_demand_dl_prs_configuration_list_r17, { "on-demand-dl-prs-configuration-list-r17", "lpp.on_demand_dl_prs_configuration_list_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_On_Demand_DL_PRS_Configuration_r17", HFILL }}, { &hf_lpp_on_demand_dl_prs_configuration_list_r17_item, { "On-Demand-DL-PRS-Configuration-r17", "lpp.On_Demand_DL_PRS_Configuration_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_onDemandDL_PRS_AggregationList_r18, { "onDemandDL-PRS-AggregationList-r18", "lpp.onDemandDL_PRS_AggregationList_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_OnDemandDL_PRS_AggregationInfo_r18", HFILL }}, { &hf_lpp_onDemandDL_PRS_AggregationList_r18_item, { "OnDemandDL-PRS-AggregationInfo-r18", "lpp.OnDemandDL_PRS_AggregationInfo_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_prs_configuration_id_r17, { "dl-prs-configuration-id-r17", "lpp.dl_prs_configuration_id_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_DL_PRS_PositioningFrequencyLayer_r17, { "nr-DL-PRS-PositioningFrequencyLayer-r17", "lpp.nr_DL_PRS_PositioningFrequencyLayer_r17_element", FT_NONE, BASE_NONE, NULL, 0, "NR_DL_PRS_PositioningFrequencyLayer_r16", HFILL }}, { &hf_lpp_nr_DL_PRS_Info_r17, { "nr-DL-PRS-Info-r17", "lpp.nr_DL_PRS_Info_r17_element", FT_NONE, BASE_NONE, NULL, 0, "NR_DL_PRS_Info_r16", HFILL }}, { &hf_lpp_nr_dl_prs_configuration_id_r17, { "nr-dl-prs-configuration-id-r17", "lpp.nr_dl_prs_configuration_id_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxOD_DL_PRS_Configs_r17", HFILL }}, { &hf_lpp_OnDemandDL_PRS_AggregationInfo_r18_item, { "DL-PRS-Configuration-ID-r17", "lpp.DL_PRS_Configuration_ID_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_On_Demand_DL_PRS_Information_r17_item, { "NR-On-Demand-DL-PRS-PerFreqLayer-r17", "lpp.NR_On_Demand_DL_PRS_PerFreqLayer_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_prs_FrequencyRangeReq_r17, { "dl-prs-FrequencyRangeReq-r17", "lpp.dl_prs_FrequencyRangeReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_prs_FrequencyRangeReq_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_dl_prs_ResourceSetPeriodicityReq_r17, { "dl-prs-ResourceSetPeriodicityReq-r17", "lpp.dl_prs_ResourceSetPeriodicityReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_prs_ResourceSetPeriodicityReq_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_dl_prs_ResourceBandwidthReq_r17, { "dl-prs-ResourceBandwidthReq-r17", "lpp.dl_prs_ResourceBandwidthReq_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_63", HFILL }}, { &hf_lpp_dl_prs_ResourceRepetitionFactorReq_r17, { "dl-prs-ResourceRepetitionFactorReq-r17", "lpp.dl_prs_ResourceRepetitionFactorReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_prs_ResourceRepetitionFactorReq_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_dl_prs_NumSymbolsReq_r17, { "dl-prs-NumSymbolsReq-r17", "lpp.dl_prs_NumSymbolsReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_prs_NumSymbolsReq_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_dl_prs_CombSizeN_Req_r17, { "dl-prs-CombSizeN-Req-r17", "lpp.dl_prs_CombSizeN_Req_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_prs_CombSizeN_Req_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_dl_prs_QCL_InformationReqTRPlist_r17, { "dl-prs-QCL-InformationReqTRPlist-r17", "lpp.dl_prs_QCL_InformationReqTRPlist_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_DL_PRS_QCL_InformationReqTRPlist_r17_item, { "DL-PRS-QCL-InformationReqPerTRP-r17", "lpp.DL_PRS_QCL_InformationReqPerTRP_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_prs_QCL_InformationReqSet_r17, { "dl-prs-QCL-InformationReqSet-r17", "lpp.dl_prs_QCL_InformationReqSet_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_QCL_InfoReq_r17", HFILL }}, { &hf_lpp_dl_prs_QCL_InformationReqSet_r17_item, { "DL-PRS-QCL-InfoReq-r17", "lpp.DL_PRS_QCL_InfoReq_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_DL_PRS_ResourceSetID_r17, { "nr-DL-PRS-ResourceSetID-r17", "lpp.nr_DL_PRS_ResourceSetID_r17", FT_UINT32, BASE_DEC, NULL, 0, "NR_DL_PRS_ResourceSetID_r16", HFILL }}, { &hf_lpp_dl_prs_QCL_InformationReq_r17, { "dl-prs-QCL-InformationReq-r17", "lpp.dl_prs_QCL_InformationReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_prs_QCL_InformationReq_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_dl_prs_QCL_InfoRecPerResourceSet_r17, { "dl-prs-QCL-InfoRecPerResourceSet-r17", "lpp.dl_prs_QCL_InfoRecPerResourceSet_r17", FT_UINT32, BASE_DEC, VALS(lpp_DL_PRS_QCL_Info_r16_vals), 0, "DL_PRS_QCL_Info_r16", HFILL }}, { &hf_lpp_dl_prs_QCL_Info_requested_r17, { "dl-prs-QCL-Info-requested-r17", "lpp.dl_prs_QCL_Info_requested_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_prs_QCL_InfoRecPerResource_r17, { "dl-prs-QCL-InfoRecPerResource-r17", "lpp.dl_prs_QCL_InfoRecPerResource_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_QCL_Info_r16", HFILL }}, { &hf_lpp_dl_prs_QCL_InfoRecPerResource_r17_item, { "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_dl_prs_StartTime_and_Duration_r17, { "dl-prs-StartTime-and-Duration-r17", "lpp.dl_prs_StartTime_and_Duration_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_on_demand_DL_PRS_Information_r17, { "nr-on-demand-DL-PRS-Information-r17", "lpp.nr_on_demand_DL_PRS_Information_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_prs_configuration_id_PrefList_r17, { "dl-prs-configuration-id-PrefList-r17", "lpp.dl_prs_configuration_id_PrefList_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_DL_PRS_Configuration_ID_r17", HFILL }}, { &hf_lpp_dl_prs_configuration_id_PrefList_r17_item, { "DL-PRS-Configuration-ID-r17", "lpp.DL_PRS_Configuration_ID_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_PRS_AggregationID_PrefList_r18, { "dl-PRS-AggregationID-PrefList-r18", "lpp.dl_PRS_AggregationID_PrefList_r18", FT_UINT32, BASE_DEC, NULL, 0, "T_dl_PRS_AggregationID_PrefList_r18", HFILL }}, { &hf_lpp_dl_PRS_AggregationID_PrefList_r18_item, { "dl-PRS-AggregationID-PrefList-r18 item", "lpp.dl_PRS_AggregationID_PrefList_r18_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxOD_DL_PRS_Configs_r17", HFILL }}, { &hf_lpp_nr_OnDemandDL_PRS_AggregationReqList_r18, { "nr-OnDemandDL-PRS-AggregationReqList-r18", "lpp.nr_OnDemandDL_PRS_AggregationReqList_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_NR_OnDemandDL_PRS_AggregationReqElement_r18", HFILL }}, { &hf_lpp_nr_OnDemandDL_PRS_AggregationReqList_r18_item, { "NR-OnDemandDL-PRS-AggregationReqElement-r18", "lpp.NR_OnDemandDL_PRS_AggregationReqElement_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_dl_prs_start_time_r17, { "dl-prs-start-time-r17", "lpp.dl_prs_start_time_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_1024", HFILL }}, { &hf_lpp_dl_prs_duration_r17, { "dl-prs-duration-r17", "lpp.dl_prs_duration_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_seconds_r17, { "seconds-r17", "lpp.seconds_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_59", HFILL }}, { &hf_lpp_minutes_r17, { "minutes-r17", "lpp.minutes_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_59", HFILL }}, { &hf_lpp_hours_r17, { "hours-r17", "lpp.hours_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_23", HFILL }}, { &hf_lpp_NR_OnDemandDL_PRS_AggregationReqElement_r18_item, { "NR-OnDemandDL-PRS-AggregationReqElement-r18 item", "lpp.NR_OnDemandDL_PRS_AggregationReqElement_r18_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_nrMaxFreqLayers_r16", HFILL }}, { &hf_lpp_NR_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17_item, { "DL-PRS-Configuration-ID-r17", "lpp.DL_PRS_Configuration_ID_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_on_demand_DL_PRS_InformationSup_r17, { "nr-on-demand-DL-PRS-InformationSup-r17", "lpp.nr_on_demand_DL_PRS_InformationSup_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_on_demand_DL_PRS_InformationSup_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_nr_on_demand_DL_PRS_ConfigurationsSup_r17, { "nr-on-demand-DL-PRS-ConfigurationsSup-r17", "lpp.nr_on_demand_DL_PRS_ConfigurationsSup_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_on_demand_DL_PRS_ConfigurationsSup_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_nr_PeriodicPRU_DL_Info_r18, { "nr-PeriodicPRU-DL-Info-r18", "lpp.nr_PeriodicPRU_DL_Info_r18_element", FT_NONE, BASE_NONE, NULL, 0, "NR_PeriodicControlParam_r18", HFILL }}, { &hf_lpp_nr_PeriodicPRU_DL_InfoReq_r18, { "nr-PeriodicPRU-DL-InfoReq-r18", "lpp.nr_PeriodicPRU_DL_InfoReq_r18_element", FT_NONE, BASE_NONE, NULL, 0, "NR_PeriodicControlParam_r18", HFILL }}, { &hf_lpp_deliveryAmount_r18, { "deliveryAmount-r18", "lpp.deliveryAmount_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_32", HFILL }}, { &hf_lpp_deliveryInterval_r18, { "deliveryInterval-r18", "lpp.deliveryInterval_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_4_81920", 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_nr_TRP_BeamAntennaInfo_r17, { "nr-TRP-BeamAntennaInfo-r17", "lpp.nr_TRP_BeamAntennaInfo_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_DL_PRS_Expected_LOS_NLOS_Assistance_r17, { "nr-DL-PRS-Expected-LOS-NLOS-Assistance-r17", "lpp.nr_DL_PRS_Expected_LOS_NLOS_Assistance_r17", FT_UINT32, BASE_DEC, NULL, 0, "NR_DL_PRS_ExpectedLOS_NLOS_Assistance_r17", HFILL }}, { &hf_lpp_nr_DL_PRS_TRP_TEG_Info_r17, { "nr-DL-PRS-TRP-TEG-Info-r17", "lpp.nr_DL_PRS_TRP_TEG_Info_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_IntegrityServiceParameters_r18, { "nr-IntegrityServiceParameters-r18", "lpp.nr_IntegrityServiceParameters_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_IntegrityServiceAlert_r18, { "nr-IntegrityServiceAlert-r18", "lpp.nr_IntegrityServiceAlert_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_IntegrityRiskParameters_r18, { "nr-IntegrityRiskParameters-r18", "lpp.nr_IntegrityRiskParameters_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_IntegrityParametersTRP_LocationInfo_r18, { "nr-IntegrityParametersTRP-LocationInfo-r18", "lpp.nr_IntegrityParametersTRP_LocationInfo_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_IntegrityParametersDL_PRS_BeamInfo_r18, { "nr-IntegrityParametersDL-PRS-BeamInfo-r18", "lpp.nr_IntegrityParametersDL_PRS_BeamInfo_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_IntegrityParametersRTD_Info_r18, { "nr-IntegrityParametersRTD-Info-r18", "lpp.nr_IntegrityParametersRTD_Info_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_IntegrityParametersTRP_BeamAntennaInfo_r18, { "nr-IntegrityParametersTRP-BeamAntennaInfo-r18", "lpp.nr_IntegrityParametersTRP_BeamAntennaInfo_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_PRU_DL_Info_r18, { "nr-PRU-DL-Info-r18", "lpp.nr_PRU_DL_Info_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_trp_ErrorCorrelationTime_r18, { "trp-ErrorCorrelationTime-r18", "lpp.trp_ErrorCorrelationTime_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_dl_PRS_ResourceSetARP_ErrorCorrelationTime_r18, { "dl-PRS-ResourceSetARP-ErrorCorrelationTime-r18", "lpp.dl_PRS_ResourceSetARP_ErrorCorrelationTime_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_dl_PRS_ResourceARP_ErrorCorrelationTime_r18, { "dl-PRS-ResourceARP-ErrorCorrelationTime-r18", "lpp.dl_PRS_ResourceARP_ErrorCorrelationTime_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_dl_PRS_BeamInfoErrorCorrelationTime_r18, { "dl-PRS-BeamInfoErrorCorrelationTime-r18", "lpp.dl_PRS_BeamInfoErrorCorrelationTime_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_rtd_ErrorCorrelationTime_r18, { "rtd-ErrorCorrelationTime-r18", "lpp.rtd_ErrorCorrelationTime_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_trp_BeamAntennaInfoErrorCorrelationTime_r18, { "trp-BeamAntennaInfoErrorCorrelationTime-r18", "lpp.trp_BeamAntennaInfoErrorCorrelationTime_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_nr_PRU_LocationInfo_r18, { "nr-PRU-LocationInfo-r18", "lpp.nr_PRU_LocationInfo_r18", FT_UINT32, BASE_DEC, VALS(lpp_LocationCoordinates_vals), 0, "LocationCoordinates", HFILL }}, { &hf_lpp_nr_PRU_DL_TDOA_MeasInfo_r18, { "nr-PRU-DL-TDOA-MeasInfo-r18", "lpp.nr_PRU_DL_TDOA_MeasInfo_r18_element", FT_NONE, BASE_NONE, NULL, 0, "NR_DL_TDOA_SignalMeasurementInformation_r16", HFILL }}, { &hf_lpp_nr_PRU_DL_AoD_MeasInfo_r18, { "nr-PRU-DL-AoD-MeasInfo-r18", "lpp.nr_PRU_DL_AoD_MeasInfo_r18_element", FT_NONE, BASE_NONE, NULL, 0, "NR_DL_AoD_SignalMeasurementInformation_r16", HFILL }}, { &hf_lpp_nr_PRU_RSCP_MeasInfo_r18, { "nr-PRU-RSCP-MeasInfo-r18", "lpp.nr_PRU_RSCP_MeasInfo_r18", FT_UINT32, BASE_DEC, NULL, 0, "NR_PRU_RSCP_MeasurementInformation_r18", HFILL }}, { &hf_lpp_NR_PRU_RSCP_MeasurementInformation_r18_item, { "NR-PRU-RSCP-MeasElement-r18", "lpp.NR_PRU_RSCP_MeasElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_TimeStamp_r18, { "nr-TimeStamp-r18", "lpp.nr_TimeStamp_r18_element", FT_NONE, BASE_NONE, NULL, 0, "NR_TimeStamp_r16", HFILL }}, { &hf_lpp_nr_los_nlos_Indicator_r18, { "nr-los-nlos-Indicator-r18", "lpp.nr_los_nlos_Indicator_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_los_nlos_Indicator_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_perTRP, { "perTRP", "lpp.perTRP_element", FT_NONE, BASE_NONE, NULL, 0, "LOS_NLOS_Indicator_r17", HFILL }}, { &hf_lpp_perResource, { "perResource", "lpp.perResource_element", FT_NONE, BASE_NONE, NULL, 0, "LOS_NLOS_Indicator_r17", HFILL }}, { &hf_lpp_nr_RSCP_r18, { "nr-RSCP-r18", "lpp.nr_RSCP_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3599", HFILL }}, { &hf_lpp_nr_DL_PRS_RSRP_Result_r18, { "nr-DL-PRS-RSRP-Result-r18", "lpp.nr_DL_PRS_RSRP_Result_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_126", HFILL }}, { &hf_lpp_nr_DL_PRS_FirstPathRSRP_Result_r18, { "nr-DL-PRS-FirstPathRSRP-Result-r18", "lpp.nr_DL_PRS_FirstPathRSRP_Result_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_126", HFILL }}, { &hf_lpp_nr_PhaseQuality_r18, { "nr-PhaseQuality-r18", "lpp.nr_PhaseQuality_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_PRU_RSCP_AddSampleMeasurements_r18, { "nr-PRU-RSCP-AddSampleMeasurements-r18", "lpp.nr_PRU_RSCP_AddSampleMeasurements_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18", HFILL }}, { &hf_lpp_nr_PRU_RSCP_AddSampleMeasurements_r18_item, { "NR-RSCP-AdditionalMeasurements-r18", "lpp.NR_RSCP_AdditionalMeasurements_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_PRU_RSRP_AddSampleMeasurements_r18, { "nr-PRU-RSRP-AddSampleMeasurements-r18", "lpp.nr_PRU_RSRP_AddSampleMeasurements_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_PRU_RSRP_AddSampleMeasurements_r18_item, { "nr-PRU-RSRP-AddSampleMeasurements-r18 item", "lpp.nr_PRU_RSRP_AddSampleMeasurements_r18_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_61", HFILL }}, { &hf_lpp_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18, { "nr-PRU-FirstPathRSRP-ResultDiff-AddSampleMeasurements-r18", "lpp.nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18_item, { "nr-PRU-FirstPathRSRP-ResultDiff-AddSampleMeasurements-r18 item", "lpp.nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_61", HFILL }}, { &hf_lpp_nr_PRU_RSCP_AdditionalMeasurements_r18, { "nr-PRU-RSCP-AdditionalMeasurements-r18", "lpp.nr_PRU_RSCP_AdditionalMeasurements_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_PRU_RSCP_AdditionalMeasurements_r18_item, { "NR-PRU-RSCP-AdditionalMeasurementElement-r18", "lpp.NR_PRU_RSCP_AdditionalMeasurementElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r18, { "nr-DL-PRS-RSRP-ResultDiff-r18", "lpp.nr_DL_PRS_RSRP_ResultDiff_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_61", HFILL }}, { &hf_lpp_nr_DL_PRS_FirstPathRSRP_ResultDiff_r18, { "nr-DL-PRS-FirstPathRSRP-ResultDiff-r18", "lpp.nr_DL_PRS_FirstPathRSRP_ResultDiff_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_61", HFILL }}, { &hf_lpp_nr_PRU_RSCP_AdditionalMeasurementsList_r18, { "nr-PRU-RSCP-AdditionalMeasurementsList-r18", "lpp.nr_PRU_RSCP_AdditionalMeasurementsList_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrNumOfSamples_r18_OF_NR_RSCP_AdditionalMeasurements_r18", HFILL }}, { &hf_lpp_nr_PRU_RSCP_AdditionalMeasurementsList_r18_item, { "NR-RSCP-AdditionalMeasurements-r18", "lpp.NR_RSCP_AdditionalMeasurements_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18, { "nr-PRU-RSRPDiff-AdditionalMeasurementsList-r18", "lpp.nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18", FT_UINT32, BASE_DEC, NULL, 0, "T_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18", HFILL }}, { &hf_lpp_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18_item, { "nr-PRU-RSRPDiff-AdditionalMeasurementsList-r18 item", "lpp.nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_61", HFILL }}, { &hf_lpp_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18, { "nr-PRU-FirstPathRSRP-ResultDiff-AdditionalMeasurementsList-r18", "lpp.nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18", FT_UINT32, BASE_DEC, NULL, 0, "T_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18", HFILL }}, { &hf_lpp_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18_item, { "nr-PRU-FirstPathRSRP-ResultDiff-AdditionalMeasurementsList-r18 item", "lpp.nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_61", 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_IntegrityRTD_InfoBounds_r18, { "nr-IntegrityRTD-InfoBounds-r18", "lpp.nr_IntegrityRTD_InfoBounds_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_resolution_r18, { "resolution-r18", "lpp.resolution_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_resolution_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_meanRTD_r18, { "meanRTD-r18", "lpp.meanRTD_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevRTD_r18, { "stdDevRTD-r18", "lpp.stdDevRTD_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", 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_nr_Symbol_r18, { "nr-Symbol-r18", "lpp.nr_Symbol_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_13", 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_BeamAntennaInfo_r17_item, { "NR-TRP-BeamAntennaInfoPerFreqLayer-r17", "lpp.NR_TRP_BeamAntennaInfoPerFreqLayer_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_TRP_BeamAntennaInfoPerFreqLayer_r17_item, { "NR-TRP-BeamAntennaInfoPerTRP-r17", "lpp.NR_TRP_BeamAntennaInfoPerTRP_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_associated_DL_PRS_ID_r17, { "associated-DL-PRS-ID-r17", "lpp.associated_DL_PRS_ID_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_lcs_GCS_TranslationParameter_r17, { "lcs-GCS-TranslationParameter-r17", "lpp.lcs_GCS_TranslationParameter_r17_element", FT_NONE, BASE_NONE, NULL, 0, "LCS_GCS_TranslationParameter_r16", HFILL }}, { &hf_lpp_nr_TRP_BeamAntennaAngles_r17, { "nr-TRP-BeamAntennaAngles-r17", "lpp.nr_TRP_BeamAntennaAngles_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_NR_TRP_BeamAntennaAngles_r17_item, { "NR-TRP-BeamAntennaInfoAzimuthElevation-r17", "lpp.NR_TRP_BeamAntennaInfoAzimuthElevation_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_azimuth_r17, { "azimuth-r17", "lpp.azimuth_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_359", HFILL }}, { &hf_lpp_azimuth_fine_r17, { "azimuth-fine-r17", "lpp.azimuth_fine_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_9", HFILL }}, { &hf_lpp_elevationList_r17, { "elevationList-r17", "lpp.elevationList_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_1801_OF_ElevationElement_R17", HFILL }}, { &hf_lpp_elevationList_r17_item, { "ElevationElement-R17", "lpp.ElevationElement_R17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_elevation_r17, { "elevation-r17", "lpp.elevation_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_180", HFILL }}, { &hf_lpp_elevation_fine_r17, { "elevation-fine-r17", "lpp.elevation_fine_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_9", HFILL }}, { &hf_lpp_beamPowerList_r17, { "beamPowerList-r17", "lpp.beamPowerList_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_2_maxNumResourcesPerAngle_r17_OF_BeamPowerElement_r17", HFILL }}, { &hf_lpp_beamPowerList_r17_item, { "BeamPowerElement-r17", "lpp.BeamPowerElement_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_dl_prs_ResourceSetID_r17, { "nr-dl-prs-ResourceSetID-r17", "lpp.nr_dl_prs_ResourceSetID_r17", FT_UINT32, BASE_DEC, NULL, 0, "NR_DL_PRS_ResourceSetID_r16", HFILL }}, { &hf_lpp_nr_dl_prs_ResourceID_r17, { "nr-dl-prs-ResourceID-r17", "lpp.nr_dl_prs_ResourceID_r17", FT_UINT32, BASE_DEC, NULL, 0, "NR_DL_PRS_ResourceID_r16", HFILL }}, { &hf_lpp_nr_dl_prs_RelativePower_r17, { "nr-dl-prs-RelativePower-r17", "lpp.nr_dl_prs_RelativePower_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_30", HFILL }}, { &hf_lpp_nr_dl_prs_RelativePowerFine_r17, { "nr-dl-prs-RelativePowerFine-r17", "lpp.nr_dl_prs_RelativePowerFine_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_9", HFILL }}, { &hf_lpp_nr_IntegrityBeamPowerBounds_r18, { "nr-IntegrityBeamPowerBounds-r18", "lpp.nr_IntegrityBeamPowerBounds_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_meanBeamPower_r18, { "meanBeamPower-r18", "lpp.meanBeamPower_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_127", HFILL }}, { &hf_lpp_stdDevBeamPower_r18, { "stdDevBeamPower-r18", "lpp.stdDevBeamPower_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_127", 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_trp_LocationCartesian_r18, { "trp-LocationCartesian-r18", "lpp.trp_LocationCartesian_r18_element", FT_NONE, BASE_NONE, NULL, 0, "RelativeCartesianLocation_r18", HFILL }}, { &hf_lpp_nr_IntegrityTRP_LocationBounds_r18, { "nr-IntegrityTRP-LocationBounds-r18", "lpp.nr_IntegrityTRP_LocationBounds_r18_element", FT_NONE, BASE_NONE, NULL, 0, "NR_IntegrityLocationBounds_r18", 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_ResourceSetARP_Cartesian_r18, { "dl-PRS-ResourceSetARP-Cartesian-r18", "lpp.dl_PRS_ResourceSetARP_Cartesian_r18_element", FT_NONE, BASE_NONE, NULL, 0, "RelativeCartesianLocation_r18", HFILL }}, { &hf_lpp_nr_IntegrityDL_PRS_ResourceSetARP_LocationBounds_r18, { "nr-IntegrityDL-PRS-ResourceSetARP-LocationBounds-r18", "lpp.nr_IntegrityDL_PRS_ResourceSetARP_LocationBounds_r18_element", FT_NONE, BASE_NONE, NULL, 0, "NR_IntegrityLocationBounds_r18", 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_dl_PRS_Resource_ARP_locationCartesian_r18, { "dl-PRS-Resource-ARP-locationCartesian-r18", "lpp.dl_PRS_Resource_ARP_locationCartesian_r18_element", FT_NONE, BASE_NONE, NULL, 0, "RelativeCartesianLocation_r18", HFILL }}, { &hf_lpp_nr_IntegrityDL_PRS_ResourceARP_LocationBounds_r18, { "nr-IntegrityDL-PRS-ResourceARP-LocationBounds-r18", "lpp.nr_IntegrityDL_PRS_ResourceARP_LocationBounds_r18_element", FT_NONE, BASE_NONE, NULL, 0, "NR_IntegrityLocationBounds_r18", HFILL }}, { &hf_lpp_units_r18, { "units-r18", "lpp.units_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_units_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_meanLocationErrorBound_r18, { "meanLocationErrorBound-r18", "lpp.meanLocationErrorBound_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_horizontal_r18, { "horizontal-r18", "lpp.horizontal_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_vertical_r18, { "vertical-r18", "lpp.vertical_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevLocationErrorBound_r18, { "stdDevLocationErrorBound-r18", "lpp.stdDevLocationErrorBound_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_UE_TEG_ID_CapabilityBandList_r17, { "nr-UE-TEG-ID-CapabilityBandList-r17", "lpp.nr_UE_TEG_ID_CapabilityBandList_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrMaxBands_r16_OF_NR_UE_TEG_ID_CapabilityPerBand_r17", HFILL }}, { &hf_lpp_nr_UE_TEG_ID_CapabilityBandList_r17_item, { "NR-UE-TEG-ID-CapabilityPerBand-r17", "lpp.NR_UE_TEG_ID_CapabilityPerBand_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_freqBandIndicatorNR_r17, { "freqBandIndicatorNR-r17", "lpp.freqBandIndicatorNR_r17", FT_UINT32, BASE_DEC, NULL, 0, "FreqBandIndicatorNR_r16", HFILL }}, { &hf_lpp_nr_UE_RxTEG_ID_MaxSupport_r17, { "nr-UE-RxTEG-ID-MaxSupport-r17", "lpp.nr_UE_RxTEG_ID_MaxSupport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_UE_RxTEG_ID_MaxSupport_r17_vals), 0, "T_nr_UE_RxTEG_ID_MaxSupport_r17", HFILL }}, { &hf_lpp_nr_UE_TxTEG_ID_MaxSupport_r17, { "nr-UE-TxTEG-ID-MaxSupport-r17", "lpp.nr_UE_TxTEG_ID_MaxSupport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_UE_TxTEG_ID_MaxSupport_r17_vals), 0, "T_nr_UE_TxTEG_ID_MaxSupport_r17", HFILL }}, { &hf_lpp_nr_UE_RxTxTEG_ID_MaxSupport_r17, { "nr-UE-RxTxTEG-ID-MaxSupport-r17", "lpp.nr_UE_RxTxTEG_ID_MaxSupport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_UE_RxTxTEG_ID_MaxSupport_r17_vals), 0, "T_nr_UE_RxTxTEG_ID_MaxSupport_r17", HFILL }}, { &hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17, { "measureSameDL-PRS-ResourceWithDifferentRxTEGs-r17", "lpp.measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTEGsSimul_r17, { "measureSameDL-PRS-ResourceWithDifferentRxTEGsSimul-r17", "lpp.measureSameDL_PRS_ResourceWithDifferentRxTEGsSimul_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGsSimul_r17_vals), 0, NULL, 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_posSRS_RRC_Inactive_InInitialUL_BWP_r17, { "posSRS-RRC-Inactive-InInitialUL-BWP-r17", "lpp.posSRS_RRC_Inactive_InInitialUL_BWP_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_posSRS_RRC_Inactive_OutsideInitialUL_BWP_r17, { "posSRS-RRC-Inactive-OutsideInitialUL-BWP-r17", "lpp.posSRS_RRC_Inactive_OutsideInitialUL_BWP_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_olpc_SRS_PosRRC_Inactive_r17, { "olpc-SRS-PosRRC-Inactive-r17", "lpp.olpc_SRS_PosRRC_Inactive_r17_element", FT_NONE, BASE_NONE, NULL, 0, "OLPC_SRS_Pos_r16", HFILL }}, { &hf_lpp_spatialRelationsSRS_PosRRC_Inactive_r17, { "spatialRelationsSRS-PosRRC-Inactive-r17", "lpp.spatialRelationsSRS_PosRRC_Inactive_r17_element", FT_NONE, BASE_NONE, NULL, 0, "SpatialRelationsSRS_Pos_r16", HFILL }}, { &hf_lpp_posSRS_SP_RRC_Inactive_InInitialUL_BWP_r17, { "posSRS-SP-RRC-Inactive-InInitialUL-BWP-r17", "lpp.posSRS_SP_RRC_Inactive_InInitialUL_BWP_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_posSRS_Preconfigured_RRC_InactiveInitialUL_BWP_r18, { "posSRS-Preconfigured-RRC-InactiveInitialUL-BWP-r18", "lpp.posSRS_Preconfigured_RRC_InactiveInitialUL_BWP_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_posSRS_Preconfigured_RRC_InactiveInitialUL_BWP_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_posSRS_Preconfigured_RRC_InactiveOutsideInitialUL_BWP_r18, { "posSRS-Preconfigured-RRC-InactiveOutsideInitialUL-BWP-r18", "lpp.posSRS_Preconfigured_RRC_InactiveOutsideInitialUL_BWP_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_posSRS_Preconfigured_RRC_InactiveOutsideInitialUL_BWP_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_posSRS_ValidityAreaRRC_InactiveInitialUL_BWP_r18, { "posSRS-ValidityAreaRRC-InactiveInitialUL-BWP-r18", "lpp.posSRS_ValidityAreaRRC_InactiveInitialUL_BWP_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_posSRS_ValidityAreaRRC_InactiveInitialUL_BWP_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_posSRS_ValidityAreaRRC_InactiveOutsideInitialUL_BWP_r18, { "posSRS-ValidityAreaRRC-InactiveOutsideInitialUL-BWP-r18", "lpp.posSRS_ValidityAreaRRC_InactiveOutsideInitialUL_BWP_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_posSRS_ValidityAreaRRC_InactiveOutsideInitialUL_BWP_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_posSRS_TxFH_RRC_Connected_r18, { "posSRS-TxFH-RRC-Connected-r18", "lpp.posSRS_TxFH_RRC_Connected_r18_element", FT_NONE, BASE_NONE, NULL, 0, "PosSRS_TxFrequencyHoppingRRC_Connected_r18", HFILL }}, { &hf_lpp_posSRS_TxFH_RRC_Inactive_r18, { "posSRS-TxFH-RRC-Inactive-r18", "lpp.posSRS_TxFH_RRC_Inactive_r18_element", FT_NONE, BASE_NONE, NULL, 0, "PosSRS_TxFrequencyHoppingRRC_Inactive_r18", HFILL }}, { &hf_lpp_posSRS_TxFH_WithTimeWindow_r18, { "posSRS-TxFH-WithTimeWindow-r18", "lpp.posSRS_TxFH_WithTimeWindow_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_posSRS_TxFH_WithTimeWindow_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_posSRS_BWA_RRC_Inactive_r18, { "posSRS-BWA-RRC-Inactive-r18", "lpp.posSRS_BWA_RRC_Inactive_r18_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_posSRS_BWA_RRC_Connected_r18, { "posSRS-BWA-RRC-Connected-r18", "lpp.posSRS_BWA_RRC_Connected_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_posSRS_BWA_IndependentCA_RRC_Connected_r18, { "posSRS-BWA-IndependentCA-RRC-Connected-r18", "lpp.posSRS_BWA_IndependentCA_RRC_Connected_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_maxNumOfSRSposResourceSets_r17, { "maxNumOfSRSposResourceSets-r17", "lpp.maxNumOfSRSposResourceSets_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfSRSposResourceSets_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17, { "maxNumOfPeriodicAndSemiPersistentSRSposResources-r17", "lpp.maxNumOfPeriodicAndSemiPersistentSRSposResources_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17, { "maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot-r17", "lpp.maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17_vals), 0, "T_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17", HFILL }}, { &hf_lpp_maxNumOfPeriodicSRSposResources_r17, { "maxNumOfPeriodicSRSposResources-r17", "lpp.maxNumOfPeriodicSRSposResources_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfPeriodicSRSposResources_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_maxNumOfPeriodicSRSposResourcesPerSlot_r17, { "maxNumOfPeriodicSRSposResourcesPerSlot-r17", "lpp.maxNumOfPeriodicSRSposResourcesPerSlot_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfPeriodicSRSposResourcesPerSlot_r17_vals), 0, "T_maxNumOfPeriodicSRSposResourcesPerSlot_r17", HFILL }}, { &hf_lpp_dummy1, { "dummy1", "lpp.dummy1", FT_UINT32, BASE_DEC, VALS(lpp_T_dummy1_vals), 0, NULL, HFILL }}, { &hf_lpp_dummy2, { "dummy2", "lpp.dummy2", FT_UINT32, BASE_DEC, VALS(lpp_T_dummy2_vals), 0, NULL, HFILL }}, { &hf_lpp_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17, { "maxSRSposBandwidthForEachSCS-withinCC-FR1-r17", "lpp.maxSRSposBandwidthForEachSCS_withinCC_FR1_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxSRSposBandwidthForEachSCS_withinCC_FR1_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17, { "maxSRSposBandwidthForEachSCS-withinCC-FR2-r17", "lpp.maxSRSposBandwidthForEachSCS_withinCC_FR2_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxSRSposBandwidthForEachSCS_withinCC_FR2_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_maxNumOfSRSposResourceSets_r17_01, { "maxNumOfSRSposResourceSets-r17", "lpp.maxNumOfSRSposResourceSets_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfSRSposResourceSets_r17_01_vals), 0, "T_maxNumOfSRSposResourceSets_r17_01", HFILL }}, { &hf_lpp_maxNumOfPeriodicSRSposResources_r17_01, { "maxNumOfPeriodicSRSposResources-r17", "lpp.maxNumOfPeriodicSRSposResources_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfPeriodicSRSposResources_r17_01_vals), 0, "T_maxNumOfPeriodicSRSposResources_r17_01", HFILL }}, { &hf_lpp_maxNumOfPeriodicSRSposResourcesPerSlot_r17_01, { "maxNumOfPeriodicSRSposResourcesPerSlot-r17", "lpp.maxNumOfPeriodicSRSposResourcesPerSlot_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfPeriodicSRSposResourcesPerSlot_r17_01_vals), 0, "T_maxNumOfPeriodicSRSposResourcesPerSlot_r17_01", HFILL }}, { &hf_lpp_differentNumerologyBetweenSRSposAndInitialBWP_r17, { "differentNumerologyBetweenSRSposAndInitialBWP-r17", "lpp.differentNumerologyBetweenSRSposAndInitialBWP_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_differentNumerologyBetweenSRSposAndInitialBWP_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_srsPosWithoutRestrictionOnBWP_r17, { "srsPosWithoutRestrictionOnBWP-r17", "lpp.srsPosWithoutRestrictionOnBWP_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_srsPosWithoutRestrictionOnBWP_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17_01, { "maxNumOfPeriodicAndSemiPersistentSRSposResources-r17", "lpp.maxNumOfPeriodicAndSemiPersistentSRSposResources_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17_01_vals), 0, "T_maxNumOfPeriodicAndSemiPersistentSRSposResources_r17_01", HFILL }}, { &hf_lpp_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17_01, { "maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot-r17", "lpp.maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17_01_vals), 0, "T_maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot_r17_01", HFILL }}, { &hf_lpp_differentCenterFreqBetweenSRSposAndInitialBWP_r17, { "differentCenterFreqBetweenSRSposAndInitialBWP-r17", "lpp.differentCenterFreqBetweenSRSposAndInitialBWP_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_differentCenterFreqBetweenSRSposAndInitialBWP_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_maxNumOfSemiPersistentSRSposResources_r17, { "maxNumOfSemiPersistentSRSposResources-r17", "lpp.maxNumOfSemiPersistentSRSposResources_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfSemiPersistentSRSposResources_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17, { "maxNumOfSemiPersistentSRSposResourcesPerSlot-r17", "lpp.maxNumOfSemiPersistentSRSposResourcesPerSlot_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_vals), 0, "T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17", HFILL }}, { &hf_lpp_switchingTimeSRS_TX_OtherTX_r17, { "switchingTimeSRS-TX-OtherTX-r17", "lpp.switchingTimeSRS_TX_OtherTX_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_switchingTimeSRS_TX_OtherTX_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_maxNumOfSemiPersistentSRSposResources_r17_01, { "maxNumOfSemiPersistentSRSposResources-r17", "lpp.maxNumOfSemiPersistentSRSposResources_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfSemiPersistentSRSposResources_r17_01_vals), 0, "T_maxNumOfSemiPersistentSRSposResources_r17_01", HFILL }}, { &hf_lpp_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01, { "maxNumOfSemiPersistentSRSposResourcesPerSlot-r17", "lpp.maxNumOfSemiPersistentSRSposResourcesPerSlot_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01_vals), 0, "T_maxNumOfSemiPersistentSRSposResourcesPerSlot_r17_01", HFILL }}, { &hf_lpp_maximumSRS_BandwidthAcrossAllHopsFR1_r18, { "maximumSRS-BandwidthAcrossAllHopsFR1-r18", "lpp.maximumSRS_BandwidthAcrossAllHopsFR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumSRS_BandwidthAcrossAllHopsFR1_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumSRS_BandwidthAcrossAllHopsFR2_r18, { "maximumSRS-BandwidthAcrossAllHopsFR2-r18", "lpp.maximumSRS_BandwidthAcrossAllHopsFR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumSRS_BandwidthAcrossAllHopsFR2_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumTxFH_Hops_r18, { "maximumTxFH-Hops-r18", "lpp.maximumTxFH_Hops_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumTxFH_Hops_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_rf_TxRetunTimeFR1_r18, { "rf-TxRetunTimeFR1-r18", "lpp.rf_TxRetunTimeFR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_rf_TxRetunTimeFR1_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_rf_TxRetunTimeFR2_r18, { "rf-TxRetunTimeFR2-r18", "lpp.rf_TxRetunTimeFR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_rf_TxRetunTimeFR2_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_switchTimeBetweenActiveBWP_FrequencyHop_r18, { "switchTimeBetweenActiveBWP-FrequencyHop-r18", "lpp.switchTimeBetweenActiveBWP_FrequencyHop_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_switchTimeBetweenActiveBWP_FrequencyHop_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_numOfOverlappingPRB_r18_01, { "numOfOverlappingPRB-r18", "lpp.numOfOverlappingPRB_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_numOfOverlappingPRB_r18_01_vals), 0, "T_numOfOverlappingPRB_r18_01", HFILL }}, { &hf_lpp_maximumSRS_ResourcePeriodic_r18, { "maximumSRS-ResourcePeriodic-r18", "lpp.maximumSRS_ResourcePeriodic_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumSRS_ResourcePeriodic_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumSRS_ResourceAperiodic_r18, { "maximumSRS-ResourceAperiodic-r18", "lpp.maximumSRS_ResourceAperiodic_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumSRS_ResourceAperiodic_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumSRS_ResourceSemipersistent_r18, { "maximumSRS-ResourceSemipersistent-r18", "lpp.maximumSRS_ResourceSemipersistent_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumSRS_ResourceSemipersistent_r18_vals), 0, "T_maximumSRS_ResourceSemipersistent_r18", HFILL }}, { &hf_lpp_maximumSRS_BandwidthAcrossAllHopsFR1_r18_01, { "maximumSRS-BandwidthAcrossAllHopsFR1-r18", "lpp.maximumSRS_BandwidthAcrossAllHopsFR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumSRS_BandwidthAcrossAllHopsFR1_r18_01_vals), 0, "T_maximumSRS_BandwidthAcrossAllHopsFR1_r18_01", HFILL }}, { &hf_lpp_maximumSRS_BandwidthAcrossAllHopsFR2_r18_01, { "maximumSRS-BandwidthAcrossAllHopsFR2-r18", "lpp.maximumSRS_BandwidthAcrossAllHopsFR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumSRS_BandwidthAcrossAllHopsFR2_r18_01_vals), 0, "T_maximumSRS_BandwidthAcrossAllHopsFR2_r18_01", HFILL }}, { &hf_lpp_maximumTxFH_Hops_r18_01, { "maximumTxFH-Hops-r18", "lpp.maximumTxFH_Hops_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumTxFH_Hops_r18_01_vals), 0, "T_maximumTxFH_Hops_r18_01", HFILL }}, { &hf_lpp_rf_TxRetunTimeFR1_r18_01, { "rf-TxRetunTimeFR1-r18", "lpp.rf_TxRetunTimeFR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_rf_TxRetunTimeFR1_r18_01_vals), 0, "T_rf_TxRetunTimeFR1_r18_01", HFILL }}, { &hf_lpp_rf_TxRetunTimeFR2_r18_01, { "rf-TxRetunTimeFR2-r18", "lpp.rf_TxRetunTimeFR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_rf_TxRetunTimeFR2_r18_01_vals), 0, "T_rf_TxRetunTimeFR2_r18_01", HFILL }}, { &hf_lpp_switchTimeBetweenActiveBWP_FrequencyHop_r18_01, { "switchTimeBetweenActiveBWP-FrequencyHop-r18", "lpp.switchTimeBetweenActiveBWP_FrequencyHop_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_switchTimeBetweenActiveBWP_FrequencyHop_r18_01_vals), 0, "T_switchTimeBetweenActiveBWP_FrequencyHop_r18_01", HFILL }}, { &hf_lpp_numOfOverlappingPRB_r18_02, { "numOfOverlappingPRB-r18", "lpp.numOfOverlappingPRB_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_numOfOverlappingPRB_r18_02_vals), 0, "T_numOfOverlappingPRB_r18_02", HFILL }}, { &hf_lpp_maximumSRS_ResourcePeriodic_r18_01, { "maximumSRS-ResourcePeriodic-r18", "lpp.maximumSRS_ResourcePeriodic_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumSRS_ResourcePeriodic_r18_01_vals), 0, "T_maximumSRS_ResourcePeriodic_r18_01", HFILL }}, { &hf_lpp_maximumSRS_ResourceSemipersistent_r18_01, { "maximumSRS-ResourceSemipersistent-r18", "lpp.maximumSRS_ResourceSemipersistent_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumSRS_ResourceSemipersistent_r18_01_vals), 0, "T_maximumSRS_ResourceSemipersistent_r18_01", HFILL }}, { &hf_lpp_numOfCarriersIntraBandContiguous_r18, { "numOfCarriersIntraBandContiguous-r18", "lpp.numOfCarriersIntraBandContiguous_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_numOfCarriersIntraBandContiguous_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumAggregatedBW_TwoCarriersFR1_r18, { "maximumAggregatedBW-TwoCarriersFR1-r18", "lpp.maximumAggregatedBW_TwoCarriersFR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedBW_TwoCarriersFR1_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumAggregatedBW_TwoCarriersFR2_r18, { "maximumAggregatedBW-TwoCarriersFR2-r18", "lpp.maximumAggregatedBW_TwoCarriersFR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedBW_TwoCarriersFR2_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumAggregatedBW_ThreeCarriersFR1_r18, { "maximumAggregatedBW-ThreeCarriersFR1-r18", "lpp.maximumAggregatedBW_ThreeCarriersFR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedBW_ThreeCarriersFR1_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumAggregatedBW_ThreeCarriersFR2_r18, { "maximumAggregatedBW-ThreeCarriersFR2-r18", "lpp.maximumAggregatedBW_ThreeCarriersFR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedBW_ThreeCarriersFR2_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumAggregatedResourceSet_r18, { "maximumAggregatedResourceSet-r18", "lpp.maximumAggregatedResourceSet_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceSet_r18_vals), 0, "T_maximumAggregatedResourceSet_r18", HFILL }}, { &hf_lpp_maximumAggregatedResourcePeriodic_r18, { "maximumAggregatedResourcePeriodic-r18", "lpp.maximumAggregatedResourcePeriodic_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourcePeriodic_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumAggregatedResourceAperiodic_r18, { "maximumAggregatedResourceAperiodic-r18", "lpp.maximumAggregatedResourceAperiodic_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceAperiodic_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumAggregatedResourceSemi_r18, { "maximumAggregatedResourceSemi-r18", "lpp.maximumAggregatedResourceSemi_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceSemi_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_maximumAggregatedResourcePeriodicPerSlot_r18, { "maximumAggregatedResourcePeriodicPerSlot-r18", "lpp.maximumAggregatedResourcePeriodicPerSlot_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourcePeriodicPerSlot_r18_vals), 0, "T_maximumAggregatedResourcePeriodicPerSlot_r18", HFILL }}, { &hf_lpp_maximumAggregatedResourceAperiodicPerSlot_r18, { "maximumAggregatedResourceAperiodicPerSlot-r18", "lpp.maximumAggregatedResourceAperiodicPerSlot_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceAperiodicPerSlot_r18_vals), 0, "T_maximumAggregatedResourceAperiodicPerSlot_r18", HFILL }}, { &hf_lpp_maximumAggregatedResourceSemiPerSlot_r18, { "maximumAggregatedResourceSemiPerSlot-r18", "lpp.maximumAggregatedResourceSemiPerSlot_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceSemiPerSlot_r18_vals), 0, "T_maximumAggregatedResourceSemiPerSlot_r18", HFILL }}, { &hf_lpp_numOfCarriersIntraBandContiguous_r18_01, { "numOfCarriersIntraBandContiguous-r18", "lpp.numOfCarriersIntraBandContiguous_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_numOfCarriersIntraBandContiguous_r18_01_vals), 0, "T_numOfCarriersIntraBandContiguous_r18_01", HFILL }}, { &hf_lpp_maximumAggregatedBW_TwoCarriersFR1_r18_01, { "maximumAggregatedBW-TwoCarriersFR1-r18", "lpp.maximumAggregatedBW_TwoCarriersFR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedBW_TwoCarriersFR1_r18_01_vals), 0, "T_maximumAggregatedBW_TwoCarriersFR1_r18_01", HFILL }}, { &hf_lpp_maximumAggregatedBW_TwoCarriersFR2_r18_01, { "maximumAggregatedBW-TwoCarriersFR2-r18", "lpp.maximumAggregatedBW_TwoCarriersFR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedBW_TwoCarriersFR2_r18_01_vals), 0, "T_maximumAggregatedBW_TwoCarriersFR2_r18_01", HFILL }}, { &hf_lpp_maximumAggregatedBW_ThreeCarriersFR1_r18_01, { "maximumAggregatedBW-ThreeCarriersFR1-r18", "lpp.maximumAggregatedBW_ThreeCarriersFR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedBW_ThreeCarriersFR1_r18_01_vals), 0, "T_maximumAggregatedBW_ThreeCarriersFR1_r18_01", HFILL }}, { &hf_lpp_maximumAggregatedBW_ThreeCarriersFR2_r18_01, { "maximumAggregatedBW-ThreeCarriersFR2-r18", "lpp.maximumAggregatedBW_ThreeCarriersFR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedBW_ThreeCarriersFR2_r18_01_vals), 0, "T_maximumAggregatedBW_ThreeCarriersFR2_r18_01", HFILL }}, { &hf_lpp_maximumAggregatedResourceSet_r18_01, { "maximumAggregatedResourceSet-r18", "lpp.maximumAggregatedResourceSet_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceSet_r18_01_vals), 0, "T_maximumAggregatedResourceSet_r18_01", HFILL }}, { &hf_lpp_maximumAggregatedResourcePeriodic_r18_01, { "maximumAggregatedResourcePeriodic-r18", "lpp.maximumAggregatedResourcePeriodic_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourcePeriodic_r18_01_vals), 0, "T_maximumAggregatedResourcePeriodic_r18_01", HFILL }}, { &hf_lpp_maximumAggregatedResourceAperiodic_r18_01, { "maximumAggregatedResourceAperiodic-r18", "lpp.maximumAggregatedResourceAperiodic_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceAperiodic_r18_01_vals), 0, "T_maximumAggregatedResourceAperiodic_r18_01", HFILL }}, { &hf_lpp_maximumAggregatedResourceSemi_r18_01, { "maximumAggregatedResourceSemi-r18", "lpp.maximumAggregatedResourceSemi_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceSemi_r18_01_vals), 0, "T_maximumAggregatedResourceSemi_r18_01", HFILL }}, { &hf_lpp_maximumAggregatedResourcePeriodicPerSlot_r18_01, { "maximumAggregatedResourcePeriodicPerSlot-r18", "lpp.maximumAggregatedResourcePeriodicPerSlot_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourcePeriodicPerSlot_r18_01_vals), 0, "T_maximumAggregatedResourcePeriodicPerSlot_r18_01", HFILL }}, { &hf_lpp_maximumAggregatedResourceAperiodicPerSlot_r18_01, { "maximumAggregatedResourceAperiodicPerSlot-r18", "lpp.maximumAggregatedResourceAperiodicPerSlot_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceAperiodicPerSlot_r18_01_vals), 0, "T_maximumAggregatedResourceAperiodicPerSlot_r18_01", HFILL }}, { &hf_lpp_maximumAggregatedResourceSemiPerSlot_r18_01, { "maximumAggregatedResourceSemiPerSlot-r18", "lpp.maximumAggregatedResourceSemiPerSlot_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceSemiPerSlot_r18_01_vals), 0, "T_maximumAggregatedResourceSemiPerSlot_r18_01", HFILL }}, { &hf_lpp_guardPeriod_r18, { "guardPeriod-r18", "lpp.guardPeriod_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_guardPeriod_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_powerClassForTwoAggregatedCarriers_r18, { "powerClassForTwoAggregatedCarriers-r18", "lpp.powerClassForTwoAggregatedCarriers_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_powerClassForTwoAggregatedCarriers_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_powerClassForThreeAggregatedCarriers_r18, { "powerClassForThreeAggregatedCarriers-r18", "lpp.powerClassForThreeAggregatedCarriers_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_powerClassForThreeAggregatedCarriers_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_numOfCarriersIntraBandContiguous_r18_02, { "numOfCarriersIntraBandContiguous-r18", "lpp.numOfCarriersIntraBandContiguous_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_numOfCarriersIntraBandContiguous_r18_02_vals), 0, "T_numOfCarriersIntraBandContiguous_r18_02", HFILL }}, { &hf_lpp_maximumAggregatedBW_TwoCarriersFR1_r18_02, { "maximumAggregatedBW-TwoCarriersFR1-r18", "lpp.maximumAggregatedBW_TwoCarriersFR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedBW_TwoCarriersFR1_r18_02_vals), 0, "T_maximumAggregatedBW_TwoCarriersFR1_r18_02", HFILL }}, { &hf_lpp_maximumAggregatedBW_TwoCarriersFR2_r18_02, { "maximumAggregatedBW-TwoCarriersFR2-r18", "lpp.maximumAggregatedBW_TwoCarriersFR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedBW_TwoCarriersFR2_r18_02_vals), 0, "T_maximumAggregatedBW_TwoCarriersFR2_r18_02", HFILL }}, { &hf_lpp_maximumAggregatedBW_ThreeCarriersFR1_r18_02, { "maximumAggregatedBW-ThreeCarriersFR1-r18", "lpp.maximumAggregatedBW_ThreeCarriersFR1_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedBW_ThreeCarriersFR1_r18_02_vals), 0, "T_maximumAggregatedBW_ThreeCarriersFR1_r18_02", HFILL }}, { &hf_lpp_maximumAggregatedBW_ThreeCarriersFR2_r18_02, { "maximumAggregatedBW-ThreeCarriersFR2-r18", "lpp.maximumAggregatedBW_ThreeCarriersFR2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedBW_ThreeCarriersFR2_r18_02_vals), 0, "T_maximumAggregatedBW_ThreeCarriersFR2_r18_02", HFILL }}, { &hf_lpp_maximumAggregatedResourceSet_r18_02, { "maximumAggregatedResourceSet-r18", "lpp.maximumAggregatedResourceSet_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceSet_r18_02_vals), 0, "T_maximumAggregatedResourceSet_r18_02", HFILL }}, { &hf_lpp_maximumAggregatedResourcePeriodic_r18_02, { "maximumAggregatedResourcePeriodic-r18", "lpp.maximumAggregatedResourcePeriodic_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourcePeriodic_r18_02_vals), 0, "T_maximumAggregatedResourcePeriodic_r18_02", HFILL }}, { &hf_lpp_maximumAggregatedResourceSemi_r18_02, { "maximumAggregatedResourceSemi-r18", "lpp.maximumAggregatedResourceSemi_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceSemi_r18_02_vals), 0, "T_maximumAggregatedResourceSemi_r18_02", HFILL }}, { &hf_lpp_maximumAggregatedResourcePeriodicPerSlot_r18_02, { "maximumAggregatedResourcePeriodicPerSlot-r18", "lpp.maximumAggregatedResourcePeriodicPerSlot_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourcePeriodicPerSlot_r18_02_vals), 0, "T_maximumAggregatedResourcePeriodicPerSlot_r18_02", HFILL }}, { &hf_lpp_maximumAggregatedResourceSemiPerSlot_r18_02, { "maximumAggregatedResourceSemiPerSlot-r18", "lpp.maximumAggregatedResourceSemiPerSlot_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_maximumAggregatedResourceSemiPerSlot_r18_02_vals), 0, "T_maximumAggregatedResourceSemiPerSlot_r18_02", HFILL }}, { &hf_lpp_guardPeriod_r18_01, { "guardPeriod-r18", "lpp.guardPeriod_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_guardPeriod_r18_01_vals), 0, "T_guardPeriod_r18_01", HFILL }}, { &hf_lpp_powerClassForTwoAggregatedCarriers_r18_01, { "powerClassForTwoAggregatedCarriers-r18", "lpp.powerClassForTwoAggregatedCarriers_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_powerClassForTwoAggregatedCarriers_r18_01_vals), 0, "T_powerClassForTwoAggregatedCarriers_r18_01", HFILL }}, { &hf_lpp_powerClassForThreeAggregatedCarriers_r18_01, { "powerClassForThreeAggregatedCarriers-r18", "lpp.powerClassForThreeAggregatedCarriers_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_powerClassForThreeAggregatedCarriers_r18_01_vals), 0, "T_powerClassForThreeAggregatedCarriers_r18_01", HFILL }}, { &hf_lpp_phaseQualityIndex_r18, { "phaseQualityIndex-r18", "lpp.phaseQualityIndex_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_179", HFILL }}, { &hf_lpp_phaseQualityResolution_r18, { "phaseQualityResolution-r18", "lpp.phaseQualityResolution_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_phaseQualityResolution_r18_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_localOrigin_v1800, { "localOrigin-v1800", "lpp.localOrigin_v1800_element", FT_NONE, BASE_NONE, NULL, 0, "LocalOrigin_r18", HFILL }}, { &hf_lpp_cartesianCoordinatesUnits_r18_02, { "cartesianCoordinatesUnits-r18", "lpp.cartesianCoordinatesUnits_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_cartesianCoordinatesUnits_r18_02_vals), 0, "T_cartesianCoordinatesUnits_r18_02", HFILL }}, { &hf_lpp_locationUnc_r18, { "locationUnc-r18", "lpp.locationUnc_r18_element", FT_NONE, BASE_NONE, NULL, 0, "LocationUncertainty_r16", HFILL }}, { &hf_lpp_delta_x_r18, { "delta-x-r18", "lpp.delta_x_r18", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M1024_1023", HFILL }}, { &hf_lpp_coarse_delta_x_r18, { "coarse-delta-x-r18", "lpp.coarse_delta_x_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4095", HFILL }}, { &hf_lpp_delta_y_r18, { "delta-y-r18", "lpp.delta_y_r18", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M1024_1023", HFILL }}, { &hf_lpp_coarse_delta_y_r18, { "coarse-delta-y-r18", "lpp.coarse_delta_y_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4095", HFILL }}, { &hf_lpp_delta_z_r18, { "delta-z-r18", "lpp.delta_z_r18", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M1024_1023", HFILL }}, { &hf_lpp_coarse_delta_z_r18, { "coarse-delta-z-r18", "lpp.coarse_delta_z_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4095", 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_verticalUncertainty_r16, { "verticalUncertainty-r16", "lpp.verticalUncertainty_r16", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", 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_scheduledLocationRequestSupported_r17, { "scheduledLocationRequestSupported-r17", "lpp.scheduledLocationRequestSupported_r17_element", FT_NONE, BASE_NONE, NULL, 0, "ScheduledLocationTimeSupport_r17", HFILL }}, { &hf_lpp_periodicReportingIntervalMsSupport_r18, { "periodicReportingIntervalMsSupport-r18", "lpp.periodicReportingIntervalMsSupport_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, 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_Integrity_ServiceParameters_r17, { "gnss-Integrity-ServiceParameters-r17", "lpp.gnss_Integrity_ServiceParameters_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_Integrity_ServiceAlert_r17, { "gnss-Integrity-ServiceAlert-r17", "lpp.gnss_Integrity_ServiceAlert_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_los_nlos_GridPoints_r18, { "gnss-los-nlos-GridPoints-r18", "lpp.gnss_los_nlos_GridPoints_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_IOD_Update_r18, { "gnss-SSR-IOD-Update-r18", "lpp.gnss_SSR_IOD_Update_r18_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_SSR_OrbitCorrectionsSet2_r17, { "gnss-SSR-OrbitCorrectionsSet2-r17", "lpp.gnss_SSR_OrbitCorrectionsSet2_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_ClockCorrectionsSet2_r17, { "gnss-SSR-ClockCorrectionsSet2-r17", "lpp.gnss_SSR_ClockCorrectionsSet2_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_URA_Set2_r17, { "gnss-SSR-URA-Set2-r17", "lpp.gnss_SSR_URA_Set2_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_LOS_NLOS_GriddedIndications_r18, { "gnss-LOS-NLOS-GriddedIndications-r18", "lpp.gnss_LOS_NLOS_GriddedIndications_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_SatellitePCVResiduals_r18, { "gnss-SSR-SatellitePCVResiduals-r18", "lpp.gnss_SSR_SatellitePCVResiduals_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, 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_Integrity_PeriodicServiceAlert_r17, { "gnss-Integrity-PeriodicServiceAlert-r17", "lpp.gnss_Integrity_PeriodicServiceAlert_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_PeriodicControlParam_r15", HFILL }}, { &hf_lpp_gnss_SSR_PeriodicOrbitCorrectionsSet2_r17, { "gnss-SSR-PeriodicOrbitCorrectionsSet2-r17", "lpp.gnss_SSR_PeriodicOrbitCorrectionsSet2_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_PeriodicControlParam_r15", HFILL }}, { &hf_lpp_gnss_SSR_PeriodicClockCorrectionsSet2_r17, { "gnss-SSR-PeriodicClockCorrectionsSet2-r17", "lpp.gnss_SSR_PeriodicClockCorrectionsSet2_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_PeriodicControlParam_r15", HFILL }}, { &hf_lpp_gnss_SSR_PeriodicURA_Set2_r17, { "gnss-SSR-PeriodicURA-Set2-r17", "lpp.gnss_SSR_PeriodicURA_Set2_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_PeriodicControlParam_r15", HFILL }}, { &hf_lpp_gnss_SSR_PeriodicIOD_Update_r18, { "gnss-SSR-PeriodicIOD-Update-r18", "lpp.gnss_SSR_PeriodicIOD_Update_r18_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_irMinimum_r17, { "irMinimum-r17", "lpp.irMinimum_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_irMaximum_r17, { "irMaximum-r17", "lpp.irMaximum_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_ionosphereDoNotUse_r17, { "ionosphereDoNotUse-r17", "lpp.ionosphereDoNotUse_r17", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_lpp_troposphereDoNotUse_r17, { "troposphereDoNotUse-r17", "lpp.troposphereDoNotUse_r17", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_lpp_gridPointsSetID_r18, { "gridPointsSetID-r18", "lpp.gridPointsSetID_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16383", HFILL }}, { &hf_lpp_horizontalGridPoints_r18, { "horizontalGridPoints-r18", "lpp.horizontalGridPoints_r18_element", FT_NONE, BASE_NONE, NULL, 0, "ArrayOfGridPoints_r18", HFILL }}, { &hf_lpp_referenceAltitudeFine_r18, { "referenceAltitudeFine-r18", "lpp.referenceAltitudeFine_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_9", HFILL }}, { &hf_lpp_verticalGridPoints_r18, { "verticalGridPoints-r18", "lpp.verticalGridPoints_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_referencePointLatitude_r18, { "referencePointLatitude-r18", "lpp.referencePointLatitude_r18", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M16777216_16777215", HFILL }}, { &hf_lpp_referencePointLongitude_r18, { "referencePointLongitude-r18", "lpp.referencePointLongitude_r18", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M33554432_33554431", HFILL }}, { &hf_lpp_numberOfStepsSouth_r18, { "numberOfStepsSouth-r18", "lpp.numberOfStepsSouth_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_numberOfStepsEast_r18, { "numberOfStepsEast-r18", "lpp.numberOfStepsEast_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stepSouth_r18, { "stepSouth-r18", "lpp.stepSouth_r18", FT_UINT32, BASE_DEC, VALS(lpp_SpatialDelta_r18_vals), 0, "SpatialDelta_r18", HFILL }}, { &hf_lpp_stepEast_r18, { "stepEast-r18", "lpp.stepEast_r18", FT_UINT32, BASE_DEC, VALS(lpp_SpatialDelta_r18_vals), 0, "SpatialDelta_r18", HFILL }}, { &hf_lpp_bitmaskOfGrids_r18, { "bitmaskOfGrids-r18", "lpp.bitmaskOfGrids_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_bitmaskOfGrids_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_bog16_r18, { "bog16-r18", "lpp.bog16_r18", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, { &hf_lpp_bog64_r18, { "bog64-r18", "lpp.bog64_r18", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_64", HFILL }}, { &hf_lpp_bog256_r18, { "bog256-r18", "lpp.bog256_r18", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_256", HFILL }}, { &hf_lpp_referenceAltitudeCoarse_r18, { "referenceAltitudeCoarse-r18", "lpp.referenceAltitudeCoarse_r18", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M50_900", HFILL }}, { &hf_lpp_numberOfStepsDown_r18, { "numberOfStepsDown-r18", "lpp.numberOfStepsDown_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_3", HFILL }}, { &hf_lpp_stepDown_r18, { "stepDown-r18", "lpp.stepDown_r18", FT_UINT32, BASE_DEC, VALS(lpp_SpatialDelta_r18_vals), 0, "SpatialDelta_r18", HFILL }}, { &hf_lpp_upperValidityDeltaAltitude_r18, { "upperValidityDeltaAltitude-r18", "lpp.upperValidityDeltaAltitude_r18", FT_UINT32, BASE_DEC, VALS(lpp_SpatialDelta_r18_vals), 0, "SpatialDelta_r18", HFILL }}, { &hf_lpp_lowerValidityDeltaAltitude_r18, { "lowerValidityDeltaAltitude-r18", "lpp.lowerValidityDeltaAltitude_r18", FT_UINT32, BASE_DEC, VALS(lpp_SpatialDelta_r18_vals), 0, "SpatialDelta_r18", HFILL }}, { &hf_lpp_epochTime_r18, { "epochTime-r18", "lpp.epochTime_r18_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_SystemTime", HFILL }}, { &hf_lpp_ssrUpdateInterval_r18, { "ssrUpdateInterval-r18", "lpp.ssrUpdateInterval_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_lpp_iod_ssr_r18, { "iod-ssr-r18", "lpp.iod_ssr_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_lpp_iod_ssr_PCVResiduals_r18, { "iod-ssr-PCVResiduals-r18", "lpp.iod_ssr_PCVResiduals_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_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, UNS(&units_seconds), 0, "INTEGER_M128_127", HFILL }}, { &hf_lpp_dgnss_RefTime, { "dgnss-RefTime", "lpp.dgnss_RefTime", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&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_bdsTgd2_r16, { "bdsTgd2-r16", "lpp.bdsTgd2_r16", FT_INT32, BASE_DEC, NULL, 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_bdsTgdB2ap_r17, { "bdsTgdB2ap-r17", "lpp.bdsTgdB2ap_r17", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M2048_2047", HFILL }}, { &hf_lpp_bdsIscB2ad_r17, { "bdsIscB2ad-r17", "lpp.bdsIscB2ad_r17", 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, UNS(&units_day_days), 0, "INTEGER_0_31", HFILL }}, { &hf_lpp_gloP1, { "gloP1", "lpp.gloP1", FT_UINT8, BASE_DEC|BASE_UNIT_STRING, UNS(&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, UNS(&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, UNS(&units_seconds), 0, "INTEGER_0_3599", HFILL }}, { &hf_lpp_gnss_TODfrac, { "gnss-TODfrac", "lpp.gnss_TODfrac", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&units_week_weeks), 0, "INTEGER_0_8191", HFILL }}, { &hf_lpp_utcWNlsf, { "utcWNlsf", "lpp.utcWNlsf", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_week_weeks), 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_utcDN, { "utcDN", "lpp.utcDN", FT_UINT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_day_days), 0, NULL, HFILL }}, { &hf_lpp_utcDeltaTlsf, { "utcDeltaTlsf", "lpp.utcDeltaTlsf", FT_INT32, BASE_DEC|BASE_UNIT_STRING, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&units_seconds), 0, "INTEGER_M128_127", HFILL }}, { &hf_lpp_utcWNlsf_r12, { "utcWNlsf-r12", "lpp.utcWNlsf_r12", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_week_weeks), 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_utcDN_r12, { "utcDN-r12", "lpp.utcDN_r12", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_day_days), 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_utcDeltaTlsf_r12, { "utcDeltaTlsf-r12", "lpp.utcDeltaTlsf_r12", FT_INT32, BASE_DEC|BASE_UNIT_STRING, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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_orbit_IntegrityParameters_r17, { "orbit-IntegrityParameters-r17", "lpp.orbit_IntegrityParameters_r17_element", FT_NONE, BASE_NONE, 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_IntegrityOrbitBounds_r17, { "ssr-IntegrityOrbitBounds-r17", "lpp.ssr_IntegrityOrbitBounds_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_probOnsetConstFault_r17, { "probOnsetConstFault-r17", "lpp.probOnsetConstFault_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanConstFaultDuration_r17, { "meanConstFaultDuration-r17", "lpp.meanConstFaultDuration_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_3600", HFILL }}, { &hf_lpp_probOnsetSatFault_r17, { "probOnsetSatFault-r17", "lpp.probOnsetSatFault_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanSatFaultDuration_r17, { "meanSatFaultDuration-r17", "lpp.meanSatFaultDuration_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_3600", HFILL }}, { &hf_lpp_orbitRangeErrorCorrelationTime_r17, { "orbitRangeErrorCorrelationTime-r17", "lpp.orbitRangeErrorCorrelationTime_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_orbitRangeRateErrorCorrelationTime_r17, { "orbitRangeRateErrorCorrelationTime-r17", "lpp.orbitRangeRateErrorCorrelationTime_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanOrbitError_r17, { "meanOrbitError-r17", "lpp.meanOrbitError_r17_element", FT_NONE, BASE_NONE, NULL, 0, "RAC_OrbitalErrorComponents_r17", HFILL }}, { &hf_lpp_stdDevOrbitError_r17, { "stdDevOrbitError-r17", "lpp.stdDevOrbitError_r17_element", FT_NONE, BASE_NONE, NULL, 0, "RAC_OrbitalErrorComponents_r17", HFILL }}, { &hf_lpp_meanOrbitRateError_r17, { "meanOrbitRateError-r17", "lpp.meanOrbitRateError_r17_element", FT_NONE, BASE_NONE, NULL, 0, "RAC_OrbitalErrorComponents_r17", HFILL }}, { &hf_lpp_stdDevOrbitRateError_r17, { "stdDevOrbitRateError-r17", "lpp.stdDevOrbitRateError_r17_element", FT_NONE, BASE_NONE, NULL, 0, "RAC_OrbitalErrorComponents_r17", HFILL }}, { &hf_lpp_radial_r17, { "radial-r17", "lpp.radial_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_alongTrack_r17, { "alongTrack-r17", "lpp.alongTrack_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_crossTrack_r17, { "crossTrack-r17", "lpp.crossTrack_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_ssr_ClockCorrectionList_r15, { "ssr-ClockCorrectionList-r15", "lpp.ssr_ClockCorrectionList_r15", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_clock_IntegrityParameters_r17, { "clock-IntegrityParameters-r17", "lpp.clock_IntegrityParameters_r17_element", FT_NONE, BASE_NONE, 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_IntegrityClockBounds_r17, { "ssr-IntegrityClockBounds-r17", "lpp.ssr_IntegrityClockBounds_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_clockRangeErrorCorrelationTime_r17, { "clockRangeErrorCorrelationTime-r17", "lpp.clockRangeErrorCorrelationTime_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_clockRangeRateErrorCorrelationTime_r17, { "clockRangeRateErrorCorrelationTime-r17", "lpp.clockRangeRateErrorCorrelationTime_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanClock_r17, { "meanClock-r17", "lpp.meanClock_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevClock_r17, { "stdDevClock-r17", "lpp.stdDevClock_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanClockRate_r17, { "meanClockRate-r17", "lpp.meanClockRate_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevClockRate_r17, { "stdDevClockRate-r17", "lpp.stdDevClockRate_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", 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_ssr_IntegrityCodeBiasBounds_r17, { "ssr-IntegrityCodeBiasBounds-r17", "lpp.ssr_IntegrityCodeBiasBounds_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_meanCodeBias_r17, { "meanCodeBias-r17", "lpp.meanCodeBias_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevCodeBias_r17, { "stdDevCodeBias-r17", "lpp.stdDevCodeBias_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanCodeBiasRate_r17, { "meanCodeBiasRate-r17", "lpp.meanCodeBiasRate_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevCodeBiasRate_r17, { "stdDevCodeBiasRate-r17", "lpp.stdDevCodeBiasRate_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", 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_ssr_IntegrityPhaseBiasBounds_r17, { "ssr-IntegrityPhaseBiasBounds-r17", "lpp.ssr_IntegrityPhaseBiasBounds_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_meanPhaseBias_r17, { "meanPhaseBias-r17", "lpp.meanPhaseBias_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevPhaseBias_r17, { "stdDevPhaseBias-r17", "lpp.stdDevPhaseBias_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanPhaseBiasRate_r17, { "meanPhaseBiasRate-r17", "lpp.meanPhaseBiasRate_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevPhaseBiasRate_r17, { "stdDevPhaseBiasRate-r17", "lpp.stdDevPhaseBiasRate_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stec_SatList_r16, { "stec-SatList-r16", "lpp.stec_SatList_r16", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_stec_IntegrityParameters_r17, { "stec-IntegrityParameters-r17", "lpp.stec_IntegrityParameters_r17_element", FT_NONE, BASE_NONE, 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_stec_IntegrityErrorBounds_r17, { "stec-IntegrityErrorBounds-r17", "lpp.stec_IntegrityErrorBounds_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_probOnsetIonoFault_r17, { "probOnsetIonoFault-r17", "lpp.probOnsetIonoFault_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanIonoFaultDuration_r17, { "meanIonoFaultDuration-r17", "lpp.meanIonoFaultDuration_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_lpp_ionoRangeErrorCorrelationTime_r17, { "ionoRangeErrorCorrelationTime-r17", "lpp.ionoRangeErrorCorrelationTime_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_lpp_ionoRangeRateErrorCorrelationTime_r17, { "ionoRangeRateErrorCorrelationTime-r17", "lpp.ionoRangeRateErrorCorrelationTime_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_lpp_meanIonosphere_r17, { "meanIonosphere-r17", "lpp.meanIonosphere_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevIonosphere_r17, { "stdDevIonosphere-r17", "lpp.stdDevIonosphere_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanIonosphereRate_r17, { "meanIonosphereRate-r17", "lpp.meanIonosphereRate_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevIonosphereRate_r17, { "stdDevIonosphereRate-r17", "lpp.stdDevIonosphereRate_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", 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_ssr_GriddedCorrectionIntegrityParameters_r17, { "ssr-GriddedCorrectionIntegrityParameters-r17", "lpp.ssr_GriddedCorrectionIntegrityParameters_r17_element", FT_NONE, BASE_NONE, 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_tropoDelayIntegrityErrorBounds_r17, { "tropoDelayIntegrityErrorBounds-r17", "lpp.tropoDelayIntegrityErrorBounds_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, 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_probOnsetTroposphereFault_r17, { "probOnsetTroposphereFault-r17", "lpp.probOnsetTroposphereFault_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanTroposphereFaultDuration_r17, { "meanTroposphereFaultDuration-r17", "lpp.meanTroposphereFaultDuration_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_lpp_troposphereRangeErrorCorrelationTime_r17, { "troposphereRangeErrorCorrelationTime-r17", "lpp.troposphereRangeErrorCorrelationTime_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_lpp_troposphereRangeRateErrorCorrelationTime_r17, { "troposphereRangeRateErrorCorrelationTime-r17", "lpp.troposphereRangeRateErrorCorrelationTime_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_lpp_meanTroposphereVerticalHydroStaticDelay_r17, { "meanTroposphereVerticalHydroStaticDelay-r17", "lpp.meanTroposphereVerticalHydroStaticDelay_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevTroposphereVerticalHydroStaticDelay_r17, { "stdDevTroposphereVerticalHydroStaticDelay-r17", "lpp.stdDevTroposphereVerticalHydroStaticDelay_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanTroposphereVerticalWetDelay_r17, { "meanTroposphereVerticalWetDelay-r17", "lpp.meanTroposphereVerticalWetDelay_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevTroposphereVerticalWetDelay_r17, { "stdDevTroposphereVerticalWetDelay-r17", "lpp.stdDevTroposphereVerticalWetDelay_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanTroposphereVerticalHydroStaticDelayRate_r17, { "meanTroposphereVerticalHydroStaticDelayRate-r17", "lpp.meanTroposphereVerticalHydroStaticDelayRate_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevTroposphereVerticalHydroStaticDelayRate_r17, { "stdDevTroposphereVerticalHydroStaticDelayRate-r17", "lpp.stdDevTroposphereVerticalHydroStaticDelayRate_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_meanTroposphereVerticalWetDelayRate_r17, { "meanTroposphereVerticalWetDelayRate-r17", "lpp.meanTroposphereVerticalWetDelayRate_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_lpp_stdDevTroposphereVerticalWetDelayRate_r17, { "stdDevTroposphereVerticalWetDelayRate-r17", "lpp.stdDevTroposphereVerticalWetDelayRate_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", 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_refEph_r17, { "refEph-r17", "lpp.refEph_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_refEph_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_OrbitCorrections_r17, { "gnss-SSR-OrbitCorrections-r17", "lpp.gnss_SSR_OrbitCorrections_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_SSR_OrbitCorrections_r15", HFILL }}, { &hf_lpp_refEph_r17_01, { "refEph-r17", "lpp.refEph_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_refEph_r17_01_vals), 0, "T_refEph_r17_01", HFILL }}, { &hf_lpp_gnss_SSR_ClockCorrections_r17, { "gnss-SSR-ClockCorrections-r17", "lpp.gnss_SSR_ClockCorrections_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_SSR_ClockCorrections_r15", HFILL }}, { &hf_lpp_refEph_r17_02, { "refEph-r17", "lpp.refEph_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_refEph_r17_02_vals), 0, "T_refEph_r17_02", HFILL }}, { &hf_lpp_gnss_SSR_URA_r17, { "gnss-SSR-URA-r17", "lpp.gnss_SSR_URA_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_SSR_URA_r16", HFILL }}, { &hf_lpp_expirationTime_r18, { "expirationTime-r18", "lpp.expirationTime_r18", FT_STRING, BASE_NONE, NULL, 0, "UTCTime", HFILL }}, { &hf_lpp_gridList_r18, { "gridList-r18", "lpp.gridList_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_GridList_r18_item, { "GridElement-r18", "lpp.GridElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_LOS_InfoList_r18, { "gnss-LOS-InfoList-r18", "lpp.gnss_LOS_InfoList_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_GNSS_LOS_InfoList_r18_item, { "GNSS-LOS-InfoElement-r18", "lpp.GNSS_LOS_InfoElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_svID_r18, { "svID-r18", "lpp.svID_r18_element", FT_NONE, BASE_NONE, NULL, 0, "SV_ID", HFILL }}, { &hf_lpp_los_r18, { "los-r18", "lpp.los_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_los_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_ssr_SatellitePCV_List_r18, { "ssr-SatellitePCV-List-r18", "lpp.ssr_SatellitePCV_List_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_SSR_SatellitePCV_List_r18_item, { "SSR-SatellitePCV-Element-r18", "lpp.SSR_SatellitePCV_Element_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_ssr_SatellitePCV_FrequencyList_r18, { "ssr-SatellitePCV-FrequencyList-r18", "lpp.ssr_SatellitePCV_FrequencyList_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_SSR_SatellitePCV_FrequencyList_r18_item, { "SSR-SatellitePCV-FrequencyElement-r18", "lpp.SSR_SatellitePCV_FrequencyElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_frequencyID_r18, { "frequencyID-r18", "lpp.frequencyID_r18_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_FrequencyID_r15", HFILL }}, { &hf_lpp_phaseCenterVariations_r18, { "phaseCenterVariations-r18", "lpp.phaseCenterVariations_r18", FT_UINT32, BASE_DEC, NULL, 0, "SSR_PhaseCenterVariationList_r18", HFILL }}, { &hf_lpp_SSR_PhaseCenterVariationList_r18_item, { "SSR-PhaseCenterVariationList-r18 item", "lpp.SSR_PhaseCenterVariationList_r18_item", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M1024_1023", 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_Integrity_ServiceParametersReq_r17, { "gnss-Integrity-ServiceParametersReq-r17", "lpp.gnss_Integrity_ServiceParametersReq_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_Integrity_ServiceAlertReq_r17, { "gnss-Integrity-ServiceAlertReq-r17", "lpp.gnss_Integrity_ServiceAlertReq_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_IOD_UpdateReq_r18, { "gnss-SSR-IOD-UpdateReq-r18", "lpp.gnss_SSR_IOD_UpdateReq_r18_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_SSR_OrbitCorrectionsSet2Req_r17, { "gnss-SSR-OrbitCorrectionsSet2Req-r17", "lpp.gnss_SSR_OrbitCorrectionsSet2Req_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_ClockCorrectionsSet2Req_r17, { "gnss-SSR-ClockCorrectionsSet2Req-r17", "lpp.gnss_SSR_ClockCorrectionsSet2Req_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_URA_Set2Req_r17, { "gnss-SSR-URA-Set2Req-r17", "lpp.gnss_SSR_URA_Set2Req_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_LOS_NLOS_GriddedIndicationsReq_r18, { "gnss-LOS-NLOS-GriddedIndicationsReq-r18", "lpp.gnss_LOS_NLOS_GriddedIndicationsReq_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_SatellitePCVResidualsReq_r18, { "gnss-SSR-SatellitePCVResidualsReq-r18", "lpp.gnss_SSR_SatellitePCVResidualsReq_r18_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_Integrity_PeriodicServiceAlertReq_r17, { "gnss-Integrity-PeriodicServiceAlertReq-r17", "lpp.gnss_Integrity_PeriodicServiceAlertReq_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_PeriodicControlParam_r15", HFILL }}, { &hf_lpp_gnss_SSR_PeriodicOrbitCorrectionsSet2Req_r17, { "gnss-SSR-PeriodicOrbitCorrectionsSet2Req-r17", "lpp.gnss_SSR_PeriodicOrbitCorrectionsSet2Req_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_PeriodicControlParam_r15", HFILL }}, { &hf_lpp_gnss_SSR_PeriodicClockCorrectionsSet2Req_r17, { "gnss-SSR-PeriodicClockCorrectionsSet2Req-r17", "lpp.gnss_SSR_PeriodicClockCorrectionsSet2Req_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_PeriodicControlParam_r15", HFILL }}, { &hf_lpp_gnss_SSR_PeriodicURA_Set2Req_r17, { "gnss-SSR-PeriodicURA-Set2Req-r17", "lpp.gnss_SSR_PeriodicURA_Set2Req_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_PeriodicControlParam_r15", HFILL }}, { &hf_lpp_gnss_SSR_PeriodicIOD_UpdateReq_r18, { "gnss-SSR-PeriodicIOD-UpdateReq-r18", "lpp.gnss_SSR_PeriodicIOD_UpdateReq_r18_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, UNS(&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, UNS(&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_orbit_IntegrityReq_r17, { "orbit-IntegrityReq-r17", "lpp.orbit_IntegrityReq_r17", FT_BYTES, BASE_NONE, NULL, 0, "T_orbit_IntegrityReq_r17", HFILL }}, { &hf_lpp_clock_IntegrityParametersReq_r17, { "clock-IntegrityParametersReq-r17", "lpp.clock_IntegrityParametersReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_clock_IntegrityParametersReq_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_ssr_IntegrityClockBoundsReq_r17, { "ssr-IntegrityClockBoundsReq-r17", "lpp.ssr_IntegrityClockBoundsReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ssr_IntegrityClockBoundsReq_r17_vals), 0, NULL, 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_ssr_IntegrityCodeBiasBoundsReq_r17, { "ssr-IntegrityCodeBiasBoundsReq-r17", "lpp.ssr_IntegrityCodeBiasBoundsReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ssr_IntegrityCodeBiasBoundsReq_r17_vals), 0, NULL, 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_ssr_IntegrityPhaseBiasBoundsReq_r17, { "ssr-IntegrityPhaseBiasBoundsReq-r17", "lpp.ssr_IntegrityPhaseBiasBoundsReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ssr_IntegrityPhaseBiasBoundsReq_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_stec_IntegrityReq_r17, { "stec-IntegrityReq-r17", "lpp.stec_IntegrityReq_r17", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_griddedCorrectionIntegrityReq_r17, { "griddedCorrectionIntegrityReq-r17", "lpp.griddedCorrectionIntegrityReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_griddedCorrectionIntegrityReq_r17_vals), 0, NULL, 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_refEphReq_r17, { "refEphReq-r17", "lpp.refEphReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_refEphReq_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_OrbitCorrectionsSet2Req_r17_01, { "gnss-SSR-OrbitCorrectionsSet2Req-r17", "lpp.gnss_SSR_OrbitCorrectionsSet2Req_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_SSR_OrbitCorrectionsReq_r15", HFILL }}, { &hf_lpp_refEphReq_r17_01, { "refEphReq-r17", "lpp.refEphReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_refEphReq_r17_01_vals), 0, "T_refEphReq_r17_01", HFILL }}, { &hf_lpp_gnss_SSR_ClockCorrectionsSet2Req_r17_01, { "gnss-SSR-ClockCorrectionsSet2Req-r17", "lpp.gnss_SSR_ClockCorrectionsSet2Req_r17_element", FT_NONE, BASE_NONE, NULL, 0, "GNSS_SSR_ClockCorrectionsReq_r15", HFILL }}, { &hf_lpp_refEphReq_r17_02, { "refEphReq-r17", "lpp.refEphReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_refEphReq_r17_02_vals), 0, "T_refEphReq_r17_02", HFILL }}, { &hf_lpp_gridPointsSetID_Req_r18, { "gridPointsSetID-Req-r18", "lpp.gridPointsSetID_Req_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16383", HFILL }}, { &hf_lpp_relativeLocationInfo_r18, { "relativeLocationInfo-r18", "lpp.relativeLocationInfo_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_relativeLocationInfo_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_inside_r18, { "inside-r18", "lpp.inside_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_inside_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_outside_r18, { "outside-r18", "lpp.outside_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_outside_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_verticalGridType_r18, { "verticalGridType-r18", "lpp.verticalGridType_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_verticalGridType_r18_vals), 0, NULL, 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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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_ha_GNSS_Metrics_r17, { "ha-GNSS-Metrics-r17", "lpp.ha_GNSS_Metrics_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nrOfUsedSatellites_r17, { "nrOfUsedSatellites-r17", "lpp.nrOfUsedSatellites_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_64", HFILL }}, { &hf_lpp_hdopi_r17, { "hdopi-r17", "lpp.hdopi_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_lpp_pdopi_r17, { "pdopi-r17", "lpp.pdopi_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_lpp_age_r17, { "age-r17", "lpp.age_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_99", HFILL }}, { &hf_lpp_fixType_r17, { "fixType-r17", "lpp.fixType_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_fixType_r17_vals), 0, NULL, 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_ha_GNSS_MetricsReq_r17, { "ha-GNSS-MetricsReq-r17", "lpp.ha_GNSS_MetricsReq_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ha_GNSS_MetricsReq_r17_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_scheduledLocationRequestSupported_r17_01, { "scheduledLocationRequestSupported-r17", "lpp.scheduledLocationRequestSupported_r17_element", FT_NONE, BASE_NONE, NULL, 0, "ScheduledLocationTimeSupportPerMode_r17", HFILL }}, { &hf_lpp_periodicReportingIntervalMsSupport_r18_01, { "periodicReportingIntervalMsSupport-r18", "lpp.periodicReportingIntervalMsSupport_r18_element", FT_NONE, BASE_NONE, NULL, 0, "PeriodicReportingIntervalMsSupportPerMode_r18", 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_ha_gnss_MetricsSupport_r17, { "ha-gnss-MetricsSupport-r17", "lpp.ha_gnss_MetricsSupport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ha_gnss_MetricsSupport_r17_vals), 0, "T_ha_gnss_MetricsSupport_r17", 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_Integrity_ServiceParametersSupport_r17, { "gnss-Integrity-ServiceParametersSupport-r17", "lpp.gnss_Integrity_ServiceParametersSupport_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_Integrity_ServiceAlertSupport_r17, { "gnss-Integrity-ServiceAlertSupport-r17", "lpp.gnss_Integrity_ServiceAlertSupport_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_IOD_UpdateSupport_r18, { "gnss-SSR-IOD-UpdateSupport-r18", "lpp.gnss_SSR_IOD_UpdateSupport_r18_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_gnss_SSR_OrbitCorrectionsSet2Support_r17, { "gnss-SSR-OrbitCorrectionsSet2Support-r17", "lpp.gnss_SSR_OrbitCorrectionsSet2Support_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_ClockCorrectionsSet2Support_r17, { "gnss-SSR-ClockCorrectionsSet2Support-r17", "lpp.gnss_SSR_ClockCorrectionsSet2Support_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_URA_Set2Support_r17, { "gnss-SSR-URA-Set2Support-r17", "lpp.gnss_SSR_URA_Set2Support_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_LOS_NLOS_GriddedIndicationsSupport_r18, { "gnss-LOS-NLOS-GriddedIndicationsSupport-r18", "lpp.gnss_LOS_NLOS_GriddedIndicationsSupport_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_gnss_SSR_SatellitePCVResidualsSupport_r18, { "gnss-SSR-SatellitePCVResidualsSupport-r18", "lpp.gnss_SSR_SatellitePCVResidualsSupport_r18_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_orbit_IntegritySup_r17, { "orbit-IntegritySup-r17", "lpp.orbit_IntegritySup_r17", FT_BYTES, BASE_NONE, NULL, 0, "T_orbit_IntegritySup_r17", HFILL }}, { &hf_lpp_clock_IntegrityParameterSupport_r17, { "clock-IntegrityParameterSupport-r17", "lpp.clock_IntegrityParameterSupport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_clock_IntegrityParameterSupport_r17_vals), 0, "T_clock_IntegrityParameterSupport_r17", HFILL }}, { &hf_lpp_ssr_IntegrityClockBoundsSupport_r17, { "ssr-IntegrityClockBoundsSupport-r17", "lpp.ssr_IntegrityClockBoundsSupport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ssr_IntegrityClockBoundsSupport_r17_vals), 0, "T_ssr_IntegrityClockBoundsSupport_r17", 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_ssr_IntegrityCodeBiasBoundsSup_r17, { "ssr-IntegrityCodeBiasBoundsSup-r17", "lpp.ssr_IntegrityCodeBiasBoundsSup_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ssr_IntegrityCodeBiasBoundsSup_r17_vals), 0, NULL, 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_ssr_IntegrityPhaseBiasBoundsSup_r17, { "ssr-IntegrityPhaseBiasBoundsSup-r17", "lpp.ssr_IntegrityPhaseBiasBoundsSup_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ssr_IntegrityPhaseBiasBoundsSup_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_stec_IntegritySup_r17, { "stec-IntegritySup-r17", "lpp.stec_IntegritySup_r17", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_griddedCorrectionIntegritySup_r17, { "griddedCorrectionIntegritySup-r17", "lpp.griddedCorrectionIntegritySup_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_griddedCorrectionIntegritySup_r17_vals), 0, NULL, 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_remoteUE_Indication_r18_01, { "remoteUE-Indication-r18", "lpp.remoteUE_Indication_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_remoteUE_Indication_r18_vals), 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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, UNS(&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, BASE_NONE, 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_AoA_Config_r18, { "bt-AoA-Config-r18", "lpp.bt_AoA_Config_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_bt_Addr_r18, { "bt-Addr-r18", "lpp.bt_Addr_r18", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_48", HFILL }}, { &hf_lpp_cte_Status_r18, { "cte-Status-r18", "lpp.cte_Status_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_cte_Status_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_primaryAdvInterval_r18, { "primaryAdvInterval-r18", "lpp.primaryAdvInterval_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_32_16777", HFILL }}, { &hf_lpp_secondAdvInterval_r18, { "secondAdvInterval-r18", "lpp.secondAdvInterval_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_6_65535", HFILL }}, { &hf_lpp_tx_Power_r18, { "tx-Power-r18", "lpp.tx_Power_r18", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M127_20", HFILL }}, { &hf_lpp_cte_Length_r18, { "cte-Length-r18", "lpp.cte_Length_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_20", HFILL }}, { &hf_lpp_cte_Count_r18, { "cte-Count-r18", "lpp.cte_Count_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16", HFILL }}, { &hf_lpp_tx_PHY_M2_r18, { "tx-PHY-M2-r18", "lpp.tx_PHY_M2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_tx_PHY_M2_r18_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_r18, { "bt-MeasurementList-r18", "lpp.bt_MeasurementList_r18", 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, UNS(&units_dbm), 0, "INTEGER_M128_127", HFILL }}, { &hf_lpp_BT_MeasurementList_r18_item, { "BT-MeasurementElement-r18", "lpp.BT_MeasurementElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_btAddr_r18, { "btAddr-r18", "lpp.btAddr_r18", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_48", HFILL }}, { &hf_lpp_bt_azimuth_r18, { "bt-azimuth-r18", "lpp.bt_azimuth_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_359", HFILL }}, { &hf_lpp_bt_elevation_r18, { "bt-elevation-r18", "lpp.bt_elevation_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_180", HFILL }}, { &hf_lpp_rssi_r18, { "rssi-r18", "lpp.rssi_r18", FT_INT32, BASE_DEC, NULL, 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_requestedAoA_Config_r18, { "bt-requestedAoA-Config-r18", "lpp.bt_requestedAoA_Config_r18", FT_BYTES, BASE_NONE, NULL, 0, "T_bt_requestedAoA_Config_r18", HFILL }}, { &hf_lpp_bt_suggestedAoA_Config_r18, { "bt-suggestedAoA-Config-r18", "lpp.bt_suggestedAoA_Config_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_cte_Status_r18_01, { "cte-Status-r18", "lpp.cte_Status_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_cte_Status_r18_01_vals), 0, "T_cte_Status_r18_01", HFILL }}, { &hf_lpp_tx_PHY_M2_r18_01, { "tx-PHY-M2-r18", "lpp.tx_PHY_M2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_tx_PHY_M2_r18_01_vals), 0, "T_tx_PHY_M2_r18_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_bt_AoA_r18, { "bt-AoA-r18", "lpp.bt_AoA_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_bt_AoA_r18_vals), 0, "T_bt_AoA_r18", 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_bt_BeaconInfo_r18, { "bt-BeaconInfo-r18", "lpp.bt_BeaconInfo_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_bt_Error_r18, { "bt-Error-r18", "lpp.bt_Error_r18", FT_UINT32, BASE_DEC, VALS(lpp_BT_Error_r13_vals), 0, "BT_Error_r13", HFILL }}, { &hf_lpp_referencePoint_r18, { "referencePoint-r18", "lpp.referencePoint_r18_element", FT_NONE, BASE_NONE, NULL, 0, "ReferencePoint_r16", HFILL }}, { &hf_lpp_bt_BeaconInfoList_r18, { "bt-BeaconInfoList-r18", "lpp.bt_BeaconInfoList_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxBT_BeaconAD_r18_OF_BT_BeaconInfoElement_r18", HFILL }}, { &hf_lpp_bt_BeaconInfoList_r18_item, { "BT-BeaconInfoElement-r18", "lpp.BT_BeaconInfoElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_bt_BeaconLocation_r18, { "bt-BeaconLocation-r18", "lpp.bt_BeaconLocation_r18_element", FT_NONE, BASE_NONE, NULL, 0, "RelativeLocation_r16", HFILL }}, { &hf_lpp_bt_LCS_GCS_TranslationParameter_r18, { "bt-LCS-GCS-TranslationParameter-r18", "lpp.bt_LCS_GCS_TranslationParameter_r18_element", FT_NONE, BASE_NONE, NULL, 0, "LCS_GCS_TranslationParameter_r16", HFILL }}, { &hf_lpp_bt_antArrayConfig_r18, { "bt-antArrayConfig-r18", "lpp.bt_antArrayConfig_r18", FT_UINT32, BASE_DEC, VALS(lpp_BT_AntArrayConfig_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_bt_antElementList_r18, { "bt-antElementList-r18", "lpp.bt_antElementList_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntElement_r18", HFILL }}, { &hf_lpp_bt_antElementList_r18_item, { "BT-AntElement-r18", "lpp.BT_AntElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_bt_antSwitchingPattern_r18, { "bt-antSwitchingPattern-r18", "lpp.bt_antSwitchingPattern_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntSwitchElement_r18", HFILL }}, { &hf_lpp_bt_antSwitchingPattern_r18_item, { "BT-AntSwitchElement-r18", "lpp.BT_AntSwitchElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_bt_AoD_TransmConfig_r18, { "bt-AoD-TransmConfig-r18", "lpp.bt_AoD_TransmConfig_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_bt_UniformLinearArray_r18, { "bt-UniformLinearArray-r18", "lpp.bt_UniformLinearArray_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_bt_UniformRectangularArray_r18, { "bt-UniformRectangularArray-r18", "lpp.bt_UniformRectangularArray_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_bt_UniformCircularArray_r18, { "bt-UniformCircularArray-r18", "lpp.bt_UniformCircularArray_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_bt_GenericArray_r18, { "bt-GenericArray-r18", "lpp.bt_GenericArray_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_polarization_r18, { "polarization-r18", "lpp.polarization_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_polarization_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_antElementIndexShort_r18, { "antElementIndexShort-r18", "lpp.antElementIndexShort_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16", HFILL }}, { &hf_lpp_antElementIndexOffset_r18, { "antElementIndexOffset-r18", "lpp.antElementIndexOffset_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_antElementIndexOffset_r18_vals), 0, "T_antElementIndexOffset_r18", HFILL }}, { &hf_lpp_cte_Type2us_r18, { "cte-Type2us-r18", "lpp.cte_Type2us_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_cte_Type2us_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_tx_PHY_M2_r18_02, { "tx-PHY-M2-r18", "lpp.tx_PHY_M2_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_tx_PHY_M2_r18_02_vals), 0, "T_tx_PHY_M2_r18_02", HFILL }}, { &hf_lpp_bt_NoElements_r18, { "bt-NoElements-r18", "lpp.bt_NoElements_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_maxBT_BeaconAntElt_r18", HFILL }}, { &hf_lpp_bt_InterElementDist_r18, { "bt-InterElementDist-r18", "lpp.bt_InterElementDist_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_30_130", HFILL }}, { &hf_lpp_bt_NoElementsY_r18, { "bt-NoElementsY-r18", "lpp.bt_NoElementsY_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxBT_BeaconAntElt_r18", HFILL }}, { &hf_lpp_bt_NoElementsZ_r18, { "bt-NoElementsZ-r18", "lpp.bt_NoElementsZ_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxBT_BeaconAntElt_r18", HFILL }}, { &hf_lpp_bt_InterElementDistY_r18, { "bt-InterElementDistY-r18", "lpp.bt_InterElementDistY_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_30_135", HFILL }}, { &hf_lpp_bt_InterElementDistZ_r18, { "bt-InterElementDistZ-r18", "lpp.bt_InterElementDistZ_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_30_135", HFILL }}, { &hf_lpp_BT_GenericArray_r18_item, { "BT-ULA-GenericAntElement-r18", "lpp.BT_ULA_GenericAntElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_deltaY_r18, { "deltaY-r18", "lpp.deltaY_r18", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M135_135", HFILL }}, { &hf_lpp_deltaX_r18, { "deltaX-r18", "lpp.deltaX_r18", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M135_135", HFILL }}, { &hf_lpp_deltaZ_r18, { "deltaZ-r18", "lpp.deltaZ_r18", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M135_135", HFILL }}, { &hf_lpp_requestedAD_r18, { "requestedAD-r18", "lpp.requestedAD_r18", FT_BYTES, 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_UE_TEG_Capability_r17, { "nr-UE-TEG-Capability-r17", "lpp.nr_UE_TEG_Capability_r17_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_ten_ms_unit_ResponseTime_r17, { "ten-ms-unit-ResponseTime-r17", "lpp.ten_ms_unit_ResponseTime_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ten_ms_unit_ResponseTime_r17_vals), 0, "T_ten_ms_unit_ResponseTime_r17", 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_remoteUE_Indication_r18_02, { "remoteUE-Indication-r18", "lpp.remoteUE_Indication_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_remoteUE_Indication_r18_01_vals), 0, "T_remoteUE_Indication_r18_01", 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_On_Demand_DL_PRS_Configurations_r17, { "nr-On-Demand-DL-PRS-Configurations-r17", "lpp.nr_On_Demand_DL_PRS_Configurations_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17, { "nr-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17", "lpp.nr_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_assistanceDataValidityArea_r17, { "assistanceDataValidityArea-r17", "lpp.assistanceDataValidityArea_r17", FT_UINT32, BASE_DEC, NULL, 0, "AreaID_CellList_r17", HFILL }}, { &hf_lpp_nr_PeriodicAssistData_r18, { "nr-PeriodicAssistData-r18", "lpp.nr_PeriodicAssistData_r18_element", FT_NONE, BASE_NONE, NULL, 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_PosCalcAssistanceRequest_r17, { "nr-PosCalcAssistanceRequest-r17", "lpp.nr_PosCalcAssistanceRequest_r17", FT_BYTES, BASE_NONE, NULL, 0, "T_nr_PosCalcAssistanceRequest_r17", HFILL }}, { &hf_lpp_nr_on_demand_DL_PRS_Request_r17, { "nr-on-demand-DL-PRS-Request-r17", "lpp.nr_on_demand_DL_PRS_Request_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17, { "nr-DL-PRS-ExpectedAoD-or-AoA-Request-r17", "lpp.nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_vals), 0, "T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17", HFILL }}, { &hf_lpp_pre_configured_AssistanceDataRequest_r17, { "pre-configured-AssistanceDataRequest-r17", "lpp.pre_configured_AssistanceDataRequest_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_pre_configured_AssistanceDataRequest_r17_vals), 0, "T_pre_configured_AssistanceDataRequest_r17", HFILL }}, { &hf_lpp_nr_PeriodicAssistDataReq_r18, { "nr-PeriodicAssistDataReq-r18", "lpp.nr_PeriodicAssistDataReq_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_IntegrityAssistanceRequest_r18, { "nr-IntegrityAssistanceRequest-r18", "lpp.nr_IntegrityAssistanceRequest_r18", FT_BYTES, BASE_NONE, NULL, 0, "T_nr_IntegrityAssistanceRequest_r18", 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_nr_DL_TDOA_SignalMeasurementInstances_r17, { "nr-DL-TDOA-SignalMeasurementInstances-r17", "lpp.nr_DL_TDOA_SignalMeasurementInstances_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_SignalMeasurementInformation_r16", HFILL }}, { &hf_lpp_nr_DL_TDOA_SignalMeasurementInstances_r17_item, { "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_LocationInformationInstances_r17, { "nr-DL-TDOA-LocationInformationInstances-r17", "lpp.nr_DL_TDOA_LocationInformationInstances_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_LocationInformation_r16", HFILL }}, { &hf_lpp_nr_DL_TDOA_LocationInformationInstances_r17_item, { "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_UE_RxTEG_TimingErrorMargin_r17, { "nr-UE-RxTEG-TimingErrorMargin-r17", "lpp.nr_UE_RxTEG_TimingErrorMargin_r17", FT_UINT32, BASE_DEC, VALS(lpp_TEG_TimingErrorMargin_r17_vals), 0, "TEG_TimingErrorMargin_r17", 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_kMinus6_r18_01, { "kMinus6-r18", "lpp.kMinus6_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_126083073", HFILL }}, { &hf_lpp_kMinus5_r18_01, { "kMinus5-r18", "lpp.kMinus5_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_63041537", HFILL }}, { &hf_lpp_kMinus4_r18_01, { "kMinus4-r18", "lpp.kMinus4_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31520769", HFILL }}, { &hf_lpp_kMinus3_r18_01, { "kMinus3-r18", "lpp.kMinus3_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15760385", HFILL }}, { &hf_lpp_kMinus2_r18_01, { "kMinus2-r18", "lpp.kMinus2_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_7880193", HFILL }}, { &hf_lpp_kMinus1_r18_01, { "kMinus1-r18", "lpp.kMinus1_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3940097", 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_UE_Rx_TEG_ID_r17, { "nr-UE-Rx-TEG-ID-r17", "lpp.nr_UE_Rx_TEG_ID_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNumOfRxTEGs_1_r17", HFILL }}, { &hf_lpp_nr_DL_PRS_FirstPathRSRP_Result_r17, { "nr-DL-PRS-FirstPathRSRP-Result-r17", "lpp.nr_DL_PRS_FirstPathRSRP_Result_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_126", HFILL }}, { &hf_lpp_nr_los_nlos_Indicator_r17, { "nr-los-nlos-Indicator-r17", "lpp.nr_los_nlos_Indicator_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_los_nlos_Indicator_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_perTRP_r17, { "perTRP-r17", "lpp.perTRP_r17_element", FT_NONE, BASE_NONE, NULL, 0, "LOS_NLOS_Indicator_r17", HFILL }}, { &hf_lpp_perResource_r17_01, { "perResource-r17", "lpp.perResource_r17_element", FT_NONE, BASE_NONE, NULL, 0, "LOS_NLOS_Indicator_r17", HFILL }}, { &hf_lpp_nr_AdditionalPathListExt_r17, { "nr-AdditionalPathListExt-r17", "lpp.nr_AdditionalPathListExt_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_DL_TDOA_AdditionalMeasurementsExt_r17, { "nr-DL-TDOA-AdditionalMeasurementsExt-r17", "lpp.nr_DL_TDOA_AdditionalMeasurementsExt_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_MeasBasedOnAggregatedResources_r18, { "nr-MeasBasedOnAggregatedResources-r18", "lpp.nr_MeasBasedOnAggregatedResources_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_MeasBasedOnAggregatedResources_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_nr_AggregatedDL_PRS_ResourceInfo_List_r18, { "nr-AggregatedDL-PRS-ResourceInfo-List-r18", "lpp.nr_AggregatedDL_PRS_ResourceInfo_List_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_2_3_OF_NR_AggregatedDL_PRS_ResourceInfo_Element_r18", HFILL }}, { &hf_lpp_nr_AggregatedDL_PRS_ResourceInfo_List_r18_item, { "NR-AggregatedDL-PRS-ResourceInfo-Element-r18", "lpp.NR_AggregatedDL_PRS_ResourceInfo_Element_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_RSCPD_r18, { "nr-RSCPD-r18", "lpp.nr_RSCPD_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3599", HFILL }}, { &hf_lpp_nr_RSCPD_AddMeasurementSamples_r18, { "nr-RSCPD-AddMeasurementSamples-r18", "lpp.nr_RSCPD_AddMeasurementSamples_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCPD_AdditionalMeasurementSamplesElement_r18", HFILL }}, { &hf_lpp_nr_RSCPD_AddMeasurementSamples_r18_item, { "NR-RSCPD-AdditionalMeasurementSamplesElement-r18", "lpp.NR_RSCPD_AdditionalMeasurementSamplesElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18, { "nr-ReportDL-PRS-MeasBasedOnSingleOrMultiHopRx-r18", "lpp.nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_vals), 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_DL_TDOA_AdditionalMeasurementsExt_r17_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_kMinus6_r18_02, { "kMinus6-r18", "lpp.kMinus6_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_524224", HFILL }}, { &hf_lpp_kMinus5_r18_02, { "kMinus5-r18", "lpp.kMinus5_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_262112", HFILL }}, { &hf_lpp_kMinus4_r18_02, { "kMinus4-r18", "lpp.kMinus4_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_131056", HFILL }}, { &hf_lpp_kMinus3_r18_02, { "kMinus3-r18", "lpp.kMinus3_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65528", HFILL }}, { &hf_lpp_kMinus2_r18_02, { "kMinus2-r18", "lpp.kMinus2_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_32764", HFILL }}, { &hf_lpp_kMinus1_r18_02, { "kMinus1-r18", "lpp.kMinus1_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16382", 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_nr_DL_PRS_FirstPathRSRP_ResultDiff_r17, { "nr-DL-PRS-FirstPathRSRP-ResultDiff-r17", "lpp.nr_DL_PRS_FirstPathRSRP_ResultDiff_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_61", HFILL }}, { &hf_lpp_nr_los_nlos_IndicatorPerResource_r17, { "nr-los-nlos-IndicatorPerResource-r17", "lpp.nr_los_nlos_IndicatorPerResource_r17_element", FT_NONE, BASE_NONE, NULL, 0, "LOS_NLOS_Indicator_r17", HFILL }}, { &hf_lpp_nr_MeasBasedOnAggregatedResources_r18_01, { "nr-MeasBasedOnAggregatedResources-r18", "lpp.nr_MeasBasedOnAggregatedResources_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_MeasBasedOnAggregatedResources_r18_01_vals), 0, "T_nr_MeasBasedOnAggregatedResources_r18_01", HFILL }}, { &hf_lpp_nr_RSCPD_AdditionalMeasurementsAddSamples_r18, { "nr-RSCPD-AdditionalMeasurementsAddSamples-r18", "lpp.nr_RSCPD_AdditionalMeasurementsAddSamples_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCPD_AdditionalMeasurementSamplesElement_r18", HFILL }}, { &hf_lpp_nr_RSCPD_AdditionalMeasurementsAddSamples_r18_item, { "NR-RSCPD-AdditionalMeasurementSamplesElement-r18", "lpp.NR_RSCPD_AdditionalMeasurementSamplesElement_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_01, { "nr-ReportDL-PRS-MeasBasedOnSingleOrMultiHopRx-r18", "lpp.nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_01_vals), 0, "T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_01", 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_locationCoordinates_r17, { "locationCoordinates-r17", "lpp.locationCoordinates_r17", FT_UINT32, BASE_DEC, VALS(lpp_LocationCoordinates_vals), 0, "LocationCoordinates", HFILL }}, { &hf_lpp_locationSource_r17, { "locationSource-r17", "lpp.locationSource_r17", FT_BYTES, BASE_NONE, NULL, 0, "LocationSource_r13", 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_nr_UE_RxTEG_Request_r17, { "nr-UE-RxTEG-Request-r17", "lpp.nr_UE_RxTEG_Request_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_UE_RxTEG_Request_r17_vals), 0, "T_nr_UE_RxTEG_Request_r17", HFILL }}, { &hf_lpp_nr_los_nlos_IndicatorRequest_r17, { "nr-los-nlos-IndicatorRequest-r17", "lpp.nr_los_nlos_IndicatorRequest_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_los_nlos_IndicatorRequest_r17", HFILL }}, { &hf_lpp_type_r17, { "type-r17", "lpp.type_r17", FT_UINT32, BASE_DEC, VALS(lpp_LOS_NLOS_IndicatorType1_r17_vals), 0, "LOS_NLOS_IndicatorType1_r17", HFILL }}, { &hf_lpp_granularity_r17, { "granularity-r17", "lpp.granularity_r17", FT_UINT32, BASE_DEC, VALS(lpp_LOS_NLOS_IndicatorGranularity1_r17_vals), 0, "LOS_NLOS_IndicatorGranularity1_r17", HFILL }}, { &hf_lpp_additionalPathsExt_r17, { "additionalPathsExt-r17", "lpp.additionalPathsExt_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_additionalPathsExt_r17_vals), 0, "T_additionalPathsExt_r17", HFILL }}, { &hf_lpp_additionalPathsDL_PRS_RSRP_Request_r17, { "additionalPathsDL-PRS-RSRP-Request-r17", "lpp.additionalPathsDL_PRS_RSRP_Request_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_additionalPathsDL_PRS_RSRP_Request_r17_vals), 0, "T_additionalPathsDL_PRS_RSRP_Request_r17", HFILL }}, { &hf_lpp_multiMeasInSameReport_r17, { "multiMeasInSameReport-r17", "lpp.multiMeasInSameReport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_multiMeasInSameReport_r17_vals), 0, "T_multiMeasInSameReport_r17", HFILL }}, { &hf_lpp_nr_DL_PRS_JointMeasurementRequest_r18, { "nr-DL-PRS-JointMeasurementRequest-r18", "lpp.nr_DL_PRS_JointMeasurementRequest_r18_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_DL_PRS_JointMeasurementRequest_r18", HFILL }}, { &hf_lpp_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18, { "nr-DL-PRS-JointMeasurementRequestedPFL-List-r18", "lpp.nr_DL_PRS_JointMeasurementRequestedPFL_List_r18", FT_UINT32, BASE_DEC, NULL, 0, "T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18", HFILL }}, { &hf_lpp_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_item, { "nr-DL-PRS-JointMeasurementRequestedPFL-List-r18 item", "lpp.nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_nrMaxFreqLayers_1_r16", HFILL }}, { &hf_lpp_nr_DL_PRS_RxHoppingRequest_r18, { "nr-DL-PRS-RxHoppingRequest-r18", "lpp.nr_DL_PRS_RxHoppingRequest_r18_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_DL_PRS_RxHoppingRequest_r18", HFILL }}, { &hf_lpp_nr_DL_PRS_RxHoppingTotalBandwidth_r18, { "nr-DL-PRS-RxHoppingTotalBandwidth-r18", "lpp.nr_DL_PRS_RxHoppingTotalBandwidth_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_fr1_02, { "fr1", "lpp.fr1", FT_UINT32, BASE_DEC, VALS(lpp_T_fr1_02_vals), 0, "T_fr1_02", HFILL }}, { &hf_lpp_fr2_02, { "fr2", "lpp.fr2", FT_UINT32, BASE_DEC, VALS(lpp_T_fr2_02_vals), 0, "T_fr2_02", HFILL }}, { &hf_lpp_maxDL_PRS_RSTD_MeasurementsPerTRP_Pair_r16, { "maxDL-PRS-RSTD-MeasurementsPerTRP-Pair-r16", "lpp.maxDL_PRS_RSTD_MeasurementsPerTRP_Pair_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_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_01, { "measureSameDL-PRS-ResourceWithDifferentRxTEGs-r17", "lpp.measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_01_vals), 0, "T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_01", HFILL }}, { &hf_lpp_reducedDL_PRS_ProcessingSamples_r17, { "reducedDL-PRS-ProcessingSamples-r17", "lpp.reducedDL_PRS_ProcessingSamples_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_reducedDL_PRS_ProcessingSamples_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_lowerRxBeamSweepingFactor_FR2_r17, { "lowerRxBeamSweepingFactor-FR2-r17", "lpp.lowerRxBeamSweepingFactor_FR2_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_lowerRxBeamSweepingFactor_FR2_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_timingReportingGranularityFactorExt_r18, { "timingReportingGranularityFactorExt-r18", "lpp.timingReportingGranularityFactorExt_r18", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M6_M1", HFILL }}, { &hf_lpp_nr_DL_PRS_MeasurementTimeWindowsConfig_r18, { "nr-DL-PRS-MeasurementTimeWindowsConfig-r18", "lpp.nr_DL_PRS_MeasurementTimeWindowsConfig_r18", FT_UINT32, BASE_DEC, NULL, 0, NULL, 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_ten_ms_unit_ResponseTime_r17_01, { "ten-ms-unit-ResponseTime-r17", "lpp.ten_ms_unit_ResponseTime_r17_element", FT_NONE, BASE_NONE, NULL, 0, "PositioningModes", HFILL }}, { &hf_lpp_nr_PosCalcAssistanceSupport_r17, { "nr-PosCalcAssistanceSupport-r17", "lpp.nr_PosCalcAssistanceSupport_r17", FT_BYTES, BASE_NONE, NULL, 0, "T_nr_PosCalcAssistanceSupport_r17", HFILL }}, { &hf_lpp_nr_los_nlos_AssistanceDataSupport_r17, { "nr-los-nlos-AssistanceDataSupport-r17", "lpp.nr_los_nlos_AssistanceDataSupport_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_los_nlos_AssistanceDataSupport_r17", HFILL }}, { &hf_lpp_type_r17_01, { "type-r17", "lpp.type_r17", FT_UINT32, BASE_DEC, VALS(lpp_LOS_NLOS_IndicatorType2_r17_vals), 0, "LOS_NLOS_IndicatorType2_r17", HFILL }}, { &hf_lpp_granularity_r17_01, { "granularity-r17", "lpp.granularity_r17", FT_UINT32, BASE_DEC, VALS(lpp_LOS_NLOS_IndicatorGranularity2_r17_vals), 0, "LOS_NLOS_IndicatorGranularity2_r17", HFILL }}, { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17, { "nr-DL-PRS-ExpectedAoD-or-AoA-Sup-r17", "lpp.nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_DL_TDOA_On_Demand_DL_PRS_Support_r17, { "nr-DL-TDOA-On-Demand-DL-PRS-Support-r17", "lpp.nr_DL_TDOA_On_Demand_DL_PRS_Support_r17_element", FT_NONE, BASE_NONE, NULL, 0, "NR_On_Demand_DL_PRS_Support_r17", HFILL }}, { &hf_lpp_nr_los_nlos_IndicatorSupport_r17, { "nr-los-nlos-IndicatorSupport-r17", "lpp.nr_los_nlos_IndicatorSupport_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_los_nlos_IndicatorSupport_r17", HFILL }}, { &hf_lpp_additionalPathsExtSupport_r17, { "additionalPathsExtSupport-r17", "lpp.additionalPathsExtSupport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_additionalPathsExtSupport_r17_vals), 0, "T_additionalPathsExtSupport_r17", HFILL }}, { &hf_lpp_nr_dl_prs_AssistanceDataValidity_r17, { "nr-dl-prs-AssistanceDataValidity-r17", "lpp.nr_dl_prs_AssistanceDataValidity_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_area_validity_r17, { "area-validity-r17", "lpp.area_validity_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrOfAreas_r17", HFILL }}, { &hf_lpp_multiMeasInSameMeasReport_r17, { "multiMeasInSameMeasReport-r17", "lpp.multiMeasInSameMeasReport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_multiMeasInSameMeasReport_r17_vals), 0, "T_multiMeasInSameMeasReport_r17", HFILL }}, { &hf_lpp_mg_ActivationRequest_r17, { "mg-ActivationRequest-r17", "lpp.mg_ActivationRequest_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_mg_ActivationRequest_r17_vals), 0, "T_mg_ActivationRequest_r17", HFILL }}, { &hf_lpp_posMeasGapSupport_r17, { "posMeasGapSupport-r17", "lpp.posMeasGapSupport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_posMeasGapSupport_r17_vals), 0, "T_posMeasGapSupport_r17", HFILL }}, { &hf_lpp_multiLocationEstimateInSameMeasReport_r17, { "multiLocationEstimateInSameMeasReport-r17", "lpp.multiLocationEstimateInSameMeasReport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_multiLocationEstimateInSameMeasReport_r17_vals), 0, "T_multiLocationEstimateInSameMeasReport_r17", HFILL }}, { &hf_lpp_locationCoordinateTypes_r18, { "locationCoordinateTypes-r18", "lpp.locationCoordinateTypes_r18_element", FT_NONE, BASE_NONE, NULL, 0, "LocationCoordinateTypes", HFILL }}, { &hf_lpp_periodicAssistanceData_r18, { "periodicAssistanceData-r18", "lpp.periodicAssistanceData_r18", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_IntegrityAssistanceSupport_r18, { "nr-IntegrityAssistanceSupport-r18", "lpp.nr_IntegrityAssistanceSupport_r18", FT_BYTES, BASE_NONE, NULL, 0, "T_nr_IntegrityAssistanceSupport_r18", HFILL }}, { &hf_lpp_nr_DL_TDOA_OnDemandPRS_ForBWA_Support_r18, { "nr-DL-TDOA-OnDemandPRS-ForBWA-Support-r18", "lpp.nr_DL_TDOA_OnDemandPRS_ForBWA_Support_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_TDOA_OnDemandPRS_ForBWA_Support_r18_vals), 0, "T_nr_DL_TDOA_OnDemandPRS_ForBWA_Support_r18", 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_dl_tdoa_MeasCapabilityBandList_r17, { "dl-tdoa-MeasCapabilityBandList-r17", "lpp.dl_tdoa_MeasCapabilityBandList_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_TDOA_MeasCapabilityPerBand_r17", HFILL }}, { &hf_lpp_dl_tdoa_MeasCapabilityBandList_r17_item, { "DL-TDOA-MeasCapabilityPerBand-r17", "lpp.DL_TDOA_MeasCapabilityPerBand_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_supportOfDL_PRS_FirstPathRSRP_r17, { "supportOfDL-PRS-FirstPathRSRP-r17", "lpp.supportOfDL_PRS_FirstPathRSRP_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfDL_PRS_FirstPathRSRP_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_dl_PRS_MeasRRC_Inactive_r17, { "dl-PRS-MeasRRC-Inactive-r17", "lpp.dl_PRS_MeasRRC_Inactive_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_MeasRRC_Inactive_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_supportOfDL_PRS_BWA_RRC_Connected_r18, { "supportOfDL-PRS-BWA-RRC-Connected-r18", "lpp.supportOfDL_PRS_BWA_RRC_Connected_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfDL_PRS_BWA_RRC_Connected_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_supportOfDL_PRS_BWA_RRC_Inactive_r18, { "supportOfDL-PRS-BWA-RRC-Inactive-r18", "lpp.supportOfDL_PRS_BWA_RRC_Inactive_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfDL_PRS_BWA_RRC_Inactive_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_supportOfDL_PRS_BWA_RRC_Idle_r18, { "supportOfDL-PRS-BWA-RRC-Idle-r18", "lpp.supportOfDL_PRS_BWA_RRC_Idle_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfDL_PRS_BWA_RRC_Idle_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_nr_DL_PRS_RSCPD_ReportingRRC_Connected_r18, { "nr-DL-PRS-RSCPD-ReportingRRC-Connected-r18", "lpp.nr_DL_PRS_RSCPD_ReportingRRC_Connected_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_RSCPD_ReportingRRC_Connected_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_assocSingleRSTD_WithUpToNsampleRSCPD_r18, { "assocSingleRSTD-WithUpToNsampleRSCPD-r18", "lpp.assocSingleRSTD_WithUpToNsampleRSCPD_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_assocSingleRSTD_WithUpToNsampleRSCPD_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_nr_DL_PRS_RSCPD_MeasurementRRC_Idle_r18, { "nr-DL-PRS-RSCPD-MeasurementRRC-Idle-r18", "lpp.nr_DL_PRS_RSCPD_MeasurementRRC_Idle_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_RSCPD_MeasurementRRC_Idle_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_supportOfUE_basedCarrierPhasePositioning_r18, { "supportOfUE-basedCarrierPhasePositioning-r18", "lpp.supportOfUE_basedCarrierPhasePositioning_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfUE_basedCarrierPhasePositioning_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_supportOfSymbolTimeStampForRSCPD_r18, { "supportOfSymbolTimeStampForRSCPD-r18", "lpp.supportOfSymbolTimeStampForRSCPD_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfSymbolTimeStampForRSCPD_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_supportOfFinerTimingReportGranularityForPRS_Meas_r18, { "supportOfFinerTimingReportGranularityForPRS-Meas-r18", "lpp.supportOfFinerTimingReportGranularityForPRS_Meas_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfFinerTimingReportGranularityForPRS_Meas_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_supportOfMeasurementsInTimeWindow_r18, { "supportOfMeasurementsInTimeWindow-r18", "lpp.supportOfMeasurementsInTimeWindow_r18", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_supportOfPRS_MeasurementRRC_Idle_r18, { "supportOfPRS-MeasurementRRC-Idle-r18", "lpp.supportOfPRS_MeasurementRRC_Idle_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfPRS_MeasurementRRC_Idle_r18_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_remoteUE_Indication_r18_03, { "remoteUE-Indication-r18", "lpp.remoteUE_Indication_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_remoteUE_Indication_r18_02_vals), 0, "T_remoteUE_Indication_r18_02", 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_DL_PRS_BeamInfo_r17, { "nr-DL-PRS-BeamInfo-r17", "lpp.nr_DL_PRS_BeamInfo_r17", FT_UINT32, BASE_DEC, NULL, 0, "NR_DL_PRS_BeamInfo_r16", 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_PosCalcAssistanceRequest_r17_01, { "nr-PosCalcAssistanceRequest-r17", "lpp.nr_PosCalcAssistanceRequest_r17", FT_BYTES, BASE_NONE, NULL, 0, "T_nr_PosCalcAssistanceRequest_r17_01", HFILL }}, { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_01, { "nr-DL-PRS-ExpectedAoD-or-AoA-Request-r17", "lpp.nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_01_vals), 0, "T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_01", HFILL }}, { &hf_lpp_nr_DL_PRS_BeamInfoRequest_r17, { "nr-DL-PRS-BeamInfoRequest-r17", "lpp.nr_DL_PRS_BeamInfoRequest_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_BeamInfoRequest_r17_vals), 0, "T_nr_DL_PRS_BeamInfoRequest_r17", HFILL }}, { &hf_lpp_pre_configured_AssistanceDataRequest_r17_01, { "pre-configured-AssistanceDataRequest-r17", "lpp.pre_configured_AssistanceDataRequest_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_pre_configured_AssistanceDataRequest_r17_01_vals), 0, "T_pre_configured_AssistanceDataRequest_r17_01", HFILL }}, { &hf_lpp_nr_IntegrityAssistanceRequest_r18_01, { "nr-IntegrityAssistanceRequest-r18", "lpp.nr_IntegrityAssistanceRequest_r18", FT_BYTES, BASE_NONE, NULL, 0, "T_nr_IntegrityAssistanceRequest_r18_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_SignalMeasurementInstances_r17, { "nr-DL-AoD-SignalMeasurementInstances-r17", "lpp.nr_DL_AoD_SignalMeasurementInstances_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_SignalMeasurementInformation_r16", HFILL }}, { &hf_lpp_nr_DL_AoD_SignalMeasurementInstances_r17_item, { "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_LocationInformationInstances_r17, { "nr-DL-AoD-LocationInformationInstances-r17", "lpp.nr_DL_AoD_LocationInformationInstances_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_LocationInformation_r16", HFILL }}, { &hf_lpp_nr_DL_AoD_LocationInformationInstances_r17_item, { "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_los_nlos_Indicator_r17_01, { "nr-los-nlos-Indicator-r17", "lpp.nr_los_nlos_Indicator_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_los_nlos_Indicator_r17_01_vals), 0, "T_nr_los_nlos_Indicator_r17_01", HFILL }}, { &hf_lpp_nr_DL_AoD_AdditionalMeasurementsExt_r17, { "nr-DL-AoD-AdditionalMeasurementsExt-r17", "lpp.nr_DL_AoD_AdditionalMeasurementsExt_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_02, { "nr-ReportDL-PRS-MeasBasedOnSingleOrMultiHopRx-r18", "lpp.nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_02_vals), 0, "T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_02", 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_AoD_AdditionalMeasurementsExt_r17_item, { "NR-DL-AoD-AdditionalMeasurementElement-r17", "lpp.NR_DL_AoD_AdditionalMeasurementElement_r17_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_nr_DL_PRS_ResourceID_r17, { "nr-DL-PRS-ResourceID-r17", "lpp.nr_DL_PRS_ResourceID_r17", FT_UINT32, BASE_DEC, NULL, 0, "NR_DL_PRS_ResourceID_r16", HFILL }}, { &hf_lpp_nr_TimeStamp_r17, { "nr-TimeStamp-r17", "lpp.nr_TimeStamp_r17_element", FT_NONE, BASE_NONE, NULL, 0, "NR_TimeStamp_r16", HFILL }}, { &hf_lpp_nr_DL_PRS_RSRP_ResultDiff_r17, { "nr-DL-PRS-RSRP-ResultDiff-r17", "lpp.nr_DL_PRS_RSRP_ResultDiff_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_30", HFILL }}, { &hf_lpp_nr_DL_PRS_RxBeamIndex_r17, { "nr-DL-PRS-RxBeamIndex-r17", "lpp.nr_DL_PRS_RxBeamIndex_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_8", HFILL }}, { &hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_03, { "nr-ReportDL-PRS-MeasBasedOnSingleOrMultiHopRx-r18", "lpp.nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_03_vals), 0, "T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_03", 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_multiMeasInSameReport_r17_01, { "multiMeasInSameReport-r17", "lpp.multiMeasInSameReport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_multiMeasInSameReport_r17_01_vals), 0, "T_multiMeasInSameReport_r17_01", HFILL }}, { &hf_lpp_nr_DL_PRS_RxHoppingRequest_r18_01, { "nr-DL-PRS-RxHoppingRequest-r18", "lpp.nr_DL_PRS_RxHoppingRequest_r18_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_DL_PRS_RxHoppingRequest_r18_01", HFILL }}, { &hf_lpp_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01, { "nr-DL-PRS-RxHoppingTotalBandwidth-r18", "lpp.nr_DL_PRS_RxHoppingTotalBandwidth_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01_vals), 0, "T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01", HFILL }}, { &hf_lpp_fr1_03, { "fr1", "lpp.fr1", FT_UINT32, BASE_DEC, VALS(lpp_T_fr1_03_vals), 0, "T_fr1_03", HFILL }}, { &hf_lpp_fr2_03, { "fr2", "lpp.fr2", FT_UINT32, BASE_DEC, VALS(lpp_T_fr2_03_vals), 0, "T_fr2_03", 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_maxDL_PRS_RSRP_MeasurementsPerTRP_r17, { "maxDL-PRS-RSRP-MeasurementsPerTRP-r17", "lpp.maxDL_PRS_RSRP_MeasurementsPerTRP_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_9_24", HFILL }}, { &hf_lpp_maxDL_PRS_RSRPP_MeasurementsPerTRP_r17, { "maxDL-PRS-RSRPP-MeasurementsPerTRP-r17", "lpp.maxDL_PRS_RSRPP_MeasurementsPerTRP_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_24", HFILL }}, { &hf_lpp_nr_los_nlos_IndicatorRequest_r17_01, { "nr-los-nlos-IndicatorRequest-r17", "lpp.nr_los_nlos_IndicatorRequest_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_los_nlos_IndicatorRequest_r17_01", HFILL }}, { &hf_lpp_reducedDL_PRS_ProcessingSamples_r17_01, { "reducedDL-PRS-ProcessingSamples-r17", "lpp.reducedDL_PRS_ProcessingSamples_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_reducedDL_PRS_ProcessingSamples_r17_01_vals), 0, "T_reducedDL_PRS_ProcessingSamples_r17_01", HFILL }}, { &hf_lpp_lowerRxBeamSweepingFactor_FR2_r17_01, { "lowerRxBeamSweepingFactor-FR2-r17", "lpp.lowerRxBeamSweepingFactor_FR2_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_lowerRxBeamSweepingFactor_FR2_r17_01_vals), 0, "T_lowerRxBeamSweepingFactor_FR2_r17_01", 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_nr_PosCalcAssistanceSupport_r17_01, { "nr-PosCalcAssistanceSupport-r17", "lpp.nr_PosCalcAssistanceSupport_r17", FT_BYTES, BASE_NONE, NULL, 0, "T_nr_PosCalcAssistanceSupport_r17_01", HFILL }}, { &hf_lpp_nr_los_nlos_AssistanceDataSupport_r17_01, { "nr-los-nlos-AssistanceDataSupport-r17", "lpp.nr_los_nlos_AssistanceDataSupport_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_los_nlos_AssistanceDataSupport_r17_01", HFILL }}, { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01, { "nr-DL-PRS-ExpectedAoD-or-AoA-Sup-r17", "lpp.nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17", FT_BYTES, BASE_NONE, NULL, 0, "T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01", HFILL }}, { &hf_lpp_dl_PRS_ResourcePrioritySubset_Sup_r17, { "dl-PRS-ResourcePrioritySubset-Sup-r17", "lpp.dl_PRS_ResourcePrioritySubset_Sup_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_ResourcePrioritySubset_Sup_r17_vals), 0, "T_dl_PRS_ResourcePrioritySubset_Sup_r17", HFILL }}, { &hf_lpp_nr_DL_PRS_BeamInfoSup_r17, { "nr-DL-PRS-BeamInfoSup-r17", "lpp.nr_DL_PRS_BeamInfoSup_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_BeamInfoSup_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_nr_DL_AoD_On_Demand_DL_PRS_Support_r17, { "nr-DL-AoD-On-Demand-DL-PRS-Support-r17", "lpp.nr_DL_AoD_On_Demand_DL_PRS_Support_r17_element", FT_NONE, BASE_NONE, NULL, 0, "NR_On_Demand_DL_PRS_Support_r17", HFILL }}, { &hf_lpp_nr_los_nlos_IndicatorSupport_r17_01, { "nr-los-nlos-IndicatorSupport-r17", "lpp.nr_los_nlos_IndicatorSupport_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_los_nlos_IndicatorSupport_r17_01", HFILL }}, { &hf_lpp_nr_dl_prs_AssistanceDataValidity_r17_01, { "nr-dl-prs-AssistanceDataValidity-r17", "lpp.nr_dl_prs_AssistanceDataValidity_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_dl_prs_AssistanceDataValidity_r17_01", HFILL }}, { &hf_lpp_multiMeasInSameMeasReport_r17_01, { "multiMeasInSameMeasReport-r17", "lpp.multiMeasInSameMeasReport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_multiMeasInSameMeasReport_r17_01_vals), 0, "T_multiMeasInSameMeasReport_r17_01", HFILL }}, { &hf_lpp_mg_ActivationRequest_r17_01, { "mg-ActivationRequest-r17", "lpp.mg_ActivationRequest_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_mg_ActivationRequest_r17_01_vals), 0, "T_mg_ActivationRequest_r17_01", HFILL }}, { &hf_lpp_posMeasGapSupport_r17_01, { "posMeasGapSupport-r17", "lpp.posMeasGapSupport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_posMeasGapSupport_r17_01_vals), 0, "T_posMeasGapSupport_r17_01", HFILL }}, { &hf_lpp_multiLocationEstimateInSameMeasReport_r17_01, { "multiLocationEstimateInSameMeasReport-r17", "lpp.multiLocationEstimateInSameMeasReport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_multiLocationEstimateInSameMeasReport_r17_01_vals), 0, "T_multiLocationEstimateInSameMeasReport_r17_01", HFILL }}, { &hf_lpp_nr_IntegrityAssistanceSupport_r18_01, { "nr-IntegrityAssistanceSupport-r18", "lpp.nr_IntegrityAssistanceSupport_r18", FT_BYTES, BASE_NONE, NULL, 0, "T_nr_IntegrityAssistanceSupport_r18_01", 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_maxDL_PRS_RSRP_MeasurementFR1_v1730, { "maxDL-PRS-RSRP-MeasurementFR1-v1730", "lpp.maxDL_PRS_RSRP_MeasurementFR1_v1730", FT_UINT32, BASE_DEC, VALS(lpp_T_maxDL_PRS_RSRP_MeasurementFR1_v1730_vals), 0, NULL, HFILL }}, { &hf_lpp_maxDL_PRS_RSRP_MeasurementFR2_v1730, { "maxDL-PRS-RSRP-MeasurementFR2-v1730", "lpp.maxDL_PRS_RSRP_MeasurementFR2_v1730", FT_UINT32, BASE_DEC, VALS(lpp_T_maxDL_PRS_RSRP_MeasurementFR2_v1730_vals), 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_maxDL_PRS_FirstPathRSRP_MeasPerTRP_r17, { "maxDL-PRS-FirstPathRSRP-MeasPerTRP-r17", "lpp.maxDL_PRS_FirstPathRSRP_MeasPerTRP_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_maxDL_PRS_FirstPathRSRP_MeasPerTRP_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_dl_PRS_MeasRRC_Inactive_r17_01, { "dl-PRS-MeasRRC-Inactive-r17", "lpp.dl_PRS_MeasRRC_Inactive_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_MeasRRC_Inactive_r17_01_vals), 0, "T_dl_PRS_MeasRRC_Inactive_r17_01", HFILL }}, { &hf_lpp_supportOfMeasurementsInTimeWindow_r18_01, { "supportOfMeasurementsInTimeWindow-r18", "lpp.supportOfMeasurementsInTimeWindow_r18", FT_BYTES, BASE_NONE, NULL, 0, "T_supportOfMeasurementsInTimeWindow_r18_01", HFILL }}, { &hf_lpp_supportOfPRS_MeasurementRRC_Idle_r18_01, { "supportOfPRS-MeasurementRRC-Idle-r18", "lpp.supportOfPRS_MeasurementRRC_Idle_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfPRS_MeasurementRRC_Idle_r18_01_vals), 0, "T_supportOfPRS_MeasurementRRC_Idle_r18_01", 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_remoteUE_Indication_r18_04, { "remoteUE-Indication-r18", "lpp.remoteUE_Indication_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_remoteUE_Indication_r18_03_vals), 0, "T_remoteUE_Indication_r18_03", 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_DL_PRS_ExpectedAoD_or_AoA_Request_r17_02, { "nr-DL-PRS-ExpectedAoD-or-AoA-Request-r17", "lpp.nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_02_vals), 0, "T_nr_DL_PRS_ExpectedAoD_or_AoA_Request_r17_02", HFILL }}, { &hf_lpp_pre_configured_AssistanceDataRequest_r17_02, { "pre-configured-AssistanceDataRequest-r17", "lpp.pre_configured_AssistanceDataRequest_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_pre_configured_AssistanceDataRequest_r17_02_vals), 0, "T_pre_configured_AssistanceDataRequest_r17_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_SignalMeasurementInstances_r17, { "nr-Multi-RTT-SignalMeasurementInstances-r17", "lpp.nr_Multi_RTT_SignalMeasurementInstances_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_Multi_RTT_SignalMeasurementInformation_r16", HFILL }}, { &hf_lpp_nr_Multi_RTT_SignalMeasurementInstances_r17_item, { "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_SRS_TxTEG_Set_r17, { "nr-SRS-TxTEG-Set-r17", "lpp.nr_SRS_TxTEG_Set_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxTxTEG_Sets_r17_OF_NR_SRS_TxTEG_Element_r17", HFILL }}, { &hf_lpp_nr_SRS_TxTEG_Set_r17_item, { "NR-SRS-TxTEG-Element-r17", "lpp.NR_SRS_TxTEG_Element_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_UE_TxTEG_TimingErrorMargin_r17, { "nr-UE-TxTEG-TimingErrorMargin-r17", "lpp.nr_UE_TxTEG_TimingErrorMargin_r17", FT_UINT32, BASE_DEC, VALS(lpp_TEG_TimingErrorMargin_r17_vals), 0, "TEG_TimingErrorMargin_r17", HFILL }}, { &hf_lpp_nr_UE_RxTxTEG_TimingErrorMargin_r17, { "nr-UE-RxTxTEG-TimingErrorMargin-r17", "lpp.nr_UE_RxTxTEG_TimingErrorMargin_r17", FT_UINT32, BASE_DEC, VALS(lpp_RxTxTEG_TimingErrorMargin_r17_vals), 0, "RxTxTEG_TimingErrorMargin_r17", 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_UE_RxTx_TEG_Info_r17, { "nr-UE-RxTx-TEG-Info-r17", "lpp.nr_UE_RxTx_TEG_Info_r17", FT_UINT32, BASE_DEC, VALS(lpp_NR_UE_RxTx_TEG_Info_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_nr_los_nlos_Indicator_r17_02, { "nr-los-nlos-Indicator-r17", "lpp.nr_los_nlos_Indicator_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_los_nlos_Indicator_r17_02_vals), 0, "T_nr_los_nlos_Indicator_r17_02", HFILL }}, { &hf_lpp_nr_Multi_RTT_AdditionalMeasurementsExt_r17, { "nr-Multi-RTT-AdditionalMeasurementsExt-r17", "lpp.nr_Multi_RTT_AdditionalMeasurementsExt_r17", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_MeasBasedOnAggregatedResources_r18_02, { "nr-MeasBasedOnAggregatedResources-r18", "lpp.nr_MeasBasedOnAggregatedResources_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_MeasBasedOnAggregatedResources_r18_02_vals), 0, "T_nr_MeasBasedOnAggregatedResources_r18_02", HFILL }}, { &hf_lpp_nr_RSCP_AddSampleMeasurements_r18, { "nr-RSCP-AddSampleMeasurements-r18", "lpp.nr_RSCP_AddSampleMeasurements_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18", HFILL }}, { &hf_lpp_nr_RSCP_AddSampleMeasurements_r18_item, { "NR-RSCP-AdditionalMeasurements-r18", "lpp.NR_RSCP_AdditionalMeasurements_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_04, { "nr-ReportDL-PRS-MeasBasedOnSingleOrMultiHopRx-r18", "lpp.nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_04_vals), 0, "T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_04", HFILL }}, { &hf_lpp_nr_NTN_UE_RxTxMeasurements_r18, { "nr-NTN-UE-RxTxMeasurements-r18", "lpp.nr_NTN_UE_RxTxMeasurements_r18_element", FT_NONE, BASE_NONE, 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_Multi_RTT_AdditionalMeasurementsExt_r17_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_MeasBasedOnAggregatedResources_r18_03, { "nr-MeasBasedOnAggregatedResources-r18", "lpp.nr_MeasBasedOnAggregatedResources_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_MeasBasedOnAggregatedResources_r18_03_vals), 0, "T_nr_MeasBasedOnAggregatedResources_r18_03", HFILL }}, { &hf_lpp_nr_RSCP_AdditionalMeasurementsAddSample_r18, { "nr-RSCP-AdditionalMeasurementsAddSample-r18", "lpp.nr_RSCP_AdditionalMeasurementsAddSample_r18", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18", HFILL }}, { &hf_lpp_nr_RSCP_AdditionalMeasurementsAddSample_r18_item, { "NR-RSCP-AdditionalMeasurements-r18", "lpp.NR_RSCP_AdditionalMeasurements_r18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_05, { "nr-ReportDL-PRS-MeasBasedOnSingleOrMultiHopRx-r18", "lpp.nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_05_vals), 0, "T_nr_ReportDL_PRS_MeasBasedOnSingleOrMultiHopRx_r18_05", HFILL }}, { &hf_lpp_nr_UE_Tx_TEG_ID_r17, { "nr-UE-Tx-TEG-ID-r17", "lpp.nr_UE_Tx_TEG_ID_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNumOfTxTEGs_1_r17", HFILL }}, { &hf_lpp_carrierFreq_r17, { "carrierFreq-r17", "lpp.carrierFreq_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_absoluteFrequencyPointA_r17, { "absoluteFrequencyPointA-r17", "lpp.absoluteFrequencyPointA_r17", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueNR_r15", HFILL }}, { &hf_lpp_offsetToPointA_r17, { "offsetToPointA-r17", "lpp.offsetToPointA_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_2199", HFILL }}, { &hf_lpp_srs_PosResourceList_r17, { "srs-PosResourceList-r17", "lpp.srs_PosResourceList_r17", FT_UINT32, BASE_DEC, NULL, 0, "T_srs_PosResourceList_r17", HFILL }}, { &hf_lpp_srs_PosResourceList_r17_item, { "srs-PosResourceList-r17 item", "lpp.srs_PosResourceList_r17_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNumOfSRS_PosResources_1_r17", HFILL }}, { &hf_lpp_case1_r17, { "case1-r17", "lpp.case1_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_UE_RxTx_TEG_ID_r17, { "nr-UE-RxTx-TEG-ID-r17", "lpp.nr_UE_RxTx_TEG_ID_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNumOfRxTxTEGs_1_r17", HFILL }}, { &hf_lpp_case2_r17, { "case2-r17", "lpp.case2_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_UE_Tx_TEG_Index_r17, { "nr-UE-Tx-TEG-Index-r17", "lpp.nr_UE_Tx_TEG_Index_r17", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxTxTEG_Sets_r17", HFILL }}, { &hf_lpp_case3_r17, { "case3-r17", "lpp.case3_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_nr_NTN_UE_RxTxTimeDiffSubframeOffset_r18, { "nr-NTN-UE-RxTxTimeDiffSubframeOffset-r18", "lpp.nr_NTN_UE_RxTxTimeDiffSubframeOffset_r18", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_542", HFILL }}, { &hf_lpp_nr_NTN_DL_TimingDrift_r18, { "nr-NTN-DL-TimingDrift-r18", "lpp.nr_NTN_DL_TimingDrift_r18", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M265_265", 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_nr_UE_RxTxTEG_Request_r17, { "nr-UE-RxTxTEG-Request-r17", "lpp.nr_UE_RxTxTEG_Request_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_UE_RxTxTEG_Request_r17_vals), 0, "T_nr_UE_RxTxTEG_Request_r17", HFILL }}, { &hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTxTEGs_r17, { "measureSameDL-PRS-ResourceWithDifferentRxTxTEGs-r17", "lpp.measureSameDL_PRS_ResourceWithDifferentRxTxTEGs_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTxTEGs_r17_vals), 0, NULL, HFILL }}, { &hf_lpp_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_02, { "measureSameDL-PRS-ResourceWithDifferentRxTEGs-r17", "lpp.measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_02_vals), 0, "T_measureSameDL_PRS_ResourceWithDifferentRxTEGs_r17_02", HFILL }}, { &hf_lpp_reducedDL_PRS_ProcessingSamples_r17_02, { "reducedDL-PRS-ProcessingSamples-r17", "lpp.reducedDL_PRS_ProcessingSamples_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_reducedDL_PRS_ProcessingSamples_r17_02_vals), 0, "T_reducedDL_PRS_ProcessingSamples_r17_02", HFILL }}, { &hf_lpp_nr_los_nlos_IndicatorRequest_r17_02, { "nr-los-nlos-IndicatorRequest-r17", "lpp.nr_los_nlos_IndicatorRequest_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_los_nlos_IndicatorRequest_r17_02", HFILL }}, { &hf_lpp_additionalPathsExt_r17_01, { "additionalPathsExt-r17", "lpp.additionalPathsExt_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_additionalPathsExt_r17_01_vals), 0, "T_additionalPathsExt_r17_01", HFILL }}, { &hf_lpp_additionalPathsDL_PRS_RSRP_Request_r17_01, { "additionalPathsDL-PRS-RSRP-Request-r17", "lpp.additionalPathsDL_PRS_RSRP_Request_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_additionalPathsDL_PRS_RSRP_Request_r17_01_vals), 0, "T_additionalPathsDL_PRS_RSRP_Request_r17_01", HFILL }}, { &hf_lpp_multiMeasInSameReport_r17_02, { "multiMeasInSameReport-r17", "lpp.multiMeasInSameReport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_multiMeasInSameReport_r17_02_vals), 0, "T_multiMeasInSameReport_r17_02", HFILL }}, { &hf_lpp_lowerRxBeamSweepingFactor_FR2_r17_02, { "lowerRxBeamSweepingFactor-FR2-r17", "lpp.lowerRxBeamSweepingFactor_FR2_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_lowerRxBeamSweepingFactor_FR2_r17_02_vals), 0, "T_lowerRxBeamSweepingFactor_FR2_r17_02", HFILL }}, { &hf_lpp_nr_DL_PRS_RxHoppingRequest_r18_02, { "nr-DL-PRS-RxHoppingRequest-r18", "lpp.nr_DL_PRS_RxHoppingRequest_r18_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_DL_PRS_RxHoppingRequest_r18_02", HFILL }}, { &hf_lpp_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02, { "nr-DL-PRS-RxHoppingTotalBandwidth-r18", "lpp.nr_DL_PRS_RxHoppingTotalBandwidth_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02_vals), 0, "T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02", HFILL }}, { &hf_lpp_fr1_04, { "fr1", "lpp.fr1", FT_UINT32, BASE_DEC, VALS(lpp_T_fr1_04_vals), 0, "T_fr1_04", HFILL }}, { &hf_lpp_fr2_04, { "fr2", "lpp.fr2", FT_UINT32, BASE_DEC, VALS(lpp_T_fr2_04_vals), 0, "T_fr2_04", HFILL }}, { &hf_lpp_nr_DL_PRS_JointMeasurementRequest_r18_01, { "nr-DL-PRS-JointMeasurementRequest-r18", "lpp.nr_DL_PRS_JointMeasurementRequest_r18_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_DL_PRS_JointMeasurementRequest_r18_01", HFILL }}, { &hf_lpp_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_01, { "nr-DL-PRS-JointMeasurementRequestedPFL-List-r18", "lpp.nr_DL_PRS_JointMeasurementRequestedPFL_List_r18", FT_UINT32, BASE_DEC, NULL, 0, "T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_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_ten_ms_unit_ResponseTime_r17_02, { "ten-ms-unit-ResponseTime-r17", "lpp.ten_ms_unit_ResponseTime_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_ten_ms_unit_ResponseTime_r17_01_vals), 0, "T_ten_ms_unit_ResponseTime_r17_01", HFILL }}, { &hf_lpp_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02, { "nr-DL-PRS-ExpectedAoD-or-AoA-Sup-r17", "lpp.nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17", FT_BYTES, BASE_NONE, NULL, 0, "T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02", HFILL }}, { &hf_lpp_nr_Multi_RTT_On_Demand_DL_PRS_Support_r17, { "nr-Multi-RTT-On-Demand-DL-PRS-Support-r17", "lpp.nr_Multi_RTT_On_Demand_DL_PRS_Support_r17_element", FT_NONE, BASE_NONE, NULL, 0, "NR_On_Demand_DL_PRS_Support_r17", HFILL }}, { &hf_lpp_nr_UE_RxTx_TEG_ID_ReportingSupport_r17, { "nr-UE-RxTx-TEG-ID-ReportingSupport-r17", "lpp.nr_UE_RxTx_TEG_ID_ReportingSupport_r17", FT_BYTES, BASE_NONE, NULL, 0, "T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17", HFILL }}, { &hf_lpp_nr_los_nlos_IndicatorSupport_r17_02, { "nr-los-nlos-IndicatorSupport-r17", "lpp.nr_los_nlos_IndicatorSupport_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_los_nlos_IndicatorSupport_r17_02", HFILL }}, { &hf_lpp_additionalPathsExtSupport_r17_01, { "additionalPathsExtSupport-r17", "lpp.additionalPathsExtSupport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_additionalPathsExtSupport_r17_01_vals), 0, "T_additionalPathsExtSupport_r17_01", HFILL }}, { &hf_lpp_nr_dl_prs_AssistanceDataValidity_r17_02, { "nr-dl-prs-AssistanceDataValidity-r17", "lpp.nr_dl_prs_AssistanceDataValidity_r17_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_dl_prs_AssistanceDataValidity_r17_02", HFILL }}, { &hf_lpp_multiMeasInSameMeasReport_r17_02, { "multiMeasInSameMeasReport-r17", "lpp.multiMeasInSameMeasReport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_multiMeasInSameMeasReport_r17_02_vals), 0, "T_multiMeasInSameMeasReport_r17_02", HFILL }}, { &hf_lpp_mg_ActivationRequest_r17_02, { "mg-ActivationRequest-r17", "lpp.mg_ActivationRequest_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_mg_ActivationRequest_r17_02_vals), 0, "T_mg_ActivationRequest_r17_02", HFILL }}, { &hf_lpp_posMeasGapSupport_r17_02, { "posMeasGapSupport-r17", "lpp.posMeasGapSupport_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_posMeasGapSupport_r17_02_vals), 0, "T_posMeasGapSupport_r17_02", HFILL }}, { &hf_lpp_nr_MultiRTT_OnDemandPRS_ForBWA_Support_r18, { "nr-MultiRTT-OnDemandPRS-ForBWA-Support-r18", "lpp.nr_MultiRTT_OnDemandPRS_ForBWA_Support_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_MultiRTT_OnDemandPRS_ForBWA_Support_r18_vals), 0, "T_nr_MultiRTT_OnDemandPRS_ForBWA_Support_r18", 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_multi_RTT_MeasCapabilityBandList_r17, { "multi-RTT-MeasCapabilityBandList-r17", "lpp.multi_RTT_MeasCapabilityBandList_r17", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_nrMaxBands_r16_OF_Multi_RTT_MeasCapabilityPerBand_r17", HFILL }}, { &hf_lpp_multi_RTT_MeasCapabilityBandList_r17_item, { "Multi-RTT-MeasCapabilityPerBand-r17", "lpp.Multi_RTT_MeasCapabilityPerBand_r17_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lpp_supportOfDL_PRS_FirstPathRSRP_r17_01, { "supportOfDL-PRS-FirstPathRSRP-r17", "lpp.supportOfDL_PRS_FirstPathRSRP_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfDL_PRS_FirstPathRSRP_r17_01_vals), 0, "T_supportOfDL_PRS_FirstPathRSRP_r17_01", HFILL }}, { &hf_lpp_dl_PRS_MeasRRC_Inactive_r17_02, { "dl-PRS-MeasRRC-Inactive-r17", "lpp.dl_PRS_MeasRRC_Inactive_r17", FT_UINT32, BASE_DEC, VALS(lpp_T_dl_PRS_MeasRRC_Inactive_r17_02_vals), 0, "T_dl_PRS_MeasRRC_Inactive_r17_02", HFILL }}, { &hf_lpp_supportOfDL_PRS_BWA_RRC_Connected_r18_01, { "supportOfDL-PRS-BWA-RRC-Connected-r18", "lpp.supportOfDL_PRS_BWA_RRC_Connected_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfDL_PRS_BWA_RRC_Connected_r18_01_vals), 0, "T_supportOfDL_PRS_BWA_RRC_Connected_r18_01", HFILL }}, { &hf_lpp_supportOfDL_PRS_BWA_RRC_Inactive_r18_01, { "supportOfDL-PRS-BWA-RRC-Inactive-r18", "lpp.supportOfDL_PRS_BWA_RRC_Inactive_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfDL_PRS_BWA_RRC_Inactive_r18_01_vals), 0, "T_supportOfDL_PRS_BWA_RRC_Inactive_r18_01", HFILL }}, { &hf_lpp_nr_NTN_MeasAndReport_r18, { "nr-NTN-MeasAndReport-r18", "lpp.nr_NTN_MeasAndReport_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_NTN_MeasAndReport_r18_vals), 0, "T_nr_NTN_MeasAndReport_r18", HFILL }}, { &hf_lpp_nr_DL_PRS_RSCP_ReportingRRC_Connected_r18, { "nr-DL-PRS-RSCP-ReportingRRC-Connected-r18", "lpp.nr_DL_PRS_RSCP_ReportingRRC_Connected_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_RSCP_ReportingRRC_Connected_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_nr_DL_PRS_RSCP_ReportingRRC_Inactive_r18, { "nr-DL-PRS-RSCP-ReportingRRC-Inactive-r18", "lpp.nr_DL_PRS_RSCP_ReportingRRC_Inactive_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_nr_DL_PRS_RSCP_ReportingRRC_Inactive_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_assocSingleRx_Tx_WithUpToNsampleRSCP_r18, { "assocSingleRx-Tx-WithUpToNsampleRSCP-r18", "lpp.assocSingleRx_Tx_WithUpToNsampleRSCP_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_assocSingleRx_Tx_WithUpToNsampleRSCP_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_supportOfSymbolTimeStampForRSCP_r18, { "supportOfSymbolTimeStampForRSCP-r18", "lpp.supportOfSymbolTimeStampForRSCP_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfSymbolTimeStampForRSCP_r18_vals), 0, NULL, HFILL }}, { &hf_lpp_supportOfFinerTimingReportGranularityForPRS_Meas_r18_01, { "supportOfFinerTimingReportGranularityForPRS-Meas-r18", "lpp.supportOfFinerTimingReportGranularityForPRS_Meas_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_supportOfFinerTimingReportGranularityForPRS_Meas_r18_01_vals), 0, "T_supportOfFinerTimingReportGranularityForPRS_Meas_r18_01", HFILL }}, { &hf_lpp_supportOfMeasurementsInTimeWindow_r18_02, { "supportOfMeasurementsInTimeWindow-r18", "lpp.supportOfMeasurementsInTimeWindow_r18", FT_BYTES, BASE_NONE, NULL, 0, "T_supportOfMeasurementsInTimeWindow_r18_02", 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_remoteUE_Indication_r18_05, { "remoteUE-Indication-r18", "lpp.remoteUE_Indication_r18", FT_UINT32, BASE_DEC, VALS(lpp_T_remoteUE_Indication_r18_04_vals), 0, "T_remoteUE_Indication_r18_04", 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_nr_MeasurementsToPerformInTimeWindow_r18_rstd, { "rstd", "lpp.T.nr.MeasurementsToPerformInTimeWindow.r18.rstd", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_ueRxTx, { "ueRxTx", "lpp.T.nr.MeasurementsToPerformInTimeWindow.r18.ueRxTx", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rsrp, { "rsrp", "lpp.T.nr.MeasurementsToPerformInTimeWindow.r18.rsrp", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rsrpp, { "rsrpp", "lpp.T.nr.MeasurementsToPerformInTimeWindow.r18.rsrpp", FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }}, { &hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rscp, { "rscp", "lpp.T.nr.MeasurementsToPerformInTimeWindow.r18.rscp", FT_BOOLEAN, 8, NULL, 0x08, NULL, HFILL }}, { &hf_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18_rscpd, { "rscpd", "lpp.T.nr.MeasurementsToPerformInTimeWindow.r18.rscpd", FT_BOOLEAN, 8, NULL, 0x04, 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_orbit_IntegrityReq_r17_correlationTimeReq, { "correlationTimeReq", "lpp.T.orbit.IntegrityReq.r17.correlationTimeReq", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_stec_IntegrityReq_r17_correlationTimeReq, { "correlationTimeReq", "lpp.T.stec.IntegrityReq.r17.correlationTimeReq", FT_BOOLEAN, 8, NULL, 0x80, 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_orbit_IntegritySup_r17_correlationTimeSup, { "correlationTimeSup", "lpp.T.orbit.IntegritySup.r17.correlationTimeSup", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_stec_IntegritySup_r17_correlationTimeSup, { "correlationTimeSup", "lpp.T.stec.IntegritySup.r17.correlationTimeSup", FT_BOOLEAN, 8, NULL, 0x80, 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_requestedMeasurements_r13_01_aod_v1800, { "aod-v1800", "lpp.T.requestedMeasurements.r13.01.aod.v1800", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_bt_requestedAoA_Config_r18_aoa_advConfig, { "aoa-advConfig", "lpp.T.bt.requestedAoA.Config.r18.aoa.advConfig", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_bt_requestedAoA_Config_r18_aoa_cteConfig, { "aoa-cteConfig", "lpp.T.bt.requestedAoA.Config.r18.aoa.cteConfig", FT_BOOLEAN, 8, NULL, 0x40, 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_Modes_r13_ue_based_v1810, { "ue-based-v1810", "lpp.T.bt.Modes.r13.ue.based.v1810", FT_BOOLEAN, 8, NULL, 0x20, 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_bt_MeasSupported_r13_aod_v1800, { "aod-v1800", "lpp.T.bt.MeasSupported.r13.aod.v1800", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_requestedAD_r18_beacon_location, { "beacon-location", "lpp.T.requestedAD.r18.beacon.location", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_requestedAD_r18_beacon_antConfig, { "beacon-antConfig", "lpp.T.requestedAD.r18.beacon.antConfig", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_requestedAD_r18_beacon_transmConfig, { "beacon-transmConfig", "lpp.T.requestedAD.r18.beacon.transmConfig", FT_BOOLEAN, 8, NULL, 0x20, 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_PosCalcAssistanceRequest_r17_trpLoc, { "trpLoc", "lpp.T.nr.PosCalcAssistanceRequest.r17.trpLoc", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_beamInfo, { "beamInfo", "lpp.T.nr.PosCalcAssistanceRequest.r17.beamInfo", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_rtdInfo, { "rtdInfo", "lpp.T.nr.PosCalcAssistanceRequest.r17.rtdInfo", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_losNlosInfo, { "losNlosInfo", "lpp.T.nr.PosCalcAssistanceRequest.r17.losNlosInfo", FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_trpTEG_Info, { "trpTEG-Info", "lpp.T.nr.PosCalcAssistanceRequest.r17.trpTEG.Info", FT_BOOLEAN, 8, NULL, 0x08, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_nr_IntegrityBounds_r18, { "nr-IntegrityBounds-r18", "lpp.T.nr.PosCalcAssistanceRequest.r17.nr.IntegrityBounds.r18", FT_BOOLEAN, 8, NULL, 0x04, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_pruInfo_r18, { "pruInfo-r18", "lpp.T.nr.PosCalcAssistanceRequest.r17.pruInfo.r18", FT_BOOLEAN, 8, NULL, 0x02, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_serviceParameters, { "serviceParameters", "lpp.T.nr.IntegrityAssistanceRequest.r18.serviceParameters", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_serviceAlert, { "serviceAlert", "lpp.T.nr.IntegrityAssistanceRequest.r18.serviceAlert", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_riskParameters, { "riskParameters", "lpp.T.nr.IntegrityAssistanceRequest.r18.riskParameters", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_integrityParaTRP_Loc, { "integrityParaTRP-Loc", "lpp.T.nr.IntegrityAssistanceRequest.r18.integrityParaTRP.Loc", FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_integrityParaBeamInfo, { "integrityParaBeamInfo", "lpp.T.nr.IntegrityAssistanceRequest.r18.integrityParaBeamInfo", FT_BOOLEAN, 8, NULL, 0x08, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_integrityParaRTD_Info, { "integrityParaRTD-Info", "lpp.T.nr.IntegrityAssistanceRequest.r18.integrityParaRTD.Info", FT_BOOLEAN, 8, NULL, 0x04, 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_RequestedMeasurements_r16_firstPathRsrpReq_r17, { "firstPathRsrpReq-r17", "lpp.T.nr.RequestedMeasurements.r16.firstPathRsrpReq.r17", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_RequestedMeasurements_r16_dl_PRS_RSCPD_Request_r18, { "dl-PRS-RSCPD-Request-r18", "lpp.T.nr.RequestedMeasurements.r16.dl.PRS.RSCPD.Request.r18", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_trpLocSup, { "trpLocSup", "lpp.T.nr.PosCalcAssistanceSupport.r17.trpLocSup", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_beamInfoSup, { "beamInfoSup", "lpp.T.nr.PosCalcAssistanceSupport.r17.beamInfoSup", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_rtdInfoSup, { "rtdInfoSup", "lpp.T.nr.PosCalcAssistanceSupport.r17.rtdInfoSup", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_trpTEG_InfoSup, { "trpTEG-InfoSup", "lpp.T.nr.PosCalcAssistanceSupport.r17.trpTEG.InfoSup", FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_nr_IntegritySup_r18, { "nr-IntegritySup-r18", "lpp.T.nr.PosCalcAssistanceSupport.r17.nr.IntegritySup.r18", FT_BOOLEAN, 8, NULL, 0x08, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_pruInfoSup_r18, { "pruInfoSup-r18", "lpp.T.nr.PosCalcAssistanceSupport.r17.pruInfoSup.r18", FT_BOOLEAN, 8, NULL, 0x04, NULL, HFILL }}, { &hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_eAoD, { "eAoD", "lpp.T.nr.DL.PRS.ExpectedAoD.or.AoA.Sup.r17.eAoD", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_eAoA, { "eAoA", "lpp.T.nr.DL.PRS.ExpectedAoD.or.AoA.Sup.r17.eAoA", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_periodicAssistanceData_r18_solicited, { "solicited", "lpp.T.periodicAssistanceData.r18.solicited", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_periodicAssistanceData_r18_unsolicited, { "unsolicited", "lpp.T.periodicAssistanceData.r18.unsolicited", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_serviceParametersSup, { "serviceParametersSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.serviceParametersSup", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_serviceAlertSup, { "serviceAlertSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.serviceAlertSup", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_riskParametersSup, { "riskParametersSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.riskParametersSup", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_integrityParaTRP_LocSup, { "integrityParaTRP-LocSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.integrityParaTRP.LocSup", FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_integrityParaBeamInfoSup, { "integrityParaBeamInfoSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.integrityParaBeamInfoSup", FT_BOOLEAN, 8, NULL, 0x08, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_integrityParaRTD_InfoSup, { "integrityParaRTD-InfoSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.integrityParaRTD.InfoSup", FT_BOOLEAN, 8, NULL, 0x04, NULL, HFILL }}, { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_rstd, { "rstd", "lpp.T.supportOfMeasurementsInTimeWindow.r18.rstd", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_rsrp, { "rsrp", "lpp.T.supportOfMeasurementsInTimeWindow.r18.rsrp", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_rsrpp, { "rsrpp", "lpp.T.supportOfMeasurementsInTimeWindow.r18.rsrpp", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_rscpd, { "rscpd", "lpp.T.supportOfMeasurementsInTimeWindow.r18.rscpd", FT_BOOLEAN, 8, NULL, 0x10, 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_PosCalcAssistanceRequest_r17_01_trpLoc, { "trpLoc", "lpp.T.nr.PosCalcAssistanceRequest.r17.01.trpLoc", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_beamInfo, { "beamInfo", "lpp.T.nr.PosCalcAssistanceRequest.r17.01.beamInfo", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_rtdInfo, { "rtdInfo", "lpp.T.nr.PosCalcAssistanceRequest.r17.01.rtdInfo", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_beamAntInfo, { "beamAntInfo", "lpp.T.nr.PosCalcAssistanceRequest.r17.01.beamAntInfo", FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_losNlosInfo, { "losNlosInfo", "lpp.T.nr.PosCalcAssistanceRequest.r17.01.losNlosInfo", FT_BOOLEAN, 8, NULL, 0x08, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceRequest_r17_01_nr_IntegrityBounds_r18, { "nr-IntegrityBounds-r18", "lpp.T.nr.PosCalcAssistanceRequest.r17.01.nr.IntegrityBounds.r18", FT_BOOLEAN, 8, NULL, 0x04, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_serviceParameters, { "serviceParameters", "lpp.T.nr.IntegrityAssistanceRequest.r18.01.serviceParameters", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_serviceAlert, { "serviceAlert", "lpp.T.nr.IntegrityAssistanceRequest.r18.01.serviceAlert", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_riskParameters, { "riskParameters", "lpp.T.nr.IntegrityAssistanceRequest.r18.01.riskParameters", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_integrityParaTRP_Loc, { "integrityParaTRP-Loc", "lpp.T.nr.IntegrityAssistanceRequest.r18.01.integrityParaTRP.Loc", FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_integrityParaBeamInfo, { "integrityParaBeamInfo", "lpp.T.nr.IntegrityAssistanceRequest.r18.01.integrityParaBeamInfo", FT_BOOLEAN, 8, NULL, 0x08, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_integrityParaRTD_Info, { "integrityParaRTD-Info", "lpp.T.nr.IntegrityAssistanceRequest.r18.01.integrityParaRTD.Info", FT_BOOLEAN, 8, NULL, 0x04, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceRequest_r18_01_integrityBeamAntInfo, { "integrityBeamAntInfo", "lpp.T.nr.IntegrityAssistanceRequest.r18.01.integrityBeamAntInfo", FT_BOOLEAN, 8, NULL, 0x02, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_trpLocSup, { "trpLocSup", "lpp.T.nr.PosCalcAssistanceSupport.r17.01.trpLocSup", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_beamInfoSup, { "beamInfoSup", "lpp.T.nr.PosCalcAssistanceSupport.r17.01.beamInfoSup", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_rtdInfoSup, { "rtdInfoSup", "lpp.T.nr.PosCalcAssistanceSupport.r17.01.rtdInfoSup", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_beamAntInfoSup, { "beamAntInfoSup", "lpp.T.nr.PosCalcAssistanceSupport.r17.01.beamAntInfoSup", FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }}, { &hf_lpp_T_nr_PosCalcAssistanceSupport_r17_01_nr_IntegrityBoundsSup_r18, { "nr-IntegrityBoundsSup-r18", "lpp.T.nr.PosCalcAssistanceSupport.r17.01.nr.IntegrityBoundsSup.r18", FT_BOOLEAN, 8, NULL, 0x08, NULL, HFILL }}, { &hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01_eAoD, { "eAoD", "lpp.T.nr.DL.PRS.ExpectedAoD.or.AoA.Sup.r17.01.eAoD", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01_eAoA, { "eAoA", "lpp.T.nr.DL.PRS.ExpectedAoD.or.AoA.Sup.r17.01.eAoA", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_serviceParametersSup, { "serviceParametersSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.01.serviceParametersSup", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_serviceAlertSup, { "serviceAlertSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.01.serviceAlertSup", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_riskParametersSup, { "riskParametersSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.01.riskParametersSup", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_integrityParaTRP_LocSup, { "integrityParaTRP-LocSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.01.integrityParaTRP.LocSup", FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_integrityParaBeamInfoSup, { "integrityParaBeamInfoSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.01.integrityParaBeamInfoSup", FT_BOOLEAN, 8, NULL, 0x08, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_integrityParaRTD_InfoSup, { "integrityParaRTD-InfoSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.01.integrityParaRTD.InfoSup", FT_BOOLEAN, 8, NULL, 0x04, NULL, HFILL }}, { &hf_lpp_T_nr_IntegrityAssistanceSupport_r18_01_integrityBeamAntInfoSup, { "integrityBeamAntInfoSup", "lpp.T.nr.IntegrityAssistanceSupport.r18.01.integrityBeamAntInfoSup", FT_BOOLEAN, 8, NULL, 0x02, NULL, HFILL }}, { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_01_rsrp, { "rsrp", "lpp.T.supportOfMeasurementsInTimeWindow.r18.01.rsrp", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_01_rsrpp, { "rsrpp", "lpp.T.supportOfMeasurementsInTimeWindow.r18.01.rsrpp", 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 }}, { &hf_lpp_T_nr_RequestedMeasurements_r16_01_firstPathRsrpReq_r17, { "firstPathRsrpReq-r17", "lpp.T.nr.RequestedMeasurements.r16.01.firstPathRsrpReq.r17", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_RequestedMeasurements_r16_01_dl_PRS_RSCP_Request_r18, { "dl-PRS-RSCP-Request-r18", "lpp.T.nr.RequestedMeasurements.r16.01.dl.PRS.RSCP.Request.r18", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02_eAoD, { "eAoD", "lpp.T.nr.DL.PRS.ExpectedAoD.or.AoA.Sup.r17.02.eAoD", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02_eAoA, { "eAoA", "lpp.T.nr.DL.PRS.ExpectedAoD.or.AoA.Sup.r17.02.eAoA", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17_case1, { "case1", "lpp.T.nr.UE.RxTx.TEG.ID.ReportingSupport.r17.case1", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17_case2, { "case2", "lpp.T.nr.UE.RxTx.TEG.ID.ReportingSupport.r17.case2", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17_case3, { "case3", "lpp.T.nr.UE.RxTx.TEG.ID.ReportingSupport.r17.case3", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_02_rx_tx, { "rx-tx", "lpp.T.supportOfMeasurementsInTimeWindow.r18.02.rx.tx", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_02_rsrp, { "rsrp", "lpp.T.supportOfMeasurementsInTimeWindow.r18.02.rsrp", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_02_rsrpp, { "rsrpp", "lpp.T.supportOfMeasurementsInTimeWindow.r18.02.rsrpp", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, { &hf_lpp_T_supportOfMeasurementsInTimeWindow_r18_02_rscp, { "rscp", "lpp.T.supportOfMeasurementsInTimeWindow.r18.02.rscp", FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }}, { &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 int *ett[] = { &ett_lpp, &ett_lpp_svHealthExt_v1240, &ett_kepSV_StatusINAV, &ett_kepSV_StatusFNAV, &ett_lpp_bdsSvHealth_r12, &ett_lpp_assistanceDataElement_r15, &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_HA_EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid_r16, &ett_lpp_HA_EllipsoidPointWithScalableUncertaintyEllipse_r16, &ett_lpp_HighAccuracyEllipsoidPointWithUncertaintyEllipse_r15, &ett_lpp_HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid_r15, &ett_lpp_HorizontalVelocity, &ett_lpp_HorizontalWithVerticalVelocity, &ett_lpp_HorizontalVelocityWithUncertainty, &ett_lpp_HorizontalWithVerticalVelocityAndUncertainty, &ett_lpp_Local2dPointWithUncertaintyEllipse_r18, &ett_lpp_Local3dPointWithUncertaintyEllipsoid_r18, &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_PeriodicReportingIntervalMsSupport_r18, &ett_lpp_PeriodicReportingIntervalMsSupportPerMode_r18, &ett_lpp_Polygon, &ett_lpp_PolygonPoints, &ett_lpp_PositioningModes, &ett_lpp_T_posModes, &ett_lpp_ScheduledLocationTimeSupport_r17, &ett_lpp_ScheduledLocationTimeSupportPerMode_r17, &ett_lpp_T_gnssTime_r17, &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_PeriodicalReportingCriteriaExt_r18, &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_ScheduledLocationTime_r17, &ett_lpp_T_gnssTime_r17_01, &ett_lpp_T_networkTime_r17, &ett_lpp_T_e_utraTime_r17_01, &ett_lpp_T_nrTime_r17_01, &ett_lpp_T_nr_Slot_r17, &ett_lpp_CommonIEsProvideLocationInformation, &ett_lpp_LocationCoordinates, &ett_lpp_Velocity, &ett_lpp_LocationError, &ett_lpp_LocationSource_r13, &ett_lpp_IntegrityInfo_r17, &ett_lpp_CommonIEsAbort, &ett_lpp_CommonIEsError, &ett_lpp_AreaID_CellList_r17, &ett_lpp_NR_Cell_IDs_r17, &ett_lpp_DL_PRS_ID_Info_r16, &ett_lpp_SEQUENCE_SIZE_1_nrMaxResourceIDs_r16_OF_NR_DL_PRS_ResourceID_r16, &ett_lpp_LCS_GCS_TranslationParameter_r16, &ett_lpp_LocalOrigin_r18, &ett_lpp_LOS_NLOS_Indicator_r17, &ett_lpp_T_indicator_r17, &ett_lpp_NR_AdditionalPathList_r16, &ett_lpp_NR_AdditionalPathListExt_r17, &ett_lpp_NR_AdditionalPath_r16, &ett_lpp_T_nr_RelativeTimeDifference_r16, &ett_lpp_NR_AggregatedDL_PRS_ResourceInfo_Element_r18, &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_ExpectedAoD_or_AoA_r17, &ett_lpp_T_expectedAoD_r17, &ett_lpp_T_expectedAoA_r17, &ett_lpp_NR_DL_PRS_AggregationInfo_r18, &ett_lpp_NR_linkedDL_PRS_ResourceSetID_PRS_AggregationList_r18, &ett_lpp_NR_DL_PRS_AggregationElement_r18, &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_NR_IntegrityBeamInfoBounds_r18, &ett_lpp_NR_DL_PRS_ExpectedLOS_NLOS_Assistance_r17, &ett_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerFreqLayer_r17, &ett_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerTRP_r17, &ett_lpp_T_nr_los_nlos_indicator_r17, &ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17, &ett_lpp_NR_DL_PRS_ExpectedLOS_NLOS_AssistancePerResource_r17, &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_DL_PRS_ResourcePrioritySubset_r17, &ett_lpp_NR_DL_PRSResourcePriorityItem_r17, &ett_lpp_NR_DL_PRS_MeasurementTimeWindowsConfig_r18, &ett_lpp_NR_DL_PRS_MeasurementTimeWindowsConfigElement_r18, &ett_lpp_T_nr_PeriodicOrOneShotTimeWindow_r18, &ett_lpp_T_nr_OneShotSlotOffsetTimeWindow_r18, &ett_lpp_SEQUENCE_SIZE_1_nrMaxTRPsPerFreq_r16_OF_NR_SelectedDL_PRS_IndexPerTRP_r18, &ett_lpp_T_nr_MeasurementsToPerformInTimeWindow_r18, &ett_lpp_NR_SelectedDL_PRS_IndexPerTRP_r18, &ett_lpp_T_dl_SelectedPRS_ResourceSetIndexList_r18, &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_SEQUENCE_SIZE_1_3_OF_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17, &ett_lpp_T_durationOfPRS_Processing_RRC_Inactive_r17, &ett_lpp_T_maxNumOfDL_PRS_ResProcessedPerSlot_RRC_Inactive_r17, &ett_lpp_T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Inactive_r18, &ett_lpp_T_maxNumOfOneSymbolPRS_ResProcessedPerSlot_RRC_Connected_r18, &ett_lpp_T_ppw_maxNumOfOneSymbolPRS_ResProcessedPerSlot_r18, &ett_lpp_PRS_ProcessingCapabilityOutsideMGinPPWperType_r17, &ett_lpp_T_ppw_durationOfPRS_Processing1_r17, &ett_lpp_T_ppw_durationOfPRS_Processing2_r17, &ett_lpp_T_ppw_maxNumOfDL_PRS_ResProcessedPerSlot_r17, &ett_lpp_T_ppw_maxNumOfDL_Bandwidth_r17, &ett_lpp_PRS_BWA_TwoContiguousIntrabandInMG_r18, &ett_lpp_T_prs_durationOfTwoPRS_BWA_Processing_r18, &ett_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18, &ett_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18, &ett_lpp_PRS_BWA_ThreeContiguousIntrabandInMG_r18, &ett_lpp_T_prs_durationOfThreePRS_BWA_Processing_r18, &ett_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR1_r18_01, &ett_lpp_T_maxNumOfAggregatedDL_PRS_ResourcePerSlot_FR2_r18_01, &ett_lpp_DL_PRS_MeasurementWithRxFH_RRC_Connected_r18, &ett_lpp_T_processingDuration_r18, &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_DL_PRS_TRP_TEG_Info_r17, &ett_lpp_NR_DL_PRS_TRP_TEG_InfoPerFreqLayer_r17, &ett_lpp_NR_DL_PRS_TRP_TEG_InfoPerTRP_r17, &ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_TEG_InfoPerResourceSet_r17, &ett_lpp_DL_PRS_TEG_InfoPerResourceSet_r17, &ett_lpp_DL_PRS_TEG_InfoElement_r17, &ett_lpp_NR_IntegrityRiskParameters_r18, &ett_lpp_NR_IntegrityServiceAlert_r18, &ett_lpp_NR_TRP_IntegrityServiceAlertPerFreqLayer_r18, &ett_lpp_NR_TRP_IntegrityServiceAlertElement_r18, &ett_lpp_NR_IntegrityServiceParameters_r18, &ett_lpp_NR_On_Demand_DL_PRS_Configurations_r17, &ett_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_On_Demand_DL_PRS_Configuration_r17, &ett_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_OnDemandDL_PRS_AggregationInfo_r18, &ett_lpp_On_Demand_DL_PRS_Configuration_r17, &ett_lpp_DL_PRS_Configuration_ID_r17, &ett_lpp_OnDemandDL_PRS_AggregationInfo_r18, &ett_lpp_NR_On_Demand_DL_PRS_Information_r17, &ett_lpp_NR_On_Demand_DL_PRS_PerFreqLayer_r17, &ett_lpp_DL_PRS_QCL_InformationReqTRPlist_r17, &ett_lpp_DL_PRS_QCL_InformationReqPerTRP_r17, &ett_lpp_SEQUENCE_SIZE_1_nrMaxSetsPerTrpPerFreqLayer_r16_OF_DL_PRS_QCL_InfoReq_r17, &ett_lpp_DL_PRS_QCL_InfoReq_r17, &ett_lpp_T_dl_prs_QCL_InformationReq_r17, &ett_lpp_SEQUENCE_SIZE_1_nrMaxResourcesPerSet_r16_OF_DL_PRS_QCL_Info_r16, &ett_lpp_NR_On_Demand_DL_PRS_Request_r17, &ett_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_DL_PRS_Configuration_ID_r17, &ett_lpp_T_dl_PRS_AggregationID_PrefList_r18, &ett_lpp_SEQUENCE_SIZE_1_maxOD_DL_PRS_Configs_r17_OF_NR_OnDemandDL_PRS_AggregationReqElement_r18, &ett_lpp_DL_PRS_StartTime_and_Duration_r17, &ett_lpp_T_dl_prs_duration_r17, &ett_lpp_NR_OnDemandDL_PRS_AggregationReqElement_r18, &ett_lpp_NR_On_Demand_DL_PRS_Configurations_Selected_IndexList_r17, &ett_lpp_NR_On_Demand_DL_PRS_Support_r17, &ett_lpp_NR_PeriodicAssistData_r18, &ett_lpp_NR_PeriodicAssistDataReq_r18, &ett_lpp_NR_PeriodicControlParam_r18, &ett_lpp_NR_PositionCalculationAssistance_r16, &ett_lpp_NR_IntegrityParametersTRP_LocationInfo_r18, &ett_lpp_NR_IntegrityParametersDL_PRS_BeamInfo_r18, &ett_lpp_NR_IntegrityParametersRTD_Info_r18, &ett_lpp_NR_IntegrityParametersTRP_BeamAntennaInfo_r18, &ett_lpp_NR_PRU_DL_Info_r18, &ett_lpp_NR_PRU_RSCP_MeasurementInformation_r18, &ett_lpp_NR_PRU_RSCP_MeasElement_r18, &ett_lpp_T_nr_los_nlos_Indicator_r18, &ett_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCP_AdditionalMeasurements_r18, &ett_lpp_T_nr_PRU_RSRP_AddSampleMeasurements_r18, &ett_lpp_T_nr_PRU_FirstPathRSRP_ResultDiff_AddSampleMeasurements_r18, &ett_lpp_NR_PRU_RSCP_AdditionalMeasurements_r18, &ett_lpp_NR_PRU_RSCP_AdditionalMeasurementElement_r18, &ett_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_r18_OF_NR_RSCP_AdditionalMeasurements_r18, &ett_lpp_T_nr_PRU_RSRPDiff_AdditionalMeasurementsList_r18, &ett_lpp_T_nr_PRU_FirstPathRSRP_ResultDiff_AdditionalMeasurementsList_r18, &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_IntegrityRTD_InfoBounds_r18, &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_BeamAntennaInfo_r17, &ett_lpp_NR_TRP_BeamAntennaInfoPerFreqLayer_r17, &ett_lpp_NR_TRP_BeamAntennaInfoPerTRP_r17, &ett_lpp_NR_TRP_BeamAntennaAngles_r17, &ett_lpp_NR_TRP_BeamAntennaInfoAzimuthElevation_r17, &ett_lpp_SEQUENCE_SIZE_1_1801_OF_ElevationElement_R17, &ett_lpp_ElevationElement_R17, &ett_lpp_SEQUENCE_SIZE_2_maxNumResourcesPerAngle_r17_OF_BeamPowerElement_r17, &ett_lpp_BeamPowerElement_r17, &ett_lpp_NR_IntegrityBeamPowerBounds_r18, &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_IntegrityLocationBounds_r18, &ett_lpp_T_meanLocationErrorBound_r18, &ett_lpp_T_stdDevLocationErrorBound_r18, &ett_lpp_NR_UE_TEG_Capability_r17, &ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_NR_UE_TEG_ID_CapabilityPerBand_r17, &ett_lpp_NR_UE_TEG_ID_CapabilityPerBand_r17, &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_PosSRS_RRC_Inactive_InInitialUL_BWP_r17, &ett_lpp_PosSRS_RRC_Inactive_OutsideInitialUL_BWP_r17, &ett_lpp_PosSRS_SP_RRC_Inactive_InInitialUL_BWP_r17, &ett_lpp_PosSRS_TxFrequencyHoppingRRC_Connected_r18, &ett_lpp_PosSRS_TxFrequencyHoppingRRC_Inactive_r18, &ett_lpp_PosSRS_BWA_RRC_Connected_r18, &ett_lpp_PosSRS_BWA_IndependentCA_RRC_Connected_r18, &ett_lpp_PosSRS_BWA_RRC_Inactive_r18, &ett_lpp_NR_PhaseQuality_r18, &ett_lpp_ReferencePoint_r16, &ett_lpp_T_referencePointGeographicLocation_r16, &ett_lpp_RelativeCartesianLocation_r18, &ett_lpp_X_Value_r18, &ett_lpp_Y_Value_r18, &ett_lpp_Z_Value_r18, &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_Integrity_ServiceParameters_r17, &ett_lpp_GNSS_Integrity_ServiceAlert_r17, &ett_lpp_GNSS_LOS_NLOS_GridPoints_r18, &ett_lpp_ArrayOfGridPoints_r18, &ett_lpp_T_bitmaskOfGrids_r18, &ett_lpp_VerticalGridPoints_r18, &ett_lpp_GNSS_SSR_IOD_Update_r18, &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_ORBIT_IntegrityParameters_r17, &ett_lpp_SSR_IntegrityOrbitBounds_r17, &ett_lpp_RAC_OrbitalErrorComponents_r17, &ett_lpp_GNSS_SSR_ClockCorrections_r15, &ett_lpp_SSR_ClockCorrectionList_r15, &ett_lpp_SSR_ClockCorrectionSatelliteElement_r15, &ett_lpp_CLOCK_IntegrityParameters_r17, &ett_lpp_SSR_IntegrityClockBounds_r17, &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_SSR_IntegrityCodeBiasBounds_r17, &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_SSR_IntegrityPhaseBiasBounds_r17, &ett_lpp_GNSS_SSR_STEC_Correction_r16, &ett_lpp_STEC_SatList_r16, &ett_lpp_STEC_SatElement_r16, &ett_lpp_STEC_IntegrityParameters_r17, &ett_lpp_STEC_IntegrityErrorBounds_r17, &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_SSR_GriddedCorrectionIntegrityParameters_r17, &ett_lpp_TropoDelayIntegrityErrorBounds_r17, &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_GNSS_SSR_OrbitCorrectionsSet2_r17, &ett_lpp_GNSS_SSR_ClockCorrectionsSet2_r17, &ett_lpp_GNSS_SSR_URA_Set2_r17, &ett_lpp_GNSS_LOS_NLOS_GriddedIndications_r18, &ett_lpp_GridList_r18, &ett_lpp_GridElement_r18, &ett_lpp_GNSS_LOS_InfoList_r18, &ett_lpp_GNSS_LOS_InfoElement_r18, &ett_lpp_GNSS_SSR_SatellitePCVResiduals_r18, &ett_lpp_SSR_SatellitePCV_List_r18, &ett_lpp_SSR_SatellitePCV_Element_r18, &ett_lpp_SSR_SatellitePCV_FrequencyList_r18, &ett_lpp_SSR_SatellitePCV_FrequencyElement_r18, &ett_lpp_SSR_PhaseCenterVariationList_r18, &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_Integrity_ServiceParametersReq_r17, &ett_lpp_GNSS_Integrity_ServiceAlertReq_r17, &ett_lpp_GNSS_SSR_IOD_UpdateReq_r18, &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_T_orbit_IntegrityReq_r17, &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_T_stec_IntegrityReq_r17, &ett_lpp_GNSS_SSR_GriddedCorrectionReq_r16, &ett_lpp_NavIC_DifferentialCorrectionsReq_r16, &ett_lpp_NavIC_GridModelReq_r16, &ett_lpp_GNSS_SSR_OrbitCorrectionsSet2Req_r17, &ett_lpp_GNSS_SSR_ClockCorrectionsSet2Req_r17, &ett_lpp_GNSS_SSR_URA_Set2Req_r17, &ett_lpp_GNSS_LOS_NLOS_GriddedIndicationsReq_r18, &ett_lpp_T_relativeLocationInfo_r18, &ett_lpp_GNSS_SSR_SatellitePCVResidualsReq_r18, &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_HA_GNSS_Metrics_r17, &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_Integrity_ServiceParametersSupport_r17, &ett_lpp_GNSS_Integrity_ServiceAlertSupport_r17, &ett_lpp_GNSS_SSR_IOD_UpdateSupport_r18, &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_T_orbit_IntegritySup_r17, &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_T_stec_IntegritySup_r17, &ett_lpp_GNSS_SSR_GriddedCorrectionSupport_r16, &ett_lpp_NavIC_DifferentialCorrectionsSupport_r16, &ett_lpp_NavIC_GridModelSupport_r16, &ett_lpp_GNSS_SSR_OrbitCorrectionsSet2Support_r17, &ett_lpp_GNSS_SSR_ClockCorrectionsSet2Support_r17, &ett_lpp_GNSS_SSR_URA_Set2Support_r17, &ett_lpp_GNSS_LOS_NLOS_GriddedIndicationsSupport_r18, &ett_lpp_GNSS_SSR_SatellitePCVResidualsSupport_r18, &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_AoA_Config_r18, &ett_lpp_BT_MeasurementInformation_r13, &ett_lpp_BT_MeasurementList_r13, &ett_lpp_BT_MeasurementElement_r13, &ett_lpp_BT_MeasurementList_r18, &ett_lpp_BT_MeasurementElement_r18, &ett_lpp_BT_RequestLocationInformation_r13, &ett_lpp_T_requestedMeasurements_r13_01, &ett_lpp_T_bt_requestedAoA_Config_r18, &ett_lpp_BT_SuggestedAoA_Config_r18, &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_BT_ProvideAssistanceData_r18, &ett_lpp_BT_BeaconInfo_r18, &ett_lpp_SEQUENCE_SIZE_1_maxBT_BeaconAD_r18_OF_BT_BeaconInfoElement_r18, &ett_lpp_BT_BeaconInfoElement_r18, &ett_lpp_SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntElement_r18, &ett_lpp_SEQUENCE_SIZE_2_maxBT_BeaconAntElt_r18_OF_BT_AntSwitchElement_r18, &ett_lpp_BT_AntArrayConfig_r18, &ett_lpp_BT_AntElement_r18, &ett_lpp_BT_AntSwitchElement_r18, &ett_lpp_BT_AoD_TransmConfig_r18, &ett_lpp_BT_UniformLinearArray_r18, &ett_lpp_BT_UniformRectangularArray_r18, &ett_lpp_BT_UniformCircularArray_r18, &ett_lpp_BT_GenericArray_r18, &ett_lpp_BT_ULA_GenericAntElement_r18, &ett_lpp_BT_RequestAssistanceData_r18, &ett_lpp_T_requestedAD_r18, &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_T_nr_PosCalcAssistanceRequest_r17, &ett_lpp_T_nr_IntegrityAssistanceRequest_r18, &ett_lpp_NR_DL_TDOA_ProvideLocationInformation_r16, &ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_SignalMeasurementInformation_r16, &ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_TDOA_LocationInformation_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_T_nr_los_nlos_Indicator_r17, &ett_lpp_SEQUENCE_SIZE_2_3_OF_NR_AggregatedDL_PRS_ResourceInfo_Element_r18, &ett_lpp_SEQUENCE_SIZE_1_nrNumOfSamples_1_r18_OF_NR_RSCPD_AdditionalMeasurementSamplesElement_r18, &ett_lpp_NR_DL_TDOA_AdditionalMeasurements_r16, &ett_lpp_NR_DL_TDOA_AdditionalMeasurementsExt_r17, &ett_lpp_NR_DL_TDOA_AdditionalMeasurementElement_r16, &ett_lpp_T_nr_RSTD_ResultDiff_r16, &ett_lpp_NR_RSCPD_AdditionalMeasurementSamplesElement_r18, &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_T_nr_los_nlos_IndicatorRequest_r17, &ett_lpp_T_nr_DL_PRS_JointMeasurementRequest_r18, &ett_lpp_T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18, &ett_lpp_T_nr_DL_PRS_RxHoppingRequest_r18, &ett_lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18, &ett_lpp_NR_DL_TDOA_ReportConfig_r16, &ett_lpp_NR_DL_TDOA_ProvideCapabilities_r16, &ett_lpp_T_nr_PosCalcAssistanceSupport_r17, &ett_lpp_T_nr_los_nlos_AssistanceDataSupport_r17, &ett_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17, &ett_lpp_T_nr_los_nlos_IndicatorSupport_r17, &ett_lpp_T_nr_dl_prs_AssistanceDataValidity_r17, &ett_lpp_T_periodicAssistanceData_r18, &ett_lpp_T_nr_IntegrityAssistanceSupport_r18, &ett_lpp_NR_DL_TDOA_MeasurementCapability_r16, &ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_DL_TDOA_MeasCapabilityPerBand_r17, &ett_lpp_DL_TDOA_MeasCapabilityPerBand_r17, &ett_lpp_T_supportOfMeasurementsInTimeWindow_r18, &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_T_nr_PosCalcAssistanceRequest_r17_01, &ett_lpp_T_nr_IntegrityAssistanceRequest_r18_01, &ett_lpp_NR_DL_AoD_ProvideLocationInformation_r16, &ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_SignalMeasurementInformation_r16, &ett_lpp_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_DL_AoD_LocationInformation_r16, &ett_lpp_NR_DL_AoD_SignalMeasurementInformation_r16, &ett_lpp_NR_DL_AoD_MeasList_r16, &ett_lpp_NR_DL_AoD_MeasElement_r16, &ett_lpp_T_nr_los_nlos_Indicator_r17_01, &ett_lpp_NR_DL_AoD_AdditionalMeasurements_r16, &ett_lpp_NR_DL_AoD_AdditionalMeasurementsExt_r17, &ett_lpp_NR_DL_AoD_AdditionalMeasurementElement_r16, &ett_lpp_NR_DL_AoD_AdditionalMeasurementElement_r17, &ett_lpp_NR_DL_AoD_LocationInformation_r16, &ett_lpp_T_measurementReferenceTime_r16_01, &ett_lpp_NR_DL_AoD_RequestLocationInformation_r16, &ett_lpp_T_nr_DL_PRS_RxHoppingRequest_r18_01, &ett_lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_01, &ett_lpp_NR_DL_AoD_ReportConfig_r16, &ett_lpp_T_nr_los_nlos_IndicatorRequest_r17_01, &ett_lpp_NR_DL_AoD_ProvideCapabilities_r16, &ett_lpp_T_nr_PosCalcAssistanceSupport_r17_01, &ett_lpp_T_nr_los_nlos_AssistanceDataSupport_r17_01, &ett_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_01, &ett_lpp_T_nr_los_nlos_IndicatorSupport_r17_01, &ett_lpp_T_nr_dl_prs_AssistanceDataValidity_r17_01, &ett_lpp_T_nr_IntegrityAssistanceSupport_r18_01, &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_T_supportOfMeasurementsInTimeWindow_r18_01, &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_SEQUENCE_SIZE_1_maxMeasInstances_r17_OF_NR_Multi_RTT_SignalMeasurementInformation_r16, &ett_lpp_NR_Multi_RTT_SignalMeasurementInformation_r16, &ett_lpp_SEQUENCE_SIZE_1_maxTxTEG_Sets_r17_OF_NR_SRS_TxTEG_Element_r17, &ett_lpp_NR_Multi_RTT_MeasList_r16, &ett_lpp_NR_Multi_RTT_MeasElement_r16, &ett_lpp_T_nr_UE_RxTxTimeDiff_r16, &ett_lpp_T_nr_los_nlos_Indicator_r17_02, &ett_lpp_NR_Multi_RTT_AdditionalMeasurements_r16, &ett_lpp_NR_Multi_RTT_AdditionalMeasurementsExt_r17, &ett_lpp_NR_Multi_RTT_AdditionalMeasurementElement_r16, &ett_lpp_T_nr_UE_RxTxTimeDiffAdditional_r16, &ett_lpp_NR_SRS_TxTEG_Element_r17, &ett_lpp_T_carrierFreq_r17, &ett_lpp_T_srs_PosResourceList_r17, &ett_lpp_NR_UE_RxTx_TEG_Info_r17, &ett_lpp_T_case1_r17, &ett_lpp_T_case2_r17, &ett_lpp_T_case3_r17, &ett_lpp_NR_RSCP_AdditionalMeasurements_r18, &ett_lpp_NR_NTN_UE_RxTxMeasurements_r18, &ett_lpp_NR_Multi_RTT_RequestLocationInformation_r16, &ett_lpp_T_nr_RequestedMeasurements_r16_01, &ett_lpp_T_nr_los_nlos_IndicatorRequest_r17_02, &ett_lpp_T_nr_DL_PRS_RxHoppingRequest_r18_02, &ett_lpp_T_nr_DL_PRS_RxHoppingTotalBandwidth_r18_02, &ett_lpp_T_nr_DL_PRS_JointMeasurementRequest_r18_01, &ett_lpp_T_nr_DL_PRS_JointMeasurementRequestedPFL_List_r18_01, &ett_lpp_NR_Multi_RTT_ReportConfig_r16, &ett_lpp_NR_Multi_RTT_ProvideCapabilities_r16, &ett_lpp_T_nr_DL_PRS_ExpectedAoD_or_AoA_Sup_r17_02, &ett_lpp_T_nr_UE_RxTx_TEG_ID_ReportingSupport_r17, &ett_lpp_T_nr_los_nlos_IndicatorSupport_r17_02, &ett_lpp_T_nr_dl_prs_AssistanceDataValidity_r17_02, &ett_lpp_NR_Multi_RTT_MeasurementCapability_r16, &ett_lpp_SEQUENCE_SIZE_1_nrMaxBands_r16_OF_Multi_RTT_MeasCapabilityPerBand_r17, &ett_lpp_Multi_RTT_MeasCapabilityPerBand_r17, &ett_lpp_T_supportOfMeasurementsInTimeWindow_r18_02, &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, &ett_lpp_NR_IntegrityParameters_r18, }; /* 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); }