HACK: 2nd try to match RowsetProperties
[wireshark-wip.git] / epan / dissectors / packet-lpp.c
blob73cb1fc56cffc67418bb5c1a8d15a984d86f44f1
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-lpp.c */
4 /* ../../tools/asn2wrs.py -p lpp -c ./lpp.cnf -s ./packet-lpp-template -D . -O ../../epan/dissectors LPP.asn */
6 /* Input file: packet-lpp-template.c */
8 #line 1 "../../asn1/lpp/packet-lpp-template.c"
9 /* packet-lpp.c
10 * Routines for 3GPP LTE Positioning Protocol (LLP) packet dissection
11 * Copyright 2011-2013 Pascal Quantin <pascal.quantin@gmail.com>
13 * $Id$
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
33 * Ref 3GPP TS 36.355 version 11.2.0 Release 11
34 * http://www.3gpp.org
37 #include "config.h"
39 #include <glib.h>
40 #include <epan/packet.h>
41 #include <epan/asn1.h>
43 #include "packet-per.h"
45 #define PNAME "LTE Positioning Protocol (LLP)"
46 #define PSNAME "LPP"
47 #define PFNAME "lpp"
49 #ifdef _MSC_VER
50 /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
51 #pragma warning(disable:4146)
52 #endif
54 /* Initialize the protocol and registered fields */
55 static int proto_lpp = -1;
58 /*--- Included file: packet-lpp-hf.c ---*/
59 #line 1 "../../asn1/lpp/packet-lpp-hf.c"
60 static int hf_lpp_LPP_Message_PDU = -1; /* LPP_Message */
61 static int hf_lpp_lpp_Ellipsoid_Point_PDU = -1; /* Ellipsoid_Point */
62 static int hf_lpp_lpp_Ellipsoid_PointWithUncertaintyCircle_PDU = -1; /* Ellipsoid_PointWithUncertaintyCircle */
63 static int hf_lpp_lpp_EllipsoidPointWithUncertaintyEllipse_PDU = -1; /* EllipsoidPointWithUncertaintyEllipse */
64 static int hf_lpp_lpp_EllipsoidPointWithAltitude_PDU = -1; /* EllipsoidPointWithAltitude */
65 static int hf_lpp_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU = -1; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */
66 static int hf_lpp_lpp_EllipsoidArc_PDU = -1; /* EllipsoidArc */
67 static int hf_lpp_lpp_HorizontalVelocity_PDU = -1; /* HorizontalVelocity */
68 static int hf_lpp_lpp_Polygon_PDU = -1; /* Polygon */
69 static int hf_lpp_transactionID = -1; /* LPP_TransactionID */
70 static int hf_lpp_endTransaction = -1; /* BOOLEAN */
71 static int hf_lpp_sequenceNumber = -1; /* SequenceNumber */
72 static int hf_lpp_acknowledgement = -1; /* Acknowledgement */
73 static int hf_lpp_lpp_MessageBody = -1; /* LPP_MessageBody */
74 static int hf_lpp_ackRequested = -1; /* BOOLEAN */
75 static int hf_lpp_ackIndicator = -1; /* SequenceNumber */
76 static int hf_lpp_c1 = -1; /* T_c1 */
77 static int hf_lpp_requestCapabilities = -1; /* RequestCapabilities */
78 static int hf_lpp_provideCapabilities = -1; /* ProvideCapabilities */
79 static int hf_lpp_requestAssistanceData = -1; /* RequestAssistanceData */
80 static int hf_lpp_provideAssistanceData = -1; /* ProvideAssistanceData */
81 static int hf_lpp_requestLocationInformation = -1; /* RequestLocationInformation */
82 static int hf_lpp_provideLocationInformation = -1; /* ProvideLocationInformation */
83 static int hf_lpp_abort = -1; /* Abort */
84 static int hf_lpp_error = -1; /* Error */
85 static int hf_lpp_spare7 = -1; /* NULL */
86 static int hf_lpp_spare6 = -1; /* NULL */
87 static int hf_lpp_spare5 = -1; /* NULL */
88 static int hf_lpp_spare4 = -1; /* NULL */
89 static int hf_lpp_spare3 = -1; /* NULL */
90 static int hf_lpp_spare2 = -1; /* NULL */
91 static int hf_lpp_spare1 = -1; /* NULL */
92 static int hf_lpp_spare0 = -1; /* NULL */
93 static int hf_lpp_messageClassExtension = -1; /* T_messageClassExtension */
94 static int hf_lpp_initiator = -1; /* Initiator */
95 static int hf_lpp_transactionNumber = -1; /* TransactionNumber */
96 static int hf_lpp_criticalExtensions = -1; /* T_criticalExtensions */
97 static int hf_lpp_c1_01 = -1; /* T_c1_01 */
98 static int hf_lpp_requestCapabilities_r9 = -1; /* RequestCapabilities_r9_IEs */
99 static int hf_lpp_criticalExtensionsFuture = -1; /* T_criticalExtensionsFuture */
100 static int hf_lpp_commonIEsRequestCapabilities = -1; /* CommonIEsRequestCapabilities */
101 static int hf_lpp_a_gnss_RequestCapabilities = -1; /* A_GNSS_RequestCapabilities */
102 static int hf_lpp_otdoa_RequestCapabilities = -1; /* OTDOA_RequestCapabilities */
103 static int hf_lpp_ecid_RequestCapabilities = -1; /* ECID_RequestCapabilities */
104 static int hf_lpp_epdu_RequestCapabilities = -1; /* EPDU_Sequence */
105 static int hf_lpp_criticalExtensions_01 = -1; /* T_criticalExtensions_01 */
106 static int hf_lpp_c1_02 = -1; /* T_c1_02 */
107 static int hf_lpp_provideCapabilities_r9 = -1; /* ProvideCapabilities_r9_IEs */
108 static int hf_lpp_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsFuture_01 */
109 static int hf_lpp_commonIEsProvideCapabilities = -1; /* CommonIEsProvideCapabilities */
110 static int hf_lpp_a_gnss_ProvideCapabilities = -1; /* A_GNSS_ProvideCapabilities */
111 static int hf_lpp_otdoa_ProvideCapabilities = -1; /* OTDOA_ProvideCapabilities */
112 static int hf_lpp_ecid_ProvideCapabilities = -1; /* ECID_ProvideCapabilities */
113 static int hf_lpp_epdu_ProvideCapabilities = -1; /* EPDU_Sequence */
114 static int hf_lpp_criticalExtensions_02 = -1; /* T_criticalExtensions_02 */
115 static int hf_lpp_c1_03 = -1; /* T_c1_03 */
116 static int hf_lpp_requestAssistanceData_r9 = -1; /* RequestAssistanceData_r9_IEs */
117 static int hf_lpp_criticalExtensionsFuture_02 = -1; /* T_criticalExtensionsFuture_02 */
118 static int hf_lpp_commonIEsRequestAssistanceData = -1; /* CommonIEsRequestAssistanceData */
119 static int hf_lpp_a_gnss_RequestAssistanceData = -1; /* A_GNSS_RequestAssistanceData */
120 static int hf_lpp_otdoa_RequestAssistanceData = -1; /* OTDOA_RequestAssistanceData */
121 static int hf_lpp_epdu_RequestAssistanceData = -1; /* EPDU_Sequence */
122 static int hf_lpp_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */
123 static int hf_lpp_c1_04 = -1; /* T_c1_04 */
124 static int hf_lpp_provideAssistanceData_r9 = -1; /* ProvideAssistanceData_r9_IEs */
125 static int hf_lpp_criticalExtensionsFuture_03 = -1; /* T_criticalExtensionsFuture_03 */
126 static int hf_lpp_commonIEsProvideAssistanceData = -1; /* CommonIEsProvideAssistanceData */
127 static int hf_lpp_a_gnss_ProvideAssistanceData = -1; /* A_GNSS_ProvideAssistanceData */
128 static int hf_lpp_otdoa_ProvideAssistanceData = -1; /* OTDOA_ProvideAssistanceData */
129 static int hf_lpp_epdu_Provide_Assistance_Data = -1; /* EPDU_Sequence */
130 static int hf_lpp_criticalExtensions_04 = -1; /* T_criticalExtensions_04 */
131 static int hf_lpp_c1_05 = -1; /* T_c1_05 */
132 static int hf_lpp_requestLocationInformation_r9 = -1; /* RequestLocationInformation_r9_IEs */
133 static int hf_lpp_criticalExtensionsFuture_04 = -1; /* T_criticalExtensionsFuture_04 */
134 static int hf_lpp_commonIEsRequestLocationInformation = -1; /* CommonIEsRequestLocationInformation */
135 static int hf_lpp_a_gnss_RequestLocationInformation = -1; /* A_GNSS_RequestLocationInformation */
136 static int hf_lpp_otdoa_RequestLocationInformation = -1; /* OTDOA_RequestLocationInformation */
137 static int hf_lpp_ecid_RequestLocationInformation = -1; /* ECID_RequestLocationInformation */
138 static int hf_lpp_epdu_RequestLocationInformation = -1; /* EPDU_Sequence */
139 static int hf_lpp_criticalExtensions_05 = -1; /* T_criticalExtensions_05 */
140 static int hf_lpp_c1_06 = -1; /* T_c1_06 */
141 static int hf_lpp_provideLocationInformation_r9 = -1; /* ProvideLocationInformation_r9_IEs */
142 static int hf_lpp_criticalExtensionsFuture_05 = -1; /* T_criticalExtensionsFuture_05 */
143 static int hf_lpp_commonIEsProvideLocationInformation = -1; /* CommonIEsProvideLocationInformation */
144 static int hf_lpp_a_gnss_ProvideLocationInformation = -1; /* A_GNSS_ProvideLocationInformation */
145 static int hf_lpp_otdoa_ProvideLocationInformation = -1; /* OTDOA_ProvideLocationInformation */
146 static int hf_lpp_ecid_ProvideLocationInformation = -1; /* ECID_ProvideLocationInformation */
147 static int hf_lpp_epdu_ProvideLocationInformation = -1; /* EPDU_Sequence */
148 static int hf_lpp_criticalExtensions_06 = -1; /* T_criticalExtensions_06 */
149 static int hf_lpp_c1_07 = -1; /* T_c1_07 */
150 static int hf_lpp_abort_r9 = -1; /* Abort_r9_IEs */
151 static int hf_lpp_criticalExtensionsFuture_06 = -1; /* T_criticalExtensionsFuture_06 */
152 static int hf_lpp_commonIEsAbort = -1; /* CommonIEsAbort */
153 static int hf_lpp_epdu_Abort = -1; /* EPDU_Sequence */
154 static int hf_lpp_error_r9 = -1; /* Error_r9_IEs */
155 static int hf_lpp_criticalExtensionsFuture_07 = -1; /* T_criticalExtensionsFuture_07 */
156 static int hf_lpp_commonIEsError = -1; /* CommonIEsError */
157 static int hf_lpp_epdu_Error = -1; /* EPDU_Sequence */
158 static int hf_lpp_accessTypes = -1; /* T_accessTypes */
159 static int hf_lpp_plmn_Identity = -1; /* T_plmn_Identity */
160 static int hf_lpp_mcc = -1; /* T_mcc */
161 static int hf_lpp_mcc_item = -1; /* INTEGER_0_9 */
162 static int hf_lpp_mnc = -1; /* T_mnc */
163 static int hf_lpp_mnc_item = -1; /* INTEGER_0_9 */
164 static int hf_lpp_cellIdentity = -1; /* T_cellIdentity */
165 static int hf_lpp_eutra = -1; /* BIT_STRING_SIZE_28 */
166 static int hf_lpp_utra = -1; /* BIT_STRING_SIZE_32 */
167 static int hf_lpp_plmn_Identity_01 = -1; /* T_plmn_Identity_01 */
168 static int hf_lpp_mcc_01 = -1; /* T_mcc_01 */
169 static int hf_lpp_mnc_01 = -1; /* T_mnc_01 */
170 static int hf_lpp_locationAreaCode = -1; /* BIT_STRING_SIZE_16 */
171 static int hf_lpp_cellIdentity_01 = -1; /* BIT_STRING_SIZE_16 */
172 static int hf_lpp_mcc_02 = -1; /* T_mcc_02 */
173 static int hf_lpp_mnc_02 = -1; /* T_mnc_02 */
174 static int hf_lpp_cellidentity = -1; /* BIT_STRING_SIZE_28 */
175 static int hf_lpp_latitudeSign = -1; /* T_latitudeSign */
176 static int hf_lpp_degreesLatitude = -1; /* INTEGER_0_8388607 */
177 static int hf_lpp_degreesLongitude = -1; /* INTEGER_M8388608_8388607 */
178 static int hf_lpp_latitudeSign_01 = -1; /* T_latitudeSign_01 */
179 static int hf_lpp_uncertainty = -1; /* INTEGER_0_127 */
180 static int hf_lpp_latitudeSign_02 = -1; /* T_latitudeSign_02 */
181 static int hf_lpp_uncertaintySemiMajor = -1; /* INTEGER_0_127 */
182 static int hf_lpp_uncertaintySemiMinor = -1; /* INTEGER_0_127 */
183 static int hf_lpp_orientationMajorAxis = -1; /* INTEGER_0_179 */
184 static int hf_lpp_confidence = -1; /* INTEGER_0_100 */
185 static int hf_lpp_latitudeSign_03 = -1; /* T_latitudeSign_03 */
186 static int hf_lpp_altitudeDirection = -1; /* T_altitudeDirection */
187 static int hf_lpp_altitude = -1; /* INTEGER_0_32767 */
188 static int hf_lpp_latitudeSign_04 = -1; /* T_latitudeSign_04 */
189 static int hf_lpp_altitudeDirection_01 = -1; /* T_altitudeDirection_01 */
190 static int hf_lpp_uncertaintyAltitude = -1; /* INTEGER_0_127 */
191 static int hf_lpp_latitudeSign_05 = -1; /* T_latitudeSign_05 */
192 static int hf_lpp_innerRadius = -1; /* INTEGER_0_65535 */
193 static int hf_lpp_uncertaintyRadius = -1; /* INTEGER_0_127 */
194 static int hf_lpp_offsetAngle = -1; /* INTEGER_0_179 */
195 static int hf_lpp_includedAngle = -1; /* INTEGER_0_179 */
196 static int hf_lpp_EPDU_Sequence_item = -1; /* EPDU */
197 static int hf_lpp_ePDU_Identifier = -1; /* EPDU_Identifier */
198 static int hf_lpp_ePDU_Body = -1; /* EPDU_Body */
199 static int hf_lpp_ePDU_ID = -1; /* EPDU_ID */
200 static int hf_lpp_ePDU_Name = -1; /* EPDU_Name */
201 static int hf_lpp_bearing = -1; /* INTEGER_0_359 */
202 static int hf_lpp_horizontalSpeed = -1; /* INTEGER_0_2047 */
203 static int hf_lpp_verticalDirection = -1; /* T_verticalDirection */
204 static int hf_lpp_verticalSpeed = -1; /* INTEGER_0_255 */
205 static int hf_lpp_uncertaintySpeed = -1; /* INTEGER_0_255 */
206 static int hf_lpp_verticalDirection_01 = -1; /* T_verticalDirection_01 */
207 static int hf_lpp_horizontalUncertaintySpeed = -1; /* INTEGER_0_255 */
208 static int hf_lpp_verticalUncertaintySpeed = -1; /* INTEGER_0_255 */
209 static int hf_lpp_ellipsoidPoint = -1; /* BOOLEAN */
210 static int hf_lpp_ellipsoidPointWithUncertaintyCircle = -1; /* BOOLEAN */
211 static int hf_lpp_ellipsoidPointWithUncertaintyEllipse = -1; /* BOOLEAN */
212 static int hf_lpp_polygon = -1; /* BOOLEAN */
213 static int hf_lpp_ellipsoidPointWithAltitude = -1; /* BOOLEAN */
214 static int hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid = -1; /* BOOLEAN */
215 static int hf_lpp_ellipsoidArc = -1; /* BOOLEAN */
216 static int hf_lpp_Polygon_item = -1; /* PolygonPoints */
217 static int hf_lpp_latitudeSign_06 = -1; /* T_latitudeSign_06 */
218 static int hf_lpp_posModes = -1; /* T_posModes */
219 static int hf_lpp_horizontalVelocity = -1; /* BOOLEAN */
220 static int hf_lpp_horizontalWithVerticalVelocity = -1; /* BOOLEAN */
221 static int hf_lpp_horizontalVelocityWithUncertainty = -1; /* BOOLEAN */
222 static int hf_lpp_horizontalWithVerticalVelocityAndUncertainty = -1; /* BOOLEAN */
223 static int hf_lpp_primaryCellID = -1; /* ECGI */
224 static int hf_lpp_locationInformationType = -1; /* LocationInformationType */
225 static int hf_lpp_triggeredReporting = -1; /* TriggeredReportingCriteria */
226 static int hf_lpp_periodicalReporting = -1; /* PeriodicalReportingCriteria */
227 static int hf_lpp_additionalInformation = -1; /* AdditionalInformation */
228 static int hf_lpp_qos = -1; /* QoS */
229 static int hf_lpp_environment = -1; /* Environment */
230 static int hf_lpp_locationCoordinateTypes = -1; /* LocationCoordinateTypes */
231 static int hf_lpp_velocityTypes = -1; /* VelocityTypes */
232 static int hf_lpp_reportingAmount = -1; /* T_reportingAmount */
233 static int hf_lpp_reportingInterval = -1; /* T_reportingInterval */
234 static int hf_lpp_cellChange = -1; /* BOOLEAN */
235 static int hf_lpp_reportingDuration = -1; /* ReportingDuration */
236 static int hf_lpp_horizontalAccuracy = -1; /* HorizontalAccuracy */
237 static int hf_lpp_verticalCoordinateRequest = -1; /* BOOLEAN */
238 static int hf_lpp_verticalAccuracy = -1; /* VerticalAccuracy */
239 static int hf_lpp_responseTime = -1; /* ResponseTime */
240 static int hf_lpp_velocityRequest = -1; /* BOOLEAN */
241 static int hf_lpp_accuracy = -1; /* INTEGER_0_127 */
242 static int hf_lpp_time = -1; /* INTEGER_1_128 */
243 static int hf_lpp_locationEstimate = -1; /* LocationCoordinates */
244 static int hf_lpp_velocityEstimate = -1; /* Velocity */
245 static int hf_lpp_locationError = -1; /* LocationError */
246 static int hf_lpp_ellipsoidPoint_01 = -1; /* Ellipsoid_Point */
247 static int hf_lpp_ellipsoidPointWithUncertaintyCircle_01 = -1; /* Ellipsoid_PointWithUncertaintyCircle */
248 static int hf_lpp_ellipsoidPointWithUncertaintyEllipse_01 = -1; /* EllipsoidPointWithUncertaintyEllipse */
249 static int hf_lpp_polygon_01 = -1; /* Polygon */
250 static int hf_lpp_ellipsoidPointWithAltitude_01 = -1; /* EllipsoidPointWithAltitude */
251 static int hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid_01 = -1; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */
252 static int hf_lpp_ellipsoidArc_01 = -1; /* EllipsoidArc */
253 static int hf_lpp_horizontalVelocity_01 = -1; /* HorizontalVelocity */
254 static int hf_lpp_horizontalWithVerticalVelocity_01 = -1; /* HorizontalWithVerticalVelocity */
255 static int hf_lpp_horizontalVelocityWithUncertainty_01 = -1; /* HorizontalVelocityWithUncertainty */
256 static int hf_lpp_horizontalWithVerticalVelocityAndUncertainty_01 = -1; /* HorizontalWithVerticalVelocityAndUncertainty */
257 static int hf_lpp_locationfailurecause = -1; /* LocationFailureCause */
258 static int hf_lpp_abortCause = -1; /* T_abortCause */
259 static int hf_lpp_errorCause = -1; /* T_errorCause */
260 static int hf_lpp_otdoa_ReferenceCellInfo = -1; /* OTDOA_ReferenceCellInfo */
261 static int hf_lpp_otdoa_NeighbourCellInfo = -1; /* OTDOA_NeighbourCellInfoList */
262 static int hf_lpp_otdoa_Error = -1; /* OTDOA_Error */
263 static int hf_lpp_physCellId = -1; /* INTEGER_0_503 */
264 static int hf_lpp_cellGlobalId = -1; /* ECGI */
265 static int hf_lpp_earfcnRef = -1; /* ARFCN_ValueEUTRA */
266 static int hf_lpp_antennaPortConfig = -1; /* T_antennaPortConfig */
267 static int hf_lpp_cpLength = -1; /* T_cpLength */
268 static int hf_lpp_prsInfo = -1; /* PRS_Info */
269 static int hf_lpp_earfcnRef_v9a0 = -1; /* ARFCN_ValueEUTRA_v9a0 */
270 static int hf_lpp_prs_Bandwidth = -1; /* T_prs_Bandwidth */
271 static int hf_lpp_prs_ConfigurationIndex = -1; /* INTEGER_0_4095 */
272 static int hf_lpp_numDL_Frames = -1; /* T_numDL_Frames */
273 static int hf_lpp_prs_MutingInfo_r9 = -1; /* T_prs_MutingInfo_r9 */
274 static int hf_lpp_po2_r9 = -1; /* BIT_STRING_SIZE_2 */
275 static int hf_lpp_po4_r9 = -1; /* BIT_STRING_SIZE_4 */
276 static int hf_lpp_po8_r9 = -1; /* BIT_STRING_SIZE_8 */
277 static int hf_lpp_po16_r9 = -1; /* BIT_STRING_SIZE_16 */
278 static int hf_lpp_OTDOA_NeighbourCellInfoList_item = -1; /* OTDOA_NeighbourFreqInfo */
279 static int hf_lpp_OTDOA_NeighbourFreqInfo_item = -1; /* OTDOA_NeighbourCellInfoElement */
280 static int hf_lpp_earfcn = -1; /* ARFCN_ValueEUTRA */
281 static int hf_lpp_cpLength_01 = -1; /* T_cpLength_01 */
282 static int hf_lpp_antennaPortConfig_01 = -1; /* T_antennaPortConfig_01 */
283 static int hf_lpp_slotNumberOffset = -1; /* INTEGER_0_19 */
284 static int hf_lpp_prs_SubframeOffset = -1; /* INTEGER_0_1279 */
285 static int hf_lpp_expectedRSTD = -1; /* INTEGER_0_16383 */
286 static int hf_lpp_expectedRSTD_Uncertainty = -1; /* INTEGER_0_1023 */
287 static int hf_lpp_earfcn_v9a0 = -1; /* ARFCN_ValueEUTRA_v9a0 */
288 static int hf_lpp_otdoaSignalMeasurementInformation = -1; /* OTDOA_SignalMeasurementInformation */
289 static int hf_lpp_systemFrameNumber = -1; /* BIT_STRING_SIZE_10 */
290 static int hf_lpp_physCellIdRef = -1; /* INTEGER_0_503 */
291 static int hf_lpp_cellGlobalIdRef = -1; /* ECGI */
292 static int hf_lpp_referenceQuality = -1; /* OTDOA_MeasQuality */
293 static int hf_lpp_neighbourMeasurementList = -1; /* NeighbourMeasurementList */
294 static int hf_lpp_NeighbourMeasurementList_item = -1; /* NeighbourMeasurementElement */
295 static int hf_lpp_physCellIdNeighbor = -1; /* INTEGER_0_503 */
296 static int hf_lpp_cellGlobalIdNeighbour = -1; /* ECGI */
297 static int hf_lpp_earfcnNeighbour = -1; /* ARFCN_ValueEUTRA */
298 static int hf_lpp_rstd = -1; /* INTEGER_0_12711 */
299 static int hf_lpp_rstd_Quality = -1; /* OTDOA_MeasQuality */
300 static int hf_lpp_earfcnNeighbour_v9a0 = -1; /* ARFCN_ValueEUTRA_v9a0 */
301 static int hf_lpp_error_Resolution = -1; /* BIT_STRING_SIZE_2 */
302 static int hf_lpp_error_Value = -1; /* BIT_STRING_SIZE_5 */
303 static int hf_lpp_error_NumSamples = -1; /* BIT_STRING_SIZE_3 */
304 static int hf_lpp_assistanceAvailability = -1; /* BOOLEAN */
305 static int hf_lpp_otdoa_Mode = -1; /* T_otdoa_Mode */
306 static int hf_lpp_supportedBandListEUTRA = -1; /* SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA */
307 static int hf_lpp_supportedBandListEUTRA_item = -1; /* SupportedBandEUTRA */
308 static int hf_lpp_supportedBandListEUTRA_v9a0 = -1; /* SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0 */
309 static int hf_lpp_supportedBandListEUTRA_v9a0_item = -1; /* SupportedBandEUTRA_v9a0 */
310 static int hf_lpp_bandEUTRA = -1; /* INTEGER_1_maxFBI */
311 static int hf_lpp_bandEUTRA_v9a0 = -1; /* INTEGER_maxFBI_Plus1_maxFBI2 */
312 static int hf_lpp_locationServerErrorCauses = -1; /* OTDOA_LocationServerErrorCauses */
313 static int hf_lpp_targetDeviceErrorCauses = -1; /* OTDOA_TargetDeviceErrorCauses */
314 static int hf_lpp_cause = -1; /* T_cause */
315 static int hf_lpp_cause_01 = -1; /* T_cause_01 */
316 static int hf_lpp_gnss_CommonAssistData = -1; /* GNSS_CommonAssistData */
317 static int hf_lpp_gnss_GenericAssistData = -1; /* GNSS_GenericAssistData */
318 static int hf_lpp_gnss_Error = -1; /* A_GNSS_Error */
319 static int hf_lpp_gnss_ReferenceTime = -1; /* GNSS_ReferenceTime */
320 static int hf_lpp_gnss_ReferenceLocation = -1; /* GNSS_ReferenceLocation */
321 static int hf_lpp_gnss_IonosphericModel = -1; /* GNSS_IonosphericModel */
322 static int hf_lpp_gnss_EarthOrientationParameters = -1; /* GNSS_EarthOrientationParameters */
323 static int hf_lpp_GNSS_GenericAssistData_item = -1; /* GNSS_GenericAssistDataElement */
324 static int hf_lpp_gnss_ID = -1; /* GNSS_ID */
325 static int hf_lpp_sbas_ID = -1; /* SBAS_ID */
326 static int hf_lpp_gnss_TimeModels = -1; /* GNSS_TimeModelList */
327 static int hf_lpp_gnss_DifferentialCorrections = -1; /* GNSS_DifferentialCorrections */
328 static int hf_lpp_gnss_NavigationModel = -1; /* GNSS_NavigationModel */
329 static int hf_lpp_gnss_RealTimeIntegrity = -1; /* GNSS_RealTimeIntegrity */
330 static int hf_lpp_gnss_DataBitAssistance = -1; /* GNSS_DataBitAssistance */
331 static int hf_lpp_gnss_AcquisitionAssistance = -1; /* GNSS_AcquisitionAssistance */
332 static int hf_lpp_gnss_Almanac = -1; /* GNSS_Almanac */
333 static int hf_lpp_gnss_UTC_Model = -1; /* GNSS_UTC_Model */
334 static int hf_lpp_gnss_AuxiliaryInformation = -1; /* GNSS_AuxiliaryInformation */
335 static int hf_lpp_gnss_SystemTime = -1; /* GNSS_SystemTime */
336 static int hf_lpp_referenceTimeUnc = -1; /* INTEGER_0_127 */
337 static int hf_lpp_gnss_ReferenceTimeForCells = -1; /* SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell */
338 static int hf_lpp_gnss_ReferenceTimeForCells_item = -1; /* GNSS_ReferenceTimeForOneCell */
339 static int hf_lpp_networkTime = -1; /* NetworkTime */
340 static int hf_lpp_bsAlign = -1; /* T_bsAlign */
341 static int hf_lpp_gnss_TimeID = -1; /* GNSS_ID */
342 static int hf_lpp_gnss_DayNumber = -1; /* INTEGER_0_32767 */
343 static int hf_lpp_gnss_TimeOfDay = -1; /* INTEGER_0_86399 */
344 static int hf_lpp_gnss_TimeOfDayFrac_msec = -1; /* INTEGER_0_999 */
345 static int hf_lpp_notificationOfLeapSecond = -1; /* BIT_STRING_SIZE_2 */
346 static int hf_lpp_gps_TOW_Assist = -1; /* GPS_TOW_Assist */
347 static int hf_lpp_GPS_TOW_Assist_item = -1; /* GPS_TOW_AssistElement */
348 static int hf_lpp_satelliteID = -1; /* INTEGER_1_64 */
349 static int hf_lpp_tlmWord = -1; /* INTEGER_0_16383 */
350 static int hf_lpp_antiSpoof = -1; /* INTEGER_0_1 */
351 static int hf_lpp_alert = -1; /* INTEGER_0_1 */
352 static int hf_lpp_tlmRsvdBits = -1; /* INTEGER_0_3 */
353 static int hf_lpp_secondsFromFrameStructureStart = -1; /* INTEGER_0_12533 */
354 static int hf_lpp_fractionalSecondsFromFrameStructureStart = -1; /* INTEGER_0_3999999 */
355 static int hf_lpp_frameDrift = -1; /* INTEGER_M64_63 */
356 static int hf_lpp_cellID = -1; /* T_cellID */
357 static int hf_lpp_eUTRA = -1; /* T_eUTRA */
358 static int hf_lpp_cellGlobalIdEUTRA = -1; /* CellGlobalIdEUTRA_AndUTRA */
359 static int hf_lpp_uTRA = -1; /* T_uTRA */
360 static int hf_lpp_mode = -1; /* T_mode */
361 static int hf_lpp_fdd = -1; /* T_fdd */
362 static int hf_lpp_primary_CPICH_Info = -1; /* INTEGER_0_511 */
363 static int hf_lpp_tdd = -1; /* T_tdd */
364 static int hf_lpp_cellParameters = -1; /* INTEGER_0_127 */
365 static int hf_lpp_cellGlobalIdUTRA = -1; /* CellGlobalIdEUTRA_AndUTRA */
366 static int hf_lpp_uarfcn = -1; /* ARFCN_ValueUTRA */
367 static int hf_lpp_gSM = -1; /* T_gSM */
368 static int hf_lpp_bcchCarrier = -1; /* INTEGER_0_1023 */
369 static int hf_lpp_bsic = -1; /* INTEGER_0_63 */
370 static int hf_lpp_cellGlobalIdGERAN = -1; /* CellGlobalIdGERAN */
371 static int hf_lpp_threeDlocation = -1; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */
372 static int hf_lpp_klobucharModel = -1; /* KlobucharModelParameter */
373 static int hf_lpp_neQuickModel = -1; /* NeQuickModelParameter */
374 static int hf_lpp_dataID = -1; /* BIT_STRING_SIZE_2 */
375 static int hf_lpp_alfa0 = -1; /* INTEGER_M128_127 */
376 static int hf_lpp_alfa1 = -1; /* INTEGER_M128_127 */
377 static int hf_lpp_alfa2 = -1; /* INTEGER_M128_127 */
378 static int hf_lpp_alfa3 = -1; /* INTEGER_M128_127 */
379 static int hf_lpp_beta0 = -1; /* INTEGER_M128_127 */
380 static int hf_lpp_beta1 = -1; /* INTEGER_M128_127 */
381 static int hf_lpp_beta2 = -1; /* INTEGER_M128_127 */
382 static int hf_lpp_beta3 = -1; /* INTEGER_M128_127 */
383 static int hf_lpp_ai0 = -1; /* INTEGER_0_4095 */
384 static int hf_lpp_ai1 = -1; /* INTEGER_0_4095 */
385 static int hf_lpp_ai2 = -1; /* INTEGER_0_4095 */
386 static int hf_lpp_ionoStormFlag1 = -1; /* INTEGER_0_1 */
387 static int hf_lpp_ionoStormFlag2 = -1; /* INTEGER_0_1 */
388 static int hf_lpp_ionoStormFlag3 = -1; /* INTEGER_0_1 */
389 static int hf_lpp_ionoStormFlag4 = -1; /* INTEGER_0_1 */
390 static int hf_lpp_ionoStormFlag5 = -1; /* INTEGER_0_1 */
391 static int hf_lpp_teop = -1; /* INTEGER_0_65535 */
392 static int hf_lpp_pmX = -1; /* INTEGER_M1048576_1048575 */
393 static int hf_lpp_pmXdot = -1; /* INTEGER_M16384_16383 */
394 static int hf_lpp_pmY = -1; /* INTEGER_M1048576_1048575 */
395 static int hf_lpp_pmYdot = -1; /* INTEGER_M16384_16383 */
396 static int hf_lpp_deltaUT1 = -1; /* INTEGER_M1073741824_1073741823 */
397 static int hf_lpp_deltaUT1dot = -1; /* INTEGER_M262144_262143 */
398 static int hf_lpp_GNSS_TimeModelList_item = -1; /* GNSS_TimeModelElement */
399 static int hf_lpp_gnss_TimeModelRefTime = -1; /* INTEGER_0_65535 */
400 static int hf_lpp_tA0 = -1; /* INTEGER_M67108864_67108863 */
401 static int hf_lpp_tA1 = -1; /* INTEGER_M4096_4095 */
402 static int hf_lpp_tA2 = -1; /* INTEGER_M64_63 */
403 static int hf_lpp_gnss_TO_ID = -1; /* INTEGER_1_15 */
404 static int hf_lpp_weekNumber = -1; /* INTEGER_0_8191 */
405 static int hf_lpp_deltaT = -1; /* INTEGER_M128_127 */
406 static int hf_lpp_dgnss_RefTime = -1; /* INTEGER_0_3599 */
407 static int hf_lpp_dgnss_SgnTypeList = -1; /* DGNSS_SgnTypeList */
408 static int hf_lpp_DGNSS_SgnTypeList_item = -1; /* DGNSS_SgnTypeElement */
409 static int hf_lpp_gnss_SignalID = -1; /* GNSS_SignalID */
410 static int hf_lpp_gnss_StatusHealth = -1; /* INTEGER_0_7 */
411 static int hf_lpp_dgnss_SatList = -1; /* DGNSS_SatList */
412 static int hf_lpp_DGNSS_SatList_item = -1; /* DGNSS_CorrectionsElement */
413 static int hf_lpp_svID = -1; /* SV_ID */
414 static int hf_lpp_iod = -1; /* BIT_STRING_SIZE_11 */
415 static int hf_lpp_udre = -1; /* INTEGER_0_3 */
416 static int hf_lpp_pseudoRangeCor = -1; /* INTEGER_M2047_2047 */
417 static int hf_lpp_rangeRateCor = -1; /* INTEGER_M127_127 */
418 static int hf_lpp_udreGrowthRate = -1; /* INTEGER_0_7 */
419 static int hf_lpp_udreValidityTime = -1; /* INTEGER_0_7 */
420 static int hf_lpp_nonBroadcastIndFlag = -1; /* INTEGER_0_1 */
421 static int hf_lpp_gnss_SatelliteList = -1; /* GNSS_NavModelSatelliteList */
422 static int hf_lpp_GNSS_NavModelSatelliteList_item = -1; /* GNSS_NavModelSatelliteElement */
423 static int hf_lpp_svHealth = -1; /* BIT_STRING_SIZE_8 */
424 static int hf_lpp_gnss_ClockModel = -1; /* GNSS_ClockModel */
425 static int hf_lpp_gnss_OrbitModel = -1; /* GNSS_OrbitModel */
426 static int hf_lpp_standardClockModelList = -1; /* StandardClockModelList */
427 static int hf_lpp_nav_ClockModel = -1; /* NAV_ClockModel */
428 static int hf_lpp_cnav_ClockModel = -1; /* CNAV_ClockModel */
429 static int hf_lpp_glonass_ClockModel = -1; /* GLONASS_ClockModel */
430 static int hf_lpp_sbas_ClockModel = -1; /* SBAS_ClockModel */
431 static int hf_lpp_keplerianSet = -1; /* NavModelKeplerianSet */
432 static int hf_lpp_nav_KeplerianSet = -1; /* NavModelNAV_KeplerianSet */
433 static int hf_lpp_cnav_KeplerianSet = -1; /* NavModelCNAV_KeplerianSet */
434 static int hf_lpp_glonass_ECEF = -1; /* NavModel_GLONASS_ECEF */
435 static int hf_lpp_sbas_ECEF = -1; /* NavModel_SBAS_ECEF */
436 static int hf_lpp_StandardClockModelList_item = -1; /* StandardClockModelElement */
437 static int hf_lpp_stanClockToc = -1; /* INTEGER_0_16383 */
438 static int hf_lpp_stanClockAF2 = -1; /* INTEGER_M2048_2047 */
439 static int hf_lpp_stanClockAF1 = -1; /* INTEGER_M131072_131071 */
440 static int hf_lpp_stanClockAF0 = -1; /* INTEGER_M134217728_134217727 */
441 static int hf_lpp_stanClockTgd = -1; /* INTEGER_M512_511 */
442 static int hf_lpp_stanModelID = -1; /* INTEGER_0_1 */
443 static int hf_lpp_navToc = -1; /* INTEGER_0_37799 */
444 static int hf_lpp_navaf2 = -1; /* INTEGER_M128_127 */
445 static int hf_lpp_navaf1 = -1; /* INTEGER_M32768_32767 */
446 static int hf_lpp_navaf0 = -1; /* INTEGER_M2097152_2097151 */
447 static int hf_lpp_navTgd = -1; /* INTEGER_M128_127 */
448 static int hf_lpp_cnavToc = -1; /* INTEGER_0_2015 */
449 static int hf_lpp_cnavTop = -1; /* INTEGER_0_2015 */
450 static int hf_lpp_cnavURA0 = -1; /* INTEGER_M16_15 */
451 static int hf_lpp_cnavURA1 = -1; /* INTEGER_0_7 */
452 static int hf_lpp_cnavURA2 = -1; /* INTEGER_0_7 */
453 static int hf_lpp_cnavAf2 = -1; /* INTEGER_M512_511 */
454 static int hf_lpp_cnavAf1 = -1; /* INTEGER_M524288_524287 */
455 static int hf_lpp_cnavAf0 = -1; /* INTEGER_M33554432_33554431 */
456 static int hf_lpp_cnavTgd = -1; /* INTEGER_M4096_4095 */
457 static int hf_lpp_cnavISCl1cp = -1; /* INTEGER_M4096_4095 */
458 static int hf_lpp_cnavISCl1cd = -1; /* INTEGER_M4096_4095 */
459 static int hf_lpp_cnavISCl1ca = -1; /* INTEGER_M4096_4095 */
460 static int hf_lpp_cnavISCl2c = -1; /* INTEGER_M4096_4095 */
461 static int hf_lpp_cnavISCl5i5 = -1; /* INTEGER_M4096_4095 */
462 static int hf_lpp_cnavISCl5q5 = -1; /* INTEGER_M4096_4095 */
463 static int hf_lpp_gloTau = -1; /* INTEGER_M2097152_2097151 */
464 static int hf_lpp_gloGamma = -1; /* INTEGER_M1024_1023 */
465 static int hf_lpp_gloDeltaTau = -1; /* INTEGER_M16_15 */
466 static int hf_lpp_sbasTo = -1; /* INTEGER_0_5399 */
467 static int hf_lpp_sbasAgfo = -1; /* INTEGER_M2048_2047 */
468 static int hf_lpp_sbasAgf1 = -1; /* INTEGER_M128_127 */
469 static int hf_lpp_keplerToe = -1; /* INTEGER_0_16383 */
470 static int hf_lpp_keplerW = -1; /* INTEGER_M2147483648_2147483647 */
471 static int hf_lpp_keplerDeltaN = -1; /* INTEGER_M32768_32767 */
472 static int hf_lpp_keplerM0 = -1; /* INTEGER_M2147483648_2147483647 */
473 static int hf_lpp_keplerOmegaDot = -1; /* INTEGER_M8388608_8388607 */
474 static int hf_lpp_keplerE = -1; /* INTEGER_0_4294967295 */
475 static int hf_lpp_keplerIDot = -1; /* INTEGER_M8192_8191 */
476 static int hf_lpp_keplerAPowerHalf = -1; /* INTEGER_0_4294967295 */
477 static int hf_lpp_keplerI0 = -1; /* INTEGER_M2147483648_2147483647 */
478 static int hf_lpp_keplerOmega0 = -1; /* INTEGER_M2147483648_2147483647 */
479 static int hf_lpp_keplerCrs = -1; /* INTEGER_M32768_32767 */
480 static int hf_lpp_keplerCis = -1; /* INTEGER_M32768_32767 */
481 static int hf_lpp_keplerCus = -1; /* INTEGER_M32768_32767 */
482 static int hf_lpp_keplerCrc = -1; /* INTEGER_M32768_32767 */
483 static int hf_lpp_keplerCic = -1; /* INTEGER_M32768_32767 */
484 static int hf_lpp_keplerCuc = -1; /* INTEGER_M32768_32767 */
485 static int hf_lpp_navURA = -1; /* INTEGER_0_15 */
486 static int hf_lpp_navFitFlag = -1; /* INTEGER_0_1 */
487 static int hf_lpp_navToe = -1; /* INTEGER_0_37799 */
488 static int hf_lpp_navOmega = -1; /* INTEGER_M2147483648_2147483647 */
489 static int hf_lpp_navDeltaN = -1; /* INTEGER_M32768_32767 */
490 static int hf_lpp_navM0 = -1; /* INTEGER_M2147483648_2147483647 */
491 static int hf_lpp_navOmegaADot = -1; /* INTEGER_M8388608_8388607 */
492 static int hf_lpp_navE = -1; /* INTEGER_0_4294967295 */
493 static int hf_lpp_navIDot = -1; /* INTEGER_M8192_8191 */
494 static int hf_lpp_navAPowerHalf = -1; /* INTEGER_0_4294967295 */
495 static int hf_lpp_navI0 = -1; /* INTEGER_M2147483648_2147483647 */
496 static int hf_lpp_navOmegaA0 = -1; /* INTEGER_M2147483648_2147483647 */
497 static int hf_lpp_navCrs = -1; /* INTEGER_M32768_32767 */
498 static int hf_lpp_navCis = -1; /* INTEGER_M32768_32767 */
499 static int hf_lpp_navCus = -1; /* INTEGER_M32768_32767 */
500 static int hf_lpp_navCrc = -1; /* INTEGER_M32768_32767 */
501 static int hf_lpp_navCic = -1; /* INTEGER_M32768_32767 */
502 static int hf_lpp_navCuc = -1; /* INTEGER_M32768_32767 */
503 static int hf_lpp_addNAVparam = -1; /* T_addNAVparam */
504 static int hf_lpp_ephemCodeOnL2 = -1; /* INTEGER_0_3 */
505 static int hf_lpp_ephemL2Pflag = -1; /* INTEGER_0_1 */
506 static int hf_lpp_ephemSF1Rsvd = -1; /* T_ephemSF1Rsvd */
507 static int hf_lpp_reserved1 = -1; /* INTEGER_0_8388607 */
508 static int hf_lpp_reserved2 = -1; /* INTEGER_0_16777215 */
509 static int hf_lpp_reserved3 = -1; /* INTEGER_0_16777215 */
510 static int hf_lpp_reserved4 = -1; /* INTEGER_0_65535 */
511 static int hf_lpp_ephemAODA = -1; /* INTEGER_0_31 */
512 static int hf_lpp_cnavURAindex = -1; /* INTEGER_M16_15 */
513 static int hf_lpp_cnavDeltaA = -1; /* INTEGER_M33554432_33554431 */
514 static int hf_lpp_cnavAdot = -1; /* INTEGER_M16777216_16777215 */
515 static int hf_lpp_cnavDeltaNo = -1; /* INTEGER_M65536_65535 */
516 static int hf_lpp_cnavDeltaNoDot = -1; /* INTEGER_M4194304_4194303 */
517 static int hf_lpp_cnavMo = -1; /* T_cnavMo */
518 static int hf_lpp_cnavE = -1; /* T_cnavE */
519 static int hf_lpp_cnavOmega = -1; /* T_cnavOmega */
520 static int hf_lpp_cnavOMEGA0 = -1; /* T_cnavOMEGA0 */
521 static int hf_lpp_cnavDeltaOmegaDot = -1; /* INTEGER_M65536_65535 */
522 static int hf_lpp_cnavIo = -1; /* T_cnavIo */
523 static int hf_lpp_cnavIoDot = -1; /* INTEGER_M16384_16383 */
524 static int hf_lpp_cnavCis = -1; /* INTEGER_M32768_32767 */
525 static int hf_lpp_cnavCic = -1; /* INTEGER_M32768_32767 */
526 static int hf_lpp_cnavCrs = -1; /* INTEGER_M8388608_8388607 */
527 static int hf_lpp_cnavCrc = -1; /* INTEGER_M8388608_8388607 */
528 static int hf_lpp_cnavCus = -1; /* INTEGER_M1048576_1048575 */
529 static int hf_lpp_cnavCuc = -1; /* INTEGER_M1048576_1048575 */
530 static int hf_lpp_gloEn = -1; /* INTEGER_0_31 */
531 static int hf_lpp_gloP1 = -1; /* BIT_STRING_SIZE_2 */
532 static int hf_lpp_gloP2 = -1; /* BOOLEAN */
533 static int hf_lpp_gloM = -1; /* INTEGER_0_3 */
534 static int hf_lpp_gloX = -1; /* INTEGER_M67108864_67108863 */
535 static int hf_lpp_gloXdot = -1; /* INTEGER_M8388608_8388607 */
536 static int hf_lpp_gloXdotdot = -1; /* INTEGER_M16_15 */
537 static int hf_lpp_gloY = -1; /* INTEGER_M67108864_67108863 */
538 static int hf_lpp_gloYdot = -1; /* INTEGER_M8388608_8388607 */
539 static int hf_lpp_gloYdotdot = -1; /* INTEGER_M16_15 */
540 static int hf_lpp_gloZ = -1; /* INTEGER_M67108864_67108863 */
541 static int hf_lpp_gloZdot = -1; /* INTEGER_M8388608_8388607 */
542 static int hf_lpp_gloZdotdot = -1; /* INTEGER_M16_15 */
543 static int hf_lpp_sbasAccuracy = -1; /* BIT_STRING_SIZE_4 */
544 static int hf_lpp_sbasXg = -1; /* INTEGER_M536870912_536870911 */
545 static int hf_lpp_sbasYg = -1; /* INTEGER_M536870912_536870911 */
546 static int hf_lpp_sbasZg = -1; /* INTEGER_M16777216_16777215 */
547 static int hf_lpp_sbasXgDot = -1; /* INTEGER_M65536_65535 */
548 static int hf_lpp_sbasYgDot = -1; /* INTEGER_M65536_65535 */
549 static int hf_lpp_sbasZgDot = -1; /* INTEGER_M131072_131071 */
550 static int hf_lpp_sbasXgDotDot = -1; /* INTEGER_M512_511 */
551 static int hf_lpp_sbagYgDotDot = -1; /* INTEGER_M512_511 */
552 static int hf_lpp_sbasZgDotDot = -1; /* INTEGER_M512_511 */
553 static int hf_lpp_gnss_BadSignalList = -1; /* GNSS_BadSignalList */
554 static int hf_lpp_GNSS_BadSignalList_item = -1; /* BadSignalElement */
555 static int hf_lpp_badSVID = -1; /* SV_ID */
556 static int hf_lpp_badSignalID = -1; /* GNSS_SignalIDs */
557 static int hf_lpp_gnss_TOD = -1; /* INTEGER_0_3599 */
558 static int hf_lpp_gnss_TODfrac = -1; /* INTEGER_0_999 */
559 static int hf_lpp_gnss_DataBitsSatList = -1; /* GNSS_DataBitsSatList */
560 static int hf_lpp_GNSS_DataBitsSatList_item = -1; /* GNSS_DataBitsSatElement */
561 static int hf_lpp_gnss_DataBitsSgnList = -1; /* GNSS_DataBitsSgnList */
562 static int hf_lpp_GNSS_DataBitsSgnList_item = -1; /* GNSS_DataBitsSgnElement */
563 static int hf_lpp_gnss_SignalType = -1; /* GNSS_SignalID */
564 static int hf_lpp_gnss_DataBits = -1; /* BIT_STRING_SIZE_1_1024 */
565 static int hf_lpp_gnss_AcquisitionAssistList = -1; /* GNSS_AcquisitionAssistList */
566 static int hf_lpp_confidence_r10 = -1; /* INTEGER_0_100 */
567 static int hf_lpp_GNSS_AcquisitionAssistList_item = -1; /* GNSS_AcquisitionAssistElement */
568 static int hf_lpp_doppler0 = -1; /* INTEGER_M2048_2047 */
569 static int hf_lpp_doppler1 = -1; /* INTEGER_0_63 */
570 static int hf_lpp_dopplerUncertainty = -1; /* INTEGER_0_4 */
571 static int hf_lpp_codePhase = -1; /* INTEGER_0_1022 */
572 static int hf_lpp_intCodePhase = -1; /* INTEGER_0_127 */
573 static int hf_lpp_codePhaseSearchWindow = -1; /* INTEGER_0_31 */
574 static int hf_lpp_azimuth = -1; /* INTEGER_0_511 */
575 static int hf_lpp_elevation = -1; /* INTEGER_0_127 */
576 static int hf_lpp_codePhase1023 = -1; /* BOOLEAN */
577 static int hf_lpp_dopplerUncertaintyExt_r10 = -1; /* T_dopplerUncertaintyExt_r10 */
578 static int hf_lpp_weekNumber_01 = -1; /* INTEGER_0_255 */
579 static int hf_lpp_toa = -1; /* INTEGER_0_255 */
580 static int hf_lpp_ioda = -1; /* INTEGER_0_3 */
581 static int hf_lpp_completeAlmanacProvided = -1; /* BOOLEAN */
582 static int hf_lpp_gnss_AlmanacList = -1; /* GNSS_AlmanacList */
583 static int hf_lpp_GNSS_AlmanacList_item = -1; /* GNSS_AlmanacElement */
584 static int hf_lpp_keplerianAlmanacSet = -1; /* AlmanacKeplerianSet */
585 static int hf_lpp_keplerianNAV_Almanac = -1; /* AlmanacNAV_KeplerianSet */
586 static int hf_lpp_keplerianReducedAlmanac = -1; /* AlmanacReducedKeplerianSet */
587 static int hf_lpp_keplerianMidiAlmanac = -1; /* AlmanacMidiAlmanacSet */
588 static int hf_lpp_keplerianGLONASS = -1; /* AlmanacGLONASS_AlmanacSet */
589 static int hf_lpp_ecef_SBAS_Almanac = -1; /* AlmanacECEF_SBAS_AlmanacSet */
590 static int hf_lpp_kepAlmanacE = -1; /* INTEGER_0_2047 */
591 static int hf_lpp_kepAlmanacDeltaI = -1; /* INTEGER_M1024_1023 */
592 static int hf_lpp_kepAlmanacOmegaDot = -1; /* INTEGER_M1024_1023 */
593 static int hf_lpp_kepSVHealth = -1; /* INTEGER_0_15 */
594 static int hf_lpp_kepAlmanacAPowerHalf = -1; /* INTEGER_M65536_65535 */
595 static int hf_lpp_kepAlmanacOmega0 = -1; /* INTEGER_M32768_32767 */
596 static int hf_lpp_kepAlmanacW = -1; /* INTEGER_M32768_32767 */
597 static int hf_lpp_kepAlmanacM0 = -1; /* INTEGER_M32768_32767 */
598 static int hf_lpp_kepAlmanacAF0 = -1; /* INTEGER_M8192_8191 */
599 static int hf_lpp_kepAlmanacAF1 = -1; /* INTEGER_M1024_1023 */
600 static int hf_lpp_navAlmE = -1; /* INTEGER_0_65535 */
601 static int hf_lpp_navAlmDeltaI = -1; /* INTEGER_M32768_32767 */
602 static int hf_lpp_navAlmOMEGADOT = -1; /* INTEGER_M32768_32767 */
603 static int hf_lpp_navAlmSVHealth = -1; /* INTEGER_0_255 */
604 static int hf_lpp_navAlmSqrtA = -1; /* INTEGER_0_16777215 */
605 static int hf_lpp_navAlmOMEGAo = -1; /* INTEGER_M8388608_8388607 */
606 static int hf_lpp_navAlmOmega = -1; /* INTEGER_M8388608_8388607 */
607 static int hf_lpp_navAlmMo = -1; /* INTEGER_M8388608_8388607 */
608 static int hf_lpp_navAlmaf0 = -1; /* INTEGER_M1024_1023 */
609 static int hf_lpp_navAlmaf1 = -1; /* INTEGER_M1024_1023 */
610 static int hf_lpp_redAlmDeltaA = -1; /* INTEGER_M128_127 */
611 static int hf_lpp_redAlmOmega0 = -1; /* INTEGER_M64_63 */
612 static int hf_lpp_redAlmPhi0 = -1; /* INTEGER_M64_63 */
613 static int hf_lpp_redAlmL1Health = -1; /* BOOLEAN */
614 static int hf_lpp_redAlmL2Health = -1; /* BOOLEAN */
615 static int hf_lpp_redAlmL5Health = -1; /* BOOLEAN */
616 static int hf_lpp_midiAlmE = -1; /* INTEGER_0_2047 */
617 static int hf_lpp_midiAlmDeltaI = -1; /* INTEGER_M1024_1023 */
618 static int hf_lpp_midiAlmOmegaDot = -1; /* INTEGER_M1024_1023 */
619 static int hf_lpp_midiAlmSqrtA = -1; /* INTEGER_0_131071 */
620 static int hf_lpp_midiAlmOmega0 = -1; /* INTEGER_M32768_32767 */
621 static int hf_lpp_midiAlmOmega = -1; /* INTEGER_M32768_32767 */
622 static int hf_lpp_midiAlmMo = -1; /* INTEGER_M32768_32767 */
623 static int hf_lpp_midiAlmaf0 = -1; /* INTEGER_M1024_1023 */
624 static int hf_lpp_midiAlmaf1 = -1; /* INTEGER_M512_511 */
625 static int hf_lpp_midiAlmL1Health = -1; /* BOOLEAN */
626 static int hf_lpp_midiAlmL2Health = -1; /* BOOLEAN */
627 static int hf_lpp_midiAlmL5Health = -1; /* BOOLEAN */
628 static int hf_lpp_gloAlm_NA = -1; /* INTEGER_1_1461 */
629 static int hf_lpp_gloAlmnA = -1; /* INTEGER_1_24 */
630 static int hf_lpp_gloAlmHA = -1; /* INTEGER_0_31 */
631 static int hf_lpp_gloAlmLambdaA = -1; /* INTEGER_M1048576_1048575 */
632 static int hf_lpp_gloAlmtlambdaA = -1; /* INTEGER_0_2097151 */
633 static int hf_lpp_gloAlmDeltaIa = -1; /* INTEGER_M131072_131071 */
634 static int hf_lpp_gloAlmDeltaTA = -1; /* INTEGER_M2097152_2097151 */
635 static int hf_lpp_gloAlmDeltaTdotA = -1; /* INTEGER_M64_63 */
636 static int hf_lpp_gloAlmEpsilonA = -1; /* INTEGER_0_32767 */
637 static int hf_lpp_gloAlmOmegaA = -1; /* INTEGER_M32768_32767 */
638 static int hf_lpp_gloAlmTauA = -1; /* INTEGER_M512_511 */
639 static int hf_lpp_gloAlmCA = -1; /* INTEGER_0_1 */
640 static int hf_lpp_gloAlmMA = -1; /* BIT_STRING_SIZE_2 */
641 static int hf_lpp_sbasAlmDataID = -1; /* INTEGER_0_3 */
642 static int hf_lpp_sbasAlmHealth = -1; /* BIT_STRING_SIZE_8 */
643 static int hf_lpp_sbasAlmXg = -1; /* INTEGER_M16384_16383 */
644 static int hf_lpp_sbasAlmYg = -1; /* INTEGER_M16384_16383 */
645 static int hf_lpp_sbasAlmZg = -1; /* INTEGER_M256_255 */
646 static int hf_lpp_sbasAlmXgdot = -1; /* INTEGER_M4_3 */
647 static int hf_lpp_sbasAlmYgDot = -1; /* INTEGER_M4_3 */
648 static int hf_lpp_sbasAlmZgDot = -1; /* INTEGER_M8_7 */
649 static int hf_lpp_sbasAlmTo = -1; /* INTEGER_0_2047 */
650 static int hf_lpp_utcModel1 = -1; /* UTC_ModelSet1 */
651 static int hf_lpp_utcModel2 = -1; /* UTC_ModelSet2 */
652 static int hf_lpp_utcModel3 = -1; /* UTC_ModelSet3 */
653 static int hf_lpp_utcModel4 = -1; /* UTC_ModelSet4 */
654 static int hf_lpp_gnss_Utc_A1 = -1; /* INTEGER_M8388608_8388607 */
655 static int hf_lpp_gnss_Utc_A0 = -1; /* INTEGER_M2147483648_2147483647 */
656 static int hf_lpp_gnss_Utc_Tot = -1; /* INTEGER_0_255 */
657 static int hf_lpp_gnss_Utc_WNt = -1; /* INTEGER_0_255 */
658 static int hf_lpp_gnss_Utc_DeltaTls = -1; /* INTEGER_M128_127 */
659 static int hf_lpp_gnss_Utc_WNlsf = -1; /* INTEGER_0_255 */
660 static int hf_lpp_gnss_Utc_DN = -1; /* INTEGER_M128_127 */
661 static int hf_lpp_gnss_Utc_DeltaTlsf = -1; /* INTEGER_M128_127 */
662 static int hf_lpp_utcA0 = -1; /* INTEGER_M32768_32767 */
663 static int hf_lpp_utcA1 = -1; /* INTEGER_M4096_4095 */
664 static int hf_lpp_utcA2 = -1; /* INTEGER_M64_63 */
665 static int hf_lpp_utcDeltaTls = -1; /* INTEGER_M128_127 */
666 static int hf_lpp_utcTot = -1; /* INTEGER_0_65535 */
667 static int hf_lpp_utcWNot = -1; /* INTEGER_0_8191 */
668 static int hf_lpp_utcWNlsf = -1; /* INTEGER_0_255 */
669 static int hf_lpp_utcDN = -1; /* BIT_STRING_SIZE_4 */
670 static int hf_lpp_utcDeltaTlsf = -1; /* INTEGER_M128_127 */
671 static int hf_lpp_nA = -1; /* INTEGER_1_1461 */
672 static int hf_lpp_tauC = -1; /* INTEGER_M2147483648_2147483647 */
673 static int hf_lpp_b1 = -1; /* INTEGER_M1024_1023 */
674 static int hf_lpp_b2 = -1; /* INTEGER_M512_511 */
675 static int hf_lpp_kp = -1; /* BIT_STRING_SIZE_2 */
676 static int hf_lpp_utcA1wnt = -1; /* INTEGER_M8388608_8388607 */
677 static int hf_lpp_utcA0wnt = -1; /* INTEGER_M2147483648_2147483647 */
678 static int hf_lpp_utcTot_01 = -1; /* INTEGER_0_255 */
679 static int hf_lpp_utcWNt = -1; /* INTEGER_0_255 */
680 static int hf_lpp_utcDN_01 = -1; /* INTEGER_M128_127 */
681 static int hf_lpp_utcStandardID = -1; /* INTEGER_0_7 */
682 static int hf_lpp_gnss_ID_GPS = -1; /* GNSS_ID_GPS */
683 static int hf_lpp_gnss_ID_GLONASS = -1; /* GNSS_ID_GLONASS */
684 static int hf_lpp_GNSS_ID_GPS_item = -1; /* GNSS_ID_GPS_SatElement */
685 static int hf_lpp_signalsAvailable = -1; /* GNSS_SignalIDs */
686 static int hf_lpp_GNSS_ID_GLONASS_item = -1; /* GNSS_ID_GLONASS_SatElement */
687 static int hf_lpp_channelNumber = -1; /* INTEGER_M7_13 */
688 static int hf_lpp_gnss_CommonAssistDataReq = -1; /* GNSS_CommonAssistDataReq */
689 static int hf_lpp_gnss_GenericAssistDataReq = -1; /* GNSS_GenericAssistDataReq */
690 static int hf_lpp_gnss_ReferenceTimeReq = -1; /* GNSS_ReferenceTimeReq */
691 static int hf_lpp_gnss_ReferenceLocationReq = -1; /* GNSS_ReferenceLocationReq */
692 static int hf_lpp_gnss_IonosphericModelReq = -1; /* GNSS_IonosphericModelReq */
693 static int hf_lpp_gnss_EarthOrientationParametersReq = -1; /* GNSS_EarthOrientationParametersReq */
694 static int hf_lpp_GNSS_GenericAssistDataReq_item = -1; /* GNSS_GenericAssistDataReqElement */
695 static int hf_lpp_gnss_TimeModelsReq = -1; /* GNSS_TimeModelListReq */
696 static int hf_lpp_gnss_DifferentialCorrectionsReq = -1; /* GNSS_DifferentialCorrectionsReq */
697 static int hf_lpp_gnss_NavigationModelReq = -1; /* GNSS_NavigationModelReq */
698 static int hf_lpp_gnss_RealTimeIntegrityReq = -1; /* GNSS_RealTimeIntegrityReq */
699 static int hf_lpp_gnss_DataBitAssistanceReq = -1; /* GNSS_DataBitAssistanceReq */
700 static int hf_lpp_gnss_AcquisitionAssistanceReq = -1; /* GNSS_AcquisitionAssistanceReq */
701 static int hf_lpp_gnss_AlmanacReq = -1; /* GNSS_AlmanacReq */
702 static int hf_lpp_gnss_UTCModelReq = -1; /* GNSS_UTC_ModelReq */
703 static int hf_lpp_gnss_AuxiliaryInformationReq = -1; /* GNSS_AuxiliaryInformationReq */
704 static int hf_lpp_gnss_TimeReqPrefList = -1; /* SEQUENCE_SIZE_1_8_OF_GNSS_ID */
705 static int hf_lpp_gnss_TimeReqPrefList_item = -1; /* GNSS_ID */
706 static int hf_lpp_gps_TOW_assistReq = -1; /* BOOLEAN */
707 static int hf_lpp_notOfLeapSecReq = -1; /* BOOLEAN */
708 static int hf_lpp_klobucharModelReq = -1; /* BIT_STRING_SIZE_2 */
709 static int hf_lpp_neQuickModelReq = -1; /* NULL */
710 static int hf_lpp_GNSS_TimeModelListReq_item = -1; /* GNSS_TimeModelElementReq */
711 static int hf_lpp_gnss_TO_IDsReq = -1; /* INTEGER_1_15 */
712 static int hf_lpp_deltaTreq = -1; /* BOOLEAN */
713 static int hf_lpp_dgnss_SignalsReq = -1; /* GNSS_SignalIDs */
714 static int hf_lpp_dgnss_ValidityTimeReq = -1; /* BOOLEAN */
715 static int hf_lpp_storedNavList = -1; /* StoredNavListInfo */
716 static int hf_lpp_reqNavList = -1; /* ReqNavListInfo */
717 static int hf_lpp_gnss_WeekOrDay = -1; /* INTEGER_0_4095 */
718 static int hf_lpp_gnss_Toe = -1; /* INTEGER_0_255 */
719 static int hf_lpp_t_toeLimit = -1; /* INTEGER_0_15 */
720 static int hf_lpp_satListRelatedDataList = -1; /* SatListRelatedDataList */
721 static int hf_lpp_SatListRelatedDataList_item = -1; /* SatListRelatedDataElement */
722 static int hf_lpp_clockModelID = -1; /* INTEGER_1_8 */
723 static int hf_lpp_orbitModelID = -1; /* INTEGER_1_8 */
724 static int hf_lpp_svReqList = -1; /* BIT_STRING_SIZE_64 */
725 static int hf_lpp_clockModelID_PrefList = -1; /* T_clockModelID_PrefList */
726 static int hf_lpp_clockModelID_PrefList_item = -1; /* INTEGER_1_8 */
727 static int hf_lpp_orbitModelID_PrefList = -1; /* T_orbitModelID_PrefList */
728 static int hf_lpp_orbitModelID_PrefList_item = -1; /* INTEGER_1_8 */
729 static int hf_lpp_addNavparamReq = -1; /* BOOLEAN */
730 static int hf_lpp_gnss_TOD_Req = -1; /* INTEGER_0_3599 */
731 static int hf_lpp_gnss_TOD_FracReq = -1; /* INTEGER_0_999 */
732 static int hf_lpp_dataBitInterval = -1; /* INTEGER_0_15 */
733 static int hf_lpp_gnss_SignalType_01 = -1; /* GNSS_SignalIDs */
734 static int hf_lpp_gnss_DataBitsReq = -1; /* GNSS_DataBitsReqSatList */
735 static int hf_lpp_GNSS_DataBitsReqSatList_item = -1; /* GNSS_DataBitsReqSatElement */
736 static int hf_lpp_gnss_SignalID_Req = -1; /* GNSS_SignalID */
737 static int hf_lpp_modelID = -1; /* INTEGER_1_8 */
738 static int hf_lpp_gnss_SignalMeasurementInformation = -1; /* GNSS_SignalMeasurementInformation */
739 static int hf_lpp_gnss_LocationInformation = -1; /* GNSS_LocationInformation */
740 static int hf_lpp_measurementReferenceTime = -1; /* MeasurementReferenceTime */
741 static int hf_lpp_gnss_MeasurementList = -1; /* GNSS_MeasurementList */
742 static int hf_lpp_gnss_TOD_msec = -1; /* INTEGER_0_3599999 */
743 static int hf_lpp_gnss_TOD_frac = -1; /* INTEGER_0_3999 */
744 static int hf_lpp_gnss_TOD_unc = -1; /* INTEGER_0_127 */
745 static int hf_lpp_networkTime_01 = -1; /* T_networkTime */
746 static int hf_lpp_eUTRA_01 = -1; /* T_eUTRA_01 */
747 static int hf_lpp_cellGlobalId_01 = -1; /* CellGlobalIdEUTRA_AndUTRA */
748 static int hf_lpp_uTRA_01 = -1; /* T_uTRA_01 */
749 static int hf_lpp_mode_01 = -1; /* T_mode_01 */
750 static int hf_lpp_fdd_01 = -1; /* T_fdd_01 */
751 static int hf_lpp_tdd_01 = -1; /* T_tdd_01 */
752 static int hf_lpp_referenceSystemFrameNumber = -1; /* INTEGER_0_4095 */
753 static int hf_lpp_gSM_01 = -1; /* T_gSM_01 */
754 static int hf_lpp_cellGlobalId_02 = -1; /* CellGlobalIdGERAN */
755 static int hf_lpp_referenceFrame = -1; /* T_referenceFrame */
756 static int hf_lpp_referenceFN = -1; /* INTEGER_0_65535 */
757 static int hf_lpp_referenceFNMSB = -1; /* INTEGER_0_63 */
758 static int hf_lpp_deltaGNSS_TOD = -1; /* INTEGER_0_127 */
759 static int hf_lpp_GNSS_MeasurementList_item = -1; /* GNSS_MeasurementForOneGNSS */
760 static int hf_lpp_gnss_SgnMeasList = -1; /* GNSS_SgnMeasList */
761 static int hf_lpp_GNSS_SgnMeasList_item = -1; /* GNSS_SgnMeasElement */
762 static int hf_lpp_gnss_CodePhaseAmbiguity = -1; /* INTEGER_0_127 */
763 static int hf_lpp_gnss_SatMeasList = -1; /* GNSS_SatMeasList */
764 static int hf_lpp_GNSS_SatMeasList_item = -1; /* GNSS_SatMeasElement */
765 static int hf_lpp_cNo = -1; /* INTEGER_0_63 */
766 static int hf_lpp_mpathDet = -1; /* T_mpathDet */
767 static int hf_lpp_carrierQualityInd = -1; /* INTEGER_0_3 */
768 static int hf_lpp_codePhase_01 = -1; /* INTEGER_0_2097151 */
769 static int hf_lpp_integerCodePhase = -1; /* INTEGER_0_127 */
770 static int hf_lpp_codePhaseRMSError = -1; /* INTEGER_0_63 */
771 static int hf_lpp_doppler = -1; /* INTEGER_M32768_32767 */
772 static int hf_lpp_adr = -1; /* INTEGER_0_33554431 */
773 static int hf_lpp_agnss_List = -1; /* GNSS_ID_Bitmap */
774 static int hf_lpp_gnss_PositioningInstructions = -1; /* GNSS_PositioningInstructions */
775 static int hf_lpp_gnss_Methods = -1; /* GNSS_ID_Bitmap */
776 static int hf_lpp_fineTimeAssistanceMeasReq = -1; /* BOOLEAN */
777 static int hf_lpp_adrMeasReq = -1; /* BOOLEAN */
778 static int hf_lpp_multiFreqMeasReq = -1; /* BOOLEAN */
779 static int hf_lpp_gnss_SupportList = -1; /* GNSS_SupportList */
780 static int hf_lpp_assistanceDataSupportList = -1; /* AssistanceDataSupportList */
781 static int hf_lpp_GNSS_SupportList_item = -1; /* GNSS_SupportElement */
782 static int hf_lpp_sbas_IDs = -1; /* SBAS_IDs */
783 static int hf_lpp_agnss_Modes = -1; /* PositioningModes */
784 static int hf_lpp_gnss_Signals = -1; /* GNSS_SignalIDs */
785 static int hf_lpp_fta_MeasSupport = -1; /* T_fta_MeasSupport */
786 static int hf_lpp_cellTime = -1; /* AccessTypes */
787 static int hf_lpp_mode_02 = -1; /* PositioningModes */
788 static int hf_lpp_adr_Support = -1; /* BOOLEAN */
789 static int hf_lpp_velocityMeasurementSupport = -1; /* BOOLEAN */
790 static int hf_lpp_gnss_CommonAssistanceDataSupport = -1; /* GNSS_CommonAssistanceDataSupport */
791 static int hf_lpp_gnss_GenericAssistanceDataSupport = -1; /* GNSS_GenericAssistanceDataSupport */
792 static int hf_lpp_gnss_ReferenceTimeSupport = -1; /* GNSS_ReferenceTimeSupport */
793 static int hf_lpp_gnss_ReferenceLocationSupport = -1; /* GNSS_ReferenceLocationSupport */
794 static int hf_lpp_gnss_IonosphericModelSupport = -1; /* GNSS_IonosphericModelSupport */
795 static int hf_lpp_gnss_EarthOrientationParametersSupport = -1; /* GNSS_EarthOrientationParametersSupport */
796 static int hf_lpp_gnss_SystemTime_01 = -1; /* GNSS_ID_Bitmap */
797 static int hf_lpp_fta_Support = -1; /* AccessTypes */
798 static int hf_lpp_ionoModel = -1; /* T_ionoModel */
799 static int hf_lpp_GNSS_GenericAssistanceDataSupport_item = -1; /* GNSS_GenericAssistDataSupportElement */
800 static int hf_lpp_gnss_TimeModelsSupport = -1; /* GNSS_TimeModelListSupport */
801 static int hf_lpp_gnss_DifferentialCorrectionsSupport = -1; /* GNSS_DifferentialCorrectionsSupport */
802 static int hf_lpp_gnss_NavigationModelSupport = -1; /* GNSS_NavigationModelSupport */
803 static int hf_lpp_gnss_RealTimeIntegritySupport = -1; /* GNSS_RealTimeIntegritySupport */
804 static int hf_lpp_gnss_DataBitAssistanceSupport = -1; /* GNSS_DataBitAssistanceSupport */
805 static int hf_lpp_gnss_AcquisitionAssistanceSupport = -1; /* GNSS_AcquisitionAssistanceSupport */
806 static int hf_lpp_gnss_AlmanacSupport = -1; /* GNSS_AlmanacSupport */
807 static int hf_lpp_gnss_UTC_ModelSupport = -1; /* GNSS_UTC_ModelSupport */
808 static int hf_lpp_gnss_AuxiliaryInformationSupport = -1; /* GNSS_AuxiliaryInformationSupport */
809 static int hf_lpp_gnssSignalIDs = -1; /* GNSS_SignalIDs */
810 static int hf_lpp_dgnss_ValidityTimeSup = -1; /* BOOLEAN */
811 static int hf_lpp_clockModel = -1; /* T_clockModel */
812 static int hf_lpp_orbitModel = -1; /* T_orbitModel */
813 static int hf_lpp_confidenceSupport_r10 = -1; /* T_confidenceSupport_r10 */
814 static int hf_lpp_dopplerUncertaintyExtSupport_r10 = -1; /* T_dopplerUncertaintyExtSupport_r10 */
815 static int hf_lpp_almanacModel = -1; /* T_almanacModel */
816 static int hf_lpp_utc_Model = -1; /* T_utc_Model */
817 static int hf_lpp_gnss_SupportListReq = -1; /* BOOLEAN */
818 static int hf_lpp_assistanceDataSupportListReq = -1; /* BOOLEAN */
819 static int hf_lpp_locationVelocityTypesReq = -1; /* BOOLEAN */
820 static int hf_lpp_locationServerErrorCauses_01 = -1; /* GNSS_LocationServerErrorCauses */
821 static int hf_lpp_targetDeviceErrorCauses_01 = -1; /* GNSS_TargetDeviceErrorCauses */
822 static int hf_lpp_cause_02 = -1; /* T_cause_02 */
823 static int hf_lpp_cause_03 = -1; /* T_cause_03 */
824 static int hf_lpp_fineTimeAssistanceMeasurementsNotPossible = -1; /* NULL */
825 static int hf_lpp_adrMeasurementsNotPossible = -1; /* NULL */
826 static int hf_lpp_multiFrequencyMeasurementsNotPossible = -1; /* NULL */
827 static int hf_lpp_gnss_id = -1; /* T_gnss_id */
828 static int hf_lpp_gnss_ids = -1; /* T_gnss_ids */
829 static int hf_lpp_gnss_SignalID_01 = -1; /* INTEGER_0_7 */
830 static int hf_lpp_gnss_SignalIDs = -1; /* BIT_STRING_SIZE_8 */
831 static int hf_lpp_sbas_id = -1; /* T_sbas_id */
832 static int hf_lpp_sbas_IDs_01 = -1; /* T_sbas_IDs */
833 static int hf_lpp_satellite_id = -1; /* INTEGER_0_63 */
834 static int hf_lpp_ecid_SignalMeasurementInformation = -1; /* ECID_SignalMeasurementInformation */
835 static int hf_lpp_ecid_Error = -1; /* ECID_Error */
836 static int hf_lpp_primaryCellMeasuredResults = -1; /* MeasuredResultsElement */
837 static int hf_lpp_measuredResultsList = -1; /* MeasuredResultsList */
838 static int hf_lpp_MeasuredResultsList_item = -1; /* MeasuredResultsElement */
839 static int hf_lpp_arfcnEUTRA = -1; /* ARFCN_ValueEUTRA */
840 static int hf_lpp_rsrp_Result = -1; /* INTEGER_0_97 */
841 static int hf_lpp_rsrq_Result = -1; /* INTEGER_0_34 */
842 static int hf_lpp_ue_RxTxTimeDiff = -1; /* INTEGER_0_4095 */
843 static int hf_lpp_arfcnEUTRA_v9a0 = -1; /* ARFCN_ValueEUTRA_v9a0 */
844 static int hf_lpp_requestedMeasurements = -1; /* T_requestedMeasurements */
845 static int hf_lpp_ecid_MeasSupported = -1; /* T_ecid_MeasSupported */
846 static int hf_lpp_locationServerErrorCauses_02 = -1; /* ECID_LocationServerErrorCauses */
847 static int hf_lpp_targetDeviceErrorCauses_02 = -1; /* ECID_TargetDeviceErrorCauses */
848 static int hf_lpp_cause_04 = -1; /* T_cause_04 */
849 static int hf_lpp_cause_05 = -1; /* T_cause_05 */
850 static int hf_lpp_rsrpMeasurementNotPossible = -1; /* NULL */
851 static int hf_lpp_rsrqMeasurementNotPossible = -1; /* NULL */
852 static int hf_lpp_ueRxTxMeasurementNotPossible = -1; /* NULL */
853 /* named bits */
854 static int hf_lpp_T_accessTypes_eutra = -1;
855 static int hf_lpp_T_accessTypes_utra = -1;
856 static int hf_lpp_T_accessTypes_gsm = -1;
857 static int hf_lpp_T_posModes_standalone = -1;
858 static int hf_lpp_T_posModes_ue_based = -1;
859 static int hf_lpp_T_posModes_ue_assisted = -1;
860 static int hf_lpp_T_otdoa_Mode_ue_assisted = -1;
861 static int hf_lpp_T_ionoModel_klobuchar = -1;
862 static int hf_lpp_T_ionoModel_neQuick = -1;
863 static int hf_lpp_T_clockModel_model_1 = -1;
864 static int hf_lpp_T_clockModel_model_2 = -1;
865 static int hf_lpp_T_clockModel_model_3 = -1;
866 static int hf_lpp_T_clockModel_model_4 = -1;
867 static int hf_lpp_T_clockModel_model_5 = -1;
868 static int hf_lpp_T_orbitModel_model_1 = -1;
869 static int hf_lpp_T_orbitModel_model_2 = -1;
870 static int hf_lpp_T_orbitModel_model_3 = -1;
871 static int hf_lpp_T_orbitModel_model_4 = -1;
872 static int hf_lpp_T_orbitModel_model_5 = -1;
873 static int hf_lpp_T_almanacModel_model_1 = -1;
874 static int hf_lpp_T_almanacModel_model_2 = -1;
875 static int hf_lpp_T_almanacModel_model_3 = -1;
876 static int hf_lpp_T_almanacModel_model_4 = -1;
877 static int hf_lpp_T_almanacModel_model_5 = -1;
878 static int hf_lpp_T_almanacModel_model_6 = -1;
879 static int hf_lpp_T_utc_Model_model_1 = -1;
880 static int hf_lpp_T_utc_Model_model_2 = -1;
881 static int hf_lpp_T_utc_Model_model_3 = -1;
882 static int hf_lpp_T_utc_Model_model_4 = -1;
883 static int hf_lpp_T_gnss_ids_gps = -1;
884 static int hf_lpp_T_gnss_ids_sbas = -1;
885 static int hf_lpp_T_gnss_ids_qzss = -1;
886 static int hf_lpp_T_gnss_ids_galileo = -1;
887 static int hf_lpp_T_gnss_ids_glonass = -1;
888 static int hf_lpp_T_sbas_IDs_waas = -1;
889 static int hf_lpp_T_sbas_IDs_egnos = -1;
890 static int hf_lpp_T_sbas_IDs_msas = -1;
891 static int hf_lpp_T_sbas_IDs_gagan = -1;
892 static int hf_lpp_T_requestedMeasurements_rsrpReq = -1;
893 static int hf_lpp_T_requestedMeasurements_rsrqReq = -1;
894 static int hf_lpp_T_requestedMeasurements_ueRxTxReq = -1;
895 static int hf_lpp_T_ecid_MeasSupported_rsrpSup = -1;
896 static int hf_lpp_T_ecid_MeasSupported_rsrqSup = -1;
897 static int hf_lpp_T_ecid_MeasSupported_ueRxTxSup = -1;
898 static int hf_lpp_dummy_eag_field = -1; /* never registered */
900 /*--- End of included file: packet-lpp-hf.c ---*/
901 #line 50 "../../asn1/lpp/packet-lpp-template.c"
903 static dissector_handle_t lppe_handle = NULL;
905 static guint32 lpp_epdu_id = -1;
907 /* Initialize the subtree pointers */
908 static gint ett_lpp = -1;
910 /*--- Included file: packet-lpp-ett.c ---*/
911 #line 1 "../../asn1/lpp/packet-lpp-ett.c"
912 static gint ett_lpp_LPP_Message = -1;
913 static gint ett_lpp_Acknowledgement = -1;
914 static gint ett_lpp_LPP_MessageBody = -1;
915 static gint ett_lpp_T_c1 = -1;
916 static gint ett_lpp_T_messageClassExtension = -1;
917 static gint ett_lpp_LPP_TransactionID = -1;
918 static gint ett_lpp_RequestCapabilities = -1;
919 static gint ett_lpp_T_criticalExtensions = -1;
920 static gint ett_lpp_T_c1_01 = -1;
921 static gint ett_lpp_T_criticalExtensionsFuture = -1;
922 static gint ett_lpp_RequestCapabilities_r9_IEs = -1;
923 static gint ett_lpp_ProvideCapabilities = -1;
924 static gint ett_lpp_T_criticalExtensions_01 = -1;
925 static gint ett_lpp_T_c1_02 = -1;
926 static gint ett_lpp_T_criticalExtensionsFuture_01 = -1;
927 static gint ett_lpp_ProvideCapabilities_r9_IEs = -1;
928 static gint ett_lpp_RequestAssistanceData = -1;
929 static gint ett_lpp_T_criticalExtensions_02 = -1;
930 static gint ett_lpp_T_c1_03 = -1;
931 static gint ett_lpp_T_criticalExtensionsFuture_02 = -1;
932 static gint ett_lpp_RequestAssistanceData_r9_IEs = -1;
933 static gint ett_lpp_ProvideAssistanceData = -1;
934 static gint ett_lpp_T_criticalExtensions_03 = -1;
935 static gint ett_lpp_T_c1_04 = -1;
936 static gint ett_lpp_T_criticalExtensionsFuture_03 = -1;
937 static gint ett_lpp_ProvideAssistanceData_r9_IEs = -1;
938 static gint ett_lpp_RequestLocationInformation = -1;
939 static gint ett_lpp_T_criticalExtensions_04 = -1;
940 static gint ett_lpp_T_c1_05 = -1;
941 static gint ett_lpp_T_criticalExtensionsFuture_04 = -1;
942 static gint ett_lpp_RequestLocationInformation_r9_IEs = -1;
943 static gint ett_lpp_ProvideLocationInformation = -1;
944 static gint ett_lpp_T_criticalExtensions_05 = -1;
945 static gint ett_lpp_T_c1_06 = -1;
946 static gint ett_lpp_T_criticalExtensionsFuture_05 = -1;
947 static gint ett_lpp_ProvideLocationInformation_r9_IEs = -1;
948 static gint ett_lpp_Abort = -1;
949 static gint ett_lpp_T_criticalExtensions_06 = -1;
950 static gint ett_lpp_T_c1_07 = -1;
951 static gint ett_lpp_T_criticalExtensionsFuture_06 = -1;
952 static gint ett_lpp_Abort_r9_IEs = -1;
953 static gint ett_lpp_Error = -1;
954 static gint ett_lpp_T_criticalExtensionsFuture_07 = -1;
955 static gint ett_lpp_Error_r9_IEs = -1;
956 static gint ett_lpp_AccessTypes = -1;
957 static gint ett_lpp_T_accessTypes = -1;
958 static gint ett_lpp_CellGlobalIdEUTRA_AndUTRA = -1;
959 static gint ett_lpp_T_plmn_Identity = -1;
960 static gint ett_lpp_T_mcc = -1;
961 static gint ett_lpp_T_mnc = -1;
962 static gint ett_lpp_T_cellIdentity = -1;
963 static gint ett_lpp_CellGlobalIdGERAN = -1;
964 static gint ett_lpp_T_plmn_Identity_01 = -1;
965 static gint ett_lpp_T_mcc_01 = -1;
966 static gint ett_lpp_T_mnc_01 = -1;
967 static gint ett_lpp_ECGI = -1;
968 static gint ett_lpp_T_mcc_02 = -1;
969 static gint ett_lpp_T_mnc_02 = -1;
970 static gint ett_lpp_Ellipsoid_Point = -1;
971 static gint ett_lpp_Ellipsoid_PointWithUncertaintyCircle = -1;
972 static gint ett_lpp_EllipsoidPointWithUncertaintyEllipse = -1;
973 static gint ett_lpp_EllipsoidPointWithAltitude = -1;
974 static gint ett_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid = -1;
975 static gint ett_lpp_EllipsoidArc = -1;
976 static gint ett_lpp_EPDU_Sequence = -1;
977 static gint ett_lpp_EPDU = -1;
978 static gint ett_lpp_EPDU_Identifier = -1;
979 static gint ett_lpp_HorizontalVelocity = -1;
980 static gint ett_lpp_HorizontalWithVerticalVelocity = -1;
981 static gint ett_lpp_HorizontalVelocityWithUncertainty = -1;
982 static gint ett_lpp_HorizontalWithVerticalVelocityAndUncertainty = -1;
983 static gint ett_lpp_LocationCoordinateTypes = -1;
984 static gint ett_lpp_Polygon = -1;
985 static gint ett_lpp_PolygonPoints = -1;
986 static gint ett_lpp_PositioningModes = -1;
987 static gint ett_lpp_T_posModes = -1;
988 static gint ett_lpp_VelocityTypes = -1;
989 static gint ett_lpp_CommonIEsRequestCapabilities = -1;
990 static gint ett_lpp_CommonIEsProvideCapabilities = -1;
991 static gint ett_lpp_CommonIEsRequestAssistanceData = -1;
992 static gint ett_lpp_CommonIEsProvideAssistanceData = -1;
993 static gint ett_lpp_CommonIEsRequestLocationInformation = -1;
994 static gint ett_lpp_PeriodicalReportingCriteria = -1;
995 static gint ett_lpp_TriggeredReportingCriteria = -1;
996 static gint ett_lpp_QoS = -1;
997 static gint ett_lpp_HorizontalAccuracy = -1;
998 static gint ett_lpp_VerticalAccuracy = -1;
999 static gint ett_lpp_ResponseTime = -1;
1000 static gint ett_lpp_CommonIEsProvideLocationInformation = -1;
1001 static gint ett_lpp_LocationCoordinates = -1;
1002 static gint ett_lpp_Velocity = -1;
1003 static gint ett_lpp_LocationError = -1;
1004 static gint ett_lpp_CommonIEsAbort = -1;
1005 static gint ett_lpp_CommonIEsError = -1;
1006 static gint ett_lpp_OTDOA_ProvideAssistanceData = -1;
1007 static gint ett_lpp_OTDOA_ReferenceCellInfo = -1;
1008 static gint ett_lpp_PRS_Info = -1;
1009 static gint ett_lpp_T_prs_MutingInfo_r9 = -1;
1010 static gint ett_lpp_OTDOA_NeighbourCellInfoList = -1;
1011 static gint ett_lpp_OTDOA_NeighbourFreqInfo = -1;
1012 static gint ett_lpp_OTDOA_NeighbourCellInfoElement = -1;
1013 static gint ett_lpp_OTDOA_RequestAssistanceData = -1;
1014 static gint ett_lpp_OTDOA_ProvideLocationInformation = -1;
1015 static gint ett_lpp_OTDOA_SignalMeasurementInformation = -1;
1016 static gint ett_lpp_NeighbourMeasurementList = -1;
1017 static gint ett_lpp_NeighbourMeasurementElement = -1;
1018 static gint ett_lpp_OTDOA_MeasQuality = -1;
1019 static gint ett_lpp_OTDOA_RequestLocationInformation = -1;
1020 static gint ett_lpp_OTDOA_ProvideCapabilities = -1;
1021 static gint ett_lpp_T_otdoa_Mode = -1;
1022 static gint ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA = -1;
1023 static gint ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0 = -1;
1024 static gint ett_lpp_SupportedBandEUTRA = -1;
1025 static gint ett_lpp_SupportedBandEUTRA_v9a0 = -1;
1026 static gint ett_lpp_OTDOA_RequestCapabilities = -1;
1027 static gint ett_lpp_OTDOA_Error = -1;
1028 static gint ett_lpp_OTDOA_LocationServerErrorCauses = -1;
1029 static gint ett_lpp_OTDOA_TargetDeviceErrorCauses = -1;
1030 static gint ett_lpp_A_GNSS_ProvideAssistanceData = -1;
1031 static gint ett_lpp_GNSS_CommonAssistData = -1;
1032 static gint ett_lpp_GNSS_GenericAssistData = -1;
1033 static gint ett_lpp_GNSS_GenericAssistDataElement = -1;
1034 static gint ett_lpp_GNSS_ReferenceTime = -1;
1035 static gint ett_lpp_SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell = -1;
1036 static gint ett_lpp_GNSS_ReferenceTimeForOneCell = -1;
1037 static gint ett_lpp_GNSS_SystemTime = -1;
1038 static gint ett_lpp_GPS_TOW_Assist = -1;
1039 static gint ett_lpp_GPS_TOW_AssistElement = -1;
1040 static gint ett_lpp_NetworkTime = -1;
1041 static gint ett_lpp_T_cellID = -1;
1042 static gint ett_lpp_T_eUTRA = -1;
1043 static gint ett_lpp_T_uTRA = -1;
1044 static gint ett_lpp_T_mode = -1;
1045 static gint ett_lpp_T_fdd = -1;
1046 static gint ett_lpp_T_tdd = -1;
1047 static gint ett_lpp_T_gSM = -1;
1048 static gint ett_lpp_GNSS_ReferenceLocation = -1;
1049 static gint ett_lpp_GNSS_IonosphericModel = -1;
1050 static gint ett_lpp_KlobucharModelParameter = -1;
1051 static gint ett_lpp_NeQuickModelParameter = -1;
1052 static gint ett_lpp_GNSS_EarthOrientationParameters = -1;
1053 static gint ett_lpp_GNSS_TimeModelList = -1;
1054 static gint ett_lpp_GNSS_TimeModelElement = -1;
1055 static gint ett_lpp_GNSS_DifferentialCorrections = -1;
1056 static gint ett_lpp_DGNSS_SgnTypeList = -1;
1057 static gint ett_lpp_DGNSS_SgnTypeElement = -1;
1058 static gint ett_lpp_DGNSS_SatList = -1;
1059 static gint ett_lpp_DGNSS_CorrectionsElement = -1;
1060 static gint ett_lpp_GNSS_NavigationModel = -1;
1061 static gint ett_lpp_GNSS_NavModelSatelliteList = -1;
1062 static gint ett_lpp_GNSS_NavModelSatelliteElement = -1;
1063 static gint ett_lpp_GNSS_ClockModel = -1;
1064 static gint ett_lpp_GNSS_OrbitModel = -1;
1065 static gint ett_lpp_StandardClockModelList = -1;
1066 static gint ett_lpp_StandardClockModelElement = -1;
1067 static gint ett_lpp_NAV_ClockModel = -1;
1068 static gint ett_lpp_CNAV_ClockModel = -1;
1069 static gint ett_lpp_GLONASS_ClockModel = -1;
1070 static gint ett_lpp_SBAS_ClockModel = -1;
1071 static gint ett_lpp_NavModelKeplerianSet = -1;
1072 static gint ett_lpp_NavModelNAV_KeplerianSet = -1;
1073 static gint ett_lpp_T_addNAVparam = -1;
1074 static gint ett_lpp_T_ephemSF1Rsvd = -1;
1075 static gint ett_lpp_NavModelCNAV_KeplerianSet = -1;
1076 static gint ett_lpp_NavModel_GLONASS_ECEF = -1;
1077 static gint ett_lpp_NavModel_SBAS_ECEF = -1;
1078 static gint ett_lpp_GNSS_RealTimeIntegrity = -1;
1079 static gint ett_lpp_GNSS_BadSignalList = -1;
1080 static gint ett_lpp_BadSignalElement = -1;
1081 static gint ett_lpp_GNSS_DataBitAssistance = -1;
1082 static gint ett_lpp_GNSS_DataBitsSatList = -1;
1083 static gint ett_lpp_GNSS_DataBitsSatElement = -1;
1084 static gint ett_lpp_GNSS_DataBitsSgnList = -1;
1085 static gint ett_lpp_GNSS_DataBitsSgnElement = -1;
1086 static gint ett_lpp_GNSS_AcquisitionAssistance = -1;
1087 static gint ett_lpp_GNSS_AcquisitionAssistList = -1;
1088 static gint ett_lpp_GNSS_AcquisitionAssistElement = -1;
1089 static gint ett_lpp_GNSS_Almanac = -1;
1090 static gint ett_lpp_GNSS_AlmanacList = -1;
1091 static gint ett_lpp_GNSS_AlmanacElement = -1;
1092 static gint ett_lpp_AlmanacKeplerianSet = -1;
1093 static gint ett_lpp_AlmanacNAV_KeplerianSet = -1;
1094 static gint ett_lpp_AlmanacReducedKeplerianSet = -1;
1095 static gint ett_lpp_AlmanacMidiAlmanacSet = -1;
1096 static gint ett_lpp_AlmanacGLONASS_AlmanacSet = -1;
1097 static gint ett_lpp_AlmanacECEF_SBAS_AlmanacSet = -1;
1098 static gint ett_lpp_GNSS_UTC_Model = -1;
1099 static gint ett_lpp_UTC_ModelSet1 = -1;
1100 static gint ett_lpp_UTC_ModelSet2 = -1;
1101 static gint ett_lpp_UTC_ModelSet3 = -1;
1102 static gint ett_lpp_UTC_ModelSet4 = -1;
1103 static gint ett_lpp_GNSS_AuxiliaryInformation = -1;
1104 static gint ett_lpp_GNSS_ID_GPS = -1;
1105 static gint ett_lpp_GNSS_ID_GPS_SatElement = -1;
1106 static gint ett_lpp_GNSS_ID_GLONASS = -1;
1107 static gint ett_lpp_GNSS_ID_GLONASS_SatElement = -1;
1108 static gint ett_lpp_A_GNSS_RequestAssistanceData = -1;
1109 static gint ett_lpp_GNSS_CommonAssistDataReq = -1;
1110 static gint ett_lpp_GNSS_GenericAssistDataReq = -1;
1111 static gint ett_lpp_GNSS_GenericAssistDataReqElement = -1;
1112 static gint ett_lpp_GNSS_ReferenceTimeReq = -1;
1113 static gint ett_lpp_SEQUENCE_SIZE_1_8_OF_GNSS_ID = -1;
1114 static gint ett_lpp_GNSS_ReferenceLocationReq = -1;
1115 static gint ett_lpp_GNSS_IonosphericModelReq = -1;
1116 static gint ett_lpp_GNSS_EarthOrientationParametersReq = -1;
1117 static gint ett_lpp_GNSS_TimeModelListReq = -1;
1118 static gint ett_lpp_GNSS_TimeModelElementReq = -1;
1119 static gint ett_lpp_GNSS_DifferentialCorrectionsReq = -1;
1120 static gint ett_lpp_GNSS_NavigationModelReq = -1;
1121 static gint ett_lpp_StoredNavListInfo = -1;
1122 static gint ett_lpp_SatListRelatedDataList = -1;
1123 static gint ett_lpp_SatListRelatedDataElement = -1;
1124 static gint ett_lpp_ReqNavListInfo = -1;
1125 static gint ett_lpp_T_clockModelID_PrefList = -1;
1126 static gint ett_lpp_T_orbitModelID_PrefList = -1;
1127 static gint ett_lpp_GNSS_RealTimeIntegrityReq = -1;
1128 static gint ett_lpp_GNSS_DataBitAssistanceReq = -1;
1129 static gint ett_lpp_GNSS_DataBitsReqSatList = -1;
1130 static gint ett_lpp_GNSS_DataBitsReqSatElement = -1;
1131 static gint ett_lpp_GNSS_AcquisitionAssistanceReq = -1;
1132 static gint ett_lpp_GNSS_AlmanacReq = -1;
1133 static gint ett_lpp_GNSS_UTC_ModelReq = -1;
1134 static gint ett_lpp_GNSS_AuxiliaryInformationReq = -1;
1135 static gint ett_lpp_A_GNSS_ProvideLocationInformation = -1;
1136 static gint ett_lpp_GNSS_SignalMeasurementInformation = -1;
1137 static gint ett_lpp_MeasurementReferenceTime = -1;
1138 static gint ett_lpp_T_networkTime = -1;
1139 static gint ett_lpp_T_eUTRA_01 = -1;
1140 static gint ett_lpp_T_uTRA_01 = -1;
1141 static gint ett_lpp_T_mode_01 = -1;
1142 static gint ett_lpp_T_fdd_01 = -1;
1143 static gint ett_lpp_T_tdd_01 = -1;
1144 static gint ett_lpp_T_gSM_01 = -1;
1145 static gint ett_lpp_T_referenceFrame = -1;
1146 static gint ett_lpp_GNSS_MeasurementList = -1;
1147 static gint ett_lpp_GNSS_MeasurementForOneGNSS = -1;
1148 static gint ett_lpp_GNSS_SgnMeasList = -1;
1149 static gint ett_lpp_GNSS_SgnMeasElement = -1;
1150 static gint ett_lpp_GNSS_SatMeasList = -1;
1151 static gint ett_lpp_GNSS_SatMeasElement = -1;
1152 static gint ett_lpp_GNSS_LocationInformation = -1;
1153 static gint ett_lpp_A_GNSS_RequestLocationInformation = -1;
1154 static gint ett_lpp_GNSS_PositioningInstructions = -1;
1155 static gint ett_lpp_A_GNSS_ProvideCapabilities = -1;
1156 static gint ett_lpp_GNSS_SupportList = -1;
1157 static gint ett_lpp_GNSS_SupportElement = -1;
1158 static gint ett_lpp_T_fta_MeasSupport = -1;
1159 static gint ett_lpp_AssistanceDataSupportList = -1;
1160 static gint ett_lpp_GNSS_CommonAssistanceDataSupport = -1;
1161 static gint ett_lpp_GNSS_ReferenceTimeSupport = -1;
1162 static gint ett_lpp_GNSS_ReferenceLocationSupport = -1;
1163 static gint ett_lpp_GNSS_IonosphericModelSupport = -1;
1164 static gint ett_lpp_T_ionoModel = -1;
1165 static gint ett_lpp_GNSS_EarthOrientationParametersSupport = -1;
1166 static gint ett_lpp_GNSS_GenericAssistanceDataSupport = -1;
1167 static gint ett_lpp_GNSS_GenericAssistDataSupportElement = -1;
1168 static gint ett_lpp_GNSS_TimeModelListSupport = -1;
1169 static gint ett_lpp_GNSS_DifferentialCorrectionsSupport = -1;
1170 static gint ett_lpp_GNSS_NavigationModelSupport = -1;
1171 static gint ett_lpp_T_clockModel = -1;
1172 static gint ett_lpp_T_orbitModel = -1;
1173 static gint ett_lpp_GNSS_RealTimeIntegritySupport = -1;
1174 static gint ett_lpp_GNSS_DataBitAssistanceSupport = -1;
1175 static gint ett_lpp_GNSS_AcquisitionAssistanceSupport = -1;
1176 static gint ett_lpp_GNSS_AlmanacSupport = -1;
1177 static gint ett_lpp_T_almanacModel = -1;
1178 static gint ett_lpp_GNSS_UTC_ModelSupport = -1;
1179 static gint ett_lpp_T_utc_Model = -1;
1180 static gint ett_lpp_GNSS_AuxiliaryInformationSupport = -1;
1181 static gint ett_lpp_A_GNSS_RequestCapabilities = -1;
1182 static gint ett_lpp_A_GNSS_Error = -1;
1183 static gint ett_lpp_GNSS_LocationServerErrorCauses = -1;
1184 static gint ett_lpp_GNSS_TargetDeviceErrorCauses = -1;
1185 static gint ett_lpp_GNSS_ID = -1;
1186 static gint ett_lpp_GNSS_ID_Bitmap = -1;
1187 static gint ett_lpp_T_gnss_ids = -1;
1188 static gint ett_lpp_GNSS_SignalID = -1;
1189 static gint ett_lpp_GNSS_SignalIDs = -1;
1190 static gint ett_lpp_SBAS_ID = -1;
1191 static gint ett_lpp_SBAS_IDs = -1;
1192 static gint ett_lpp_T_sbas_IDs = -1;
1193 static gint ett_lpp_SV_ID = -1;
1194 static gint ett_lpp_ECID_ProvideLocationInformation = -1;
1195 static gint ett_lpp_ECID_SignalMeasurementInformation = -1;
1196 static gint ett_lpp_MeasuredResultsList = -1;
1197 static gint ett_lpp_MeasuredResultsElement = -1;
1198 static gint ett_lpp_ECID_RequestLocationInformation = -1;
1199 static gint ett_lpp_T_requestedMeasurements = -1;
1200 static gint ett_lpp_ECID_ProvideCapabilities = -1;
1201 static gint ett_lpp_T_ecid_MeasSupported = -1;
1202 static gint ett_lpp_ECID_RequestCapabilities = -1;
1203 static gint ett_lpp_ECID_Error = -1;
1204 static gint ett_lpp_ECID_LocationServerErrorCauses = -1;
1205 static gint ett_lpp_ECID_TargetDeviceErrorCauses = -1;
1207 /*--- End of included file: packet-lpp-ett.c ---*/
1208 #line 58 "../../asn1/lpp/packet-lpp-template.c"
1210 /* Include constants */
1212 /*--- Included file: packet-lpp-val.h ---*/
1213 #line 1 "../../asn1/lpp/packet-lpp-val.h"
1214 #define maxEARFCN 65535
1215 #define maxEARFCN_Plus1 65536
1216 #define maxEARFCN2 262143
1217 #define maxEPDU 16
1218 #define maxFreqLayers 3
1219 #define maxBands 64
1220 #define maxFBI 64
1221 #define maxFBI_Plus1 65
1222 #define maxFBI2 256
1224 /*--- End of included file: packet-lpp-val.h ---*/
1225 #line 61 "../../asn1/lpp/packet-lpp-template.c"
1227 static const value_string lpp_ePDU_ID_vals[] = {
1228 { 1, "OMA LPP extensions (LPPe)"},
1229 { 0, NULL}
1233 /*--- Included file: packet-lpp-fn.c ---*/
1234 #line 1 "../../asn1/lpp/packet-lpp-fn.c"
1236 static const value_string lpp_Initiator_vals[] = {
1237 { 0, "locationServer" },
1238 { 1, "targetDevice" },
1239 { 0, NULL }
1243 static int
1244 dissect_lpp_Initiator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1245 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1246 2, NULL, TRUE, 0, NULL);
1248 return offset;
1253 static int
1254 dissect_lpp_TransactionNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1255 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1256 0U, 255U, NULL, FALSE);
1258 return offset;
1262 static const per_sequence_t LPP_TransactionID_sequence[] = {
1263 { &hf_lpp_initiator , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_Initiator },
1264 { &hf_lpp_transactionNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_TransactionNumber },
1265 { NULL, 0, 0, NULL }
1268 static int
1269 dissect_lpp_LPP_TransactionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1270 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1271 ett_lpp_LPP_TransactionID, LPP_TransactionID_sequence);
1273 return offset;
1278 static int
1279 dissect_lpp_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1280 offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
1282 return offset;
1287 static int
1288 dissect_lpp_SequenceNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1289 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1290 0U, 255U, NULL, FALSE);
1292 return offset;
1296 static const per_sequence_t Acknowledgement_sequence[] = {
1297 { &hf_lpp_ackRequested , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
1298 { &hf_lpp_ackIndicator , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SequenceNumber },
1299 { NULL, 0, 0, NULL }
1302 static int
1303 dissect_lpp_Acknowledgement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1304 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1305 ett_lpp_Acknowledgement, Acknowledgement_sequence);
1307 return offset;
1311 static const per_sequence_t CommonIEsRequestCapabilities_sequence[] = {
1312 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1315 static int
1316 dissect_lpp_CommonIEsRequestCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1317 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1318 ett_lpp_CommonIEsRequestCapabilities, CommonIEsRequestCapabilities_sequence);
1320 return offset;
1324 static const per_sequence_t A_GNSS_RequestCapabilities_sequence[] = {
1325 { &hf_lpp_gnss_SupportListReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
1326 { &hf_lpp_assistanceDataSupportListReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
1327 { &hf_lpp_locationVelocityTypesReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
1328 { NULL, 0, 0, NULL }
1331 static int
1332 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_) {
1333 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1334 ett_lpp_A_GNSS_RequestCapabilities, A_GNSS_RequestCapabilities_sequence);
1336 return offset;
1340 static const per_sequence_t OTDOA_RequestCapabilities_sequence[] = {
1341 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1344 static int
1345 dissect_lpp_OTDOA_RequestCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1346 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1347 ett_lpp_OTDOA_RequestCapabilities, OTDOA_RequestCapabilities_sequence);
1349 return offset;
1353 static const per_sequence_t ECID_RequestCapabilities_sequence[] = {
1354 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1357 static int
1358 dissect_lpp_ECID_RequestCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1359 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1360 ett_lpp_ECID_RequestCapabilities, ECID_RequestCapabilities_sequence);
1362 return offset;
1367 static int
1368 dissect_lpp_EPDU_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1369 #line 108 "../../asn1/lpp/lpp.cnf"
1370 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1371 1U, 256U, &lpp_epdu_id, FALSE);
1376 return offset;
1381 static int
1382 dissect_lpp_EPDU_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1383 offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
1384 1, 32, FALSE);
1386 return offset;
1390 static const per_sequence_t EPDU_Identifier_sequence[] = {
1391 { &hf_lpp_ePDU_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_EPDU_ID },
1392 { &hf_lpp_ePDU_Name , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Name },
1393 { NULL, 0, 0, NULL }
1396 static int
1397 dissect_lpp_EPDU_Identifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1398 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1399 ett_lpp_EPDU_Identifier, EPDU_Identifier_sequence);
1401 return offset;
1406 static int
1407 dissect_lpp_EPDU_Body(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1408 #line 114 "../../asn1/lpp/lpp.cnf"
1409 tvbuff_t *lppe_tvb = NULL;
1410 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1411 NO_BOUND, NO_BOUND, FALSE, &lppe_tvb);
1413 switch(lpp_epdu_id){
1414 case 1:
1415 if (lppe_tvb && lppe_handle) {
1416 call_dissector(lppe_handle, lppe_tvb, actx->pinfo, tree);
1418 break;
1419 default:
1420 break;
1422 lpp_epdu_id = -1;
1426 return offset;
1430 static const per_sequence_t EPDU_sequence[] = {
1431 { &hf_lpp_ePDU_Identifier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_EPDU_Identifier },
1432 { &hf_lpp_ePDU_Body , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_EPDU_Body },
1433 { NULL, 0, 0, NULL }
1436 static int
1437 dissect_lpp_EPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1438 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1439 ett_lpp_EPDU, EPDU_sequence);
1441 return offset;
1445 static const per_sequence_t EPDU_Sequence_sequence_of[1] = {
1446 { &hf_lpp_EPDU_Sequence_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_EPDU },
1449 static int
1450 dissect_lpp_EPDU_Sequence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1451 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1452 ett_lpp_EPDU_Sequence, EPDU_Sequence_sequence_of,
1453 1, maxEPDU, FALSE);
1455 return offset;
1459 static const per_sequence_t RequestCapabilities_r9_IEs_sequence[] = {
1460 { &hf_lpp_commonIEsRequestCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsRequestCapabilities },
1461 { &hf_lpp_a_gnss_RequestCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_RequestCapabilities },
1462 { &hf_lpp_otdoa_RequestCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_RequestCapabilities },
1463 { &hf_lpp_ecid_RequestCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECID_RequestCapabilities },
1464 { &hf_lpp_epdu_RequestCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
1465 { NULL, 0, 0, NULL }
1468 static int
1469 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_) {
1470 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1471 ett_lpp_RequestCapabilities_r9_IEs, RequestCapabilities_r9_IEs_sequence);
1473 return offset;
1478 static int
1479 dissect_lpp_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1480 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
1482 return offset;
1486 static const value_string lpp_T_c1_01_vals[] = {
1487 { 0, "requestCapabilities-r9" },
1488 { 1, "spare3" },
1489 { 2, "spare2" },
1490 { 3, "spare1" },
1491 { 0, NULL }
1494 static const per_choice_t T_c1_01_choice[] = {
1495 { 0, &hf_lpp_requestCapabilities_r9, ASN1_NO_EXTENSIONS , dissect_lpp_RequestCapabilities_r9_IEs },
1496 { 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
1497 { 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
1498 { 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
1499 { 0, NULL, 0, NULL }
1502 static int
1503 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_) {
1504 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1505 ett_lpp_T_c1_01, T_c1_01_choice,
1506 NULL);
1508 return offset;
1512 static const per_sequence_t T_criticalExtensionsFuture_sequence[] = {
1513 { NULL, 0, 0, NULL }
1516 static int
1517 dissect_lpp_T_criticalExtensionsFuture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1518 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1519 ett_lpp_T_criticalExtensionsFuture, T_criticalExtensionsFuture_sequence);
1521 return offset;
1525 static const value_string lpp_T_criticalExtensions_vals[] = {
1526 { 0, "c1" },
1527 { 1, "criticalExtensionsFuture" },
1528 { 0, NULL }
1531 static const per_choice_t T_criticalExtensions_choice[] = {
1532 { 0, &hf_lpp_c1_01 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_01 },
1533 { 1, &hf_lpp_criticalExtensionsFuture, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture },
1534 { 0, NULL, 0, NULL }
1537 static int
1538 dissect_lpp_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1539 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1540 ett_lpp_T_criticalExtensions, T_criticalExtensions_choice,
1541 NULL);
1543 return offset;
1547 static const per_sequence_t RequestCapabilities_sequence[] = {
1548 { &hf_lpp_criticalExtensions, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions },
1549 { NULL, 0, 0, NULL }
1552 static int
1553 dissect_lpp_RequestCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1554 #line 76 "../../asn1/lpp/lpp.cnf"
1556 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Request Capabilities");
1559 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1560 ett_lpp_RequestCapabilities, RequestCapabilities_sequence);
1562 return offset;
1566 static const per_sequence_t CommonIEsProvideCapabilities_sequence[] = {
1567 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1570 static int
1571 dissect_lpp_CommonIEsProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1572 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1573 ett_lpp_CommonIEsProvideCapabilities, CommonIEsProvideCapabilities_sequence);
1575 return offset;
1579 static const value_string lpp_T_gnss_id_vals[] = {
1580 { 0, "gps" },
1581 { 1, "sbas" },
1582 { 2, "qzss" },
1583 { 3, "galileo" },
1584 { 4, "glonass" },
1585 { 0, NULL }
1589 static int
1590 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_) {
1591 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1592 5, NULL, TRUE, 0, NULL);
1594 return offset;
1598 static const per_sequence_t GNSS_ID_sequence[] = {
1599 { &hf_lpp_gnss_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_gnss_id },
1600 { NULL, 0, 0, NULL }
1604 dissect_lpp_GNSS_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1605 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1606 ett_lpp_GNSS_ID, GNSS_ID_sequence);
1608 return offset;
1613 static int
1614 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_) {
1615 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1616 1, 8, FALSE, NULL);
1618 return offset;
1622 static const per_sequence_t SBAS_IDs_sequence[] = {
1623 { &hf_lpp_sbas_IDs_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_sbas_IDs },
1624 { NULL, 0, 0, NULL }
1627 static int
1628 dissect_lpp_SBAS_IDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1629 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1630 ett_lpp_SBAS_IDs, SBAS_IDs_sequence);
1632 return offset;
1637 static int
1638 dissect_lpp_T_posModes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1639 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1640 1, 8, FALSE, NULL);
1642 return offset;
1646 static const per_sequence_t PositioningModes_sequence[] = {
1647 { &hf_lpp_posModes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_posModes },
1648 { NULL, 0, 0, NULL }
1651 static int
1652 dissect_lpp_PositioningModes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1653 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1654 ett_lpp_PositioningModes, PositioningModes_sequence);
1656 return offset;
1661 static int
1662 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_) {
1663 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1664 8, 8, FALSE, NULL);
1666 return offset;
1670 static const per_sequence_t GNSS_SignalIDs_sequence[] = {
1671 { &hf_lpp_gnss_SignalIDs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_8 },
1672 { NULL, 0, 0, NULL }
1676 dissect_lpp_GNSS_SignalIDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1677 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1678 ett_lpp_GNSS_SignalIDs, GNSS_SignalIDs_sequence);
1680 return offset;
1685 static int
1686 dissect_lpp_T_accessTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1687 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1688 1, 8, FALSE, NULL);
1690 return offset;
1694 static const per_sequence_t AccessTypes_sequence[] = {
1695 { &hf_lpp_accessTypes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_accessTypes },
1696 { NULL, 0, 0, NULL }
1699 static int
1700 dissect_lpp_AccessTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1701 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1702 ett_lpp_AccessTypes, AccessTypes_sequence);
1704 return offset;
1708 static const per_sequence_t T_fta_MeasSupport_sequence[] = {
1709 { &hf_lpp_cellTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_AccessTypes },
1710 { &hf_lpp_mode_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_PositioningModes },
1711 { NULL, 0, 0, NULL }
1714 static int
1715 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_) {
1716 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1717 ett_lpp_T_fta_MeasSupport, T_fta_MeasSupport_sequence);
1719 return offset;
1723 static const per_sequence_t GNSS_SupportElement_sequence[] = {
1724 { &hf_lpp_gnss_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
1725 { &hf_lpp_sbas_IDs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SBAS_IDs },
1726 { &hf_lpp_agnss_Modes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_PositioningModes },
1727 { &hf_lpp_gnss_Signals , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
1728 { &hf_lpp_fta_MeasSupport , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_fta_MeasSupport },
1729 { &hf_lpp_adr_Support , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
1730 { &hf_lpp_velocityMeasurementSupport, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
1731 { NULL, 0, 0, NULL }
1734 static int
1735 dissect_lpp_GNSS_SupportElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1736 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1737 ett_lpp_GNSS_SupportElement, GNSS_SupportElement_sequence);
1739 return offset;
1743 static const per_sequence_t GNSS_SupportList_sequence_of[1] = {
1744 { &hf_lpp_GNSS_SupportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SupportElement },
1747 static int
1748 dissect_lpp_GNSS_SupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1749 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1750 ett_lpp_GNSS_SupportList, GNSS_SupportList_sequence_of,
1751 1, 16, FALSE);
1753 return offset;
1758 static int
1759 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_) {
1760 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1761 1, 16, FALSE, NULL);
1763 return offset;
1767 static const per_sequence_t GNSS_ID_Bitmap_sequence[] = {
1768 { &hf_lpp_gnss_ids , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_gnss_ids },
1769 { NULL, 0, 0, NULL }
1773 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_) {
1774 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1775 ett_lpp_GNSS_ID_Bitmap, GNSS_ID_Bitmap_sequence);
1777 return offset;
1781 static const per_sequence_t GNSS_ReferenceTimeSupport_sequence[] = {
1782 { &hf_lpp_gnss_SystemTime_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID_Bitmap },
1783 { &hf_lpp_fta_Support , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AccessTypes },
1784 { NULL, 0, 0, NULL }
1787 static int
1788 dissect_lpp_GNSS_ReferenceTimeSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1789 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1790 ett_lpp_GNSS_ReferenceTimeSupport, GNSS_ReferenceTimeSupport_sequence);
1792 return offset;
1796 static const per_sequence_t GNSS_ReferenceLocationSupport_sequence[] = {
1797 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1800 static int
1801 dissect_lpp_GNSS_ReferenceLocationSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1802 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1803 ett_lpp_GNSS_ReferenceLocationSupport, GNSS_ReferenceLocationSupport_sequence);
1805 return offset;
1810 static int
1811 dissect_lpp_T_ionoModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1812 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1813 1, 8, FALSE, NULL);
1815 return offset;
1819 static const per_sequence_t GNSS_IonosphericModelSupport_sequence[] = {
1820 { &hf_lpp_ionoModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_ionoModel },
1821 { NULL, 0, 0, NULL }
1824 static int
1825 dissect_lpp_GNSS_IonosphericModelSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1826 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1827 ett_lpp_GNSS_IonosphericModelSupport, GNSS_IonosphericModelSupport_sequence);
1829 return offset;
1833 static const per_sequence_t GNSS_EarthOrientationParametersSupport_sequence[] = {
1834 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1837 static int
1838 dissect_lpp_GNSS_EarthOrientationParametersSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1839 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1840 ett_lpp_GNSS_EarthOrientationParametersSupport, GNSS_EarthOrientationParametersSupport_sequence);
1842 return offset;
1846 static const per_sequence_t GNSS_CommonAssistanceDataSupport_sequence[] = {
1847 { &hf_lpp_gnss_ReferenceTimeSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceTimeSupport },
1848 { &hf_lpp_gnss_ReferenceLocationSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceLocationSupport },
1849 { &hf_lpp_gnss_IonosphericModelSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_IonosphericModelSupport },
1850 { &hf_lpp_gnss_EarthOrientationParametersSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_EarthOrientationParametersSupport },
1851 { NULL, 0, 0, NULL }
1854 static int
1855 dissect_lpp_GNSS_CommonAssistanceDataSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1856 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1857 ett_lpp_GNSS_CommonAssistanceDataSupport, GNSS_CommonAssistanceDataSupport_sequence);
1859 return offset;
1863 static const value_string lpp_T_sbas_id_vals[] = {
1864 { 0, "waas" },
1865 { 1, "egnos" },
1866 { 2, "msas" },
1867 { 3, "gagan" },
1868 { 0, NULL }
1872 static int
1873 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_) {
1874 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1875 4, NULL, TRUE, 0, NULL);
1877 return offset;
1881 static const per_sequence_t SBAS_ID_sequence[] = {
1882 { &hf_lpp_sbas_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_sbas_id },
1883 { NULL, 0, 0, NULL }
1886 static int
1887 dissect_lpp_SBAS_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1888 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1889 ett_lpp_SBAS_ID, SBAS_ID_sequence);
1891 return offset;
1895 static const per_sequence_t GNSS_TimeModelListSupport_sequence[] = {
1896 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1899 static int
1900 dissect_lpp_GNSS_TimeModelListSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1901 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1902 ett_lpp_GNSS_TimeModelListSupport, GNSS_TimeModelListSupport_sequence);
1904 return offset;
1908 static const per_sequence_t GNSS_DifferentialCorrectionsSupport_sequence[] = {
1909 { &hf_lpp_gnssSignalIDs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
1910 { &hf_lpp_dgnss_ValidityTimeSup, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
1911 { NULL, 0, 0, NULL }
1914 static int
1915 dissect_lpp_GNSS_DifferentialCorrectionsSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1916 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1917 ett_lpp_GNSS_DifferentialCorrectionsSupport, GNSS_DifferentialCorrectionsSupport_sequence);
1919 return offset;
1924 static int
1925 dissect_lpp_T_clockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1926 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1927 1, 8, FALSE, NULL);
1929 return offset;
1934 static int
1935 dissect_lpp_T_orbitModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1936 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1937 1, 8, FALSE, NULL);
1939 return offset;
1943 static const per_sequence_t GNSS_NavigationModelSupport_sequence[] = {
1944 { &hf_lpp_clockModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_clockModel },
1945 { &hf_lpp_orbitModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_orbitModel },
1946 { NULL, 0, 0, NULL }
1949 static int
1950 dissect_lpp_GNSS_NavigationModelSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1951 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1952 ett_lpp_GNSS_NavigationModelSupport, GNSS_NavigationModelSupport_sequence);
1954 return offset;
1958 static const per_sequence_t GNSS_RealTimeIntegritySupport_sequence[] = {
1959 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1962 static int
1963 dissect_lpp_GNSS_RealTimeIntegritySupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1964 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1965 ett_lpp_GNSS_RealTimeIntegritySupport, GNSS_RealTimeIntegritySupport_sequence);
1967 return offset;
1971 static const per_sequence_t GNSS_DataBitAssistanceSupport_sequence[] = {
1972 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1975 static int
1976 dissect_lpp_GNSS_DataBitAssistanceSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1977 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1978 ett_lpp_GNSS_DataBitAssistanceSupport, GNSS_DataBitAssistanceSupport_sequence);
1980 return offset;
1984 static const value_string lpp_T_confidenceSupport_r10_vals[] = {
1985 { 0, "true" },
1986 { 0, NULL }
1990 static int
1991 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_) {
1992 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1993 1, NULL, FALSE, 0, NULL);
1995 return offset;
1999 static const value_string lpp_T_dopplerUncertaintyExtSupport_r10_vals[] = {
2000 { 0, "true" },
2001 { 0, NULL }
2005 static int
2006 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_) {
2007 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2008 1, NULL, FALSE, 0, NULL);
2010 return offset;
2014 static const per_sequence_t GNSS_AcquisitionAssistanceSupport_sequence[] = {
2015 { &hf_lpp_confidenceSupport_r10, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_confidenceSupport_r10 },
2016 { &hf_lpp_dopplerUncertaintyExtSupport_r10, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_dopplerUncertaintyExtSupport_r10 },
2017 { NULL, 0, 0, NULL }
2020 static int
2021 dissect_lpp_GNSS_AcquisitionAssistanceSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2022 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2023 ett_lpp_GNSS_AcquisitionAssistanceSupport, GNSS_AcquisitionAssistanceSupport_sequence);
2025 return offset;
2030 static int
2031 dissect_lpp_T_almanacModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2032 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2033 1, 8, FALSE, NULL);
2035 return offset;
2039 static const per_sequence_t GNSS_AlmanacSupport_sequence[] = {
2040 { &hf_lpp_almanacModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_almanacModel },
2041 { NULL, 0, 0, NULL }
2044 static int
2045 dissect_lpp_GNSS_AlmanacSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2046 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2047 ett_lpp_GNSS_AlmanacSupport, GNSS_AlmanacSupport_sequence);
2049 return offset;
2054 static int
2055 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_) {
2056 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2057 1, 8, FALSE, NULL);
2059 return offset;
2063 static const per_sequence_t GNSS_UTC_ModelSupport_sequence[] = {
2064 { &hf_lpp_utc_Model , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_utc_Model },
2065 { NULL, 0, 0, NULL }
2068 static int
2069 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_) {
2070 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2071 ett_lpp_GNSS_UTC_ModelSupport, GNSS_UTC_ModelSupport_sequence);
2073 return offset;
2077 static const per_sequence_t GNSS_AuxiliaryInformationSupport_sequence[] = {
2078 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
2081 static int
2082 dissect_lpp_GNSS_AuxiliaryInformationSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2083 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2084 ett_lpp_GNSS_AuxiliaryInformationSupport, GNSS_AuxiliaryInformationSupport_sequence);
2086 return offset;
2090 static const per_sequence_t GNSS_GenericAssistDataSupportElement_sequence[] = {
2091 { &hf_lpp_gnss_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
2092 { &hf_lpp_sbas_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SBAS_ID },
2093 { &hf_lpp_gnss_TimeModelsSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_TimeModelListSupport },
2094 { &hf_lpp_gnss_DifferentialCorrectionsSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DifferentialCorrectionsSupport },
2095 { &hf_lpp_gnss_NavigationModelSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_NavigationModelSupport },
2096 { &hf_lpp_gnss_RealTimeIntegritySupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_RealTimeIntegritySupport },
2097 { &hf_lpp_gnss_DataBitAssistanceSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DataBitAssistanceSupport },
2098 { &hf_lpp_gnss_AcquisitionAssistanceSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AcquisitionAssistanceSupport },
2099 { &hf_lpp_gnss_AlmanacSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AlmanacSupport },
2100 { &hf_lpp_gnss_UTC_ModelSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_UTC_ModelSupport },
2101 { &hf_lpp_gnss_AuxiliaryInformationSupport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AuxiliaryInformationSupport },
2102 { NULL, 0, 0, NULL }
2105 static int
2106 dissect_lpp_GNSS_GenericAssistDataSupportElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2107 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2108 ett_lpp_GNSS_GenericAssistDataSupportElement, GNSS_GenericAssistDataSupportElement_sequence);
2110 return offset;
2114 static const per_sequence_t GNSS_GenericAssistanceDataSupport_sequence_of[1] = {
2115 { &hf_lpp_GNSS_GenericAssistanceDataSupport_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataSupportElement },
2118 static int
2119 dissect_lpp_GNSS_GenericAssistanceDataSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2120 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2121 ett_lpp_GNSS_GenericAssistanceDataSupport, GNSS_GenericAssistanceDataSupport_sequence_of,
2122 1, 16, FALSE);
2124 return offset;
2128 static const per_sequence_t AssistanceDataSupportList_sequence[] = {
2129 { &hf_lpp_gnss_CommonAssistanceDataSupport, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_CommonAssistanceDataSupport },
2130 { &hf_lpp_gnss_GenericAssistanceDataSupport, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistanceDataSupport },
2131 { NULL, 0, 0, NULL }
2134 static int
2135 dissect_lpp_AssistanceDataSupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2136 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2137 ett_lpp_AssistanceDataSupportList, AssistanceDataSupportList_sequence);
2139 return offset;
2143 static const per_sequence_t LocationCoordinateTypes_sequence[] = {
2144 { &hf_lpp_ellipsoidPoint , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2145 { &hf_lpp_ellipsoidPointWithUncertaintyCircle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2146 { &hf_lpp_ellipsoidPointWithUncertaintyEllipse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2147 { &hf_lpp_polygon , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2148 { &hf_lpp_ellipsoidPointWithAltitude, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2149 { &hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2150 { &hf_lpp_ellipsoidArc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2151 { NULL, 0, 0, NULL }
2154 static int
2155 dissect_lpp_LocationCoordinateTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2156 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2157 ett_lpp_LocationCoordinateTypes, LocationCoordinateTypes_sequence);
2159 return offset;
2163 static const per_sequence_t VelocityTypes_sequence[] = {
2164 { &hf_lpp_horizontalVelocity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2165 { &hf_lpp_horizontalWithVerticalVelocity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2166 { &hf_lpp_horizontalVelocityWithUncertainty, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2167 { &hf_lpp_horizontalWithVerticalVelocityAndUncertainty, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2168 { NULL, 0, 0, NULL }
2171 static int
2172 dissect_lpp_VelocityTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2173 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2174 ett_lpp_VelocityTypes, VelocityTypes_sequence);
2176 return offset;
2180 static const per_sequence_t A_GNSS_ProvideCapabilities_sequence[] = {
2181 { &hf_lpp_gnss_SupportList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_SupportList },
2182 { &hf_lpp_assistanceDataSupportList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AssistanceDataSupportList },
2183 { &hf_lpp_locationCoordinateTypes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationCoordinateTypes },
2184 { &hf_lpp_velocityTypes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_VelocityTypes },
2185 { NULL, 0, 0, NULL }
2188 static int
2189 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_) {
2190 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2191 ett_lpp_A_GNSS_ProvideCapabilities, A_GNSS_ProvideCapabilities_sequence);
2193 return offset;
2198 static int
2199 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_) {
2200 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2201 1, 8, FALSE, NULL);
2203 return offset;
2208 static int
2209 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_) {
2210 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2211 1U, maxFBI, NULL, FALSE);
2213 return offset;
2217 static const per_sequence_t SupportedBandEUTRA_sequence[] = {
2218 { &hf_lpp_bandEUTRA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_maxFBI },
2219 { NULL, 0, 0, NULL }
2222 static int
2223 dissect_lpp_SupportedBandEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2224 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2225 ett_lpp_SupportedBandEUTRA, SupportedBandEUTRA_sequence);
2227 return offset;
2231 static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_sequence_of[1] = {
2232 { &hf_lpp_supportedBandListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SupportedBandEUTRA },
2235 static int
2236 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_) {
2237 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2238 ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA, SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_sequence_of,
2239 1, maxBands, FALSE);
2241 return offset;
2246 static int
2247 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_) {
2248 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2249 maxFBI_Plus1, maxFBI2, NULL, FALSE);
2251 return offset;
2255 static const per_sequence_t SupportedBandEUTRA_v9a0_sequence[] = {
2256 { &hf_lpp_bandEUTRA_v9a0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_maxFBI_Plus1_maxFBI2 },
2257 { NULL, 0, 0, NULL }
2260 static int
2261 dissect_lpp_SupportedBandEUTRA_v9a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2262 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2263 ett_lpp_SupportedBandEUTRA_v9a0, SupportedBandEUTRA_v9a0_sequence);
2265 return offset;
2269 static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0_sequence_of[1] = {
2270 { &hf_lpp_supportedBandListEUTRA_v9a0_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SupportedBandEUTRA_v9a0 },
2273 static int
2274 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_) {
2275 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2276 ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0, SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0_sequence_of,
2277 1, maxBands, FALSE);
2279 return offset;
2283 static const per_sequence_t OTDOA_ProvideCapabilities_sequence[] = {
2284 { &hf_lpp_otdoa_Mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_otdoa_Mode },
2285 { &hf_lpp_supportedBandListEUTRA, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA },
2286 { &hf_lpp_supportedBandListEUTRA_v9a0, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0 },
2287 { NULL, 0, 0, NULL }
2290 static int
2291 dissect_lpp_OTDOA_ProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2292 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2293 ett_lpp_OTDOA_ProvideCapabilities, OTDOA_ProvideCapabilities_sequence);
2295 return offset;
2300 static int
2301 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_) {
2302 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2303 1, 8, FALSE, NULL);
2305 return offset;
2309 static const per_sequence_t ECID_ProvideCapabilities_sequence[] = {
2310 { &hf_lpp_ecid_MeasSupported, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_ecid_MeasSupported },
2311 { NULL, 0, 0, NULL }
2314 static int
2315 dissect_lpp_ECID_ProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2316 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2317 ett_lpp_ECID_ProvideCapabilities, ECID_ProvideCapabilities_sequence);
2319 return offset;
2323 static const per_sequence_t ProvideCapabilities_r9_IEs_sequence[] = {
2324 { &hf_lpp_commonIEsProvideCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsProvideCapabilities },
2325 { &hf_lpp_a_gnss_ProvideCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_ProvideCapabilities },
2326 { &hf_lpp_otdoa_ProvideCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_ProvideCapabilities },
2327 { &hf_lpp_ecid_ProvideCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECID_ProvideCapabilities },
2328 { &hf_lpp_epdu_ProvideCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
2329 { NULL, 0, 0, NULL }
2332 static int
2333 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_) {
2334 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2335 ett_lpp_ProvideCapabilities_r9_IEs, ProvideCapabilities_r9_IEs_sequence);
2337 return offset;
2341 static const value_string lpp_T_c1_02_vals[] = {
2342 { 0, "provideCapabilities-r9" },
2343 { 1, "spare3" },
2344 { 2, "spare2" },
2345 { 3, "spare1" },
2346 { 0, NULL }
2349 static const per_choice_t T_c1_02_choice[] = {
2350 { 0, &hf_lpp_provideCapabilities_r9, ASN1_NO_EXTENSIONS , dissect_lpp_ProvideCapabilities_r9_IEs },
2351 { 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
2352 { 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
2353 { 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
2354 { 0, NULL, 0, NULL }
2357 static int
2358 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_) {
2359 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2360 ett_lpp_T_c1_02, T_c1_02_choice,
2361 NULL);
2363 return offset;
2367 static const per_sequence_t T_criticalExtensionsFuture_01_sequence[] = {
2368 { NULL, 0, 0, NULL }
2371 static int
2372 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_) {
2373 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2374 ett_lpp_T_criticalExtensionsFuture_01, T_criticalExtensionsFuture_01_sequence);
2376 return offset;
2380 static const value_string lpp_T_criticalExtensions_01_vals[] = {
2381 { 0, "c1" },
2382 { 1, "criticalExtensionsFuture" },
2383 { 0, NULL }
2386 static const per_choice_t T_criticalExtensions_01_choice[] = {
2387 { 0, &hf_lpp_c1_02 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_02 },
2388 { 1, &hf_lpp_criticalExtensionsFuture_01, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_01 },
2389 { 0, NULL, 0, NULL }
2392 static int
2393 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_) {
2394 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2395 ett_lpp_T_criticalExtensions_01, T_criticalExtensions_01_choice,
2396 NULL);
2398 return offset;
2402 static const per_sequence_t ProvideCapabilities_sequence[] = {
2403 { &hf_lpp_criticalExtensions_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions_01 },
2404 { NULL, 0, 0, NULL }
2407 static int
2408 dissect_lpp_ProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2409 #line 80 "../../asn1/lpp/lpp.cnf"
2411 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Provide Capabilities");
2414 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2415 ett_lpp_ProvideCapabilities, ProvideCapabilities_sequence);
2417 return offset;
2422 static int
2423 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_) {
2424 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2425 0U, 9U, NULL, FALSE);
2427 return offset;
2431 static const per_sequence_t T_mcc_02_sequence_of[1] = {
2432 { &hf_lpp_mcc_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
2435 static int
2436 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_) {
2437 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2438 ett_lpp_T_mcc_02, T_mcc_02_sequence_of,
2439 3, 3, FALSE);
2441 return offset;
2445 static const per_sequence_t T_mnc_02_sequence_of[1] = {
2446 { &hf_lpp_mnc_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
2449 static int
2450 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_) {
2451 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2452 ett_lpp_T_mnc_02, T_mnc_02_sequence_of,
2453 2, 3, FALSE);
2455 return offset;
2460 static int
2461 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_) {
2462 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2463 28, 28, FALSE, NULL);
2465 return offset;
2469 static const per_sequence_t ECGI_sequence[] = {
2470 { &hf_lpp_mcc_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mcc_02 },
2471 { &hf_lpp_mnc_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mnc_02 },
2472 { &hf_lpp_cellidentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_28 },
2473 { NULL, 0, 0, NULL }
2476 static int
2477 dissect_lpp_ECGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2478 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2479 ett_lpp_ECGI, ECGI_sequence);
2481 return offset;
2485 static const per_sequence_t CommonIEsRequestAssistanceData_sequence[] = {
2486 { &hf_lpp_primaryCellID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
2487 { NULL, 0, 0, NULL }
2490 static int
2491 dissect_lpp_CommonIEsRequestAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2492 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2493 ett_lpp_CommonIEsRequestAssistanceData, CommonIEsRequestAssistanceData_sequence);
2495 return offset;
2499 static const per_sequence_t SEQUENCE_SIZE_1_8_OF_GNSS_ID_sequence_of[1] = {
2500 { &hf_lpp_gnss_TimeReqPrefList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
2503 static int
2504 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_) {
2505 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2506 ett_lpp_SEQUENCE_SIZE_1_8_OF_GNSS_ID, SEQUENCE_SIZE_1_8_OF_GNSS_ID_sequence_of,
2507 1, 8, FALSE);
2509 return offset;
2513 static const per_sequence_t GNSS_ReferenceTimeReq_sequence[] = {
2514 { &hf_lpp_gnss_TimeReqPrefList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_8_OF_GNSS_ID },
2515 { &hf_lpp_gps_TOW_assistReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
2516 { &hf_lpp_notOfLeapSecReq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
2517 { NULL, 0, 0, NULL }
2520 static int
2521 dissect_lpp_GNSS_ReferenceTimeReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2522 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2523 ett_lpp_GNSS_ReferenceTimeReq, GNSS_ReferenceTimeReq_sequence);
2525 return offset;
2529 static const per_sequence_t GNSS_ReferenceLocationReq_sequence[] = {
2530 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
2533 static int
2534 dissect_lpp_GNSS_ReferenceLocationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2535 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2536 ett_lpp_GNSS_ReferenceLocationReq, GNSS_ReferenceLocationReq_sequence);
2538 return offset;
2543 static int
2544 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_) {
2545 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2546 2, 2, FALSE, NULL);
2548 return offset;
2552 static const per_sequence_t GNSS_IonosphericModelReq_sequence[] = {
2553 { &hf_lpp_klobucharModelReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_2 },
2554 { &hf_lpp_neQuickModelReq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
2555 { NULL, 0, 0, NULL }
2558 static int
2559 dissect_lpp_GNSS_IonosphericModelReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2560 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2561 ett_lpp_GNSS_IonosphericModelReq, GNSS_IonosphericModelReq_sequence);
2563 return offset;
2567 static const per_sequence_t GNSS_EarthOrientationParametersReq_sequence[] = {
2568 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
2571 static int
2572 dissect_lpp_GNSS_EarthOrientationParametersReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2573 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2574 ett_lpp_GNSS_EarthOrientationParametersReq, GNSS_EarthOrientationParametersReq_sequence);
2576 return offset;
2580 static const per_sequence_t GNSS_CommonAssistDataReq_sequence[] = {
2581 { &hf_lpp_gnss_ReferenceTimeReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceTimeReq },
2582 { &hf_lpp_gnss_ReferenceLocationReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceLocationReq },
2583 { &hf_lpp_gnss_IonosphericModelReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_IonosphericModelReq },
2584 { &hf_lpp_gnss_EarthOrientationParametersReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_EarthOrientationParametersReq },
2585 { NULL, 0, 0, NULL }
2588 static int
2589 dissect_lpp_GNSS_CommonAssistDataReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2590 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2591 ett_lpp_GNSS_CommonAssistDataReq, GNSS_CommonAssistDataReq_sequence);
2593 return offset;
2598 static int
2599 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_) {
2600 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2601 1U, 15U, NULL, FALSE);
2603 return offset;
2607 static const per_sequence_t GNSS_TimeModelElementReq_sequence[] = {
2608 { &hf_lpp_gnss_TO_IDsReq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_15 },
2609 { &hf_lpp_deltaTreq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2610 { NULL, 0, 0, NULL }
2613 static int
2614 dissect_lpp_GNSS_TimeModelElementReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2615 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2616 ett_lpp_GNSS_TimeModelElementReq, GNSS_TimeModelElementReq_sequence);
2618 return offset;
2622 static const per_sequence_t GNSS_TimeModelListReq_sequence_of[1] = {
2623 { &hf_lpp_GNSS_TimeModelListReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_TimeModelElementReq },
2626 static int
2627 dissect_lpp_GNSS_TimeModelListReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2628 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2629 ett_lpp_GNSS_TimeModelListReq, GNSS_TimeModelListReq_sequence_of,
2630 1, 15, FALSE);
2632 return offset;
2636 static const per_sequence_t GNSS_DifferentialCorrectionsReq_sequence[] = {
2637 { &hf_lpp_dgnss_SignalsReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
2638 { &hf_lpp_dgnss_ValidityTimeReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
2639 { NULL, 0, 0, NULL }
2642 static int
2643 dissect_lpp_GNSS_DifferentialCorrectionsReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2644 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2645 ett_lpp_GNSS_DifferentialCorrectionsReq, GNSS_DifferentialCorrectionsReq_sequence);
2647 return offset;
2652 static int
2653 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_) {
2654 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2655 0U, 4095U, NULL, FALSE);
2657 return offset;
2662 static int
2663 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_) {
2664 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2665 0U, 255U, NULL, FALSE);
2667 return offset;
2672 static int
2673 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_) {
2674 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2675 0U, 15U, NULL, FALSE);
2677 return offset;
2682 static int
2683 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_) {
2684 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2685 0U, 63U, NULL, FALSE);
2687 return offset;
2691 static const per_sequence_t SV_ID_sequence[] = {
2692 { &hf_lpp_satellite_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
2693 { NULL, 0, 0, NULL }
2697 dissect_lpp_SV_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2698 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2699 ett_lpp_SV_ID, SV_ID_sequence);
2701 return offset;
2706 static int
2707 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_) {
2708 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2709 11, 11, FALSE, NULL);
2711 return offset;
2716 static int
2717 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_) {
2718 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2719 1U, 8U, NULL, FALSE);
2721 return offset;
2725 static const per_sequence_t SatListRelatedDataElement_sequence[] = {
2726 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
2727 { &hf_lpp_iod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_11 },
2728 { &hf_lpp_clockModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_8 },
2729 { &hf_lpp_orbitModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_8 },
2730 { NULL, 0, 0, NULL }
2733 static int
2734 dissect_lpp_SatListRelatedDataElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2735 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2736 ett_lpp_SatListRelatedDataElement, SatListRelatedDataElement_sequence);
2738 return offset;
2742 static const per_sequence_t SatListRelatedDataList_sequence_of[1] = {
2743 { &hf_lpp_SatListRelatedDataList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_SatListRelatedDataElement },
2746 static int
2747 dissect_lpp_SatListRelatedDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2748 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2749 ett_lpp_SatListRelatedDataList, SatListRelatedDataList_sequence_of,
2750 1, 64, FALSE);
2752 return offset;
2756 static const per_sequence_t StoredNavListInfo_sequence[] = {
2757 { &hf_lpp_gnss_WeekOrDay , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4095 },
2758 { &hf_lpp_gnss_Toe , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
2759 { &hf_lpp_t_toeLimit , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
2760 { &hf_lpp_satListRelatedDataList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SatListRelatedDataList },
2761 { NULL, 0, 0, NULL }
2764 static int
2765 dissect_lpp_StoredNavListInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2766 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2767 ett_lpp_StoredNavListInfo, StoredNavListInfo_sequence);
2769 return offset;
2774 static int
2775 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_) {
2776 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2777 64, 64, FALSE, NULL);
2779 return offset;
2783 static const per_sequence_t T_clockModelID_PrefList_sequence_of[1] = {
2784 { &hf_lpp_clockModelID_PrefList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_8 },
2787 static int
2788 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_) {
2789 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2790 ett_lpp_T_clockModelID_PrefList, T_clockModelID_PrefList_sequence_of,
2791 1, 8, FALSE);
2793 return offset;
2797 static const per_sequence_t T_orbitModelID_PrefList_sequence_of[1] = {
2798 { &hf_lpp_orbitModelID_PrefList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_8 },
2801 static int
2802 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_) {
2803 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2804 ett_lpp_T_orbitModelID_PrefList, T_orbitModelID_PrefList_sequence_of,
2805 1, 8, FALSE);
2807 return offset;
2811 static const per_sequence_t ReqNavListInfo_sequence[] = {
2812 { &hf_lpp_svReqList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_64 },
2813 { &hf_lpp_clockModelID_PrefList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_clockModelID_PrefList },
2814 { &hf_lpp_orbitModelID_PrefList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_orbitModelID_PrefList },
2815 { &hf_lpp_addNavparamReq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
2816 { NULL, 0, 0, NULL }
2819 static int
2820 dissect_lpp_ReqNavListInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2821 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2822 ett_lpp_ReqNavListInfo, ReqNavListInfo_sequence);
2824 return offset;
2828 static const value_string lpp_GNSS_NavigationModelReq_vals[] = {
2829 { 0, "storedNavList" },
2830 { 1, "reqNavList" },
2831 { 0, NULL }
2834 static const per_choice_t GNSS_NavigationModelReq_choice[] = {
2835 { 0, &hf_lpp_storedNavList , ASN1_EXTENSION_ROOT , dissect_lpp_StoredNavListInfo },
2836 { 1, &hf_lpp_reqNavList , ASN1_EXTENSION_ROOT , dissect_lpp_ReqNavListInfo },
2837 { 0, NULL, 0, NULL }
2840 static int
2841 dissect_lpp_GNSS_NavigationModelReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2842 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2843 ett_lpp_GNSS_NavigationModelReq, GNSS_NavigationModelReq_choice,
2844 NULL);
2846 return offset;
2850 static const per_sequence_t GNSS_RealTimeIntegrityReq_sequence[] = {
2851 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
2854 static int
2855 dissect_lpp_GNSS_RealTimeIntegrityReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2856 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2857 ett_lpp_GNSS_RealTimeIntegrityReq, GNSS_RealTimeIntegrityReq_sequence);
2859 return offset;
2864 static int
2865 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_) {
2866 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2867 0U, 3599U, NULL, FALSE);
2869 return offset;
2874 static int
2875 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_) {
2876 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2877 0U, 999U, NULL, FALSE);
2879 return offset;
2883 static const per_sequence_t GNSS_DataBitsReqSatElement_sequence[] = {
2884 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
2885 { NULL, 0, 0, NULL }
2888 static int
2889 dissect_lpp_GNSS_DataBitsReqSatElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2890 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2891 ett_lpp_GNSS_DataBitsReqSatElement, GNSS_DataBitsReqSatElement_sequence);
2893 return offset;
2897 static const per_sequence_t GNSS_DataBitsReqSatList_sequence_of[1] = {
2898 { &hf_lpp_GNSS_DataBitsReqSatList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_DataBitsReqSatElement },
2901 static int
2902 dissect_lpp_GNSS_DataBitsReqSatList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2903 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2904 ett_lpp_GNSS_DataBitsReqSatList, GNSS_DataBitsReqSatList_sequence_of,
2905 1, 64, FALSE);
2907 return offset;
2911 static const per_sequence_t GNSS_DataBitAssistanceReq_sequence[] = {
2912 { &hf_lpp_gnss_TOD_Req , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3599 },
2913 { &hf_lpp_gnss_TOD_FracReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_999 },
2914 { &hf_lpp_dataBitInterval , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
2915 { &hf_lpp_gnss_SignalType_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
2916 { &hf_lpp_gnss_DataBitsReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DataBitsReqSatList },
2917 { NULL, 0, 0, NULL }
2920 static int
2921 dissect_lpp_GNSS_DataBitAssistanceReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2922 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2923 ett_lpp_GNSS_DataBitAssistanceReq, GNSS_DataBitAssistanceReq_sequence);
2925 return offset;
2930 static int
2931 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_) {
2932 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2933 0U, 7U, NULL, FALSE);
2935 return offset;
2939 static const per_sequence_t GNSS_SignalID_sequence[] = {
2940 { &hf_lpp_gnss_SignalID_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_7 },
2941 { NULL, 0, 0, NULL }
2945 dissect_lpp_GNSS_SignalID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2946 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2947 ett_lpp_GNSS_SignalID, GNSS_SignalID_sequence);
2949 return offset;
2953 static const per_sequence_t GNSS_AcquisitionAssistanceReq_sequence[] = {
2954 { &hf_lpp_gnss_SignalID_Req, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
2955 { NULL, 0, 0, NULL }
2958 static int
2959 dissect_lpp_GNSS_AcquisitionAssistanceReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2960 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2961 ett_lpp_GNSS_AcquisitionAssistanceReq, GNSS_AcquisitionAssistanceReq_sequence);
2963 return offset;
2967 static const per_sequence_t GNSS_AlmanacReq_sequence[] = {
2968 { &hf_lpp_modelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_8 },
2969 { NULL, 0, 0, NULL }
2972 static int
2973 dissect_lpp_GNSS_AlmanacReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2974 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2975 ett_lpp_GNSS_AlmanacReq, GNSS_AlmanacReq_sequence);
2977 return offset;
2981 static const per_sequence_t GNSS_UTC_ModelReq_sequence[] = {
2982 { &hf_lpp_modelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_8 },
2983 { NULL, 0, 0, NULL }
2986 static int
2987 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_) {
2988 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2989 ett_lpp_GNSS_UTC_ModelReq, GNSS_UTC_ModelReq_sequence);
2991 return offset;
2995 static const per_sequence_t GNSS_AuxiliaryInformationReq_sequence[] = {
2996 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
2999 static int
3000 dissect_lpp_GNSS_AuxiliaryInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3001 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3002 ett_lpp_GNSS_AuxiliaryInformationReq, GNSS_AuxiliaryInformationReq_sequence);
3004 return offset;
3008 static const per_sequence_t GNSS_GenericAssistDataReqElement_sequence[] = {
3009 { &hf_lpp_gnss_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
3010 { &hf_lpp_sbas_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SBAS_ID },
3011 { &hf_lpp_gnss_TimeModelsReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_TimeModelListReq },
3012 { &hf_lpp_gnss_DifferentialCorrectionsReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DifferentialCorrectionsReq },
3013 { &hf_lpp_gnss_NavigationModelReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_NavigationModelReq },
3014 { &hf_lpp_gnss_RealTimeIntegrityReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_RealTimeIntegrityReq },
3015 { &hf_lpp_gnss_DataBitAssistanceReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DataBitAssistanceReq },
3016 { &hf_lpp_gnss_AcquisitionAssistanceReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AcquisitionAssistanceReq },
3017 { &hf_lpp_gnss_AlmanacReq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AlmanacReq },
3018 { &hf_lpp_gnss_UTCModelReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_UTC_ModelReq },
3019 { &hf_lpp_gnss_AuxiliaryInformationReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AuxiliaryInformationReq },
3020 { NULL, 0, 0, NULL }
3023 static int
3024 dissect_lpp_GNSS_GenericAssistDataReqElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3025 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3026 ett_lpp_GNSS_GenericAssistDataReqElement, GNSS_GenericAssistDataReqElement_sequence);
3028 return offset;
3032 static const per_sequence_t GNSS_GenericAssistDataReq_sequence_of[1] = {
3033 { &hf_lpp_GNSS_GenericAssistDataReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataReqElement },
3036 static int
3037 dissect_lpp_GNSS_GenericAssistDataReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3038 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3039 ett_lpp_GNSS_GenericAssistDataReq, GNSS_GenericAssistDataReq_sequence_of,
3040 1, 16, FALSE);
3042 return offset;
3046 static const per_sequence_t A_GNSS_RequestAssistanceData_sequence[] = {
3047 { &hf_lpp_gnss_CommonAssistDataReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_CommonAssistDataReq },
3048 { &hf_lpp_gnss_GenericAssistDataReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_GenericAssistDataReq },
3049 { NULL, 0, 0, NULL }
3052 static int
3053 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_) {
3054 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3055 ett_lpp_A_GNSS_RequestAssistanceData, A_GNSS_RequestAssistanceData_sequence);
3057 return offset;
3062 static int
3063 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_) {
3064 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3065 0U, 503U, NULL, FALSE);
3067 return offset;
3071 static const per_sequence_t OTDOA_RequestAssistanceData_sequence[] = {
3072 { &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
3073 { NULL, 0, 0, NULL }
3076 static int
3077 dissect_lpp_OTDOA_RequestAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3078 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3079 ett_lpp_OTDOA_RequestAssistanceData, OTDOA_RequestAssistanceData_sequence);
3081 return offset;
3085 static const per_sequence_t RequestAssistanceData_r9_IEs_sequence[] = {
3086 { &hf_lpp_commonIEsRequestAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsRequestAssistanceData },
3087 { &hf_lpp_a_gnss_RequestAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_RequestAssistanceData },
3088 { &hf_lpp_otdoa_RequestAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_RequestAssistanceData },
3089 { &hf_lpp_epdu_RequestAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
3090 { NULL, 0, 0, NULL }
3093 static int
3094 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_) {
3095 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3096 ett_lpp_RequestAssistanceData_r9_IEs, RequestAssistanceData_r9_IEs_sequence);
3098 return offset;
3102 static const value_string lpp_T_c1_03_vals[] = {
3103 { 0, "requestAssistanceData-r9" },
3104 { 1, "spare3" },
3105 { 2, "spare2" },
3106 { 3, "spare1" },
3107 { 0, NULL }
3110 static const per_choice_t T_c1_03_choice[] = {
3111 { 0, &hf_lpp_requestAssistanceData_r9, ASN1_NO_EXTENSIONS , dissect_lpp_RequestAssistanceData_r9_IEs },
3112 { 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
3113 { 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
3114 { 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
3115 { 0, NULL, 0, NULL }
3118 static int
3119 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_) {
3120 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3121 ett_lpp_T_c1_03, T_c1_03_choice,
3122 NULL);
3124 return offset;
3128 static const per_sequence_t T_criticalExtensionsFuture_02_sequence[] = {
3129 { NULL, 0, 0, NULL }
3132 static int
3133 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_) {
3134 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3135 ett_lpp_T_criticalExtensionsFuture_02, T_criticalExtensionsFuture_02_sequence);
3137 return offset;
3141 static const value_string lpp_T_criticalExtensions_02_vals[] = {
3142 { 0, "c1" },
3143 { 1, "criticalExtensionsFuture" },
3144 { 0, NULL }
3147 static const per_choice_t T_criticalExtensions_02_choice[] = {
3148 { 0, &hf_lpp_c1_03 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_03 },
3149 { 1, &hf_lpp_criticalExtensionsFuture_02, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_02 },
3150 { 0, NULL, 0, NULL }
3153 static int
3154 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_) {
3155 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3156 ett_lpp_T_criticalExtensions_02, T_criticalExtensions_02_choice,
3157 NULL);
3159 return offset;
3163 static const per_sequence_t RequestAssistanceData_sequence[] = {
3164 { &hf_lpp_criticalExtensions_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions_02 },
3165 { NULL, 0, 0, NULL }
3168 static int
3169 dissect_lpp_RequestAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3170 #line 84 "../../asn1/lpp/lpp.cnf"
3172 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Request Assistance Data");
3175 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3176 ett_lpp_RequestAssistanceData, RequestAssistanceData_sequence);
3178 return offset;
3182 static const per_sequence_t CommonIEsProvideAssistanceData_sequence[] = {
3183 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
3186 static int
3187 dissect_lpp_CommonIEsProvideAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3188 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3189 ett_lpp_CommonIEsProvideAssistanceData, CommonIEsProvideAssistanceData_sequence);
3191 return offset;
3196 static int
3197 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_) {
3198 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3199 0U, 32767U, NULL, FALSE);
3201 return offset;
3206 static int
3207 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_) {
3208 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3209 0U, 86399U, NULL, FALSE);
3211 return offset;
3216 static int
3217 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_) {
3218 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3219 1U, 64U, NULL, FALSE);
3221 return offset;
3226 static int
3227 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_) {
3228 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3229 0U, 16383U, NULL, FALSE);
3231 return offset;
3236 static int
3237 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_) {
3238 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3239 0U, 1U, NULL, FALSE);
3241 return offset;
3246 static int
3247 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_) {
3248 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3249 0U, 3U, NULL, FALSE);
3251 return offset;
3255 static const per_sequence_t GPS_TOW_AssistElement_sequence[] = {
3256 { &hf_lpp_satelliteID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_64 },
3257 { &hf_lpp_tlmWord , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 },
3258 { &hf_lpp_antiSpoof , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
3259 { &hf_lpp_alert , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
3260 { &hf_lpp_tlmRsvdBits , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
3261 { NULL, 0, 0, NULL }
3264 static int
3265 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_) {
3266 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3267 ett_lpp_GPS_TOW_AssistElement, GPS_TOW_AssistElement_sequence);
3269 return offset;
3273 static const per_sequence_t GPS_TOW_Assist_sequence_of[1] = {
3274 { &hf_lpp_GPS_TOW_Assist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GPS_TOW_AssistElement },
3277 static int
3278 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_) {
3279 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3280 ett_lpp_GPS_TOW_Assist, GPS_TOW_Assist_sequence_of,
3281 1, 64, FALSE);
3283 return offset;
3287 static const per_sequence_t GNSS_SystemTime_sequence[] = {
3288 { &hf_lpp_gnss_TimeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
3289 { &hf_lpp_gnss_DayNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_32767 },
3290 { &hf_lpp_gnss_TimeOfDay , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_86399 },
3291 { &hf_lpp_gnss_TimeOfDayFrac_msec, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_999 },
3292 { &hf_lpp_notificationOfLeapSecond, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_2 },
3293 { &hf_lpp_gps_TOW_Assist , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GPS_TOW_Assist },
3294 { NULL, 0, 0, NULL }
3298 dissect_lpp_GNSS_SystemTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3299 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3300 ett_lpp_GNSS_SystemTime, GNSS_SystemTime_sequence);
3302 return offset;
3307 static int
3308 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_) {
3309 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3310 0U, 127U, NULL, FALSE);
3312 return offset;
3317 static int
3318 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_) {
3319 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3320 0U, 12533U, NULL, FALSE);
3322 return offset;
3327 static int
3328 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_) {
3329 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3330 0U, 3999999U, NULL, FALSE);
3332 return offset;
3337 static int
3338 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_) {
3339 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3340 -64, 63U, NULL, FALSE);
3342 return offset;
3346 static const per_sequence_t T_mcc_sequence_of[1] = {
3347 { &hf_lpp_mcc_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
3350 static int
3351 dissect_lpp_T_mcc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3352 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3353 ett_lpp_T_mcc, T_mcc_sequence_of,
3354 3, 3, FALSE);
3356 return offset;
3360 static const per_sequence_t T_mnc_sequence_of[1] = {
3361 { &hf_lpp_mnc_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
3364 static int
3365 dissect_lpp_T_mnc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3366 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3367 ett_lpp_T_mnc, T_mnc_sequence_of,
3368 2, 3, FALSE);
3370 return offset;
3374 static const per_sequence_t T_plmn_Identity_sequence[] = {
3375 { &hf_lpp_mcc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mcc },
3376 { &hf_lpp_mnc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mnc },
3377 { NULL, 0, 0, NULL }
3380 static int
3381 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_) {
3382 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3383 ett_lpp_T_plmn_Identity, T_plmn_Identity_sequence);
3385 return offset;
3390 static int
3391 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_) {
3392 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3393 32, 32, FALSE, NULL);
3395 return offset;
3399 static const value_string lpp_T_cellIdentity_vals[] = {
3400 { 0, "eutra" },
3401 { 1, "utra" },
3402 { 0, NULL }
3405 static const per_choice_t T_cellIdentity_choice[] = {
3406 { 0, &hf_lpp_eutra , ASN1_NO_EXTENSIONS , dissect_lpp_BIT_STRING_SIZE_28 },
3407 { 1, &hf_lpp_utra , ASN1_NO_EXTENSIONS , dissect_lpp_BIT_STRING_SIZE_32 },
3408 { 0, NULL, 0, NULL }
3411 static int
3412 dissect_lpp_T_cellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3413 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3414 ett_lpp_T_cellIdentity, T_cellIdentity_choice,
3415 NULL);
3417 return offset;
3421 static const per_sequence_t CellGlobalIdEUTRA_AndUTRA_sequence[] = {
3422 { &hf_lpp_plmn_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_plmn_Identity },
3423 { &hf_lpp_cellIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cellIdentity },
3424 { NULL, 0, 0, NULL }
3428 dissect_lpp_CellGlobalIdEUTRA_AndUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3429 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3430 ett_lpp_CellGlobalIdEUTRA_AndUTRA, CellGlobalIdEUTRA_AndUTRA_sequence);
3432 return offset;
3438 dissect_lpp_ARFCN_ValueEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3439 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3440 0U, maxEARFCN, NULL, FALSE);
3442 return offset;
3447 static int
3448 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_) {
3449 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3450 maxEARFCN_Plus1, maxEARFCN2, NULL, FALSE);
3452 return offset;
3456 static const per_sequence_t T_eag_1_sequence[] = {
3457 { &hf_lpp_earfcn_v9a0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_v9a0 },
3458 { NULL, 0, 0, NULL }
3461 static int
3462 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_) {
3463 offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_sequence);
3465 return offset;
3469 static const per_sequence_t T_eUTRA_sequence[] = {
3470 { &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
3471 { &hf_lpp_cellGlobalIdEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA },
3472 { &hf_lpp_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueEUTRA },
3473 { &hf_lpp_dummy_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_T_eag_1 },
3474 { NULL, 0, 0, NULL }
3477 static int
3478 dissect_lpp_T_eUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3479 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3480 ett_lpp_T_eUTRA, T_eUTRA_sequence);
3482 return offset;
3487 static int
3488 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_) {
3489 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3490 0U, 511U, NULL, FALSE);
3492 return offset;
3496 static const per_sequence_t T_fdd_sequence[] = {
3497 { &hf_lpp_primary_CPICH_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
3498 { NULL, 0, 0, NULL }
3501 static int
3502 dissect_lpp_T_fdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3503 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3504 ett_lpp_T_fdd, T_fdd_sequence);
3506 return offset;
3510 static const per_sequence_t T_tdd_sequence[] = {
3511 { &hf_lpp_cellParameters , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
3512 { NULL, 0, 0, NULL }
3515 static int
3516 dissect_lpp_T_tdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3517 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3518 ett_lpp_T_tdd, T_tdd_sequence);
3520 return offset;
3524 static const value_string lpp_T_mode_vals[] = {
3525 { 0, "fdd" },
3526 { 1, "tdd" },
3527 { 0, NULL }
3530 static const per_choice_t T_mode_choice[] = {
3531 { 0, &hf_lpp_fdd , ASN1_NO_EXTENSIONS , dissect_lpp_T_fdd },
3532 { 1, &hf_lpp_tdd , ASN1_NO_EXTENSIONS , dissect_lpp_T_tdd },
3533 { 0, NULL, 0, NULL }
3536 static int
3537 dissect_lpp_T_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3538 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3539 ett_lpp_T_mode, T_mode_choice,
3540 NULL);
3542 return offset;
3548 dissect_lpp_ARFCN_ValueUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3549 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3550 0U, 16383U, NULL, FALSE);
3552 return offset;
3556 static const per_sequence_t T_uTRA_sequence[] = {
3557 { &hf_lpp_mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_mode },
3558 { &hf_lpp_cellGlobalIdUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA },
3559 { &hf_lpp_uarfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueUTRA },
3560 { NULL, 0, 0, NULL }
3563 static int
3564 dissect_lpp_T_uTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3565 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3566 ett_lpp_T_uTRA, T_uTRA_sequence);
3568 return offset;
3573 static int
3574 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_) {
3575 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3576 0U, 1023U, NULL, FALSE);
3578 return offset;
3582 static const per_sequence_t T_mcc_01_sequence_of[1] = {
3583 { &hf_lpp_mcc_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
3586 static int
3587 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_) {
3588 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3589 ett_lpp_T_mcc_01, T_mcc_01_sequence_of,
3590 3, 3, FALSE);
3592 return offset;
3596 static const per_sequence_t T_mnc_01_sequence_of[1] = {
3597 { &hf_lpp_mnc_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_9 },
3600 static int
3601 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_) {
3602 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3603 ett_lpp_T_mnc_01, T_mnc_01_sequence_of,
3604 2, 3, FALSE);
3606 return offset;
3610 static const per_sequence_t T_plmn_Identity_01_sequence[] = {
3611 { &hf_lpp_mcc_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mcc_01 },
3612 { &hf_lpp_mnc_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_mnc_01 },
3613 { NULL, 0, 0, NULL }
3616 static int
3617 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_) {
3618 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3619 ett_lpp_T_plmn_Identity_01, T_plmn_Identity_01_sequence);
3621 return offset;
3626 static int
3627 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_) {
3628 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3629 16, 16, FALSE, NULL);
3631 return offset;
3635 static const per_sequence_t CellGlobalIdGERAN_sequence[] = {
3636 { &hf_lpp_plmn_Identity_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_plmn_Identity_01 },
3637 { &hf_lpp_locationAreaCode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_16 },
3638 { &hf_lpp_cellIdentity_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_16 },
3639 { NULL, 0, 0, NULL }
3643 dissect_lpp_CellGlobalIdGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3644 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3645 ett_lpp_CellGlobalIdGERAN, CellGlobalIdGERAN_sequence);
3647 return offset;
3651 static const per_sequence_t T_gSM_sequence[] = {
3652 { &hf_lpp_bcchCarrier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
3653 { &hf_lpp_bsic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
3654 { &hf_lpp_cellGlobalIdGERAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdGERAN },
3655 { NULL, 0, 0, NULL }
3658 static int
3659 dissect_lpp_T_gSM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3660 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3661 ett_lpp_T_gSM, T_gSM_sequence);
3663 return offset;
3667 static const value_string lpp_T_cellID_vals[] = {
3668 { 0, "eUTRA" },
3669 { 1, "uTRA" },
3670 { 2, "gSM" },
3671 { 0, NULL }
3674 static const per_choice_t T_cellID_choice[] = {
3675 { 0, &hf_lpp_eUTRA , ASN1_EXTENSION_ROOT , dissect_lpp_T_eUTRA },
3676 { 1, &hf_lpp_uTRA , ASN1_EXTENSION_ROOT , dissect_lpp_T_uTRA },
3677 { 2, &hf_lpp_gSM , ASN1_EXTENSION_ROOT , dissect_lpp_T_gSM },
3678 { 0, NULL, 0, NULL }
3681 static int
3682 dissect_lpp_T_cellID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3683 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3684 ett_lpp_T_cellID, T_cellID_choice,
3685 NULL);
3687 return offset;
3691 static const per_sequence_t NetworkTime_sequence[] = {
3692 { &hf_lpp_secondsFromFrameStructureStart, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_12533 },
3693 { &hf_lpp_fractionalSecondsFromFrameStructureStart, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3999999 },
3694 { &hf_lpp_frameDrift , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M64_63 },
3695 { &hf_lpp_cellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cellID },
3696 { NULL, 0, 0, NULL }
3700 dissect_lpp_NetworkTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3701 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3702 ett_lpp_NetworkTime, NetworkTime_sequence);
3704 return offset;
3708 static const value_string lpp_T_bsAlign_vals[] = {
3709 { 0, "true" },
3710 { 0, NULL }
3714 static int
3715 dissect_lpp_T_bsAlign(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3716 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3717 1, NULL, FALSE, 0, NULL);
3719 return offset;
3723 static const per_sequence_t GNSS_ReferenceTimeForOneCell_sequence[] = {
3724 { &hf_lpp_networkTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NetworkTime },
3725 { &hf_lpp_referenceTimeUnc, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
3726 { &hf_lpp_bsAlign , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_bsAlign },
3727 { NULL, 0, 0, NULL }
3730 static int
3731 dissect_lpp_GNSS_ReferenceTimeForOneCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3732 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3733 ett_lpp_GNSS_ReferenceTimeForOneCell, GNSS_ReferenceTimeForOneCell_sequence);
3735 return offset;
3739 static const per_sequence_t SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell_sequence_of[1] = {
3740 { &hf_lpp_gnss_ReferenceTimeForCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ReferenceTimeForOneCell },
3743 static int
3744 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_) {
3745 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3746 ett_lpp_SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell, SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell_sequence_of,
3747 1, 16, FALSE);
3749 return offset;
3753 static const per_sequence_t GNSS_ReferenceTime_sequence[] = {
3754 { &hf_lpp_gnss_SystemTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SystemTime },
3755 { &hf_lpp_referenceTimeUnc, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
3756 { &hf_lpp_gnss_ReferenceTimeForCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell },
3757 { NULL, 0, 0, NULL }
3760 static int
3761 dissect_lpp_GNSS_ReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3762 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3763 ett_lpp_GNSS_ReferenceTime, GNSS_ReferenceTime_sequence);
3765 return offset;
3769 static const value_string lpp_T_latitudeSign_04_vals[] = {
3770 { 0, "north" },
3771 { 1, "south" },
3772 { 0, NULL }
3776 static int
3777 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_) {
3778 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3779 2, NULL, FALSE, 0, NULL);
3781 return offset;
3786 static int
3787 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_) {
3788 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3789 0U, 8388607U, NULL, FALSE);
3791 return offset;
3796 static int
3797 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_) {
3798 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3799 -8388608, 8388607U, NULL, FALSE);
3801 return offset;
3805 static const value_string lpp_T_altitudeDirection_01_vals[] = {
3806 { 0, "height" },
3807 { 1, "depth" },
3808 { 0, NULL }
3812 static int
3813 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_) {
3814 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3815 2, NULL, FALSE, 0, NULL);
3817 return offset;
3822 static int
3823 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_) {
3824 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3825 0U, 179U, NULL, FALSE);
3827 return offset;
3832 static int
3833 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_) {
3834 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3835 0U, 100U, NULL, FALSE);
3837 return offset;
3841 static const per_sequence_t EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_sequence[] = {
3842 { &hf_lpp_latitudeSign_04 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign_04 },
3843 { &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
3844 { &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
3845 { &hf_lpp_altitudeDirection_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_altitudeDirection_01 },
3846 { &hf_lpp_altitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_32767 },
3847 { &hf_lpp_uncertaintySemiMajor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
3848 { &hf_lpp_uncertaintySemiMinor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
3849 { &hf_lpp_orientationMajorAxis, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 },
3850 { &hf_lpp_uncertaintyAltitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
3851 { &hf_lpp_confidence , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
3852 { NULL, 0, 0, NULL }
3856 dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3857 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3858 ett_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_sequence);
3860 return offset;
3864 static const per_sequence_t GNSS_ReferenceLocation_sequence[] = {
3865 { &hf_lpp_threeDlocation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid },
3866 { NULL, 0, 0, NULL }
3869 static int
3870 dissect_lpp_GNSS_ReferenceLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3871 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3872 ett_lpp_GNSS_ReferenceLocation, GNSS_ReferenceLocation_sequence);
3874 return offset;
3879 static int
3880 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_) {
3881 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3882 -128, 127U, NULL, FALSE);
3884 return offset;
3888 static const per_sequence_t KlobucharModelParameter_sequence[] = {
3889 { &hf_lpp_dataID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_2 },
3890 { &hf_lpp_alfa0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
3891 { &hf_lpp_alfa1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
3892 { &hf_lpp_alfa2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
3893 { &hf_lpp_alfa3 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
3894 { &hf_lpp_beta0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
3895 { &hf_lpp_beta1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
3896 { &hf_lpp_beta2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
3897 { &hf_lpp_beta3 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
3898 { NULL, 0, 0, NULL }
3901 static int
3902 dissect_lpp_KlobucharModelParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3903 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3904 ett_lpp_KlobucharModelParameter, KlobucharModelParameter_sequence);
3906 return offset;
3910 static const per_sequence_t NeQuickModelParameter_sequence[] = {
3911 { &hf_lpp_ai0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4095 },
3912 { &hf_lpp_ai1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4095 },
3913 { &hf_lpp_ai2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4095 },
3914 { &hf_lpp_ionoStormFlag1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1 },
3915 { &hf_lpp_ionoStormFlag2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1 },
3916 { &hf_lpp_ionoStormFlag3 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1 },
3917 { &hf_lpp_ionoStormFlag4 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1 },
3918 { &hf_lpp_ionoStormFlag5 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1 },
3919 { NULL, 0, 0, NULL }
3922 static int
3923 dissect_lpp_NeQuickModelParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3924 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3925 ett_lpp_NeQuickModelParameter, NeQuickModelParameter_sequence);
3927 return offset;
3931 static const per_sequence_t GNSS_IonosphericModel_sequence[] = {
3932 { &hf_lpp_klobucharModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_KlobucharModelParameter },
3933 { &hf_lpp_neQuickModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NeQuickModelParameter },
3934 { NULL, 0, 0, NULL }
3937 static int
3938 dissect_lpp_GNSS_IonosphericModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3939 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3940 ett_lpp_GNSS_IonosphericModel, GNSS_IonosphericModel_sequence);
3942 return offset;
3947 static int
3948 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_) {
3949 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3950 0U, 65535U, NULL, FALSE);
3952 return offset;
3957 static int
3958 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_) {
3959 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3960 -1048576, 1048575U, NULL, FALSE);
3962 return offset;
3967 static int
3968 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_) {
3969 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3970 -16384, 16383U, NULL, FALSE);
3972 return offset;
3977 static int
3978 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_) {
3979 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3980 -1073741824, 1073741823U, NULL, FALSE);
3982 return offset;
3987 static int
3988 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_) {
3989 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3990 -262144, 262143U, NULL, FALSE);
3992 return offset;
3996 static const per_sequence_t GNSS_EarthOrientationParameters_sequence[] = {
3997 { &hf_lpp_teop , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
3998 { &hf_lpp_pmX , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
3999 { &hf_lpp_pmXdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
4000 { &hf_lpp_pmY , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
4001 { &hf_lpp_pmYdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
4002 { &hf_lpp_deltaUT1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1073741824_1073741823 },
4003 { &hf_lpp_deltaUT1dot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M262144_262143 },
4004 { NULL, 0, 0, NULL }
4007 static int
4008 dissect_lpp_GNSS_EarthOrientationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4009 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4010 ett_lpp_GNSS_EarthOrientationParameters, GNSS_EarthOrientationParameters_sequence);
4012 return offset;
4016 static const per_sequence_t GNSS_CommonAssistData_sequence[] = {
4017 { &hf_lpp_gnss_ReferenceTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceTime },
4018 { &hf_lpp_gnss_ReferenceLocation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_ReferenceLocation },
4019 { &hf_lpp_gnss_IonosphericModel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_IonosphericModel },
4020 { &hf_lpp_gnss_EarthOrientationParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_EarthOrientationParameters },
4021 { NULL, 0, 0, NULL }
4024 static int
4025 dissect_lpp_GNSS_CommonAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4026 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4027 ett_lpp_GNSS_CommonAssistData, GNSS_CommonAssistData_sequence);
4029 return offset;
4034 static int
4035 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_) {
4036 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4037 -67108864, 67108863U, NULL, FALSE);
4039 return offset;
4044 static int
4045 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_) {
4046 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4047 -4096, 4095U, NULL, FALSE);
4049 return offset;
4054 static int
4055 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_) {
4056 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4057 0U, 8191U, NULL, FALSE);
4059 return offset;
4063 static const per_sequence_t GNSS_TimeModelElement_sequence[] = {
4064 { &hf_lpp_gnss_TimeModelRefTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
4065 { &hf_lpp_tA0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M67108864_67108863 },
4066 { &hf_lpp_tA1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
4067 { &hf_lpp_tA2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M64_63 },
4068 { &hf_lpp_gnss_TO_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_15 },
4069 { &hf_lpp_weekNumber , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_8191 },
4070 { &hf_lpp_deltaT , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M128_127 },
4071 { NULL, 0, 0, NULL }
4074 static int
4075 dissect_lpp_GNSS_TimeModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4076 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4077 ett_lpp_GNSS_TimeModelElement, GNSS_TimeModelElement_sequence);
4079 return offset;
4083 static const per_sequence_t GNSS_TimeModelList_sequence_of[1] = {
4084 { &hf_lpp_GNSS_TimeModelList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_TimeModelElement },
4087 static int
4088 dissect_lpp_GNSS_TimeModelList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4089 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4090 ett_lpp_GNSS_TimeModelList, GNSS_TimeModelList_sequence_of,
4091 1, 15, FALSE);
4093 return offset;
4098 static int
4099 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_) {
4100 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4101 -2047, 2047U, NULL, FALSE);
4103 return offset;
4108 static int
4109 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_) {
4110 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4111 -127, 127U, NULL, FALSE);
4113 return offset;
4117 static const per_sequence_t DGNSS_CorrectionsElement_sequence[] = {
4118 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
4119 { &hf_lpp_iod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_11 },
4120 { &hf_lpp_udre , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
4121 { &hf_lpp_pseudoRangeCor , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2047_2047 },
4122 { &hf_lpp_rangeRateCor , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M127_127 },
4123 { &hf_lpp_udreGrowthRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_7 },
4124 { &hf_lpp_udreValidityTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_7 },
4125 { NULL, 0, 0, NULL }
4128 static int
4129 dissect_lpp_DGNSS_CorrectionsElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4130 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4131 ett_lpp_DGNSS_CorrectionsElement, DGNSS_CorrectionsElement_sequence);
4133 return offset;
4137 static const per_sequence_t DGNSS_SatList_sequence_of[1] = {
4138 { &hf_lpp_DGNSS_SatList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DGNSS_CorrectionsElement },
4141 static int
4142 dissect_lpp_DGNSS_SatList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4143 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4144 ett_lpp_DGNSS_SatList, DGNSS_SatList_sequence_of,
4145 1, 64, FALSE);
4147 return offset;
4151 static const per_sequence_t DGNSS_SgnTypeElement_sequence[] = {
4152 { &hf_lpp_gnss_SignalID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
4153 { &hf_lpp_gnss_StatusHealth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_7 },
4154 { &hf_lpp_dgnss_SatList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_DGNSS_SatList },
4155 { NULL, 0, 0, NULL }
4158 static int
4159 dissect_lpp_DGNSS_SgnTypeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4160 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4161 ett_lpp_DGNSS_SgnTypeElement, DGNSS_SgnTypeElement_sequence);
4163 return offset;
4167 static const per_sequence_t DGNSS_SgnTypeList_sequence_of[1] = {
4168 { &hf_lpp_DGNSS_SgnTypeList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_DGNSS_SgnTypeElement },
4171 static int
4172 dissect_lpp_DGNSS_SgnTypeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4173 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4174 ett_lpp_DGNSS_SgnTypeList, DGNSS_SgnTypeList_sequence_of,
4175 1, 3, FALSE);
4177 return offset;
4181 static const per_sequence_t GNSS_DifferentialCorrections_sequence[] = {
4182 { &hf_lpp_dgnss_RefTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3599 },
4183 { &hf_lpp_dgnss_SgnTypeList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_DGNSS_SgnTypeList },
4184 { NULL, 0, 0, NULL }
4187 static int
4188 dissect_lpp_GNSS_DifferentialCorrections(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4189 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4190 ett_lpp_GNSS_DifferentialCorrections, GNSS_DifferentialCorrections_sequence);
4192 return offset;
4197 static int
4198 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_) {
4199 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4200 -2048, 2047U, NULL, FALSE);
4202 return offset;
4207 static int
4208 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_) {
4209 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4210 -131072, 131071U, NULL, FALSE);
4212 return offset;
4217 static int
4218 dissect_lpp_INTEGER_M134217728_134217727(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4219 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4220 -134217728, 134217727U, NULL, FALSE);
4222 return offset;
4227 static int
4228 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_) {
4229 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4230 -512, 511U, NULL, FALSE);
4232 return offset;
4236 static const per_sequence_t StandardClockModelElement_sequence[] = {
4237 { &hf_lpp_stanClockToc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 },
4238 { &hf_lpp_stanClockAF2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2048_2047 },
4239 { &hf_lpp_stanClockAF1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M131072_131071 },
4240 { &hf_lpp_stanClockAF0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M134217728_134217727 },
4241 { &hf_lpp_stanClockTgd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M512_511 },
4242 { &hf_lpp_stanModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1 },
4243 { NULL, 0, 0, NULL }
4246 static int
4247 dissect_lpp_StandardClockModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4248 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4249 ett_lpp_StandardClockModelElement, StandardClockModelElement_sequence);
4251 return offset;
4255 static const per_sequence_t StandardClockModelList_sequence_of[1] = {
4256 { &hf_lpp_StandardClockModelList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_StandardClockModelElement },
4259 static int
4260 dissect_lpp_StandardClockModelList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4261 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4262 ett_lpp_StandardClockModelList, StandardClockModelList_sequence_of,
4263 1, 2, FALSE);
4265 return offset;
4270 static int
4271 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_) {
4272 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4273 0U, 37799U, NULL, FALSE);
4275 return offset;
4280 static int
4281 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_) {
4282 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4283 -32768, 32767U, NULL, FALSE);
4285 return offset;
4290 static int
4291 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_) {
4292 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4293 -2097152, 2097151U, NULL, FALSE);
4295 return offset;
4299 static const per_sequence_t NAV_ClockModel_sequence[] = {
4300 { &hf_lpp_navToc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_37799 },
4301 { &hf_lpp_navaf2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
4302 { &hf_lpp_navaf1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4303 { &hf_lpp_navaf0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2097152_2097151 },
4304 { &hf_lpp_navTgd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
4305 { NULL, 0, 0, NULL }
4308 static int
4309 dissect_lpp_NAV_ClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4310 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4311 ett_lpp_NAV_ClockModel, NAV_ClockModel_sequence);
4313 return offset;
4318 static int
4319 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_) {
4320 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4321 0U, 2015U, NULL, FALSE);
4323 return offset;
4328 static int
4329 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_) {
4330 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4331 -16, 15U, NULL, FALSE);
4333 return offset;
4338 static int
4339 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_) {
4340 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4341 -524288, 524287U, NULL, FALSE);
4343 return offset;
4348 static int
4349 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_) {
4350 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4351 -33554432, 33554431U, NULL, FALSE);
4353 return offset;
4357 static const per_sequence_t CNAV_ClockModel_sequence[] = {
4358 { &hf_lpp_cnavToc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2015 },
4359 { &hf_lpp_cnavTop , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2015 },
4360 { &hf_lpp_cnavURA0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16_15 },
4361 { &hf_lpp_cnavURA1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_7 },
4362 { &hf_lpp_cnavURA2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_7 },
4363 { &hf_lpp_cnavAf2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
4364 { &hf_lpp_cnavAf1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M524288_524287 },
4365 { &hf_lpp_cnavAf0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M33554432_33554431 },
4366 { &hf_lpp_cnavTgd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4096_4095 },
4367 { &hf_lpp_cnavISCl1cp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
4368 { &hf_lpp_cnavISCl1cd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
4369 { &hf_lpp_cnavISCl1ca , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
4370 { &hf_lpp_cnavISCl2c , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
4371 { &hf_lpp_cnavISCl5i5 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
4372 { &hf_lpp_cnavISCl5q5 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M4096_4095 },
4373 { NULL, 0, 0, NULL }
4376 static int
4377 dissect_lpp_CNAV_ClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4378 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4379 ett_lpp_CNAV_ClockModel, CNAV_ClockModel_sequence);
4381 return offset;
4386 static int
4387 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_) {
4388 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4389 -1024, 1023U, NULL, FALSE);
4391 return offset;
4395 static const per_sequence_t GLONASS_ClockModel_sequence[] = {
4396 { &hf_lpp_gloTau , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2097152_2097151 },
4397 { &hf_lpp_gloGamma , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
4398 { &hf_lpp_gloDeltaTau , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M16_15 },
4399 { NULL, 0, 0, NULL }
4402 static int
4403 dissect_lpp_GLONASS_ClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4404 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4405 ett_lpp_GLONASS_ClockModel, GLONASS_ClockModel_sequence);
4407 return offset;
4412 static int
4413 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_) {
4414 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4415 0U, 5399U, NULL, FALSE);
4417 return offset;
4421 static const per_sequence_t SBAS_ClockModel_sequence[] = {
4422 { &hf_lpp_sbasTo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_5399 },
4423 { &hf_lpp_sbasAgfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2048_2047 },
4424 { &hf_lpp_sbasAgf1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
4425 { NULL, 0, 0, NULL }
4428 static int
4429 dissect_lpp_SBAS_ClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4430 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4431 ett_lpp_SBAS_ClockModel, SBAS_ClockModel_sequence);
4433 return offset;
4437 static const value_string lpp_GNSS_ClockModel_vals[] = {
4438 { 0, "standardClockModelList" },
4439 { 1, "nav-ClockModel" },
4440 { 2, "cnav-ClockModel" },
4441 { 3, "glonass-ClockModel" },
4442 { 4, "sbas-ClockModel" },
4443 { 0, NULL }
4446 static const per_choice_t GNSS_ClockModel_choice[] = {
4447 { 0, &hf_lpp_standardClockModelList, ASN1_EXTENSION_ROOT , dissect_lpp_StandardClockModelList },
4448 { 1, &hf_lpp_nav_ClockModel , ASN1_EXTENSION_ROOT , dissect_lpp_NAV_ClockModel },
4449 { 2, &hf_lpp_cnav_ClockModel , ASN1_EXTENSION_ROOT , dissect_lpp_CNAV_ClockModel },
4450 { 3, &hf_lpp_glonass_ClockModel, ASN1_EXTENSION_ROOT , dissect_lpp_GLONASS_ClockModel },
4451 { 4, &hf_lpp_sbas_ClockModel , ASN1_EXTENSION_ROOT , dissect_lpp_SBAS_ClockModel },
4452 { 0, NULL, 0, NULL }
4455 static int
4456 dissect_lpp_GNSS_ClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4457 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4458 ett_lpp_GNSS_ClockModel, GNSS_ClockModel_choice,
4459 NULL);
4461 return offset;
4466 static int
4467 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_) {
4468 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4469 G_MININT32, 2147483647U, NULL, FALSE);
4471 return offset;
4476 static int
4477 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_) {
4478 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4479 0U, 4294967295U, NULL, FALSE);
4481 return offset;
4486 static int
4487 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_) {
4488 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4489 -8192, 8191U, NULL, FALSE);
4491 return offset;
4495 static const per_sequence_t NavModelKeplerianSet_sequence[] = {
4496 { &hf_lpp_keplerToe , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 },
4497 { &hf_lpp_keplerW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
4498 { &hf_lpp_keplerDeltaN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4499 { &hf_lpp_keplerM0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
4500 { &hf_lpp_keplerOmegaDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
4501 { &hf_lpp_keplerE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4294967295 },
4502 { &hf_lpp_keplerIDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
4503 { &hf_lpp_keplerAPowerHalf, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4294967295 },
4504 { &hf_lpp_keplerI0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
4505 { &hf_lpp_keplerOmega0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
4506 { &hf_lpp_keplerCrs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4507 { &hf_lpp_keplerCis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4508 { &hf_lpp_keplerCus , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4509 { &hf_lpp_keplerCrc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4510 { &hf_lpp_keplerCic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4511 { &hf_lpp_keplerCuc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4512 { NULL, 0, 0, NULL }
4515 static int
4516 dissect_lpp_NavModelKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4517 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4518 ett_lpp_NavModelKeplerianSet, NavModelKeplerianSet_sequence);
4520 return offset;
4525 static int
4526 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_) {
4527 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4528 0U, 16777215U, NULL, FALSE);
4530 return offset;
4534 static const per_sequence_t T_ephemSF1Rsvd_sequence[] = {
4535 { &hf_lpp_reserved1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
4536 { &hf_lpp_reserved2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16777215 },
4537 { &hf_lpp_reserved3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16777215 },
4538 { &hf_lpp_reserved4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
4539 { NULL, 0, 0, NULL }
4542 static int
4543 dissect_lpp_T_ephemSF1Rsvd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4544 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4545 ett_lpp_T_ephemSF1Rsvd, T_ephemSF1Rsvd_sequence);
4547 return offset;
4552 static int
4553 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_) {
4554 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4555 0U, 31U, NULL, FALSE);
4557 return offset;
4561 static const per_sequence_t T_addNAVparam_sequence[] = {
4562 { &hf_lpp_ephemCodeOnL2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
4563 { &hf_lpp_ephemL2Pflag , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
4564 { &hf_lpp_ephemSF1Rsvd , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_ephemSF1Rsvd },
4565 { &hf_lpp_ephemAODA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_31 },
4566 { NULL, 0, 0, NULL }
4569 static int
4570 dissect_lpp_T_addNAVparam(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4571 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4572 ett_lpp_T_addNAVparam, T_addNAVparam_sequence);
4574 return offset;
4578 static const per_sequence_t NavModelNAV_KeplerianSet_sequence[] = {
4579 { &hf_lpp_navURA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
4580 { &hf_lpp_navFitFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
4581 { &hf_lpp_navToe , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_37799 },
4582 { &hf_lpp_navOmega , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
4583 { &hf_lpp_navDeltaN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4584 { &hf_lpp_navM0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
4585 { &hf_lpp_navOmegaADot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
4586 { &hf_lpp_navE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4294967295 },
4587 { &hf_lpp_navIDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
4588 { &hf_lpp_navAPowerHalf , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4294967295 },
4589 { &hf_lpp_navI0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
4590 { &hf_lpp_navOmegaA0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
4591 { &hf_lpp_navCrs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4592 { &hf_lpp_navCis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4593 { &hf_lpp_navCus , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4594 { &hf_lpp_navCrc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4595 { &hf_lpp_navCic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4596 { &hf_lpp_navCuc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4597 { &hf_lpp_addNAVparam , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_addNAVparam },
4598 { NULL, 0, 0, NULL }
4601 static int
4602 dissect_lpp_NavModelNAV_KeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4603 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4604 ett_lpp_NavModelNAV_KeplerianSet, NavModelNAV_KeplerianSet_sequence);
4606 return offset;
4611 static int
4612 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_) {
4613 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4614 -16777216, 16777215U, NULL, FALSE);
4616 return offset;
4621 static int
4622 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_) {
4623 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4624 -65536, 65535U, NULL, FALSE);
4626 return offset;
4631 static int
4632 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_) {
4633 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4634 -4194304, 4194303U, NULL, FALSE);
4636 return offset;
4641 static int
4642 dissect_lpp_T_cnavMo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4643 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
4644 G_GINT64_CONSTANT(-4294967296), 4294967295U, NULL, FALSE);
4646 return offset;
4651 static int
4652 dissect_lpp_T_cnavE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4653 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
4654 0U, G_GINT64_CONSTANT(8589934591U), NULL, FALSE);
4656 return offset;
4661 static int
4662 dissect_lpp_T_cnavOmega(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4663 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
4664 G_GINT64_CONSTANT(-4294967296), 4294967295U, NULL, FALSE);
4666 return offset;
4671 static int
4672 dissect_lpp_T_cnavOMEGA0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4673 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
4674 G_GINT64_CONSTANT(-4294967296), 4294967295U, NULL, FALSE);
4676 return offset;
4681 static int
4682 dissect_lpp_T_cnavIo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4683 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
4684 G_GINT64_CONSTANT(-4294967296), 4294967295U, NULL, FALSE);
4686 return offset;
4690 static const per_sequence_t NavModelCNAV_KeplerianSet_sequence[] = {
4691 { &hf_lpp_cnavTop , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2015 },
4692 { &hf_lpp_cnavURAindex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16_15 },
4693 { &hf_lpp_cnavDeltaA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M33554432_33554431 },
4694 { &hf_lpp_cnavAdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16777216_16777215 },
4695 { &hf_lpp_cnavDeltaNo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
4696 { &hf_lpp_cnavDeltaNoDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4194304_4194303 },
4697 { &hf_lpp_cnavMo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cnavMo },
4698 { &hf_lpp_cnavE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cnavE },
4699 { &hf_lpp_cnavOmega , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cnavOmega },
4700 { &hf_lpp_cnavOMEGA0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cnavOMEGA0 },
4701 { &hf_lpp_cnavDeltaOmegaDot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
4702 { &hf_lpp_cnavIo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cnavIo },
4703 { &hf_lpp_cnavIoDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
4704 { &hf_lpp_cnavCis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4705 { &hf_lpp_cnavCic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
4706 { &hf_lpp_cnavCrs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
4707 { &hf_lpp_cnavCrc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
4708 { &hf_lpp_cnavCus , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
4709 { &hf_lpp_cnavCuc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
4710 { NULL, 0, 0, NULL }
4713 static int
4714 dissect_lpp_NavModelCNAV_KeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4715 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4716 ett_lpp_NavModelCNAV_KeplerianSet, NavModelCNAV_KeplerianSet_sequence);
4718 return offset;
4722 static const per_sequence_t NavModel_GLONASS_ECEF_sequence[] = {
4723 { &hf_lpp_gloEn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_31 },
4724 { &hf_lpp_gloP1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_2 },
4725 { &hf_lpp_gloP2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
4726 { &hf_lpp_gloM , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
4727 { &hf_lpp_gloX , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M67108864_67108863 },
4728 { &hf_lpp_gloXdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
4729 { &hf_lpp_gloXdotdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16_15 },
4730 { &hf_lpp_gloY , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M67108864_67108863 },
4731 { &hf_lpp_gloYdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
4732 { &hf_lpp_gloYdotdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16_15 },
4733 { &hf_lpp_gloZ , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M67108864_67108863 },
4734 { &hf_lpp_gloZdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
4735 { &hf_lpp_gloZdotdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16_15 },
4736 { NULL, 0, 0, NULL }
4739 static int
4740 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_) {
4741 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4742 ett_lpp_NavModel_GLONASS_ECEF, NavModel_GLONASS_ECEF_sequence);
4744 return offset;
4749 static int
4750 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_) {
4751 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4752 4, 4, FALSE, NULL);
4754 return offset;
4759 static int
4760 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_) {
4761 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4762 -536870912, 536870911U, NULL, FALSE);
4764 return offset;
4768 static const per_sequence_t NavModel_SBAS_ECEF_sequence[] = {
4769 { &hf_lpp_sbasTo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_5399 },
4770 { &hf_lpp_sbasAccuracy , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_4 },
4771 { &hf_lpp_sbasXg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M536870912_536870911 },
4772 { &hf_lpp_sbasYg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M536870912_536870911 },
4773 { &hf_lpp_sbasZg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16777216_16777215 },
4774 { &hf_lpp_sbasXgDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
4775 { &hf_lpp_sbasYgDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
4776 { &hf_lpp_sbasZgDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M131072_131071 },
4777 { &hf_lpp_sbasXgDotDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
4778 { &hf_lpp_sbagYgDotDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
4779 { &hf_lpp_sbasZgDotDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
4780 { NULL, 0, 0, NULL }
4783 static int
4784 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_) {
4785 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4786 ett_lpp_NavModel_SBAS_ECEF, NavModel_SBAS_ECEF_sequence);
4788 return offset;
4792 static const value_string lpp_GNSS_OrbitModel_vals[] = {
4793 { 0, "keplerianSet" },
4794 { 1, "nav-KeplerianSet" },
4795 { 2, "cnav-KeplerianSet" },
4796 { 3, "glonass-ECEF" },
4797 { 4, "sbas-ECEF" },
4798 { 0, NULL }
4801 static const per_choice_t GNSS_OrbitModel_choice[] = {
4802 { 0, &hf_lpp_keplerianSet , ASN1_EXTENSION_ROOT , dissect_lpp_NavModelKeplerianSet },
4803 { 1, &hf_lpp_nav_KeplerianSet, ASN1_EXTENSION_ROOT , dissect_lpp_NavModelNAV_KeplerianSet },
4804 { 2, &hf_lpp_cnav_KeplerianSet, ASN1_EXTENSION_ROOT , dissect_lpp_NavModelCNAV_KeplerianSet },
4805 { 3, &hf_lpp_glonass_ECEF , ASN1_EXTENSION_ROOT , dissect_lpp_NavModel_GLONASS_ECEF },
4806 { 4, &hf_lpp_sbas_ECEF , ASN1_EXTENSION_ROOT , dissect_lpp_NavModel_SBAS_ECEF },
4807 { 0, NULL, 0, NULL }
4810 static int
4811 dissect_lpp_GNSS_OrbitModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4812 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4813 ett_lpp_GNSS_OrbitModel, GNSS_OrbitModel_choice,
4814 NULL);
4816 return offset;
4820 static const per_sequence_t GNSS_NavModelSatelliteElement_sequence[] = {
4821 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
4822 { &hf_lpp_svHealth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_8 },
4823 { &hf_lpp_iod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_11 },
4824 { &hf_lpp_gnss_ClockModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ClockModel },
4825 { &hf_lpp_gnss_OrbitModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_OrbitModel },
4826 { NULL, 0, 0, NULL }
4829 static int
4830 dissect_lpp_GNSS_NavModelSatelliteElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4831 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4832 ett_lpp_GNSS_NavModelSatelliteElement, GNSS_NavModelSatelliteElement_sequence);
4834 return offset;
4838 static const per_sequence_t GNSS_NavModelSatelliteList_sequence_of[1] = {
4839 { &hf_lpp_GNSS_NavModelSatelliteList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_NavModelSatelliteElement },
4842 static int
4843 dissect_lpp_GNSS_NavModelSatelliteList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4844 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4845 ett_lpp_GNSS_NavModelSatelliteList, GNSS_NavModelSatelliteList_sequence_of,
4846 1, 64, FALSE);
4848 return offset;
4852 static const per_sequence_t GNSS_NavigationModel_sequence[] = {
4853 { &hf_lpp_nonBroadcastIndFlag, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
4854 { &hf_lpp_gnss_SatelliteList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_NavModelSatelliteList },
4855 { NULL, 0, 0, NULL }
4858 static int
4859 dissect_lpp_GNSS_NavigationModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4860 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4861 ett_lpp_GNSS_NavigationModel, GNSS_NavigationModel_sequence);
4863 return offset;
4867 static const per_sequence_t BadSignalElement_sequence[] = {
4868 { &hf_lpp_badSVID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
4869 { &hf_lpp_badSignalID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_SignalIDs },
4870 { NULL, 0, 0, NULL }
4873 static int
4874 dissect_lpp_BadSignalElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4875 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4876 ett_lpp_BadSignalElement, BadSignalElement_sequence);
4878 return offset;
4882 static const per_sequence_t GNSS_BadSignalList_sequence_of[1] = {
4883 { &hf_lpp_GNSS_BadSignalList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BadSignalElement },
4886 static int
4887 dissect_lpp_GNSS_BadSignalList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4888 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4889 ett_lpp_GNSS_BadSignalList, GNSS_BadSignalList_sequence_of,
4890 1, 64, FALSE);
4892 return offset;
4896 static const per_sequence_t GNSS_RealTimeIntegrity_sequence[] = {
4897 { &hf_lpp_gnss_BadSignalList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_BadSignalList },
4898 { NULL, 0, 0, NULL }
4901 static int
4902 dissect_lpp_GNSS_RealTimeIntegrity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4903 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4904 ett_lpp_GNSS_RealTimeIntegrity, GNSS_RealTimeIntegrity_sequence);
4906 return offset;
4911 static int
4912 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_) {
4913 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4914 1, 1024, FALSE, NULL);
4916 return offset;
4920 static const per_sequence_t GNSS_DataBitsSgnElement_sequence[] = {
4921 { &hf_lpp_gnss_SignalType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
4922 { &hf_lpp_gnss_DataBits , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_1_1024 },
4923 { NULL, 0, 0, NULL }
4926 static int
4927 dissect_lpp_GNSS_DataBitsSgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4928 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4929 ett_lpp_GNSS_DataBitsSgnElement, GNSS_DataBitsSgnElement_sequence);
4931 return offset;
4935 static const per_sequence_t GNSS_DataBitsSgnList_sequence_of[1] = {
4936 { &hf_lpp_GNSS_DataBitsSgnList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_DataBitsSgnElement },
4939 static int
4940 dissect_lpp_GNSS_DataBitsSgnList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4941 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4942 ett_lpp_GNSS_DataBitsSgnList, GNSS_DataBitsSgnList_sequence_of,
4943 1, 8, FALSE);
4945 return offset;
4949 static const per_sequence_t GNSS_DataBitsSatElement_sequence[] = {
4950 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
4951 { &hf_lpp_gnss_DataBitsSgnList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_DataBitsSgnList },
4952 { NULL, 0, 0, NULL }
4955 static int
4956 dissect_lpp_GNSS_DataBitsSatElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4957 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4958 ett_lpp_GNSS_DataBitsSatElement, GNSS_DataBitsSatElement_sequence);
4960 return offset;
4964 static const per_sequence_t GNSS_DataBitsSatList_sequence_of[1] = {
4965 { &hf_lpp_GNSS_DataBitsSatList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_DataBitsSatElement },
4968 static int
4969 dissect_lpp_GNSS_DataBitsSatList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4970 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4971 ett_lpp_GNSS_DataBitsSatList, GNSS_DataBitsSatList_sequence_of,
4972 1, 64, FALSE);
4974 return offset;
4978 static const per_sequence_t GNSS_DataBitAssistance_sequence[] = {
4979 { &hf_lpp_gnss_TOD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3599 },
4980 { &hf_lpp_gnss_TODfrac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_999 },
4981 { &hf_lpp_gnss_DataBitsSatList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_DataBitsSatList },
4982 { NULL, 0, 0, NULL }
4985 static int
4986 dissect_lpp_GNSS_DataBitAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4987 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4988 ett_lpp_GNSS_DataBitAssistance, GNSS_DataBitAssistance_sequence);
4990 return offset;
4995 static int
4996 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_) {
4997 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4998 0U, 4U, NULL, FALSE);
5000 return offset;
5005 static int
5006 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_) {
5007 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5008 0U, 1022U, NULL, FALSE);
5010 return offset;
5014 static const value_string lpp_T_dopplerUncertaintyExt_r10_vals[] = {
5015 { 0, "d60" },
5016 { 1, "d80" },
5017 { 2, "d100" },
5018 { 3, "d120" },
5019 { 4, "noInformation" },
5020 { 0, NULL }
5024 static int
5025 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_) {
5026 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5027 5, NULL, TRUE, 0, NULL);
5029 return offset;
5033 static const per_sequence_t GNSS_AcquisitionAssistElement_sequence[] = {
5034 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
5035 { &hf_lpp_doppler0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2048_2047 },
5036 { &hf_lpp_doppler1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
5037 { &hf_lpp_dopplerUncertainty, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4 },
5038 { &hf_lpp_codePhase , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1022 },
5039 { &hf_lpp_intCodePhase , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
5040 { &hf_lpp_codePhaseSearchWindow, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_31 },
5041 { &hf_lpp_azimuth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
5042 { &hf_lpp_elevation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
5043 { &hf_lpp_codePhase1023 , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
5044 { &hf_lpp_dopplerUncertaintyExt_r10, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_dopplerUncertaintyExt_r10 },
5045 { NULL, 0, 0, NULL }
5048 static int
5049 dissect_lpp_GNSS_AcquisitionAssistElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5050 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5051 ett_lpp_GNSS_AcquisitionAssistElement, GNSS_AcquisitionAssistElement_sequence);
5053 return offset;
5057 static const per_sequence_t GNSS_AcquisitionAssistList_sequence_of[1] = {
5058 { &hf_lpp_GNSS_AcquisitionAssistList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_AcquisitionAssistElement },
5061 static int
5062 dissect_lpp_GNSS_AcquisitionAssistList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5063 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5064 ett_lpp_GNSS_AcquisitionAssistList, GNSS_AcquisitionAssistList_sequence_of,
5065 1, 64, FALSE);
5067 return offset;
5071 static const per_sequence_t GNSS_AcquisitionAssistance_sequence[] = {
5072 { &hf_lpp_gnss_SignalID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
5073 { &hf_lpp_gnss_AcquisitionAssistList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_AcquisitionAssistList },
5074 { &hf_lpp_confidence_r10 , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_INTEGER_0_100 },
5075 { NULL, 0, 0, NULL }
5078 static int
5079 dissect_lpp_GNSS_AcquisitionAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5080 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5081 ett_lpp_GNSS_AcquisitionAssistance, GNSS_AcquisitionAssistance_sequence);
5083 return offset;
5088 static int
5089 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_) {
5090 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5091 0U, 2047U, NULL, FALSE);
5093 return offset;
5097 static const per_sequence_t AlmanacKeplerianSet_sequence[] = {
5098 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
5099 { &hf_lpp_kepAlmanacE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
5100 { &hf_lpp_kepAlmanacDeltaI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
5101 { &hf_lpp_kepAlmanacOmegaDot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
5102 { &hf_lpp_kepSVHealth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_15 },
5103 { &hf_lpp_kepAlmanacAPowerHalf, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M65536_65535 },
5104 { &hf_lpp_kepAlmanacOmega0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
5105 { &hf_lpp_kepAlmanacW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
5106 { &hf_lpp_kepAlmanacM0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
5107 { &hf_lpp_kepAlmanacAF0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8192_8191 },
5108 { &hf_lpp_kepAlmanacAF1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
5109 { NULL, 0, 0, NULL }
5112 static int
5113 dissect_lpp_AlmanacKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5114 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5115 ett_lpp_AlmanacKeplerianSet, AlmanacKeplerianSet_sequence);
5117 return offset;
5121 static const per_sequence_t AlmanacNAV_KeplerianSet_sequence[] = {
5122 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
5123 { &hf_lpp_navAlmE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
5124 { &hf_lpp_navAlmDeltaI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
5125 { &hf_lpp_navAlmOMEGADOT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
5126 { &hf_lpp_navAlmSVHealth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
5127 { &hf_lpp_navAlmSqrtA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16777215 },
5128 { &hf_lpp_navAlmOMEGAo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
5129 { &hf_lpp_navAlmOmega , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
5130 { &hf_lpp_navAlmMo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
5131 { &hf_lpp_navAlmaf0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
5132 { &hf_lpp_navAlmaf1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
5133 { NULL, 0, 0, NULL }
5136 static int
5137 dissect_lpp_AlmanacNAV_KeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5138 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5139 ett_lpp_AlmanacNAV_KeplerianSet, AlmanacNAV_KeplerianSet_sequence);
5141 return offset;
5145 static const per_sequence_t AlmanacReducedKeplerianSet_sequence[] = {
5146 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
5147 { &hf_lpp_redAlmDeltaA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
5148 { &hf_lpp_redAlmOmega0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M64_63 },
5149 { &hf_lpp_redAlmPhi0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M64_63 },
5150 { &hf_lpp_redAlmL1Health , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
5151 { &hf_lpp_redAlmL2Health , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
5152 { &hf_lpp_redAlmL5Health , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
5153 { NULL, 0, 0, NULL }
5156 static int
5157 dissect_lpp_AlmanacReducedKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5158 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5159 ett_lpp_AlmanacReducedKeplerianSet, AlmanacReducedKeplerianSet_sequence);
5161 return offset;
5166 static int
5167 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_) {
5168 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5169 0U, 131071U, NULL, FALSE);
5171 return offset;
5175 static const per_sequence_t AlmanacMidiAlmanacSet_sequence[] = {
5176 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
5177 { &hf_lpp_midiAlmE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
5178 { &hf_lpp_midiAlmDeltaI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
5179 { &hf_lpp_midiAlmOmegaDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
5180 { &hf_lpp_midiAlmSqrtA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_131071 },
5181 { &hf_lpp_midiAlmOmega0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
5182 { &hf_lpp_midiAlmOmega , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
5183 { &hf_lpp_midiAlmMo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
5184 { &hf_lpp_midiAlmaf0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1024_1023 },
5185 { &hf_lpp_midiAlmaf1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
5186 { &hf_lpp_midiAlmL1Health , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
5187 { &hf_lpp_midiAlmL2Health , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
5188 { &hf_lpp_midiAlmL5Health , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
5189 { NULL, 0, 0, NULL }
5192 static int
5193 dissect_lpp_AlmanacMidiAlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5194 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5195 ett_lpp_AlmanacMidiAlmanacSet, AlmanacMidiAlmanacSet_sequence);
5197 return offset;
5202 static int
5203 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_) {
5204 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5205 1U, 1461U, NULL, FALSE);
5207 return offset;
5212 static int
5213 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_) {
5214 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5215 1U, 24U, NULL, FALSE);
5217 return offset;
5222 static int
5223 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_) {
5224 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5225 0U, 2097151U, NULL, FALSE);
5227 return offset;
5231 static const per_sequence_t AlmanacGLONASS_AlmanacSet_sequence[] = {
5232 { &hf_lpp_gloAlm_NA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_1461 },
5233 { &hf_lpp_gloAlmnA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_24 },
5234 { &hf_lpp_gloAlmHA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_31 },
5235 { &hf_lpp_gloAlmLambdaA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M1048576_1048575 },
5236 { &hf_lpp_gloAlmtlambdaA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2097151 },
5237 { &hf_lpp_gloAlmDeltaIa , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M131072_131071 },
5238 { &hf_lpp_gloAlmDeltaTA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2097152_2097151 },
5239 { &hf_lpp_gloAlmDeltaTdotA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M64_63 },
5240 { &hf_lpp_gloAlmEpsilonA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_32767 },
5241 { &hf_lpp_gloAlmOmegaA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
5242 { &hf_lpp_gloAlmTauA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M512_511 },
5243 { &hf_lpp_gloAlmCA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1 },
5244 { &hf_lpp_gloAlmMA , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_2 },
5245 { NULL, 0, 0, NULL }
5248 static int
5249 dissect_lpp_AlmanacGLONASS_AlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5250 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5251 ett_lpp_AlmanacGLONASS_AlmanacSet, AlmanacGLONASS_AlmanacSet_sequence);
5253 return offset;
5258 static int
5259 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_) {
5260 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5261 -256, 255U, NULL, FALSE);
5263 return offset;
5268 static int
5269 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_) {
5270 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5271 -4, 3U, NULL, FALSE);
5273 return offset;
5278 static int
5279 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_) {
5280 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5281 -8, 7U, NULL, FALSE);
5283 return offset;
5287 static const per_sequence_t AlmanacECEF_SBAS_AlmanacSet_sequence[] = {
5288 { &hf_lpp_sbasAlmDataID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3 },
5289 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
5290 { &hf_lpp_sbasAlmHealth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_8 },
5291 { &hf_lpp_sbasAlmXg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
5292 { &hf_lpp_sbasAlmYg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M16384_16383 },
5293 { &hf_lpp_sbasAlmZg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M256_255 },
5294 { &hf_lpp_sbasAlmXgdot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4_3 },
5295 { &hf_lpp_sbasAlmYgDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4_3 },
5296 { &hf_lpp_sbasAlmZgDot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8_7 },
5297 { &hf_lpp_sbasAlmTo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
5298 { NULL, 0, 0, NULL }
5301 static int
5302 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_) {
5303 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5304 ett_lpp_AlmanacECEF_SBAS_AlmanacSet, AlmanacECEF_SBAS_AlmanacSet_sequence);
5306 return offset;
5310 static const value_string lpp_GNSS_AlmanacElement_vals[] = {
5311 { 0, "keplerianAlmanacSet" },
5312 { 1, "keplerianNAV-Almanac" },
5313 { 2, "keplerianReducedAlmanac" },
5314 { 3, "keplerianMidiAlmanac" },
5315 { 4, "keplerianGLONASS" },
5316 { 5, "ecef-SBAS-Almanac" },
5317 { 0, NULL }
5320 static const per_choice_t GNSS_AlmanacElement_choice[] = {
5321 { 0, &hf_lpp_keplerianAlmanacSet, ASN1_EXTENSION_ROOT , dissect_lpp_AlmanacKeplerianSet },
5322 { 1, &hf_lpp_keplerianNAV_Almanac, ASN1_EXTENSION_ROOT , dissect_lpp_AlmanacNAV_KeplerianSet },
5323 { 2, &hf_lpp_keplerianReducedAlmanac, ASN1_EXTENSION_ROOT , dissect_lpp_AlmanacReducedKeplerianSet },
5324 { 3, &hf_lpp_keplerianMidiAlmanac, ASN1_EXTENSION_ROOT , dissect_lpp_AlmanacMidiAlmanacSet },
5325 { 4, &hf_lpp_keplerianGLONASS, ASN1_EXTENSION_ROOT , dissect_lpp_AlmanacGLONASS_AlmanacSet },
5326 { 5, &hf_lpp_ecef_SBAS_Almanac, ASN1_EXTENSION_ROOT , dissect_lpp_AlmanacECEF_SBAS_AlmanacSet },
5327 { 0, NULL, 0, NULL }
5330 static int
5331 dissect_lpp_GNSS_AlmanacElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5332 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5333 ett_lpp_GNSS_AlmanacElement, GNSS_AlmanacElement_choice,
5334 NULL);
5336 return offset;
5340 static const per_sequence_t GNSS_AlmanacList_sequence_of[1] = {
5341 { &hf_lpp_GNSS_AlmanacList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_AlmanacElement },
5344 static int
5345 dissect_lpp_GNSS_AlmanacList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5346 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5347 ett_lpp_GNSS_AlmanacList, GNSS_AlmanacList_sequence_of,
5348 1, 64, FALSE);
5350 return offset;
5354 static const per_sequence_t GNSS_Almanac_sequence[] = {
5355 { &hf_lpp_weekNumber_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 },
5356 { &hf_lpp_toa , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_255 },
5357 { &hf_lpp_ioda , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3 },
5358 { &hf_lpp_completeAlmanacProvided, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
5359 { &hf_lpp_gnss_AlmanacList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_AlmanacList },
5360 { NULL, 0, 0, NULL }
5363 static int
5364 dissect_lpp_GNSS_Almanac(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5365 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5366 ett_lpp_GNSS_Almanac, GNSS_Almanac_sequence);
5368 return offset;
5372 static const per_sequence_t UTC_ModelSet1_sequence[] = {
5373 { &hf_lpp_gnss_Utc_A1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
5374 { &hf_lpp_gnss_Utc_A0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
5375 { &hf_lpp_gnss_Utc_Tot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
5376 { &hf_lpp_gnss_Utc_WNt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
5377 { &hf_lpp_gnss_Utc_DeltaTls, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
5378 { &hf_lpp_gnss_Utc_WNlsf , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
5379 { &hf_lpp_gnss_Utc_DN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
5380 { &hf_lpp_gnss_Utc_DeltaTlsf, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
5381 { NULL, 0, 0, NULL }
5384 static int
5385 dissect_lpp_UTC_ModelSet1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5386 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5387 ett_lpp_UTC_ModelSet1, UTC_ModelSet1_sequence);
5389 return offset;
5393 static const per_sequence_t UTC_ModelSet2_sequence[] = {
5394 { &hf_lpp_utcA0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M32768_32767 },
5395 { &hf_lpp_utcA1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M4096_4095 },
5396 { &hf_lpp_utcA2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M64_63 },
5397 { &hf_lpp_utcDeltaTls , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
5398 { &hf_lpp_utcTot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
5399 { &hf_lpp_utcWNot , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8191 },
5400 { &hf_lpp_utcWNlsf , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
5401 { &hf_lpp_utcDN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_4 },
5402 { &hf_lpp_utcDeltaTlsf , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
5403 { NULL, 0, 0, NULL }
5406 static int
5407 dissect_lpp_UTC_ModelSet2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5408 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5409 ett_lpp_UTC_ModelSet2, UTC_ModelSet2_sequence);
5411 return offset;
5415 static const per_sequence_t UTC_ModelSet3_sequence[] = {
5416 { &hf_lpp_nA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_1461 },
5417 { &hf_lpp_tauC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
5418 { &hf_lpp_b1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M1024_1023 },
5419 { &hf_lpp_b2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M512_511 },
5420 { &hf_lpp_kp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_2 },
5421 { NULL, 0, 0, NULL }
5424 static int
5425 dissect_lpp_UTC_ModelSet3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5426 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5427 ett_lpp_UTC_ModelSet3, UTC_ModelSet3_sequence);
5429 return offset;
5433 static const per_sequence_t UTC_ModelSet4_sequence[] = {
5434 { &hf_lpp_utcA1wnt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
5435 { &hf_lpp_utcA0wnt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M2147483648_2147483647 },
5436 { &hf_lpp_utcTot_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
5437 { &hf_lpp_utcWNt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
5438 { &hf_lpp_utcDeltaTls , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
5439 { &hf_lpp_utcWNlsf , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
5440 { &hf_lpp_utcDN_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
5441 { &hf_lpp_utcDeltaTlsf , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M128_127 },
5442 { &hf_lpp_utcStandardID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_7 },
5443 { NULL, 0, 0, NULL }
5446 static int
5447 dissect_lpp_UTC_ModelSet4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5448 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5449 ett_lpp_UTC_ModelSet4, UTC_ModelSet4_sequence);
5451 return offset;
5455 static const value_string lpp_GNSS_UTC_Model_vals[] = {
5456 { 0, "utcModel1" },
5457 { 1, "utcModel2" },
5458 { 2, "utcModel3" },
5459 { 3, "utcModel4" },
5460 { 0, NULL }
5463 static const per_choice_t GNSS_UTC_Model_choice[] = {
5464 { 0, &hf_lpp_utcModel1 , ASN1_EXTENSION_ROOT , dissect_lpp_UTC_ModelSet1 },
5465 { 1, &hf_lpp_utcModel2 , ASN1_EXTENSION_ROOT , dissect_lpp_UTC_ModelSet2 },
5466 { 2, &hf_lpp_utcModel3 , ASN1_EXTENSION_ROOT , dissect_lpp_UTC_ModelSet3 },
5467 { 3, &hf_lpp_utcModel4 , ASN1_EXTENSION_ROOT , dissect_lpp_UTC_ModelSet4 },
5468 { 0, NULL, 0, NULL }
5471 static int
5472 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_) {
5473 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5474 ett_lpp_GNSS_UTC_Model, GNSS_UTC_Model_choice,
5475 NULL);
5477 return offset;
5481 static const per_sequence_t GNSS_ID_GPS_SatElement_sequence[] = {
5482 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
5483 { &hf_lpp_signalsAvailable, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
5484 { NULL, 0, 0, NULL }
5487 static int
5488 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_) {
5489 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5490 ett_lpp_GNSS_ID_GPS_SatElement, GNSS_ID_GPS_SatElement_sequence);
5492 return offset;
5496 static const per_sequence_t GNSS_ID_GPS_sequence_of[1] = {
5497 { &hf_lpp_GNSS_ID_GPS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID_GPS_SatElement },
5500 static int
5501 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_) {
5502 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5503 ett_lpp_GNSS_ID_GPS, GNSS_ID_GPS_sequence_of,
5504 1, 64, FALSE);
5506 return offset;
5511 static int
5512 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_) {
5513 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5514 -7, 13U, NULL, FALSE);
5516 return offset;
5520 static const per_sequence_t GNSS_ID_GLONASS_SatElement_sequence[] = {
5521 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
5522 { &hf_lpp_signalsAvailable, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalIDs },
5523 { &hf_lpp_channelNumber , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M7_13 },
5524 { NULL, 0, 0, NULL }
5527 static int
5528 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_) {
5529 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5530 ett_lpp_GNSS_ID_GLONASS_SatElement, GNSS_ID_GLONASS_SatElement_sequence);
5532 return offset;
5536 static const per_sequence_t GNSS_ID_GLONASS_sequence_of[1] = {
5537 { &hf_lpp_GNSS_ID_GLONASS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID_GLONASS_SatElement },
5540 static int
5541 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_) {
5542 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5543 ett_lpp_GNSS_ID_GLONASS, GNSS_ID_GLONASS_sequence_of,
5544 1, 64, FALSE);
5546 return offset;
5550 static const value_string lpp_GNSS_AuxiliaryInformation_vals[] = {
5551 { 0, "gnss-ID-GPS" },
5552 { 1, "gnss-ID-GLONASS" },
5553 { 0, NULL }
5556 static const per_choice_t GNSS_AuxiliaryInformation_choice[] = {
5557 { 0, &hf_lpp_gnss_ID_GPS , ASN1_EXTENSION_ROOT , dissect_lpp_GNSS_ID_GPS },
5558 { 1, &hf_lpp_gnss_ID_GLONASS , ASN1_EXTENSION_ROOT , dissect_lpp_GNSS_ID_GLONASS },
5559 { 0, NULL, 0, NULL }
5562 static int
5563 dissect_lpp_GNSS_AuxiliaryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5564 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5565 ett_lpp_GNSS_AuxiliaryInformation, GNSS_AuxiliaryInformation_choice,
5566 NULL);
5568 return offset;
5572 static const per_sequence_t GNSS_GenericAssistDataElement_sequence[] = {
5573 { &hf_lpp_gnss_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
5574 { &hf_lpp_sbas_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SBAS_ID },
5575 { &hf_lpp_gnss_TimeModels , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_TimeModelList },
5576 { &hf_lpp_gnss_DifferentialCorrections, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DifferentialCorrections },
5577 { &hf_lpp_gnss_NavigationModel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_NavigationModel },
5578 { &hf_lpp_gnss_RealTimeIntegrity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_RealTimeIntegrity },
5579 { &hf_lpp_gnss_DataBitAssistance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_DataBitAssistance },
5580 { &hf_lpp_gnss_AcquisitionAssistance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AcquisitionAssistance },
5581 { &hf_lpp_gnss_Almanac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_Almanac },
5582 { &hf_lpp_gnss_UTC_Model , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_UTC_Model },
5583 { &hf_lpp_gnss_AuxiliaryInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_AuxiliaryInformation },
5584 { NULL, 0, 0, NULL }
5587 static int
5588 dissect_lpp_GNSS_GenericAssistDataElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5589 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5590 ett_lpp_GNSS_GenericAssistDataElement, GNSS_GenericAssistDataElement_sequence);
5592 return offset;
5596 static const per_sequence_t GNSS_GenericAssistData_sequence_of[1] = {
5597 { &hf_lpp_GNSS_GenericAssistData_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_GenericAssistDataElement },
5600 static int
5601 dissect_lpp_GNSS_GenericAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5602 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5603 ett_lpp_GNSS_GenericAssistData, GNSS_GenericAssistData_sequence_of,
5604 1, 16, FALSE);
5606 return offset;
5610 static const value_string lpp_T_cause_02_vals[] = {
5611 { 0, "undefined" },
5612 { 1, "undeliveredAssistanceDataIsNotSupportedByServer" },
5613 { 2, "undeliveredAssistanceDataIsSupportedButCurrentlyNotAvailableByServer" },
5614 { 3, "undeliveredAssistanceDataIsPartlyNotSupportedAndPartlyNotAvailableByServer" },
5615 { 0, NULL }
5619 static int
5620 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_) {
5621 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5622 4, NULL, TRUE, 0, NULL);
5624 return offset;
5628 static const per_sequence_t GNSS_LocationServerErrorCauses_sequence[] = {
5629 { &hf_lpp_cause_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_02 },
5630 { NULL, 0, 0, NULL }
5633 static int
5634 dissect_lpp_GNSS_LocationServerErrorCauses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5635 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5636 ett_lpp_GNSS_LocationServerErrorCauses, GNSS_LocationServerErrorCauses_sequence);
5638 return offset;
5642 static const value_string lpp_T_cause_03_vals[] = {
5643 { 0, "undefined" },
5644 { 1, "thereWereNotEnoughSatellitesReceived" },
5645 { 2, "assistanceDataMissing" },
5646 { 3, "notAllRequestedMeasurementsPossible" },
5647 { 0, NULL }
5651 static int
5652 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_) {
5653 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5654 4, NULL, TRUE, 0, NULL);
5656 return offset;
5660 static const per_sequence_t GNSS_TargetDeviceErrorCauses_sequence[] = {
5661 { &hf_lpp_cause_03 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_03 },
5662 { &hf_lpp_fineTimeAssistanceMeasurementsNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
5663 { &hf_lpp_adrMeasurementsNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
5664 { &hf_lpp_multiFrequencyMeasurementsNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
5665 { NULL, 0, 0, NULL }
5668 static int
5669 dissect_lpp_GNSS_TargetDeviceErrorCauses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5670 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5671 ett_lpp_GNSS_TargetDeviceErrorCauses, GNSS_TargetDeviceErrorCauses_sequence);
5673 return offset;
5677 static const value_string lpp_A_GNSS_Error_vals[] = {
5678 { 0, "locationServerErrorCauses" },
5679 { 1, "targetDeviceErrorCauses" },
5680 { 0, NULL }
5683 static const per_choice_t A_GNSS_Error_choice[] = {
5684 { 0, &hf_lpp_locationServerErrorCauses_01, ASN1_EXTENSION_ROOT , dissect_lpp_GNSS_LocationServerErrorCauses },
5685 { 1, &hf_lpp_targetDeviceErrorCauses_01, ASN1_EXTENSION_ROOT , dissect_lpp_GNSS_TargetDeviceErrorCauses },
5686 { 0, NULL, 0, NULL }
5689 static int
5690 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_) {
5691 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5692 ett_lpp_A_GNSS_Error, A_GNSS_Error_choice,
5693 NULL);
5695 return offset;
5699 static const per_sequence_t A_GNSS_ProvideAssistanceData_sequence[] = {
5700 { &hf_lpp_gnss_CommonAssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_CommonAssistData },
5701 { &hf_lpp_gnss_GenericAssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_GenericAssistData },
5702 { &hf_lpp_gnss_Error , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_Error },
5703 { NULL, 0, 0, NULL }
5706 static int
5707 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_) {
5708 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5709 ett_lpp_A_GNSS_ProvideAssistanceData, A_GNSS_ProvideAssistanceData_sequence);
5711 return offset;
5715 static const value_string lpp_T_antennaPortConfig_vals[] = {
5716 { 0, "ports1-or-2" },
5717 { 1, "ports4" },
5718 { 0, NULL }
5722 static int
5723 dissect_lpp_T_antennaPortConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5724 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5725 2, NULL, TRUE, 0, NULL);
5727 return offset;
5731 static const value_string lpp_T_cpLength_vals[] = {
5732 { 0, "normal" },
5733 { 1, "extended" },
5734 { 0, NULL }
5738 static int
5739 dissect_lpp_T_cpLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5740 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5741 2, NULL, TRUE, 0, NULL);
5743 return offset;
5747 static const value_string lpp_T_prs_Bandwidth_vals[] = {
5748 { 0, "n6" },
5749 { 1, "n15" },
5750 { 2, "n25" },
5751 { 3, "n50" },
5752 { 4, "n75" },
5753 { 5, "n100" },
5754 { 0, NULL }
5758 static int
5759 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_) {
5760 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5761 6, NULL, TRUE, 0, NULL);
5763 return offset;
5767 static const value_string lpp_T_numDL_Frames_vals[] = {
5768 { 0, "sf-1" },
5769 { 1, "sf-2" },
5770 { 2, "sf-4" },
5771 { 3, "sf-6" },
5772 { 0, NULL }
5776 static int
5777 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_) {
5778 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5779 4, NULL, TRUE, 0, NULL);
5781 return offset;
5785 static const value_string lpp_T_prs_MutingInfo_r9_vals[] = {
5786 { 0, "po2-r9" },
5787 { 1, "po4-r9" },
5788 { 2, "po8-r9" },
5789 { 3, "po16-r9" },
5790 { 0, NULL }
5793 static const per_choice_t T_prs_MutingInfo_r9_choice[] = {
5794 { 0, &hf_lpp_po2_r9 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_2 },
5795 { 1, &hf_lpp_po4_r9 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_4 },
5796 { 2, &hf_lpp_po8_r9 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_8 },
5797 { 3, &hf_lpp_po16_r9 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_16 },
5798 { 0, NULL, 0, NULL }
5801 static int
5802 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_) {
5803 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5804 ett_lpp_T_prs_MutingInfo_r9, T_prs_MutingInfo_r9_choice,
5805 NULL);
5807 return offset;
5811 static const per_sequence_t PRS_Info_sequence[] = {
5812 { &hf_lpp_prs_Bandwidth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_prs_Bandwidth },
5813 { &hf_lpp_prs_ConfigurationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4095 },
5814 { &hf_lpp_numDL_Frames , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_numDL_Frames },
5815 { &hf_lpp_prs_MutingInfo_r9, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_prs_MutingInfo_r9 },
5816 { NULL, 0, 0, NULL }
5819 static int
5820 dissect_lpp_PRS_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5821 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5822 ett_lpp_PRS_Info, PRS_Info_sequence);
5824 return offset;
5828 static const per_sequence_t OTDOA_ReferenceCellInfo_eag_1_sequence[] = {
5829 { &hf_lpp_earfcnRef_v9a0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_v9a0 },
5830 { NULL, 0, 0, NULL }
5833 static int
5834 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_) {
5835 offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_ReferenceCellInfo_eag_1_sequence);
5837 return offset;
5841 static const per_sequence_t OTDOA_ReferenceCellInfo_sequence[] = {
5842 { &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
5843 { &hf_lpp_cellGlobalId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
5844 { &hf_lpp_earfcnRef , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA },
5845 { &hf_lpp_antennaPortConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_antennaPortConfig },
5846 { &hf_lpp_cpLength , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cpLength },
5847 { &hf_lpp_prsInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PRS_Info },
5848 { &hf_lpp_dummy_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ReferenceCellInfo_eag_1 },
5849 { NULL, 0, 0, NULL }
5853 dissect_lpp_OTDOA_ReferenceCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5854 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5855 ett_lpp_OTDOA_ReferenceCellInfo, OTDOA_ReferenceCellInfo_sequence);
5857 return offset;
5861 static const value_string lpp_T_cpLength_01_vals[] = {
5862 { 0, "normal" },
5863 { 1, "extended" },
5864 { 0, NULL }
5868 static int
5869 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_) {
5870 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5871 2, NULL, TRUE, 0, NULL);
5873 return offset;
5877 static const value_string lpp_T_antennaPortConfig_01_vals[] = {
5878 { 0, "ports-1-or-2" },
5879 { 1, "ports-4" },
5880 { 0, NULL }
5884 static int
5885 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_) {
5886 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5887 2, NULL, TRUE, 0, NULL);
5889 return offset;
5894 static int
5895 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_) {
5896 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5897 0U, 19U, NULL, FALSE);
5899 return offset;
5904 static int
5905 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_) {
5906 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5907 0U, 1279U, NULL, FALSE);
5909 return offset;
5913 static const per_sequence_t OTDOA_NeighbourCellInfoElement_eag_1_sequence[] = {
5914 { &hf_lpp_earfcn_v9a0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_v9a0 },
5915 { NULL, 0, 0, NULL }
5918 static int
5919 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_) {
5920 offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_NeighbourCellInfoElement_eag_1_sequence);
5922 return offset;
5926 static const per_sequence_t OTDOA_NeighbourCellInfoElement_sequence[] = {
5927 { &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
5928 { &hf_lpp_cellGlobalId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
5929 { &hf_lpp_earfcn , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA },
5930 { &hf_lpp_cpLength_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_cpLength_01 },
5931 { &hf_lpp_prsInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PRS_Info },
5932 { &hf_lpp_antennaPortConfig_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_antennaPortConfig_01 },
5933 { &hf_lpp_slotNumberOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_19 },
5934 { &hf_lpp_prs_SubframeOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1279 },
5935 { &hf_lpp_expectedRSTD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 },
5936 { &hf_lpp_expectedRSTD_Uncertainty, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
5937 { &hf_lpp_dummy_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoElement_eag_1 },
5938 { NULL, 0, 0, NULL }
5942 dissect_lpp_OTDOA_NeighbourCellInfoElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5943 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5944 ett_lpp_OTDOA_NeighbourCellInfoElement, OTDOA_NeighbourCellInfoElement_sequence);
5946 return offset;
5950 static const per_sequence_t OTDOA_NeighbourFreqInfo_sequence_of[1] = {
5951 { &hf_lpp_OTDOA_NeighbourFreqInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoElement },
5954 static int
5955 dissect_lpp_OTDOA_NeighbourFreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5956 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5957 ett_lpp_OTDOA_NeighbourFreqInfo, OTDOA_NeighbourFreqInfo_sequence_of,
5958 1, 24, FALSE);
5960 return offset;
5964 static const per_sequence_t OTDOA_NeighbourCellInfoList_sequence_of[1] = {
5965 { &hf_lpp_OTDOA_NeighbourCellInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourFreqInfo },
5968 static int
5969 dissect_lpp_OTDOA_NeighbourCellInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5970 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5971 ett_lpp_OTDOA_NeighbourCellInfoList, OTDOA_NeighbourCellInfoList_sequence_of,
5972 1, maxFreqLayers, FALSE);
5974 return offset;
5978 static const value_string lpp_T_cause_vals[] = {
5979 { 0, "undefined" },
5980 { 1, "assistanceDataNotSupportedByServer" },
5981 { 2, "assistanceDataSupportedButCurrentlyNotAvailableByServer" },
5982 { 0, NULL }
5986 static int
5987 dissect_lpp_T_cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5988 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5989 3, NULL, TRUE, 0, NULL);
5991 return offset;
5995 static const per_sequence_t OTDOA_LocationServerErrorCauses_sequence[] = {
5996 { &hf_lpp_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause },
5997 { NULL, 0, 0, NULL }
6000 static int
6001 dissect_lpp_OTDOA_LocationServerErrorCauses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6002 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6003 ett_lpp_OTDOA_LocationServerErrorCauses, OTDOA_LocationServerErrorCauses_sequence);
6005 return offset;
6009 static const value_string lpp_T_cause_01_vals[] = {
6010 { 0, "undefined" },
6011 { 1, "assistance-data-missing" },
6012 { 2, "unableToMeasureReferenceCell" },
6013 { 3, "unableToMeasureAnyNeighbourCell" },
6014 { 4, "attemptedButUnableToMeasureSomeNeighbourCells" },
6015 { 0, NULL }
6019 static int
6020 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_) {
6021 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6022 5, NULL, TRUE, 0, NULL);
6024 return offset;
6028 static const per_sequence_t OTDOA_TargetDeviceErrorCauses_sequence[] = {
6029 { &hf_lpp_cause_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_01 },
6030 { NULL, 0, 0, NULL }
6033 static int
6034 dissect_lpp_OTDOA_TargetDeviceErrorCauses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6035 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6036 ett_lpp_OTDOA_TargetDeviceErrorCauses, OTDOA_TargetDeviceErrorCauses_sequence);
6038 return offset;
6042 static const value_string lpp_OTDOA_Error_vals[] = {
6043 { 0, "locationServerErrorCauses" },
6044 { 1, "targetDeviceErrorCauses" },
6045 { 0, NULL }
6048 static const per_choice_t OTDOA_Error_choice[] = {
6049 { 0, &hf_lpp_locationServerErrorCauses, ASN1_EXTENSION_ROOT , dissect_lpp_OTDOA_LocationServerErrorCauses },
6050 { 1, &hf_lpp_targetDeviceErrorCauses, ASN1_EXTENSION_ROOT , dissect_lpp_OTDOA_TargetDeviceErrorCauses },
6051 { 0, NULL, 0, NULL }
6054 static int
6055 dissect_lpp_OTDOA_Error(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6056 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6057 ett_lpp_OTDOA_Error, OTDOA_Error_choice,
6058 NULL);
6060 return offset;
6064 static const per_sequence_t OTDOA_ProvideAssistanceData_sequence[] = {
6065 { &hf_lpp_otdoa_ReferenceCellInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_ReferenceCellInfo },
6066 { &hf_lpp_otdoa_NeighbourCellInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_NeighbourCellInfoList },
6067 { &hf_lpp_otdoa_Error , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_Error },
6068 { NULL, 0, 0, NULL }
6071 static int
6072 dissect_lpp_OTDOA_ProvideAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6073 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6074 ett_lpp_OTDOA_ProvideAssistanceData, OTDOA_ProvideAssistanceData_sequence);
6076 return offset;
6080 static const per_sequence_t ProvideAssistanceData_r9_IEs_sequence[] = {
6081 { &hf_lpp_commonIEsProvideAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsProvideAssistanceData },
6082 { &hf_lpp_a_gnss_ProvideAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_ProvideAssistanceData },
6083 { &hf_lpp_otdoa_ProvideAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_ProvideAssistanceData },
6084 { &hf_lpp_epdu_Provide_Assistance_Data, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
6085 { NULL, 0, 0, NULL }
6088 static int
6089 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_) {
6090 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6091 ett_lpp_ProvideAssistanceData_r9_IEs, ProvideAssistanceData_r9_IEs_sequence);
6093 return offset;
6097 static const value_string lpp_T_c1_04_vals[] = {
6098 { 0, "provideAssistanceData-r9" },
6099 { 1, "spare3" },
6100 { 2, "spare2" },
6101 { 3, "spare1" },
6102 { 0, NULL }
6105 static const per_choice_t T_c1_04_choice[] = {
6106 { 0, &hf_lpp_provideAssistanceData_r9, ASN1_NO_EXTENSIONS , dissect_lpp_ProvideAssistanceData_r9_IEs },
6107 { 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
6108 { 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
6109 { 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
6110 { 0, NULL, 0, NULL }
6113 static int
6114 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_) {
6115 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6116 ett_lpp_T_c1_04, T_c1_04_choice,
6117 NULL);
6119 return offset;
6123 static const per_sequence_t T_criticalExtensionsFuture_03_sequence[] = {
6124 { NULL, 0, 0, NULL }
6127 static int
6128 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_) {
6129 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6130 ett_lpp_T_criticalExtensionsFuture_03, T_criticalExtensionsFuture_03_sequence);
6132 return offset;
6136 static const value_string lpp_T_criticalExtensions_03_vals[] = {
6137 { 0, "c1" },
6138 { 1, "criticalExtensionsFuture" },
6139 { 0, NULL }
6142 static const per_choice_t T_criticalExtensions_03_choice[] = {
6143 { 0, &hf_lpp_c1_04 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_04 },
6144 { 1, &hf_lpp_criticalExtensionsFuture_03, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_03 },
6145 { 0, NULL, 0, NULL }
6148 static int
6149 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_) {
6150 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6151 ett_lpp_T_criticalExtensions_03, T_criticalExtensions_03_choice,
6152 NULL);
6154 return offset;
6158 static const per_sequence_t ProvideAssistanceData_sequence[] = {
6159 { &hf_lpp_criticalExtensions_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions_03 },
6160 { NULL, 0, 0, NULL }
6163 static int
6164 dissect_lpp_ProvideAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6165 #line 88 "../../asn1/lpp/lpp.cnf"
6167 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Provide Assistance Data");
6170 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6171 ett_lpp_ProvideAssistanceData, ProvideAssistanceData_sequence);
6173 return offset;
6177 static const value_string lpp_LocationInformationType_vals[] = {
6178 { 0, "locationEstimateRequired" },
6179 { 1, "locationMeasurementsRequired" },
6180 { 2, "locationEstimatePreferred" },
6181 { 3, "locationMeasurementsPreferred" },
6182 { 0, NULL }
6186 static int
6187 dissect_lpp_LocationInformationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6188 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6189 4, NULL, TRUE, 0, NULL);
6191 return offset;
6196 static int
6197 dissect_lpp_ReportingDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6198 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6199 0U, 255U, NULL, FALSE);
6201 return offset;
6205 static const per_sequence_t TriggeredReportingCriteria_sequence[] = {
6206 { &hf_lpp_cellChange , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
6207 { &hf_lpp_reportingDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ReportingDuration },
6208 { NULL, 0, 0, NULL }
6211 static int
6212 dissect_lpp_TriggeredReportingCriteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6213 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6214 ett_lpp_TriggeredReportingCriteria, TriggeredReportingCriteria_sequence);
6216 return offset;
6220 static const value_string lpp_T_reportingAmount_vals[] = {
6221 { 0, "ra1" },
6222 { 1, "ra2" },
6223 { 2, "ra4" },
6224 { 3, "ra8" },
6225 { 4, "ra16" },
6226 { 5, "ra32" },
6227 { 6, "ra64" },
6228 { 7, "ra-Infinity" },
6229 { 0, NULL }
6233 static int
6234 dissect_lpp_T_reportingAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6235 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6236 8, NULL, FALSE, 0, NULL);
6238 return offset;
6242 static const value_string lpp_T_reportingInterval_vals[] = {
6243 { 0, "noPeriodicalReporting" },
6244 { 1, "ri0-25" },
6245 { 2, "ri0-5" },
6246 { 3, "ri1" },
6247 { 4, "ri2" },
6248 { 5, "ri4" },
6249 { 6, "ri8" },
6250 { 7, "ri16" },
6251 { 8, "ri32" },
6252 { 9, "ri64" },
6253 { 0, NULL }
6257 static int
6258 dissect_lpp_T_reportingInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6259 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6260 10, NULL, FALSE, 0, NULL);
6262 return offset;
6266 static const per_sequence_t PeriodicalReportingCriteria_sequence[] = {
6267 { &hf_lpp_reportingAmount , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_reportingAmount },
6268 { &hf_lpp_reportingInterval, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_reportingInterval },
6269 { NULL, 0, 0, NULL }
6272 static int
6273 dissect_lpp_PeriodicalReportingCriteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6274 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6275 ett_lpp_PeriodicalReportingCriteria, PeriodicalReportingCriteria_sequence);
6277 return offset;
6281 static const value_string lpp_AdditionalInformation_vals[] = {
6282 { 0, "onlyReturnInformationRequested" },
6283 { 1, "mayReturnAditionalInformation" },
6284 { 0, NULL }
6288 static int
6289 dissect_lpp_AdditionalInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6290 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6291 2, NULL, TRUE, 0, NULL);
6293 return offset;
6297 static const per_sequence_t HorizontalAccuracy_sequence[] = {
6298 { &hf_lpp_accuracy , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
6299 { &hf_lpp_confidence , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
6300 { NULL, 0, 0, NULL }
6303 static int
6304 dissect_lpp_HorizontalAccuracy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6305 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6306 ett_lpp_HorizontalAccuracy, HorizontalAccuracy_sequence);
6308 return offset;
6312 static const per_sequence_t VerticalAccuracy_sequence[] = {
6313 { &hf_lpp_accuracy , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
6314 { &hf_lpp_confidence , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
6315 { NULL, 0, 0, NULL }
6318 static int
6319 dissect_lpp_VerticalAccuracy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6320 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6321 ett_lpp_VerticalAccuracy, VerticalAccuracy_sequence);
6323 return offset;
6328 static int
6329 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_) {
6330 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6331 1U, 128U, NULL, FALSE);
6333 return offset;
6337 static const per_sequence_t ResponseTime_sequence[] = {
6338 { &hf_lpp_time , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_128 },
6339 { NULL, 0, 0, NULL }
6342 static int
6343 dissect_lpp_ResponseTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6344 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6345 ett_lpp_ResponseTime, ResponseTime_sequence);
6347 return offset;
6351 static const per_sequence_t QoS_sequence[] = {
6352 { &hf_lpp_horizontalAccuracy, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_HorizontalAccuracy },
6353 { &hf_lpp_verticalCoordinateRequest, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
6354 { &hf_lpp_verticalAccuracy, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_VerticalAccuracy },
6355 { &hf_lpp_responseTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ResponseTime },
6356 { &hf_lpp_velocityRequest , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
6357 { NULL, 0, 0, NULL }
6360 static int
6361 dissect_lpp_QoS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6362 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6363 ett_lpp_QoS, QoS_sequence);
6365 return offset;
6369 static const value_string lpp_Environment_vals[] = {
6370 { 0, "badArea" },
6371 { 1, "notBadArea" },
6372 { 2, "mixedArea" },
6373 { 0, NULL }
6377 static int
6378 dissect_lpp_Environment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6379 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6380 3, NULL, TRUE, 0, NULL);
6382 return offset;
6386 static const per_sequence_t CommonIEsRequestLocationInformation_sequence[] = {
6387 { &hf_lpp_locationInformationType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LocationInformationType },
6388 { &hf_lpp_triggeredReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_TriggeredReportingCriteria },
6389 { &hf_lpp_periodicalReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PeriodicalReportingCriteria },
6390 { &hf_lpp_additionalInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AdditionalInformation },
6391 { &hf_lpp_qos , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_QoS },
6392 { &hf_lpp_environment , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Environment },
6393 { &hf_lpp_locationCoordinateTypes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationCoordinateTypes },
6394 { &hf_lpp_velocityTypes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_VelocityTypes },
6395 { NULL, 0, 0, NULL }
6398 static int
6399 dissect_lpp_CommonIEsRequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6400 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6401 ett_lpp_CommonIEsRequestLocationInformation, CommonIEsRequestLocationInformation_sequence);
6403 return offset;
6407 static const per_sequence_t GNSS_PositioningInstructions_sequence[] = {
6408 { &hf_lpp_gnss_Methods , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID_Bitmap },
6409 { &hf_lpp_fineTimeAssistanceMeasReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
6410 { &hf_lpp_adrMeasReq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
6411 { &hf_lpp_multiFreqMeasReq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
6412 { &hf_lpp_assistanceAvailability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
6413 { NULL, 0, 0, NULL }
6416 static int
6417 dissect_lpp_GNSS_PositioningInstructions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6418 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6419 ett_lpp_GNSS_PositioningInstructions, GNSS_PositioningInstructions_sequence);
6421 return offset;
6425 static const per_sequence_t A_GNSS_RequestLocationInformation_sequence[] = {
6426 { &hf_lpp_gnss_PositioningInstructions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_PositioningInstructions },
6427 { NULL, 0, 0, NULL }
6430 static int
6431 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_) {
6432 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6433 ett_lpp_A_GNSS_RequestLocationInformation, A_GNSS_RequestLocationInformation_sequence);
6435 return offset;
6439 static const per_sequence_t OTDOA_RequestLocationInformation_sequence[] = {
6440 { &hf_lpp_assistanceAvailability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
6441 { NULL, 0, 0, NULL }
6444 static int
6445 dissect_lpp_OTDOA_RequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6446 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6447 ett_lpp_OTDOA_RequestLocationInformation, OTDOA_RequestLocationInformation_sequence);
6449 return offset;
6454 static int
6455 dissect_lpp_T_requestedMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6456 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6457 1, 8, FALSE, NULL);
6459 return offset;
6463 static const per_sequence_t ECID_RequestLocationInformation_sequence[] = {
6464 { &hf_lpp_requestedMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_requestedMeasurements },
6465 { NULL, 0, 0, NULL }
6468 static int
6469 dissect_lpp_ECID_RequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6470 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6471 ett_lpp_ECID_RequestLocationInformation, ECID_RequestLocationInformation_sequence);
6473 return offset;
6477 static const per_sequence_t RequestLocationInformation_r9_IEs_sequence[] = {
6478 { &hf_lpp_commonIEsRequestLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsRequestLocationInformation },
6479 { &hf_lpp_a_gnss_RequestLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_RequestLocationInformation },
6480 { &hf_lpp_otdoa_RequestLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_RequestLocationInformation },
6481 { &hf_lpp_ecid_RequestLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECID_RequestLocationInformation },
6482 { &hf_lpp_epdu_RequestLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
6483 { NULL, 0, 0, NULL }
6486 static int
6487 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_) {
6488 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6489 ett_lpp_RequestLocationInformation_r9_IEs, RequestLocationInformation_r9_IEs_sequence);
6491 return offset;
6495 static const value_string lpp_T_c1_05_vals[] = {
6496 { 0, "requestLocationInformation-r9" },
6497 { 1, "spare3" },
6498 { 2, "spare2" },
6499 { 3, "spare1" },
6500 { 0, NULL }
6503 static const per_choice_t T_c1_05_choice[] = {
6504 { 0, &hf_lpp_requestLocationInformation_r9, ASN1_NO_EXTENSIONS , dissect_lpp_RequestLocationInformation_r9_IEs },
6505 { 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
6506 { 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
6507 { 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
6508 { 0, NULL, 0, NULL }
6511 static int
6512 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_) {
6513 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6514 ett_lpp_T_c1_05, T_c1_05_choice,
6515 NULL);
6517 return offset;
6521 static const per_sequence_t T_criticalExtensionsFuture_04_sequence[] = {
6522 { NULL, 0, 0, NULL }
6525 static int
6526 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_) {
6527 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6528 ett_lpp_T_criticalExtensionsFuture_04, T_criticalExtensionsFuture_04_sequence);
6530 return offset;
6534 static const value_string lpp_T_criticalExtensions_04_vals[] = {
6535 { 0, "c1" },
6536 { 1, "criticalExtensionsFuture" },
6537 { 0, NULL }
6540 static const per_choice_t T_criticalExtensions_04_choice[] = {
6541 { 0, &hf_lpp_c1_05 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_05 },
6542 { 1, &hf_lpp_criticalExtensionsFuture_04, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_04 },
6543 { 0, NULL, 0, NULL }
6546 static int
6547 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_) {
6548 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6549 ett_lpp_T_criticalExtensions_04, T_criticalExtensions_04_choice,
6550 NULL);
6552 return offset;
6556 static const per_sequence_t RequestLocationInformation_sequence[] = {
6557 { &hf_lpp_criticalExtensions_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions_04 },
6558 { NULL, 0, 0, NULL }
6561 static int
6562 dissect_lpp_RequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6563 #line 92 "../../asn1/lpp/lpp.cnf"
6565 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Request Location Information");
6568 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6569 ett_lpp_RequestLocationInformation, RequestLocationInformation_sequence);
6571 return offset;
6575 static const value_string lpp_T_latitudeSign_vals[] = {
6576 { 0, "north" },
6577 { 1, "south" },
6578 { 0, NULL }
6582 static int
6583 dissect_lpp_T_latitudeSign(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6584 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6585 2, NULL, FALSE, 0, NULL);
6587 return offset;
6591 static const per_sequence_t Ellipsoid_Point_sequence[] = {
6592 { &hf_lpp_latitudeSign , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign },
6593 { &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
6594 { &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
6595 { NULL, 0, 0, NULL }
6599 dissect_lpp_Ellipsoid_Point(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6600 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6601 ett_lpp_Ellipsoid_Point, Ellipsoid_Point_sequence);
6603 return offset;
6607 static const value_string lpp_T_latitudeSign_01_vals[] = {
6608 { 0, "north" },
6609 { 1, "south" },
6610 { 0, NULL }
6614 static int
6615 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_) {
6616 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6617 2, NULL, FALSE, 0, NULL);
6619 return offset;
6623 static const per_sequence_t Ellipsoid_PointWithUncertaintyCircle_sequence[] = {
6624 { &hf_lpp_latitudeSign_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign_01 },
6625 { &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
6626 { &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
6627 { &hf_lpp_uncertainty , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
6628 { NULL, 0, 0, NULL }
6631 static int
6632 dissect_lpp_Ellipsoid_PointWithUncertaintyCircle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6633 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6634 ett_lpp_Ellipsoid_PointWithUncertaintyCircle, Ellipsoid_PointWithUncertaintyCircle_sequence);
6636 return offset;
6640 static const value_string lpp_T_latitudeSign_02_vals[] = {
6641 { 0, "north" },
6642 { 1, "south" },
6643 { 0, NULL }
6647 static int
6648 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_) {
6649 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6650 2, NULL, FALSE, 0, NULL);
6652 return offset;
6656 static const per_sequence_t EllipsoidPointWithUncertaintyEllipse_sequence[] = {
6657 { &hf_lpp_latitudeSign_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign_02 },
6658 { &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
6659 { &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
6660 { &hf_lpp_uncertaintySemiMajor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
6661 { &hf_lpp_uncertaintySemiMinor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
6662 { &hf_lpp_orientationMajorAxis, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 },
6663 { &hf_lpp_confidence , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
6664 { NULL, 0, 0, NULL }
6667 static int
6668 dissect_lpp_EllipsoidPointWithUncertaintyEllipse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6669 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6670 ett_lpp_EllipsoidPointWithUncertaintyEllipse, EllipsoidPointWithUncertaintyEllipse_sequence);
6672 return offset;
6676 static const value_string lpp_T_latitudeSign_06_vals[] = {
6677 { 0, "north" },
6678 { 1, "south" },
6679 { 0, NULL }
6683 static int
6684 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_) {
6685 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6686 2, NULL, FALSE, 0, NULL);
6688 return offset;
6692 static const per_sequence_t PolygonPoints_sequence[] = {
6693 { &hf_lpp_latitudeSign_06 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign_06 },
6694 { &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
6695 { &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
6696 { NULL, 0, 0, NULL }
6699 static int
6700 dissect_lpp_PolygonPoints(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6701 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6702 ett_lpp_PolygonPoints, PolygonPoints_sequence);
6704 return offset;
6708 static const per_sequence_t Polygon_sequence_of[1] = {
6709 { &hf_lpp_Polygon_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_PolygonPoints },
6712 static int
6713 dissect_lpp_Polygon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6714 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6715 ett_lpp_Polygon, Polygon_sequence_of,
6716 3, 15, FALSE);
6718 return offset;
6722 static const value_string lpp_T_latitudeSign_03_vals[] = {
6723 { 0, "north" },
6724 { 1, "south" },
6725 { 0, NULL }
6729 static int
6730 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_) {
6731 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6732 2, NULL, FALSE, 0, NULL);
6734 return offset;
6738 static const value_string lpp_T_altitudeDirection_vals[] = {
6739 { 0, "height" },
6740 { 1, "depth" },
6741 { 0, NULL }
6745 static int
6746 dissect_lpp_T_altitudeDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6747 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6748 2, NULL, FALSE, 0, NULL);
6750 return offset;
6754 static const per_sequence_t EllipsoidPointWithAltitude_sequence[] = {
6755 { &hf_lpp_latitudeSign_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign_03 },
6756 { &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
6757 { &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
6758 { &hf_lpp_altitudeDirection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_altitudeDirection },
6759 { &hf_lpp_altitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_32767 },
6760 { NULL, 0, 0, NULL }
6764 dissect_lpp_EllipsoidPointWithAltitude(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6765 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6766 ett_lpp_EllipsoidPointWithAltitude, EllipsoidPointWithAltitude_sequence);
6768 return offset;
6772 static const value_string lpp_T_latitudeSign_05_vals[] = {
6773 { 0, "north" },
6774 { 1, "south" },
6775 { 0, NULL }
6779 static int
6780 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_) {
6781 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6782 2, NULL, FALSE, 0, NULL);
6784 return offset;
6788 static const per_sequence_t EllipsoidArc_sequence[] = {
6789 { &hf_lpp_latitudeSign_05 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_latitudeSign_05 },
6790 { &hf_lpp_degreesLatitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_8388607 },
6791 { &hf_lpp_degreesLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M8388608_8388607 },
6792 { &hf_lpp_innerRadius , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
6793 { &hf_lpp_uncertaintyRadius, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
6794 { &hf_lpp_offsetAngle , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 },
6795 { &hf_lpp_includedAngle , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_179 },
6796 { &hf_lpp_confidence , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_100 },
6797 { NULL, 0, 0, NULL }
6800 static int
6801 dissect_lpp_EllipsoidArc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6802 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6803 ett_lpp_EllipsoidArc, EllipsoidArc_sequence);
6805 return offset;
6809 static const value_string lpp_LocationCoordinates_vals[] = {
6810 { 0, "ellipsoidPoint" },
6811 { 1, "ellipsoidPointWithUncertaintyCircle" },
6812 { 2, "ellipsoidPointWithUncertaintyEllipse" },
6813 { 3, "polygon" },
6814 { 4, "ellipsoidPointWithAltitude" },
6815 { 5, "ellipsoidPointWithAltitudeAndUncertaintyEllipsoid" },
6816 { 6, "ellipsoidArc" },
6817 { 0, NULL }
6820 static const per_choice_t LocationCoordinates_choice[] = {
6821 { 0, &hf_lpp_ellipsoidPoint_01, ASN1_EXTENSION_ROOT , dissect_lpp_Ellipsoid_Point },
6822 { 1, &hf_lpp_ellipsoidPointWithUncertaintyCircle_01, ASN1_EXTENSION_ROOT , dissect_lpp_Ellipsoid_PointWithUncertaintyCircle },
6823 { 2, &hf_lpp_ellipsoidPointWithUncertaintyEllipse_01, ASN1_EXTENSION_ROOT , dissect_lpp_EllipsoidPointWithUncertaintyEllipse },
6824 { 3, &hf_lpp_polygon_01 , ASN1_EXTENSION_ROOT , dissect_lpp_Polygon },
6825 { 4, &hf_lpp_ellipsoidPointWithAltitude_01, ASN1_EXTENSION_ROOT , dissect_lpp_EllipsoidPointWithAltitude },
6826 { 5, &hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid_01, ASN1_EXTENSION_ROOT , dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid },
6827 { 6, &hf_lpp_ellipsoidArc_01 , ASN1_EXTENSION_ROOT , dissect_lpp_EllipsoidArc },
6828 { 0, NULL, 0, NULL }
6831 static int
6832 dissect_lpp_LocationCoordinates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6833 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6834 ett_lpp_LocationCoordinates, LocationCoordinates_choice,
6835 NULL);
6837 return offset;
6842 static int
6843 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_) {
6844 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6845 0U, 359U, NULL, FALSE);
6847 return offset;
6851 static const per_sequence_t HorizontalVelocity_sequence[] = {
6852 { &hf_lpp_bearing , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 },
6853 { &hf_lpp_horizontalSpeed , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
6854 { NULL, 0, 0, NULL }
6857 static int
6858 dissect_lpp_HorizontalVelocity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6859 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6860 ett_lpp_HorizontalVelocity, HorizontalVelocity_sequence);
6862 return offset;
6866 static const value_string lpp_T_verticalDirection_vals[] = {
6867 { 0, "upward" },
6868 { 1, "downward" },
6869 { 0, NULL }
6873 static int
6874 dissect_lpp_T_verticalDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6875 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6876 2, NULL, FALSE, 0, NULL);
6878 return offset;
6882 static const per_sequence_t HorizontalWithVerticalVelocity_sequence[] = {
6883 { &hf_lpp_bearing , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 },
6884 { &hf_lpp_horizontalSpeed , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
6885 { &hf_lpp_verticalDirection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_verticalDirection },
6886 { &hf_lpp_verticalSpeed , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
6887 { NULL, 0, 0, NULL }
6890 static int
6891 dissect_lpp_HorizontalWithVerticalVelocity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6892 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6893 ett_lpp_HorizontalWithVerticalVelocity, HorizontalWithVerticalVelocity_sequence);
6895 return offset;
6899 static const per_sequence_t HorizontalVelocityWithUncertainty_sequence[] = {
6900 { &hf_lpp_bearing , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 },
6901 { &hf_lpp_horizontalSpeed , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
6902 { &hf_lpp_uncertaintySpeed, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
6903 { NULL, 0, 0, NULL }
6906 static int
6907 dissect_lpp_HorizontalVelocityWithUncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6908 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6909 ett_lpp_HorizontalVelocityWithUncertainty, HorizontalVelocityWithUncertainty_sequence);
6911 return offset;
6915 static const value_string lpp_T_verticalDirection_01_vals[] = {
6916 { 0, "upward" },
6917 { 1, "downward" },
6918 { 0, NULL }
6922 static int
6923 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_) {
6924 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6925 2, NULL, FALSE, 0, NULL);
6927 return offset;
6931 static const per_sequence_t HorizontalWithVerticalVelocityAndUncertainty_sequence[] = {
6932 { &hf_lpp_bearing , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_359 },
6933 { &hf_lpp_horizontalSpeed , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2047 },
6934 { &hf_lpp_verticalDirection_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_verticalDirection_01 },
6935 { &hf_lpp_verticalSpeed , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
6936 { &hf_lpp_horizontalUncertaintySpeed, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
6937 { &hf_lpp_verticalUncertaintySpeed, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_255 },
6938 { NULL, 0, 0, NULL }
6941 static int
6942 dissect_lpp_HorizontalWithVerticalVelocityAndUncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6943 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6944 ett_lpp_HorizontalWithVerticalVelocityAndUncertainty, HorizontalWithVerticalVelocityAndUncertainty_sequence);
6946 return offset;
6950 static const value_string lpp_Velocity_vals[] = {
6951 { 0, "horizontalVelocity" },
6952 { 1, "horizontalWithVerticalVelocity" },
6953 { 2, "horizontalVelocityWithUncertainty" },
6954 { 3, "horizontalWithVerticalVelocityAndUncertainty" },
6955 { 0, NULL }
6958 static const per_choice_t Velocity_choice[] = {
6959 { 0, &hf_lpp_horizontalVelocity_01, ASN1_EXTENSION_ROOT , dissect_lpp_HorizontalVelocity },
6960 { 1, &hf_lpp_horizontalWithVerticalVelocity_01, ASN1_EXTENSION_ROOT , dissect_lpp_HorizontalWithVerticalVelocity },
6961 { 2, &hf_lpp_horizontalVelocityWithUncertainty_01, ASN1_EXTENSION_ROOT , dissect_lpp_HorizontalVelocityWithUncertainty },
6962 { 3, &hf_lpp_horizontalWithVerticalVelocityAndUncertainty_01, ASN1_EXTENSION_ROOT , dissect_lpp_HorizontalWithVerticalVelocityAndUncertainty },
6963 { 0, NULL, 0, NULL }
6966 static int
6967 dissect_lpp_Velocity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6968 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6969 ett_lpp_Velocity, Velocity_choice,
6970 NULL);
6972 return offset;
6976 static const value_string lpp_LocationFailureCause_vals[] = {
6977 { 0, "undefined" },
6978 { 1, "requestedMethodNotSupported" },
6979 { 2, "positionMethodFailure" },
6980 { 3, "periodicLocationMeasurementsNotAvailable" },
6981 { 0, NULL }
6985 static int
6986 dissect_lpp_LocationFailureCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6987 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6988 4, NULL, TRUE, 0, NULL);
6990 return offset;
6994 static const per_sequence_t LocationError_sequence[] = {
6995 { &hf_lpp_locationfailurecause, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LocationFailureCause },
6996 { NULL, 0, 0, NULL }
6999 static int
7000 dissect_lpp_LocationError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7001 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7002 ett_lpp_LocationError, LocationError_sequence);
7004 return offset;
7008 static const per_sequence_t CommonIEsProvideLocationInformation_sequence[] = {
7009 { &hf_lpp_locationEstimate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationCoordinates },
7010 { &hf_lpp_velocityEstimate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Velocity },
7011 { &hf_lpp_locationError , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationError },
7012 { NULL, 0, 0, NULL }
7015 static int
7016 dissect_lpp_CommonIEsProvideLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7017 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7018 ett_lpp_CommonIEsProvideLocationInformation, CommonIEsProvideLocationInformation_sequence);
7020 return offset;
7025 static int
7026 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_) {
7027 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7028 0U, 3599999U, NULL, FALSE);
7030 return offset;
7035 static int
7036 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_) {
7037 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7038 0U, 3999U, NULL, FALSE);
7040 return offset;
7045 static int
7046 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_) {
7047 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7048 10, 10, FALSE, NULL);
7050 return offset;
7054 static const per_sequence_t T_eUTRA_01_sequence[] = {
7055 { &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
7056 { &hf_lpp_cellGlobalId_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA },
7057 { &hf_lpp_systemFrameNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_10 },
7058 { NULL, 0, 0, NULL }
7061 static int
7062 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_) {
7063 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7064 ett_lpp_T_eUTRA_01, T_eUTRA_01_sequence);
7066 return offset;
7070 static const per_sequence_t T_fdd_01_sequence[] = {
7071 { &hf_lpp_primary_CPICH_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_511 },
7072 { NULL, 0, 0, NULL }
7075 static int
7076 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_) {
7077 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7078 ett_lpp_T_fdd_01, T_fdd_01_sequence);
7080 return offset;
7084 static const per_sequence_t T_tdd_01_sequence[] = {
7085 { &hf_lpp_cellParameters , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_127 },
7086 { NULL, 0, 0, NULL }
7089 static int
7090 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_) {
7091 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7092 ett_lpp_T_tdd_01, T_tdd_01_sequence);
7094 return offset;
7098 static const value_string lpp_T_mode_01_vals[] = {
7099 { 0, "fdd" },
7100 { 1, "tdd" },
7101 { 0, NULL }
7104 static const per_choice_t T_mode_01_choice[] = {
7105 { 0, &hf_lpp_fdd_01 , ASN1_NO_EXTENSIONS , dissect_lpp_T_fdd_01 },
7106 { 1, &hf_lpp_tdd_01 , ASN1_NO_EXTENSIONS , dissect_lpp_T_tdd_01 },
7107 { 0, NULL, 0, NULL }
7110 static int
7111 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_) {
7112 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7113 ett_lpp_T_mode_01, T_mode_01_choice,
7114 NULL);
7116 return offset;
7120 static const per_sequence_t T_uTRA_01_sequence[] = {
7121 { &hf_lpp_mode_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_mode_01 },
7122 { &hf_lpp_cellGlobalId_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA },
7123 { &hf_lpp_referenceSystemFrameNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4095 },
7124 { NULL, 0, 0, NULL }
7127 static int
7128 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_) {
7129 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7130 ett_lpp_T_uTRA_01, T_uTRA_01_sequence);
7132 return offset;
7136 static const per_sequence_t T_referenceFrame_sequence[] = {
7137 { &hf_lpp_referenceFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_65535 },
7138 { &hf_lpp_referenceFNMSB , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_63 },
7139 { NULL, 0, 0, NULL }
7142 static int
7143 dissect_lpp_T_referenceFrame(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7144 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7145 ett_lpp_T_referenceFrame, T_referenceFrame_sequence);
7147 return offset;
7151 static const per_sequence_t T_gSM_01_sequence[] = {
7152 { &hf_lpp_bcchCarrier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
7153 { &hf_lpp_bsic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
7154 { &hf_lpp_cellGlobalId_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdGERAN },
7155 { &hf_lpp_referenceFrame , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_referenceFrame },
7156 { &hf_lpp_deltaGNSS_TOD , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
7157 { NULL, 0, 0, NULL }
7160 static int
7161 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_) {
7162 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7163 ett_lpp_T_gSM_01, T_gSM_01_sequence);
7165 return offset;
7169 static const value_string lpp_T_networkTime_vals[] = {
7170 { 0, "eUTRA" },
7171 { 1, "uTRA" },
7172 { 2, "gSM" },
7173 { 0, NULL }
7176 static const per_choice_t T_networkTime_choice[] = {
7177 { 0, &hf_lpp_eUTRA_01 , ASN1_EXTENSION_ROOT , dissect_lpp_T_eUTRA_01 },
7178 { 1, &hf_lpp_uTRA_01 , ASN1_EXTENSION_ROOT , dissect_lpp_T_uTRA_01 },
7179 { 2, &hf_lpp_gSM_01 , ASN1_EXTENSION_ROOT , dissect_lpp_T_gSM_01 },
7180 { 0, NULL, 0, NULL }
7183 static int
7184 dissect_lpp_T_networkTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7185 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7186 ett_lpp_T_networkTime, T_networkTime_choice,
7187 NULL);
7189 return offset;
7193 static const per_sequence_t MeasurementReferenceTime_sequence[] = {
7194 { &hf_lpp_gnss_TOD_msec , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_3599999 },
7195 { &hf_lpp_gnss_TOD_frac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3999 },
7196 { &hf_lpp_gnss_TOD_unc , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
7197 { &hf_lpp_gnss_TimeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
7198 { &hf_lpp_networkTime_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_networkTime },
7199 { NULL, 0, 0, NULL }
7202 static int
7203 dissect_lpp_MeasurementReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7204 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7205 ett_lpp_MeasurementReferenceTime, MeasurementReferenceTime_sequence);
7207 return offset;
7211 static const value_string lpp_T_mpathDet_vals[] = {
7212 { 0, "notMeasured" },
7213 { 1, "low" },
7214 { 2, "medium" },
7215 { 3, "high" },
7216 { 0, NULL }
7220 static int
7221 dissect_lpp_T_mpathDet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7222 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7223 4, NULL, TRUE, 0, NULL);
7225 return offset;
7230 static int
7231 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_) {
7232 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7233 0U, 33554431U, NULL, FALSE);
7235 return offset;
7239 static const per_sequence_t GNSS_SatMeasElement_sequence[] = {
7240 { &hf_lpp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SV_ID },
7241 { &hf_lpp_cNo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
7242 { &hf_lpp_mpathDet , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_mpathDet },
7243 { &hf_lpp_carrierQualityInd, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_3 },
7244 { &hf_lpp_codePhase_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2097151 },
7245 { &hf_lpp_integerCodePhase, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
7246 { &hf_lpp_codePhaseRMSError, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
7247 { &hf_lpp_doppler , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M32768_32767 },
7248 { &hf_lpp_adr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_33554431 },
7249 { NULL, 0, 0, NULL }
7252 static int
7253 dissect_lpp_GNSS_SatMeasElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7254 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7255 ett_lpp_GNSS_SatMeasElement, GNSS_SatMeasElement_sequence);
7257 return offset;
7261 static const per_sequence_t GNSS_SatMeasList_sequence_of[1] = {
7262 { &hf_lpp_GNSS_SatMeasList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SatMeasElement },
7265 static int
7266 dissect_lpp_GNSS_SatMeasList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7267 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7268 ett_lpp_GNSS_SatMeasList, GNSS_SatMeasList_sequence_of,
7269 1, 64, FALSE);
7271 return offset;
7275 static const per_sequence_t GNSS_SgnMeasElement_sequence[] = {
7276 { &hf_lpp_gnss_SignalID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SignalID },
7277 { &hf_lpp_gnss_CodePhaseAmbiguity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_127 },
7278 { &hf_lpp_gnss_SatMeasList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SatMeasList },
7279 { NULL, 0, 0, NULL }
7282 static int
7283 dissect_lpp_GNSS_SgnMeasElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7284 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7285 ett_lpp_GNSS_SgnMeasElement, GNSS_SgnMeasElement_sequence);
7287 return offset;
7291 static const per_sequence_t GNSS_SgnMeasList_sequence_of[1] = {
7292 { &hf_lpp_GNSS_SgnMeasList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SgnMeasElement },
7295 static int
7296 dissect_lpp_GNSS_SgnMeasList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7297 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7298 ett_lpp_GNSS_SgnMeasList, GNSS_SgnMeasList_sequence_of,
7299 1, 8, FALSE);
7301 return offset;
7305 static const per_sequence_t GNSS_MeasurementForOneGNSS_sequence[] = {
7306 { &hf_lpp_gnss_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID },
7307 { &hf_lpp_gnss_SgnMeasList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_SgnMeasList },
7308 { NULL, 0, 0, NULL }
7311 static int
7312 dissect_lpp_GNSS_MeasurementForOneGNSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7313 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7314 ett_lpp_GNSS_MeasurementForOneGNSS, GNSS_MeasurementForOneGNSS_sequence);
7316 return offset;
7320 static const per_sequence_t GNSS_MeasurementList_sequence_of[1] = {
7321 { &hf_lpp_GNSS_MeasurementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_MeasurementForOneGNSS },
7324 static int
7325 dissect_lpp_GNSS_MeasurementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7326 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7327 ett_lpp_GNSS_MeasurementList, GNSS_MeasurementList_sequence_of,
7328 1, 16, FALSE);
7330 return offset;
7334 static const per_sequence_t GNSS_SignalMeasurementInformation_sequence[] = {
7335 { &hf_lpp_measurementReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_MeasurementReferenceTime },
7336 { &hf_lpp_gnss_MeasurementList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_MeasurementList },
7337 { NULL, 0, 0, NULL }
7340 static int
7341 dissect_lpp_GNSS_SignalMeasurementInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7342 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7343 ett_lpp_GNSS_SignalMeasurementInformation, GNSS_SignalMeasurementInformation_sequence);
7345 return offset;
7349 static const per_sequence_t GNSS_LocationInformation_sequence[] = {
7350 { &hf_lpp_measurementReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_MeasurementReferenceTime },
7351 { &hf_lpp_agnss_List , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_GNSS_ID_Bitmap },
7352 { NULL, 0, 0, NULL }
7355 static int
7356 dissect_lpp_GNSS_LocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7357 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7358 ett_lpp_GNSS_LocationInformation, GNSS_LocationInformation_sequence);
7360 return offset;
7364 static const per_sequence_t A_GNSS_ProvideLocationInformation_sequence[] = {
7365 { &hf_lpp_gnss_SignalMeasurementInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_SignalMeasurementInformation },
7366 { &hf_lpp_gnss_LocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_LocationInformation },
7367 { &hf_lpp_gnss_Error , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_Error },
7368 { NULL, 0, 0, NULL }
7371 static int
7372 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_) {
7373 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7374 ett_lpp_A_GNSS_ProvideLocationInformation, A_GNSS_ProvideLocationInformation_sequence);
7376 return offset;
7381 static int
7382 dissect_lpp_BIT_STRING_SIZE_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7383 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7384 5, 5, FALSE, NULL);
7386 return offset;
7391 static int
7392 dissect_lpp_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7393 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7394 3, 3, FALSE, NULL);
7396 return offset;
7400 static const per_sequence_t OTDOA_MeasQuality_sequence[] = {
7401 { &hf_lpp_error_Resolution, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_2 },
7402 { &hf_lpp_error_Value , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_5 },
7403 { &hf_lpp_error_NumSamples, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_3 },
7404 { NULL, 0, 0, NULL }
7407 static int
7408 dissect_lpp_OTDOA_MeasQuality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7409 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7410 ett_lpp_OTDOA_MeasQuality, OTDOA_MeasQuality_sequence);
7412 return offset;
7417 static int
7418 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_) {
7419 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7420 0U, 12711U, NULL, FALSE);
7422 return offset;
7426 static const per_sequence_t NeighbourMeasurementElement_eag_1_sequence[] = {
7427 { &hf_lpp_earfcnNeighbour_v9a0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_v9a0 },
7428 { NULL, 0, 0, NULL }
7431 static int
7432 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_) {
7433 offset = dissect_per_sequence_eag(tvb, offset, actx, tree, NeighbourMeasurementElement_eag_1_sequence);
7435 return offset;
7439 static const per_sequence_t NeighbourMeasurementElement_sequence[] = {
7440 { &hf_lpp_physCellIdNeighbor, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
7441 { &hf_lpp_cellGlobalIdNeighbour, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
7442 { &hf_lpp_earfcnNeighbour , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA },
7443 { &hf_lpp_rstd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_12711 },
7444 { &hf_lpp_rstd_Quality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_MeasQuality },
7445 { &hf_lpp_dummy_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementElement_eag_1 },
7446 { NULL, 0, 0, NULL }
7449 static int
7450 dissect_lpp_NeighbourMeasurementElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7451 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7452 ett_lpp_NeighbourMeasurementElement, NeighbourMeasurementElement_sequence);
7454 return offset;
7458 static const per_sequence_t NeighbourMeasurementList_sequence_of[1] = {
7459 { &hf_lpp_NeighbourMeasurementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementElement },
7462 static int
7463 dissect_lpp_NeighbourMeasurementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7464 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7465 ett_lpp_NeighbourMeasurementList, NeighbourMeasurementList_sequence_of,
7466 1, 24, FALSE);
7468 return offset;
7472 static const per_sequence_t OTDOA_SignalMeasurementInformation_eag_1_sequence[] = {
7473 { &hf_lpp_earfcnRef_v9a0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_v9a0 },
7474 { NULL, 0, 0, NULL }
7477 static int
7478 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_) {
7479 offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_SignalMeasurementInformation_eag_1_sequence);
7481 return offset;
7485 static const per_sequence_t OTDOA_SignalMeasurementInformation_sequence[] = {
7486 { &hf_lpp_systemFrameNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_10 },
7487 { &hf_lpp_physCellIdRef , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
7488 { &hf_lpp_cellGlobalIdRef , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
7489 { &hf_lpp_earfcnRef , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA },
7490 { &hf_lpp_referenceQuality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_MeasQuality },
7491 { &hf_lpp_neighbourMeasurementList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementList },
7492 { &hf_lpp_dummy_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_SignalMeasurementInformation_eag_1 },
7493 { NULL, 0, 0, NULL }
7496 static int
7497 dissect_lpp_OTDOA_SignalMeasurementInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7498 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7499 ett_lpp_OTDOA_SignalMeasurementInformation, OTDOA_SignalMeasurementInformation_sequence);
7501 return offset;
7505 static const per_sequence_t OTDOA_ProvideLocationInformation_sequence[] = {
7506 { &hf_lpp_otdoaSignalMeasurementInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_SignalMeasurementInformation },
7507 { &hf_lpp_otdoa_Error , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_Error },
7508 { NULL, 0, 0, NULL }
7511 static int
7512 dissect_lpp_OTDOA_ProvideLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7513 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7514 ett_lpp_OTDOA_ProvideLocationInformation, OTDOA_ProvideLocationInformation_sequence);
7516 return offset;
7521 static int
7522 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_) {
7523 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7524 0U, 97U, NULL, FALSE);
7526 return offset;
7531 static int
7532 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_) {
7533 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7534 0U, 34U, NULL, FALSE);
7536 return offset;
7540 static const per_sequence_t MeasuredResultsElement_eag_1_sequence[] = {
7541 { &hf_lpp_arfcnEUTRA_v9a0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_v9a0 },
7542 { NULL, 0, 0, NULL }
7545 static int
7546 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_) {
7547 offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasuredResultsElement_eag_1_sequence);
7549 return offset;
7553 static const per_sequence_t MeasuredResultsElement_sequence[] = {
7554 { &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
7555 { &hf_lpp_cellGlobalId_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA },
7556 { &hf_lpp_arfcnEUTRA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueEUTRA },
7557 { &hf_lpp_systemFrameNumber, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_10 },
7558 { &hf_lpp_rsrp_Result , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_97 },
7559 { &hf_lpp_rsrq_Result , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_34 },
7560 { &hf_lpp_ue_RxTxTimeDiff , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
7561 { &hf_lpp_dummy_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_MeasuredResultsElement_eag_1 },
7562 { NULL, 0, 0, NULL }
7565 static int
7566 dissect_lpp_MeasuredResultsElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7567 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7568 ett_lpp_MeasuredResultsElement, MeasuredResultsElement_sequence);
7570 return offset;
7574 static const per_sequence_t MeasuredResultsList_sequence_of[1] = {
7575 { &hf_lpp_MeasuredResultsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_MeasuredResultsElement },
7578 static int
7579 dissect_lpp_MeasuredResultsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7580 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7581 ett_lpp_MeasuredResultsList, MeasuredResultsList_sequence_of,
7582 1, 32, FALSE);
7584 return offset;
7588 static const per_sequence_t ECID_SignalMeasurementInformation_sequence[] = {
7589 { &hf_lpp_primaryCellMeasuredResults, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_MeasuredResultsElement },
7590 { &hf_lpp_measuredResultsList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_MeasuredResultsList },
7591 { NULL, 0, 0, NULL }
7595 dissect_lpp_ECID_SignalMeasurementInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7596 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7597 ett_lpp_ECID_SignalMeasurementInformation, ECID_SignalMeasurementInformation_sequence);
7599 return offset;
7603 static const value_string lpp_T_cause_04_vals[] = {
7604 { 0, "undefined" },
7605 { 0, NULL }
7609 static int
7610 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_) {
7611 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7612 1, NULL, TRUE, 0, NULL);
7614 return offset;
7618 static const per_sequence_t ECID_LocationServerErrorCauses_sequence[] = {
7619 { &hf_lpp_cause_04 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_04 },
7620 { NULL, 0, 0, NULL }
7623 static int
7624 dissect_lpp_ECID_LocationServerErrorCauses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7625 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7626 ett_lpp_ECID_LocationServerErrorCauses, ECID_LocationServerErrorCauses_sequence);
7628 return offset;
7632 static const value_string lpp_T_cause_05_vals[] = {
7633 { 0, "undefined" },
7634 { 1, "requestedMeasurementNotAvailable" },
7635 { 2, "notAllrequestedMeasurementsPossible" },
7636 { 0, NULL }
7640 static int
7641 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_) {
7642 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7643 3, NULL, TRUE, 0, NULL);
7645 return offset;
7649 static const per_sequence_t ECID_TargetDeviceErrorCauses_sequence[] = {
7650 { &hf_lpp_cause_05 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_05 },
7651 { &hf_lpp_rsrpMeasurementNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
7652 { &hf_lpp_rsrqMeasurementNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
7653 { &hf_lpp_ueRxTxMeasurementNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
7654 { NULL, 0, 0, NULL }
7657 static int
7658 dissect_lpp_ECID_TargetDeviceErrorCauses(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7659 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7660 ett_lpp_ECID_TargetDeviceErrorCauses, ECID_TargetDeviceErrorCauses_sequence);
7662 return offset;
7666 static const value_string lpp_ECID_Error_vals[] = {
7667 { 0, "locationServerErrorCauses" },
7668 { 1, "targetDeviceErrorCauses" },
7669 { 0, NULL }
7672 static const per_choice_t ECID_Error_choice[] = {
7673 { 0, &hf_lpp_locationServerErrorCauses_02, ASN1_EXTENSION_ROOT , dissect_lpp_ECID_LocationServerErrorCauses },
7674 { 1, &hf_lpp_targetDeviceErrorCauses_02, ASN1_EXTENSION_ROOT , dissect_lpp_ECID_TargetDeviceErrorCauses },
7675 { 0, NULL, 0, NULL }
7678 static int
7679 dissect_lpp_ECID_Error(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7680 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7681 ett_lpp_ECID_Error, ECID_Error_choice,
7682 NULL);
7684 return offset;
7688 static const per_sequence_t ECID_ProvideLocationInformation_sequence[] = {
7689 { &hf_lpp_ecid_SignalMeasurementInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECID_SignalMeasurementInformation },
7690 { &hf_lpp_ecid_Error , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECID_Error },
7691 { NULL, 0, 0, NULL }
7694 static int
7695 dissect_lpp_ECID_ProvideLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7696 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7697 ett_lpp_ECID_ProvideLocationInformation, ECID_ProvideLocationInformation_sequence);
7699 return offset;
7703 static const per_sequence_t ProvideLocationInformation_r9_IEs_sequence[] = {
7704 { &hf_lpp_commonIEsProvideLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsProvideLocationInformation },
7705 { &hf_lpp_a_gnss_ProvideLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_ProvideLocationInformation },
7706 { &hf_lpp_otdoa_ProvideLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_ProvideLocationInformation },
7707 { &hf_lpp_ecid_ProvideLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECID_ProvideLocationInformation },
7708 { &hf_lpp_epdu_ProvideLocationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
7709 { NULL, 0, 0, NULL }
7712 static int
7713 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_) {
7714 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7715 ett_lpp_ProvideLocationInformation_r9_IEs, ProvideLocationInformation_r9_IEs_sequence);
7717 return offset;
7721 static const value_string lpp_T_c1_06_vals[] = {
7722 { 0, "provideLocationInformation-r9" },
7723 { 1, "spare3" },
7724 { 2, "spare2" },
7725 { 3, "spare1" },
7726 { 0, NULL }
7729 static const per_choice_t T_c1_06_choice[] = {
7730 { 0, &hf_lpp_provideLocationInformation_r9, ASN1_NO_EXTENSIONS , dissect_lpp_ProvideLocationInformation_r9_IEs },
7731 { 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
7732 { 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
7733 { 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
7734 { 0, NULL, 0, NULL }
7737 static int
7738 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_) {
7739 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7740 ett_lpp_T_c1_06, T_c1_06_choice,
7741 NULL);
7743 return offset;
7747 static const per_sequence_t T_criticalExtensionsFuture_05_sequence[] = {
7748 { NULL, 0, 0, NULL }
7751 static int
7752 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_) {
7753 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7754 ett_lpp_T_criticalExtensionsFuture_05, T_criticalExtensionsFuture_05_sequence);
7756 return offset;
7760 static const value_string lpp_T_criticalExtensions_05_vals[] = {
7761 { 0, "c1" },
7762 { 1, "criticalExtensionsFuture" },
7763 { 0, NULL }
7766 static const per_choice_t T_criticalExtensions_05_choice[] = {
7767 { 0, &hf_lpp_c1_06 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_06 },
7768 { 1, &hf_lpp_criticalExtensionsFuture_05, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_05 },
7769 { 0, NULL, 0, NULL }
7772 static int
7773 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_) {
7774 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7775 ett_lpp_T_criticalExtensions_05, T_criticalExtensions_05_choice,
7776 NULL);
7778 return offset;
7782 static const per_sequence_t ProvideLocationInformation_sequence[] = {
7783 { &hf_lpp_criticalExtensions_05, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions_05 },
7784 { NULL, 0, 0, NULL }
7787 static int
7788 dissect_lpp_ProvideLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7789 #line 96 "../../asn1/lpp/lpp.cnf"
7791 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Provide Location Information");
7794 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7795 ett_lpp_ProvideLocationInformation, ProvideLocationInformation_sequence);
7797 return offset;
7801 static const value_string lpp_T_abortCause_vals[] = {
7802 { 0, "undefined" },
7803 { 1, "stopPeriodicReporting" },
7804 { 2, "targetDeviceAbort" },
7805 { 3, "networkAbort" },
7806 { 0, NULL }
7810 static int
7811 dissect_lpp_T_abortCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7812 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7813 4, NULL, TRUE, 0, NULL);
7815 return offset;
7819 static const per_sequence_t CommonIEsAbort_sequence[] = {
7820 { &hf_lpp_abortCause , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_abortCause },
7821 { NULL, 0, 0, NULL }
7824 static int
7825 dissect_lpp_CommonIEsAbort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7826 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7827 ett_lpp_CommonIEsAbort, CommonIEsAbort_sequence);
7829 return offset;
7833 static const per_sequence_t Abort_r9_IEs_sequence[] = {
7834 { &hf_lpp_commonIEsAbort , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsAbort },
7835 { &hf_lpp_epdu_Abort , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
7836 { NULL, 0, 0, NULL }
7839 static int
7840 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_) {
7841 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7842 ett_lpp_Abort_r9_IEs, Abort_r9_IEs_sequence);
7844 return offset;
7848 static const value_string lpp_T_c1_07_vals[] = {
7849 { 0, "abort-r9" },
7850 { 1, "spare3" },
7851 { 2, "spare2" },
7852 { 3, "spare1" },
7853 { 0, NULL }
7856 static const per_choice_t T_c1_07_choice[] = {
7857 { 0, &hf_lpp_abort_r9 , ASN1_NO_EXTENSIONS , dissect_lpp_Abort_r9_IEs },
7858 { 1, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
7859 { 2, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
7860 { 3, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
7861 { 0, NULL, 0, NULL }
7864 static int
7865 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_) {
7866 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7867 ett_lpp_T_c1_07, T_c1_07_choice,
7868 NULL);
7870 return offset;
7874 static const per_sequence_t T_criticalExtensionsFuture_06_sequence[] = {
7875 { NULL, 0, 0, NULL }
7878 static int
7879 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_) {
7880 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7881 ett_lpp_T_criticalExtensionsFuture_06, T_criticalExtensionsFuture_06_sequence);
7883 return offset;
7887 static const value_string lpp_T_criticalExtensions_06_vals[] = {
7888 { 0, "c1" },
7889 { 1, "criticalExtensionsFuture" },
7890 { 0, NULL }
7893 static const per_choice_t T_criticalExtensions_06_choice[] = {
7894 { 0, &hf_lpp_c1_07 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1_07 },
7895 { 1, &hf_lpp_criticalExtensionsFuture_06, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_06 },
7896 { 0, NULL, 0, NULL }
7899 static int
7900 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_) {
7901 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7902 ett_lpp_T_criticalExtensions_06, T_criticalExtensions_06_choice,
7903 NULL);
7905 return offset;
7909 static const per_sequence_t Abort_sequence[] = {
7910 { &hf_lpp_criticalExtensions_06, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_criticalExtensions_06 },
7911 { NULL, 0, 0, NULL }
7914 static int
7915 dissect_lpp_Abort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7916 #line 100 "../../asn1/lpp/lpp.cnf"
7918 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Abort");
7921 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7922 ett_lpp_Abort, Abort_sequence);
7924 return offset;
7928 static const value_string lpp_T_errorCause_vals[] = {
7929 { 0, "undefined" },
7930 { 1, "lppMessageHeaderError" },
7931 { 2, "lppMessageBodyError" },
7932 { 3, "epduError" },
7933 { 4, "incorrectDataValue" },
7934 { 0, NULL }
7938 static int
7939 dissect_lpp_T_errorCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7940 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7941 5, NULL, TRUE, 0, NULL);
7943 return offset;
7947 static const per_sequence_t CommonIEsError_sequence[] = {
7948 { &hf_lpp_errorCause , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_T_errorCause },
7949 { NULL, 0, 0, NULL }
7952 static int
7953 dissect_lpp_CommonIEsError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7954 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7955 ett_lpp_CommonIEsError, CommonIEsError_sequence);
7957 return offset;
7961 static const per_sequence_t Error_r9_IEs_sequence[] = {
7962 { &hf_lpp_commonIEsError , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsError },
7963 { &hf_lpp_epdu_Error , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
7964 { NULL, 0, 0, NULL }
7967 static int
7968 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_) {
7969 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7970 ett_lpp_Error_r9_IEs, Error_r9_IEs_sequence);
7972 return offset;
7976 static const per_sequence_t T_criticalExtensionsFuture_07_sequence[] = {
7977 { NULL, 0, 0, NULL }
7980 static int
7981 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_) {
7982 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7983 ett_lpp_T_criticalExtensionsFuture_07, T_criticalExtensionsFuture_07_sequence);
7985 return offset;
7989 static const value_string lpp_Error_vals[] = {
7990 { 0, "error-r9" },
7991 { 1, "criticalExtensionsFuture" },
7992 { 0, NULL }
7995 static const per_choice_t Error_choice[] = {
7996 { 0, &hf_lpp_error_r9 , ASN1_NO_EXTENSIONS , dissect_lpp_Error_r9_IEs },
7997 { 1, &hf_lpp_criticalExtensionsFuture_07, ASN1_NO_EXTENSIONS , dissect_lpp_T_criticalExtensionsFuture_07 },
7998 { 0, NULL, 0, NULL }
8001 static int
8002 dissect_lpp_Error(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8003 #line 104 "../../asn1/lpp/lpp.cnf"
8005 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Error");
8008 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8009 ett_lpp_Error, Error_choice,
8010 NULL);
8012 return offset;
8016 static const value_string lpp_T_c1_vals[] = {
8017 { 0, "requestCapabilities" },
8018 { 1, "provideCapabilities" },
8019 { 2, "requestAssistanceData" },
8020 { 3, "provideAssistanceData" },
8021 { 4, "requestLocationInformation" },
8022 { 5, "provideLocationInformation" },
8023 { 6, "abort" },
8024 { 7, "error" },
8025 { 8, "spare7" },
8026 { 9, "spare6" },
8027 { 10, "spare5" },
8028 { 11, "spare4" },
8029 { 12, "spare3" },
8030 { 13, "spare2" },
8031 { 14, "spare1" },
8032 { 15, "spare0" },
8033 { 0, NULL }
8036 static const per_choice_t T_c1_choice[] = {
8037 { 0, &hf_lpp_requestCapabilities, ASN1_NO_EXTENSIONS , dissect_lpp_RequestCapabilities },
8038 { 1, &hf_lpp_provideCapabilities, ASN1_NO_EXTENSIONS , dissect_lpp_ProvideCapabilities },
8039 { 2, &hf_lpp_requestAssistanceData, ASN1_NO_EXTENSIONS , dissect_lpp_RequestAssistanceData },
8040 { 3, &hf_lpp_provideAssistanceData, ASN1_NO_EXTENSIONS , dissect_lpp_ProvideAssistanceData },
8041 { 4, &hf_lpp_requestLocationInformation, ASN1_NO_EXTENSIONS , dissect_lpp_RequestLocationInformation },
8042 { 5, &hf_lpp_provideLocationInformation, ASN1_NO_EXTENSIONS , dissect_lpp_ProvideLocationInformation },
8043 { 6, &hf_lpp_abort , ASN1_NO_EXTENSIONS , dissect_lpp_Abort },
8044 { 7, &hf_lpp_error , ASN1_NO_EXTENSIONS , dissect_lpp_Error },
8045 { 8, &hf_lpp_spare7 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
8046 { 9, &hf_lpp_spare6 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
8047 { 10, &hf_lpp_spare5 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
8048 { 11, &hf_lpp_spare4 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
8049 { 12, &hf_lpp_spare3 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
8050 { 13, &hf_lpp_spare2 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
8051 { 14, &hf_lpp_spare1 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
8052 { 15, &hf_lpp_spare0 , ASN1_NO_EXTENSIONS , dissect_lpp_NULL },
8053 { 0, NULL, 0, NULL }
8056 static int
8057 dissect_lpp_T_c1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8058 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8059 ett_lpp_T_c1, T_c1_choice,
8060 NULL);
8062 return offset;
8066 static const per_sequence_t T_messageClassExtension_sequence[] = {
8067 { NULL, 0, 0, NULL }
8070 static int
8071 dissect_lpp_T_messageClassExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8072 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8073 ett_lpp_T_messageClassExtension, T_messageClassExtension_sequence);
8075 return offset;
8079 static const value_string lpp_LPP_MessageBody_vals[] = {
8080 { 0, "c1" },
8081 { 1, "messageClassExtension" },
8082 { 0, NULL }
8085 static const per_choice_t LPP_MessageBody_choice[] = {
8086 { 0, &hf_lpp_c1 , ASN1_NO_EXTENSIONS , dissect_lpp_T_c1 },
8087 { 1, &hf_lpp_messageClassExtension, ASN1_NO_EXTENSIONS , dissect_lpp_T_messageClassExtension },
8088 { 0, NULL, 0, NULL }
8091 static int
8092 dissect_lpp_LPP_MessageBody(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8093 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8094 ett_lpp_LPP_MessageBody, LPP_MessageBody_choice,
8095 NULL);
8097 return offset;
8101 static const per_sequence_t LPP_Message_sequence[] = {
8102 { &hf_lpp_transactionID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LPP_TransactionID },
8103 { &hf_lpp_endTransaction , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
8104 { &hf_lpp_sequenceNumber , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SequenceNumber },
8105 { &hf_lpp_acknowledgement , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Acknowledgement },
8106 { &hf_lpp_lpp_MessageBody , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_LPP_MessageBody },
8107 { NULL, 0, 0, NULL }
8110 static int
8111 dissect_lpp_LPP_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8112 #line 52 "../../asn1/lpp/lpp.cnf"
8114 proto_tree_add_item(tree, proto_lpp, tvb, 0, -1, ENC_NA);
8116 col_append_sep_str(actx->pinfo->cinfo, COL_PROTOCOL, "/", "LPP");
8118 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8119 ett_lpp_LPP_Message, LPP_Message_sequence);
8121 return offset;
8124 /*--- PDUs ---*/
8126 static int dissect_LPP_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8127 int offset = 0;
8128 asn1_ctx_t asn1_ctx;
8129 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
8130 offset = dissect_lpp_LPP_Message(tvb, offset, &asn1_ctx, tree, hf_lpp_LPP_Message_PDU);
8131 offset += 7; offset >>= 3;
8132 return offset;
8134 int dissect_lpp_Ellipsoid_Point_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8135 int offset = 0;
8136 asn1_ctx_t asn1_ctx;
8137 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
8138 offset = dissect_lpp_Ellipsoid_Point(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_Ellipsoid_Point_PDU);
8139 offset += 7; offset >>= 3;
8140 return offset;
8142 int dissect_lpp_Ellipsoid_PointWithUncertaintyCircle_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8143 int offset = 0;
8144 asn1_ctx_t asn1_ctx;
8145 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
8146 offset = dissect_lpp_Ellipsoid_PointWithUncertaintyCircle(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_Ellipsoid_PointWithUncertaintyCircle_PDU);
8147 offset += 7; offset >>= 3;
8148 return offset;
8150 int dissect_lpp_EllipsoidPointWithUncertaintyEllipse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8151 int offset = 0;
8152 asn1_ctx_t asn1_ctx;
8153 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
8154 offset = dissect_lpp_EllipsoidPointWithUncertaintyEllipse(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_EllipsoidPointWithUncertaintyEllipse_PDU);
8155 offset += 7; offset >>= 3;
8156 return offset;
8158 int dissect_lpp_EllipsoidPointWithAltitude_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8159 int offset = 0;
8160 asn1_ctx_t asn1_ctx;
8161 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
8162 offset = dissect_lpp_EllipsoidPointWithAltitude(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_EllipsoidPointWithAltitude_PDU);
8163 offset += 7; offset >>= 3;
8164 return offset;
8166 int dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8167 int offset = 0;
8168 asn1_ctx_t asn1_ctx;
8169 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
8170 offset = dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU);
8171 offset += 7; offset >>= 3;
8172 return offset;
8174 int dissect_lpp_EllipsoidArc_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8175 int offset = 0;
8176 asn1_ctx_t asn1_ctx;
8177 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
8178 offset = dissect_lpp_EllipsoidArc(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_EllipsoidArc_PDU);
8179 offset += 7; offset >>= 3;
8180 return offset;
8182 int dissect_lpp_HorizontalVelocity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8183 int offset = 0;
8184 asn1_ctx_t asn1_ctx;
8185 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
8186 offset = dissect_lpp_HorizontalVelocity(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_HorizontalVelocity_PDU);
8187 offset += 7; offset >>= 3;
8188 return offset;
8190 int dissect_lpp_Polygon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8191 int offset = 0;
8192 asn1_ctx_t asn1_ctx;
8193 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
8194 offset = dissect_lpp_Polygon(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_Polygon_PDU);
8195 offset += 7; offset >>= 3;
8196 return offset;
8200 /*--- End of included file: packet-lpp-fn.c ---*/
8201 #line 68 "../../asn1/lpp/packet-lpp-template.c"
8204 /*--- proto_register_lpp -------------------------------------------*/
8205 void proto_register_lpp(void) {
8207 /* List of fields */
8208 static hf_register_info hf[] = {
8211 /*--- Included file: packet-lpp-hfarr.c ---*/
8212 #line 1 "../../asn1/lpp/packet-lpp-hfarr.c"
8213 { &hf_lpp_LPP_Message_PDU,
8214 { "LPP-Message", "lpp.LPP_Message_element",
8215 FT_NONE, BASE_NONE, NULL, 0,
8216 NULL, HFILL }},
8217 { &hf_lpp_lpp_Ellipsoid_Point_PDU,
8218 { "Ellipsoid-Point", "lpp.Ellipsoid_Point_element",
8219 FT_NONE, BASE_NONE, NULL, 0,
8220 NULL, HFILL }},
8221 { &hf_lpp_lpp_Ellipsoid_PointWithUncertaintyCircle_PDU,
8222 { "Ellipsoid-PointWithUncertaintyCircle", "lpp.Ellipsoid_PointWithUncertaintyCircle_element",
8223 FT_NONE, BASE_NONE, NULL, 0,
8224 NULL, HFILL }},
8225 { &hf_lpp_lpp_EllipsoidPointWithUncertaintyEllipse_PDU,
8226 { "EllipsoidPointWithUncertaintyEllipse", "lpp.EllipsoidPointWithUncertaintyEllipse_element",
8227 FT_NONE, BASE_NONE, NULL, 0,
8228 NULL, HFILL }},
8229 { &hf_lpp_lpp_EllipsoidPointWithAltitude_PDU,
8230 { "EllipsoidPointWithAltitude", "lpp.EllipsoidPointWithAltitude_element",
8231 FT_NONE, BASE_NONE, NULL, 0,
8232 NULL, HFILL }},
8233 { &hf_lpp_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU,
8234 { "EllipsoidPointWithAltitudeAndUncertaintyEllipsoid", "lpp.EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_element",
8235 FT_NONE, BASE_NONE, NULL, 0,
8236 NULL, HFILL }},
8237 { &hf_lpp_lpp_EllipsoidArc_PDU,
8238 { "EllipsoidArc", "lpp.EllipsoidArc_element",
8239 FT_NONE, BASE_NONE, NULL, 0,
8240 NULL, HFILL }},
8241 { &hf_lpp_lpp_HorizontalVelocity_PDU,
8242 { "HorizontalVelocity", "lpp.HorizontalVelocity_element",
8243 FT_NONE, BASE_NONE, NULL, 0,
8244 NULL, HFILL }},
8245 { &hf_lpp_lpp_Polygon_PDU,
8246 { "Polygon", "lpp.Polygon",
8247 FT_UINT32, BASE_DEC, NULL, 0,
8248 NULL, HFILL }},
8249 { &hf_lpp_transactionID,
8250 { "transactionID", "lpp.transactionID_element",
8251 FT_NONE, BASE_NONE, NULL, 0,
8252 "LPP_TransactionID", HFILL }},
8253 { &hf_lpp_endTransaction,
8254 { "endTransaction", "lpp.endTransaction",
8255 FT_BOOLEAN, BASE_NONE, NULL, 0,
8256 "BOOLEAN", HFILL }},
8257 { &hf_lpp_sequenceNumber,
8258 { "sequenceNumber", "lpp.sequenceNumber",
8259 FT_UINT32, BASE_DEC, NULL, 0,
8260 NULL, HFILL }},
8261 { &hf_lpp_acknowledgement,
8262 { "acknowledgement", "lpp.acknowledgement_element",
8263 FT_NONE, BASE_NONE, NULL, 0,
8264 NULL, HFILL }},
8265 { &hf_lpp_lpp_MessageBody,
8266 { "lpp-MessageBody", "lpp.lpp_MessageBody",
8267 FT_UINT32, BASE_DEC, VALS(lpp_LPP_MessageBody_vals), 0,
8268 NULL, HFILL }},
8269 { &hf_lpp_ackRequested,
8270 { "ackRequested", "lpp.ackRequested",
8271 FT_BOOLEAN, BASE_NONE, NULL, 0,
8272 "BOOLEAN", HFILL }},
8273 { &hf_lpp_ackIndicator,
8274 { "ackIndicator", "lpp.ackIndicator",
8275 FT_UINT32, BASE_DEC, NULL, 0,
8276 "SequenceNumber", HFILL }},
8277 { &hf_lpp_c1,
8278 { "c1", "lpp.c1",
8279 FT_UINT32, BASE_DEC, VALS(lpp_T_c1_vals), 0,
8280 NULL, HFILL }},
8281 { &hf_lpp_requestCapabilities,
8282 { "requestCapabilities", "lpp.requestCapabilities_element",
8283 FT_NONE, BASE_NONE, NULL, 0,
8284 NULL, HFILL }},
8285 { &hf_lpp_provideCapabilities,
8286 { "provideCapabilities", "lpp.provideCapabilities_element",
8287 FT_NONE, BASE_NONE, NULL, 0,
8288 NULL, HFILL }},
8289 { &hf_lpp_requestAssistanceData,
8290 { "requestAssistanceData", "lpp.requestAssistanceData_element",
8291 FT_NONE, BASE_NONE, NULL, 0,
8292 NULL, HFILL }},
8293 { &hf_lpp_provideAssistanceData,
8294 { "provideAssistanceData", "lpp.provideAssistanceData_element",
8295 FT_NONE, BASE_NONE, NULL, 0,
8296 NULL, HFILL }},
8297 { &hf_lpp_requestLocationInformation,
8298 { "requestLocationInformation", "lpp.requestLocationInformation_element",
8299 FT_NONE, BASE_NONE, NULL, 0,
8300 NULL, HFILL }},
8301 { &hf_lpp_provideLocationInformation,
8302 { "provideLocationInformation", "lpp.provideLocationInformation_element",
8303 FT_NONE, BASE_NONE, NULL, 0,
8304 NULL, HFILL }},
8305 { &hf_lpp_abort,
8306 { "abort", "lpp.abort_element",
8307 FT_NONE, BASE_NONE, NULL, 0,
8308 NULL, HFILL }},
8309 { &hf_lpp_error,
8310 { "error", "lpp.error",
8311 FT_UINT32, BASE_DEC, VALS(lpp_Error_vals), 0,
8312 NULL, HFILL }},
8313 { &hf_lpp_spare7,
8314 { "spare7", "lpp.spare7_element",
8315 FT_NONE, BASE_NONE, NULL, 0,
8316 NULL, HFILL }},
8317 { &hf_lpp_spare6,
8318 { "spare6", "lpp.spare6_element",
8319 FT_NONE, BASE_NONE, NULL, 0,
8320 NULL, HFILL }},
8321 { &hf_lpp_spare5,
8322 { "spare5", "lpp.spare5_element",
8323 FT_NONE, BASE_NONE, NULL, 0,
8324 NULL, HFILL }},
8325 { &hf_lpp_spare4,
8326 { "spare4", "lpp.spare4_element",
8327 FT_NONE, BASE_NONE, NULL, 0,
8328 NULL, HFILL }},
8329 { &hf_lpp_spare3,
8330 { "spare3", "lpp.spare3_element",
8331 FT_NONE, BASE_NONE, NULL, 0,
8332 NULL, HFILL }},
8333 { &hf_lpp_spare2,
8334 { "spare2", "lpp.spare2_element",
8335 FT_NONE, BASE_NONE, NULL, 0,
8336 NULL, HFILL }},
8337 { &hf_lpp_spare1,
8338 { "spare1", "lpp.spare1_element",
8339 FT_NONE, BASE_NONE, NULL, 0,
8340 NULL, HFILL }},
8341 { &hf_lpp_spare0,
8342 { "spare0", "lpp.spare0_element",
8343 FT_NONE, BASE_NONE, NULL, 0,
8344 NULL, HFILL }},
8345 { &hf_lpp_messageClassExtension,
8346 { "messageClassExtension", "lpp.messageClassExtension_element",
8347 FT_NONE, BASE_NONE, NULL, 0,
8348 NULL, HFILL }},
8349 { &hf_lpp_initiator,
8350 { "initiator", "lpp.initiator",
8351 FT_UINT32, BASE_DEC, VALS(lpp_Initiator_vals), 0,
8352 NULL, HFILL }},
8353 { &hf_lpp_transactionNumber,
8354 { "transactionNumber", "lpp.transactionNumber",
8355 FT_UINT32, BASE_DEC, NULL, 0,
8356 NULL, HFILL }},
8357 { &hf_lpp_criticalExtensions,
8358 { "criticalExtensions", "lpp.criticalExtensions",
8359 FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_vals), 0,
8360 NULL, HFILL }},
8361 { &hf_lpp_c1_01,
8362 { "c1", "lpp.c1",
8363 FT_UINT32, BASE_DEC, VALS(lpp_T_c1_01_vals), 0,
8364 "T_c1_01", HFILL }},
8365 { &hf_lpp_requestCapabilities_r9,
8366 { "requestCapabilities-r9", "lpp.requestCapabilities_r9_element",
8367 FT_NONE, BASE_NONE, NULL, 0,
8368 "RequestCapabilities_r9_IEs", HFILL }},
8369 { &hf_lpp_criticalExtensionsFuture,
8370 { "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
8371 FT_NONE, BASE_NONE, NULL, 0,
8372 NULL, HFILL }},
8373 { &hf_lpp_commonIEsRequestCapabilities,
8374 { "commonIEsRequestCapabilities", "lpp.commonIEsRequestCapabilities_element",
8375 FT_NONE, BASE_NONE, NULL, 0,
8376 NULL, HFILL }},
8377 { &hf_lpp_a_gnss_RequestCapabilities,
8378 { "a-gnss-RequestCapabilities", "lpp.a_gnss_RequestCapabilities_element",
8379 FT_NONE, BASE_NONE, NULL, 0,
8380 NULL, HFILL }},
8381 { &hf_lpp_otdoa_RequestCapabilities,
8382 { "otdoa-RequestCapabilities", "lpp.otdoa_RequestCapabilities_element",
8383 FT_NONE, BASE_NONE, NULL, 0,
8384 NULL, HFILL }},
8385 { &hf_lpp_ecid_RequestCapabilities,
8386 { "ecid-RequestCapabilities", "lpp.ecid_RequestCapabilities_element",
8387 FT_NONE, BASE_NONE, NULL, 0,
8388 NULL, HFILL }},
8389 { &hf_lpp_epdu_RequestCapabilities,
8390 { "epdu-RequestCapabilities", "lpp.epdu_RequestCapabilities",
8391 FT_UINT32, BASE_DEC, NULL, 0,
8392 "EPDU_Sequence", HFILL }},
8393 { &hf_lpp_criticalExtensions_01,
8394 { "criticalExtensions", "lpp.criticalExtensions",
8395 FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_01_vals), 0,
8396 "T_criticalExtensions_01", HFILL }},
8397 { &hf_lpp_c1_02,
8398 { "c1", "lpp.c1",
8399 FT_UINT32, BASE_DEC, VALS(lpp_T_c1_02_vals), 0,
8400 "T_c1_02", HFILL }},
8401 { &hf_lpp_provideCapabilities_r9,
8402 { "provideCapabilities-r9", "lpp.provideCapabilities_r9_element",
8403 FT_NONE, BASE_NONE, NULL, 0,
8404 "ProvideCapabilities_r9_IEs", HFILL }},
8405 { &hf_lpp_criticalExtensionsFuture_01,
8406 { "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
8407 FT_NONE, BASE_NONE, NULL, 0,
8408 "T_criticalExtensionsFuture_01", HFILL }},
8409 { &hf_lpp_commonIEsProvideCapabilities,
8410 { "commonIEsProvideCapabilities", "lpp.commonIEsProvideCapabilities_element",
8411 FT_NONE, BASE_NONE, NULL, 0,
8412 NULL, HFILL }},
8413 { &hf_lpp_a_gnss_ProvideCapabilities,
8414 { "a-gnss-ProvideCapabilities", "lpp.a_gnss_ProvideCapabilities_element",
8415 FT_NONE, BASE_NONE, NULL, 0,
8416 NULL, HFILL }},
8417 { &hf_lpp_otdoa_ProvideCapabilities,
8418 { "otdoa-ProvideCapabilities", "lpp.otdoa_ProvideCapabilities_element",
8419 FT_NONE, BASE_NONE, NULL, 0,
8420 NULL, HFILL }},
8421 { &hf_lpp_ecid_ProvideCapabilities,
8422 { "ecid-ProvideCapabilities", "lpp.ecid_ProvideCapabilities_element",
8423 FT_NONE, BASE_NONE, NULL, 0,
8424 NULL, HFILL }},
8425 { &hf_lpp_epdu_ProvideCapabilities,
8426 { "epdu-ProvideCapabilities", "lpp.epdu_ProvideCapabilities",
8427 FT_UINT32, BASE_DEC, NULL, 0,
8428 "EPDU_Sequence", HFILL }},
8429 { &hf_lpp_criticalExtensions_02,
8430 { "criticalExtensions", "lpp.criticalExtensions",
8431 FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_02_vals), 0,
8432 "T_criticalExtensions_02", HFILL }},
8433 { &hf_lpp_c1_03,
8434 { "c1", "lpp.c1",
8435 FT_UINT32, BASE_DEC, VALS(lpp_T_c1_03_vals), 0,
8436 "T_c1_03", HFILL }},
8437 { &hf_lpp_requestAssistanceData_r9,
8438 { "requestAssistanceData-r9", "lpp.requestAssistanceData_r9_element",
8439 FT_NONE, BASE_NONE, NULL, 0,
8440 "RequestAssistanceData_r9_IEs", HFILL }},
8441 { &hf_lpp_criticalExtensionsFuture_02,
8442 { "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
8443 FT_NONE, BASE_NONE, NULL, 0,
8444 "T_criticalExtensionsFuture_02", HFILL }},
8445 { &hf_lpp_commonIEsRequestAssistanceData,
8446 { "commonIEsRequestAssistanceData", "lpp.commonIEsRequestAssistanceData_element",
8447 FT_NONE, BASE_NONE, NULL, 0,
8448 NULL, HFILL }},
8449 { &hf_lpp_a_gnss_RequestAssistanceData,
8450 { "a-gnss-RequestAssistanceData", "lpp.a_gnss_RequestAssistanceData_element",
8451 FT_NONE, BASE_NONE, NULL, 0,
8452 NULL, HFILL }},
8453 { &hf_lpp_otdoa_RequestAssistanceData,
8454 { "otdoa-RequestAssistanceData", "lpp.otdoa_RequestAssistanceData_element",
8455 FT_NONE, BASE_NONE, NULL, 0,
8456 NULL, HFILL }},
8457 { &hf_lpp_epdu_RequestAssistanceData,
8458 { "epdu-RequestAssistanceData", "lpp.epdu_RequestAssistanceData",
8459 FT_UINT32, BASE_DEC, NULL, 0,
8460 "EPDU_Sequence", HFILL }},
8461 { &hf_lpp_criticalExtensions_03,
8462 { "criticalExtensions", "lpp.criticalExtensions",
8463 FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_03_vals), 0,
8464 "T_criticalExtensions_03", HFILL }},
8465 { &hf_lpp_c1_04,
8466 { "c1", "lpp.c1",
8467 FT_UINT32, BASE_DEC, VALS(lpp_T_c1_04_vals), 0,
8468 "T_c1_04", HFILL }},
8469 { &hf_lpp_provideAssistanceData_r9,
8470 { "provideAssistanceData-r9", "lpp.provideAssistanceData_r9_element",
8471 FT_NONE, BASE_NONE, NULL, 0,
8472 "ProvideAssistanceData_r9_IEs", HFILL }},
8473 { &hf_lpp_criticalExtensionsFuture_03,
8474 { "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
8475 FT_NONE, BASE_NONE, NULL, 0,
8476 "T_criticalExtensionsFuture_03", HFILL }},
8477 { &hf_lpp_commonIEsProvideAssistanceData,
8478 { "commonIEsProvideAssistanceData", "lpp.commonIEsProvideAssistanceData_element",
8479 FT_NONE, BASE_NONE, NULL, 0,
8480 NULL, HFILL }},
8481 { &hf_lpp_a_gnss_ProvideAssistanceData,
8482 { "a-gnss-ProvideAssistanceData", "lpp.a_gnss_ProvideAssistanceData_element",
8483 FT_NONE, BASE_NONE, NULL, 0,
8484 NULL, HFILL }},
8485 { &hf_lpp_otdoa_ProvideAssistanceData,
8486 { "otdoa-ProvideAssistanceData", "lpp.otdoa_ProvideAssistanceData_element",
8487 FT_NONE, BASE_NONE, NULL, 0,
8488 NULL, HFILL }},
8489 { &hf_lpp_epdu_Provide_Assistance_Data,
8490 { "epdu-Provide-Assistance-Data", "lpp.epdu_Provide_Assistance_Data",
8491 FT_UINT32, BASE_DEC, NULL, 0,
8492 "EPDU_Sequence", HFILL }},
8493 { &hf_lpp_criticalExtensions_04,
8494 { "criticalExtensions", "lpp.criticalExtensions",
8495 FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_04_vals), 0,
8496 "T_criticalExtensions_04", HFILL }},
8497 { &hf_lpp_c1_05,
8498 { "c1", "lpp.c1",
8499 FT_UINT32, BASE_DEC, VALS(lpp_T_c1_05_vals), 0,
8500 "T_c1_05", HFILL }},
8501 { &hf_lpp_requestLocationInformation_r9,
8502 { "requestLocationInformation-r9", "lpp.requestLocationInformation_r9_element",
8503 FT_NONE, BASE_NONE, NULL, 0,
8504 "RequestLocationInformation_r9_IEs", HFILL }},
8505 { &hf_lpp_criticalExtensionsFuture_04,
8506 { "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
8507 FT_NONE, BASE_NONE, NULL, 0,
8508 "T_criticalExtensionsFuture_04", HFILL }},
8509 { &hf_lpp_commonIEsRequestLocationInformation,
8510 { "commonIEsRequestLocationInformation", "lpp.commonIEsRequestLocationInformation_element",
8511 FT_NONE, BASE_NONE, NULL, 0,
8512 NULL, HFILL }},
8513 { &hf_lpp_a_gnss_RequestLocationInformation,
8514 { "a-gnss-RequestLocationInformation", "lpp.a_gnss_RequestLocationInformation_element",
8515 FT_NONE, BASE_NONE, NULL, 0,
8516 NULL, HFILL }},
8517 { &hf_lpp_otdoa_RequestLocationInformation,
8518 { "otdoa-RequestLocationInformation", "lpp.otdoa_RequestLocationInformation_element",
8519 FT_NONE, BASE_NONE, NULL, 0,
8520 NULL, HFILL }},
8521 { &hf_lpp_ecid_RequestLocationInformation,
8522 { "ecid-RequestLocationInformation", "lpp.ecid_RequestLocationInformation_element",
8523 FT_NONE, BASE_NONE, NULL, 0,
8524 NULL, HFILL }},
8525 { &hf_lpp_epdu_RequestLocationInformation,
8526 { "epdu-RequestLocationInformation", "lpp.epdu_RequestLocationInformation",
8527 FT_UINT32, BASE_DEC, NULL, 0,
8528 "EPDU_Sequence", HFILL }},
8529 { &hf_lpp_criticalExtensions_05,
8530 { "criticalExtensions", "lpp.criticalExtensions",
8531 FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_05_vals), 0,
8532 "T_criticalExtensions_05", HFILL }},
8533 { &hf_lpp_c1_06,
8534 { "c1", "lpp.c1",
8535 FT_UINT32, BASE_DEC, VALS(lpp_T_c1_06_vals), 0,
8536 "T_c1_06", HFILL }},
8537 { &hf_lpp_provideLocationInformation_r9,
8538 { "provideLocationInformation-r9", "lpp.provideLocationInformation_r9_element",
8539 FT_NONE, BASE_NONE, NULL, 0,
8540 "ProvideLocationInformation_r9_IEs", HFILL }},
8541 { &hf_lpp_criticalExtensionsFuture_05,
8542 { "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
8543 FT_NONE, BASE_NONE, NULL, 0,
8544 "T_criticalExtensionsFuture_05", HFILL }},
8545 { &hf_lpp_commonIEsProvideLocationInformation,
8546 { "commonIEsProvideLocationInformation", "lpp.commonIEsProvideLocationInformation_element",
8547 FT_NONE, BASE_NONE, NULL, 0,
8548 NULL, HFILL }},
8549 { &hf_lpp_a_gnss_ProvideLocationInformation,
8550 { "a-gnss-ProvideLocationInformation", "lpp.a_gnss_ProvideLocationInformation_element",
8551 FT_NONE, BASE_NONE, NULL, 0,
8552 NULL, HFILL }},
8553 { &hf_lpp_otdoa_ProvideLocationInformation,
8554 { "otdoa-ProvideLocationInformation", "lpp.otdoa_ProvideLocationInformation_element",
8555 FT_NONE, BASE_NONE, NULL, 0,
8556 NULL, HFILL }},
8557 { &hf_lpp_ecid_ProvideLocationInformation,
8558 { "ecid-ProvideLocationInformation", "lpp.ecid_ProvideLocationInformation_element",
8559 FT_NONE, BASE_NONE, NULL, 0,
8560 NULL, HFILL }},
8561 { &hf_lpp_epdu_ProvideLocationInformation,
8562 { "epdu-ProvideLocationInformation", "lpp.epdu_ProvideLocationInformation",
8563 FT_UINT32, BASE_DEC, NULL, 0,
8564 "EPDU_Sequence", HFILL }},
8565 { &hf_lpp_criticalExtensions_06,
8566 { "criticalExtensions", "lpp.criticalExtensions",
8567 FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_06_vals), 0,
8568 "T_criticalExtensions_06", HFILL }},
8569 { &hf_lpp_c1_07,
8570 { "c1", "lpp.c1",
8571 FT_UINT32, BASE_DEC, VALS(lpp_T_c1_07_vals), 0,
8572 "T_c1_07", HFILL }},
8573 { &hf_lpp_abort_r9,
8574 { "abort-r9", "lpp.abort_r9_element",
8575 FT_NONE, BASE_NONE, NULL, 0,
8576 "Abort_r9_IEs", HFILL }},
8577 { &hf_lpp_criticalExtensionsFuture_06,
8578 { "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
8579 FT_NONE, BASE_NONE, NULL, 0,
8580 "T_criticalExtensionsFuture_06", HFILL }},
8581 { &hf_lpp_commonIEsAbort,
8582 { "commonIEsAbort", "lpp.commonIEsAbort_element",
8583 FT_NONE, BASE_NONE, NULL, 0,
8584 NULL, HFILL }},
8585 { &hf_lpp_epdu_Abort,
8586 { "epdu-Abort", "lpp.epdu_Abort",
8587 FT_UINT32, BASE_DEC, NULL, 0,
8588 "EPDU_Sequence", HFILL }},
8589 { &hf_lpp_error_r9,
8590 { "error-r9", "lpp.error_r9_element",
8591 FT_NONE, BASE_NONE, NULL, 0,
8592 "Error_r9_IEs", HFILL }},
8593 { &hf_lpp_criticalExtensionsFuture_07,
8594 { "criticalExtensionsFuture", "lpp.criticalExtensionsFuture_element",
8595 FT_NONE, BASE_NONE, NULL, 0,
8596 "T_criticalExtensionsFuture_07", HFILL }},
8597 { &hf_lpp_commonIEsError,
8598 { "commonIEsError", "lpp.commonIEsError_element",
8599 FT_NONE, BASE_NONE, NULL, 0,
8600 NULL, HFILL }},
8601 { &hf_lpp_epdu_Error,
8602 { "epdu-Error", "lpp.epdu_Error",
8603 FT_UINT32, BASE_DEC, NULL, 0,
8604 "EPDU_Sequence", HFILL }},
8605 { &hf_lpp_accessTypes,
8606 { "accessTypes", "lpp.accessTypes",
8607 FT_BYTES, BASE_NONE, NULL, 0,
8608 NULL, HFILL }},
8609 { &hf_lpp_plmn_Identity,
8610 { "plmn-Identity", "lpp.plmn_Identity_element",
8611 FT_NONE, BASE_NONE, NULL, 0,
8612 NULL, HFILL }},
8613 { &hf_lpp_mcc,
8614 { "mcc", "lpp.mcc",
8615 FT_UINT32, BASE_DEC, NULL, 0,
8616 NULL, HFILL }},
8617 { &hf_lpp_mcc_item,
8618 { "mcc item", "lpp.mcc_item",
8619 FT_UINT32, BASE_DEC, NULL, 0,
8620 "INTEGER_0_9", HFILL }},
8621 { &hf_lpp_mnc,
8622 { "mnc", "lpp.mnc",
8623 FT_UINT32, BASE_DEC, NULL, 0,
8624 NULL, HFILL }},
8625 { &hf_lpp_mnc_item,
8626 { "mnc item", "lpp.mnc_item",
8627 FT_UINT32, BASE_DEC, NULL, 0,
8628 "INTEGER_0_9", HFILL }},
8629 { &hf_lpp_cellIdentity,
8630 { "cellIdentity", "lpp.cellIdentity",
8631 FT_UINT32, BASE_DEC, VALS(lpp_T_cellIdentity_vals), 0,
8632 NULL, HFILL }},
8633 { &hf_lpp_eutra,
8634 { "eutra", "lpp.eutra",
8635 FT_BYTES, BASE_NONE, NULL, 0,
8636 "BIT_STRING_SIZE_28", HFILL }},
8637 { &hf_lpp_utra,
8638 { "utra", "lpp.utra",
8639 FT_BYTES, BASE_NONE, NULL, 0,
8640 "BIT_STRING_SIZE_32", HFILL }},
8641 { &hf_lpp_plmn_Identity_01,
8642 { "plmn-Identity", "lpp.plmn_Identity_element",
8643 FT_NONE, BASE_NONE, NULL, 0,
8644 "T_plmn_Identity_01", HFILL }},
8645 { &hf_lpp_mcc_01,
8646 { "mcc", "lpp.mcc",
8647 FT_UINT32, BASE_DEC, NULL, 0,
8648 "T_mcc_01", HFILL }},
8649 { &hf_lpp_mnc_01,
8650 { "mnc", "lpp.mnc",
8651 FT_UINT32, BASE_DEC, NULL, 0,
8652 "T_mnc_01", HFILL }},
8653 { &hf_lpp_locationAreaCode,
8654 { "locationAreaCode", "lpp.locationAreaCode",
8655 FT_BYTES, BASE_NONE, NULL, 0,
8656 "BIT_STRING_SIZE_16", HFILL }},
8657 { &hf_lpp_cellIdentity_01,
8658 { "cellIdentity", "lpp.cellIdentity",
8659 FT_BYTES, BASE_NONE, NULL, 0,
8660 "BIT_STRING_SIZE_16", HFILL }},
8661 { &hf_lpp_mcc_02,
8662 { "mcc", "lpp.mcc",
8663 FT_UINT32, BASE_DEC, NULL, 0,
8664 "T_mcc_02", HFILL }},
8665 { &hf_lpp_mnc_02,
8666 { "mnc", "lpp.mnc",
8667 FT_UINT32, BASE_DEC, NULL, 0,
8668 "T_mnc_02", HFILL }},
8669 { &hf_lpp_cellidentity,
8670 { "cellidentity", "lpp.cellidentity",
8671 FT_BYTES, BASE_NONE, NULL, 0,
8672 "BIT_STRING_SIZE_28", HFILL }},
8673 { &hf_lpp_latitudeSign,
8674 { "latitudeSign", "lpp.latitudeSign",
8675 FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_vals), 0,
8676 NULL, HFILL }},
8677 { &hf_lpp_degreesLatitude,
8678 { "degreesLatitude", "lpp.degreesLatitude",
8679 FT_UINT32, BASE_DEC, NULL, 0,
8680 "INTEGER_0_8388607", HFILL }},
8681 { &hf_lpp_degreesLongitude,
8682 { "degreesLongitude", "lpp.degreesLongitude",
8683 FT_INT32, BASE_DEC, NULL, 0,
8684 "INTEGER_M8388608_8388607", HFILL }},
8685 { &hf_lpp_latitudeSign_01,
8686 { "latitudeSign", "lpp.latitudeSign",
8687 FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_01_vals), 0,
8688 "T_latitudeSign_01", HFILL }},
8689 { &hf_lpp_uncertainty,
8690 { "uncertainty", "lpp.uncertainty",
8691 FT_UINT32, BASE_DEC, NULL, 0,
8692 "INTEGER_0_127", HFILL }},
8693 { &hf_lpp_latitudeSign_02,
8694 { "latitudeSign", "lpp.latitudeSign",
8695 FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_02_vals), 0,
8696 "T_latitudeSign_02", HFILL }},
8697 { &hf_lpp_uncertaintySemiMajor,
8698 { "uncertaintySemiMajor", "lpp.uncertaintySemiMajor",
8699 FT_UINT32, BASE_DEC, NULL, 0,
8700 "INTEGER_0_127", HFILL }},
8701 { &hf_lpp_uncertaintySemiMinor,
8702 { "uncertaintySemiMinor", "lpp.uncertaintySemiMinor",
8703 FT_UINT32, BASE_DEC, NULL, 0,
8704 "INTEGER_0_127", HFILL }},
8705 { &hf_lpp_orientationMajorAxis,
8706 { "orientationMajorAxis", "lpp.orientationMajorAxis",
8707 FT_UINT32, BASE_DEC, NULL, 0,
8708 "INTEGER_0_179", HFILL }},
8709 { &hf_lpp_confidence,
8710 { "confidence", "lpp.confidence",
8711 FT_UINT32, BASE_DEC, NULL, 0,
8712 "INTEGER_0_100", HFILL }},
8713 { &hf_lpp_latitudeSign_03,
8714 { "latitudeSign", "lpp.latitudeSign",
8715 FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_03_vals), 0,
8716 "T_latitudeSign_03", HFILL }},
8717 { &hf_lpp_altitudeDirection,
8718 { "altitudeDirection", "lpp.altitudeDirection",
8719 FT_UINT32, BASE_DEC, VALS(lpp_T_altitudeDirection_vals), 0,
8720 NULL, HFILL }},
8721 { &hf_lpp_altitude,
8722 { "altitude", "lpp.altitude",
8723 FT_UINT32, BASE_DEC, NULL, 0,
8724 "INTEGER_0_32767", HFILL }},
8725 { &hf_lpp_latitudeSign_04,
8726 { "latitudeSign", "lpp.latitudeSign",
8727 FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_04_vals), 0,
8728 "T_latitudeSign_04", HFILL }},
8729 { &hf_lpp_altitudeDirection_01,
8730 { "altitudeDirection", "lpp.altitudeDirection",
8731 FT_UINT32, BASE_DEC, VALS(lpp_T_altitudeDirection_01_vals), 0,
8732 "T_altitudeDirection_01", HFILL }},
8733 { &hf_lpp_uncertaintyAltitude,
8734 { "uncertaintyAltitude", "lpp.uncertaintyAltitude",
8735 FT_UINT32, BASE_DEC, NULL, 0,
8736 "INTEGER_0_127", HFILL }},
8737 { &hf_lpp_latitudeSign_05,
8738 { "latitudeSign", "lpp.latitudeSign",
8739 FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_05_vals), 0,
8740 "T_latitudeSign_05", HFILL }},
8741 { &hf_lpp_innerRadius,
8742 { "innerRadius", "lpp.innerRadius",
8743 FT_UINT32, BASE_DEC, NULL, 0,
8744 "INTEGER_0_65535", HFILL }},
8745 { &hf_lpp_uncertaintyRadius,
8746 { "uncertaintyRadius", "lpp.uncertaintyRadius",
8747 FT_UINT32, BASE_DEC, NULL, 0,
8748 "INTEGER_0_127", HFILL }},
8749 { &hf_lpp_offsetAngle,
8750 { "offsetAngle", "lpp.offsetAngle",
8751 FT_UINT32, BASE_DEC, NULL, 0,
8752 "INTEGER_0_179", HFILL }},
8753 { &hf_lpp_includedAngle,
8754 { "includedAngle", "lpp.includedAngle",
8755 FT_UINT32, BASE_DEC, NULL, 0,
8756 "INTEGER_0_179", HFILL }},
8757 { &hf_lpp_EPDU_Sequence_item,
8758 { "EPDU", "lpp.EPDU_element",
8759 FT_NONE, BASE_NONE, NULL, 0,
8760 NULL, HFILL }},
8761 { &hf_lpp_ePDU_Identifier,
8762 { "ePDU-Identifier", "lpp.ePDU_Identifier_element",
8763 FT_NONE, BASE_NONE, NULL, 0,
8764 NULL, HFILL }},
8765 { &hf_lpp_ePDU_Body,
8766 { "ePDU-Body", "lpp.ePDU_Body",
8767 FT_BYTES, BASE_NONE, NULL, 0,
8768 NULL, HFILL }},
8769 { &hf_lpp_ePDU_ID,
8770 { "ePDU-ID", "lpp.ePDU_ID",
8771 FT_UINT32, BASE_DEC, VALS(lpp_ePDU_ID_vals), 0,
8772 NULL, HFILL }},
8773 { &hf_lpp_ePDU_Name,
8774 { "ePDU-Name", "lpp.ePDU_Name",
8775 FT_STRING, BASE_NONE, NULL, 0,
8776 NULL, HFILL }},
8777 { &hf_lpp_bearing,
8778 { "bearing", "lpp.bearing",
8779 FT_UINT32, BASE_DEC, NULL, 0,
8780 "INTEGER_0_359", HFILL }},
8781 { &hf_lpp_horizontalSpeed,
8782 { "horizontalSpeed", "lpp.horizontalSpeed",
8783 FT_UINT32, BASE_DEC, NULL, 0,
8784 "INTEGER_0_2047", HFILL }},
8785 { &hf_lpp_verticalDirection,
8786 { "verticalDirection", "lpp.verticalDirection",
8787 FT_UINT32, BASE_DEC, VALS(lpp_T_verticalDirection_vals), 0,
8788 NULL, HFILL }},
8789 { &hf_lpp_verticalSpeed,
8790 { "verticalSpeed", "lpp.verticalSpeed",
8791 FT_UINT32, BASE_DEC, NULL, 0,
8792 "INTEGER_0_255", HFILL }},
8793 { &hf_lpp_uncertaintySpeed,
8794 { "uncertaintySpeed", "lpp.uncertaintySpeed",
8795 FT_UINT32, BASE_DEC, NULL, 0,
8796 "INTEGER_0_255", HFILL }},
8797 { &hf_lpp_verticalDirection_01,
8798 { "verticalDirection", "lpp.verticalDirection",
8799 FT_UINT32, BASE_DEC, VALS(lpp_T_verticalDirection_01_vals), 0,
8800 "T_verticalDirection_01", HFILL }},
8801 { &hf_lpp_horizontalUncertaintySpeed,
8802 { "horizontalUncertaintySpeed", "lpp.horizontalUncertaintySpeed",
8803 FT_UINT32, BASE_DEC, NULL, 0,
8804 "INTEGER_0_255", HFILL }},
8805 { &hf_lpp_verticalUncertaintySpeed,
8806 { "verticalUncertaintySpeed", "lpp.verticalUncertaintySpeed",
8807 FT_UINT32, BASE_DEC, NULL, 0,
8808 "INTEGER_0_255", HFILL }},
8809 { &hf_lpp_ellipsoidPoint,
8810 { "ellipsoidPoint", "lpp.ellipsoidPoint",
8811 FT_BOOLEAN, BASE_NONE, NULL, 0,
8812 "BOOLEAN", HFILL }},
8813 { &hf_lpp_ellipsoidPointWithUncertaintyCircle,
8814 { "ellipsoidPointWithUncertaintyCircle", "lpp.ellipsoidPointWithUncertaintyCircle",
8815 FT_BOOLEAN, BASE_NONE, NULL, 0,
8816 "BOOLEAN", HFILL }},
8817 { &hf_lpp_ellipsoidPointWithUncertaintyEllipse,
8818 { "ellipsoidPointWithUncertaintyEllipse", "lpp.ellipsoidPointWithUncertaintyEllipse",
8819 FT_BOOLEAN, BASE_NONE, NULL, 0,
8820 "BOOLEAN", HFILL }},
8821 { &hf_lpp_polygon,
8822 { "polygon", "lpp.polygon",
8823 FT_BOOLEAN, BASE_NONE, NULL, 0,
8824 "BOOLEAN", HFILL }},
8825 { &hf_lpp_ellipsoidPointWithAltitude,
8826 { "ellipsoidPointWithAltitude", "lpp.ellipsoidPointWithAltitude",
8827 FT_BOOLEAN, BASE_NONE, NULL, 0,
8828 "BOOLEAN", HFILL }},
8829 { &hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid,
8830 { "ellipsoidPointWithAltitudeAndUncertaintyEllipsoid", "lpp.ellipsoidPointWithAltitudeAndUncertaintyEllipsoid",
8831 FT_BOOLEAN, BASE_NONE, NULL, 0,
8832 "BOOLEAN", HFILL }},
8833 { &hf_lpp_ellipsoidArc,
8834 { "ellipsoidArc", "lpp.ellipsoidArc",
8835 FT_BOOLEAN, BASE_NONE, NULL, 0,
8836 "BOOLEAN", HFILL }},
8837 { &hf_lpp_Polygon_item,
8838 { "PolygonPoints", "lpp.PolygonPoints_element",
8839 FT_NONE, BASE_NONE, NULL, 0,
8840 NULL, HFILL }},
8841 { &hf_lpp_latitudeSign_06,
8842 { "latitudeSign", "lpp.latitudeSign",
8843 FT_UINT32, BASE_DEC, VALS(lpp_T_latitudeSign_06_vals), 0,
8844 "T_latitudeSign_06", HFILL }},
8845 { &hf_lpp_posModes,
8846 { "posModes", "lpp.posModes",
8847 FT_BYTES, BASE_NONE, NULL, 0,
8848 NULL, HFILL }},
8849 { &hf_lpp_horizontalVelocity,
8850 { "horizontalVelocity", "lpp.horizontalVelocity",
8851 FT_BOOLEAN, BASE_NONE, NULL, 0,
8852 "BOOLEAN", HFILL }},
8853 { &hf_lpp_horizontalWithVerticalVelocity,
8854 { "horizontalWithVerticalVelocity", "lpp.horizontalWithVerticalVelocity",
8855 FT_BOOLEAN, BASE_NONE, NULL, 0,
8856 "BOOLEAN", HFILL }},
8857 { &hf_lpp_horizontalVelocityWithUncertainty,
8858 { "horizontalVelocityWithUncertainty", "lpp.horizontalVelocityWithUncertainty",
8859 FT_BOOLEAN, BASE_NONE, NULL, 0,
8860 "BOOLEAN", HFILL }},
8861 { &hf_lpp_horizontalWithVerticalVelocityAndUncertainty,
8862 { "horizontalWithVerticalVelocityAndUncertainty", "lpp.horizontalWithVerticalVelocityAndUncertainty",
8863 FT_BOOLEAN, BASE_NONE, NULL, 0,
8864 "BOOLEAN", HFILL }},
8865 { &hf_lpp_primaryCellID,
8866 { "primaryCellID", "lpp.primaryCellID_element",
8867 FT_NONE, BASE_NONE, NULL, 0,
8868 "ECGI", HFILL }},
8869 { &hf_lpp_locationInformationType,
8870 { "locationInformationType", "lpp.locationInformationType",
8871 FT_UINT32, BASE_DEC, VALS(lpp_LocationInformationType_vals), 0,
8872 NULL, HFILL }},
8873 { &hf_lpp_triggeredReporting,
8874 { "triggeredReporting", "lpp.triggeredReporting_element",
8875 FT_NONE, BASE_NONE, NULL, 0,
8876 "TriggeredReportingCriteria", HFILL }},
8877 { &hf_lpp_periodicalReporting,
8878 { "periodicalReporting", "lpp.periodicalReporting_element",
8879 FT_NONE, BASE_NONE, NULL, 0,
8880 "PeriodicalReportingCriteria", HFILL }},
8881 { &hf_lpp_additionalInformation,
8882 { "additionalInformation", "lpp.additionalInformation",
8883 FT_UINT32, BASE_DEC, VALS(lpp_AdditionalInformation_vals), 0,
8884 NULL, HFILL }},
8885 { &hf_lpp_qos,
8886 { "qos", "lpp.qos_element",
8887 FT_NONE, BASE_NONE, NULL, 0,
8888 NULL, HFILL }},
8889 { &hf_lpp_environment,
8890 { "environment", "lpp.environment",
8891 FT_UINT32, BASE_DEC, VALS(lpp_Environment_vals), 0,
8892 NULL, HFILL }},
8893 { &hf_lpp_locationCoordinateTypes,
8894 { "locationCoordinateTypes", "lpp.locationCoordinateTypes_element",
8895 FT_NONE, BASE_NONE, NULL, 0,
8896 NULL, HFILL }},
8897 { &hf_lpp_velocityTypes,
8898 { "velocityTypes", "lpp.velocityTypes_element",
8899 FT_NONE, BASE_NONE, NULL, 0,
8900 NULL, HFILL }},
8901 { &hf_lpp_reportingAmount,
8902 { "reportingAmount", "lpp.reportingAmount",
8903 FT_UINT32, BASE_DEC, VALS(lpp_T_reportingAmount_vals), 0,
8904 NULL, HFILL }},
8905 { &hf_lpp_reportingInterval,
8906 { "reportingInterval", "lpp.reportingInterval",
8907 FT_UINT32, BASE_DEC, VALS(lpp_T_reportingInterval_vals), 0,
8908 NULL, HFILL }},
8909 { &hf_lpp_cellChange,
8910 { "cellChange", "lpp.cellChange",
8911 FT_BOOLEAN, BASE_NONE, NULL, 0,
8912 "BOOLEAN", HFILL }},
8913 { &hf_lpp_reportingDuration,
8914 { "reportingDuration", "lpp.reportingDuration",
8915 FT_UINT32, BASE_DEC, NULL, 0,
8916 NULL, HFILL }},
8917 { &hf_lpp_horizontalAccuracy,
8918 { "horizontalAccuracy", "lpp.horizontalAccuracy_element",
8919 FT_NONE, BASE_NONE, NULL, 0,
8920 NULL, HFILL }},
8921 { &hf_lpp_verticalCoordinateRequest,
8922 { "verticalCoordinateRequest", "lpp.verticalCoordinateRequest",
8923 FT_BOOLEAN, BASE_NONE, NULL, 0,
8924 "BOOLEAN", HFILL }},
8925 { &hf_lpp_verticalAccuracy,
8926 { "verticalAccuracy", "lpp.verticalAccuracy_element",
8927 FT_NONE, BASE_NONE, NULL, 0,
8928 NULL, HFILL }},
8929 { &hf_lpp_responseTime,
8930 { "responseTime", "lpp.responseTime_element",
8931 FT_NONE, BASE_NONE, NULL, 0,
8932 NULL, HFILL }},
8933 { &hf_lpp_velocityRequest,
8934 { "velocityRequest", "lpp.velocityRequest",
8935 FT_BOOLEAN, BASE_NONE, NULL, 0,
8936 "BOOLEAN", HFILL }},
8937 { &hf_lpp_accuracy,
8938 { "accuracy", "lpp.accuracy",
8939 FT_UINT32, BASE_DEC, NULL, 0,
8940 "INTEGER_0_127", HFILL }},
8941 { &hf_lpp_time,
8942 { "time", "lpp.time",
8943 FT_UINT32, BASE_DEC, NULL, 0,
8944 "INTEGER_1_128", HFILL }},
8945 { &hf_lpp_locationEstimate,
8946 { "locationEstimate", "lpp.locationEstimate",
8947 FT_UINT32, BASE_DEC, VALS(lpp_LocationCoordinates_vals), 0,
8948 "LocationCoordinates", HFILL }},
8949 { &hf_lpp_velocityEstimate,
8950 { "velocityEstimate", "lpp.velocityEstimate",
8951 FT_UINT32, BASE_DEC, VALS(lpp_Velocity_vals), 0,
8952 "Velocity", HFILL }},
8953 { &hf_lpp_locationError,
8954 { "locationError", "lpp.locationError_element",
8955 FT_NONE, BASE_NONE, NULL, 0,
8956 NULL, HFILL }},
8957 { &hf_lpp_ellipsoidPoint_01,
8958 { "ellipsoidPoint", "lpp.ellipsoidPoint_element",
8959 FT_NONE, BASE_NONE, NULL, 0,
8960 "Ellipsoid_Point", HFILL }},
8961 { &hf_lpp_ellipsoidPointWithUncertaintyCircle_01,
8962 { "ellipsoidPointWithUncertaintyCircle", "lpp.ellipsoidPointWithUncertaintyCircle_element",
8963 FT_NONE, BASE_NONE, NULL, 0,
8964 "Ellipsoid_PointWithUncertaintyCircle", HFILL }},
8965 { &hf_lpp_ellipsoidPointWithUncertaintyEllipse_01,
8966 { "ellipsoidPointWithUncertaintyEllipse", "lpp.ellipsoidPointWithUncertaintyEllipse_element",
8967 FT_NONE, BASE_NONE, NULL, 0,
8968 NULL, HFILL }},
8969 { &hf_lpp_polygon_01,
8970 { "polygon", "lpp.polygon",
8971 FT_UINT32, BASE_DEC, NULL, 0,
8972 NULL, HFILL }},
8973 { &hf_lpp_ellipsoidPointWithAltitude_01,
8974 { "ellipsoidPointWithAltitude", "lpp.ellipsoidPointWithAltitude_element",
8975 FT_NONE, BASE_NONE, NULL, 0,
8976 NULL, HFILL }},
8977 { &hf_lpp_ellipsoidPointWithAltitudeAndUncertaintyEllipsoid_01,
8978 { "ellipsoidPointWithAltitudeAndUncertaintyEllipsoid", "lpp.ellipsoidPointWithAltitudeAndUncertaintyEllipsoid_element",
8979 FT_NONE, BASE_NONE, NULL, 0,
8980 NULL, HFILL }},
8981 { &hf_lpp_ellipsoidArc_01,
8982 { "ellipsoidArc", "lpp.ellipsoidArc_element",
8983 FT_NONE, BASE_NONE, NULL, 0,
8984 NULL, HFILL }},
8985 { &hf_lpp_horizontalVelocity_01,
8986 { "horizontalVelocity", "lpp.horizontalVelocity_element",
8987 FT_NONE, BASE_NONE, NULL, 0,
8988 NULL, HFILL }},
8989 { &hf_lpp_horizontalWithVerticalVelocity_01,
8990 { "horizontalWithVerticalVelocity", "lpp.horizontalWithVerticalVelocity_element",
8991 FT_NONE, BASE_NONE, NULL, 0,
8992 NULL, HFILL }},
8993 { &hf_lpp_horizontalVelocityWithUncertainty_01,
8994 { "horizontalVelocityWithUncertainty", "lpp.horizontalVelocityWithUncertainty_element",
8995 FT_NONE, BASE_NONE, NULL, 0,
8996 NULL, HFILL }},
8997 { &hf_lpp_horizontalWithVerticalVelocityAndUncertainty_01,
8998 { "horizontalWithVerticalVelocityAndUncertainty", "lpp.horizontalWithVerticalVelocityAndUncertainty_element",
8999 FT_NONE, BASE_NONE, NULL, 0,
9000 NULL, HFILL }},
9001 { &hf_lpp_locationfailurecause,
9002 { "locationfailurecause", "lpp.locationfailurecause",
9003 FT_UINT32, BASE_DEC, VALS(lpp_LocationFailureCause_vals), 0,
9004 NULL, HFILL }},
9005 { &hf_lpp_abortCause,
9006 { "abortCause", "lpp.abortCause",
9007 FT_UINT32, BASE_DEC, VALS(lpp_T_abortCause_vals), 0,
9008 NULL, HFILL }},
9009 { &hf_lpp_errorCause,
9010 { "errorCause", "lpp.errorCause",
9011 FT_UINT32, BASE_DEC, VALS(lpp_T_errorCause_vals), 0,
9012 NULL, HFILL }},
9013 { &hf_lpp_otdoa_ReferenceCellInfo,
9014 { "otdoa-ReferenceCellInfo", "lpp.otdoa_ReferenceCellInfo_element",
9015 FT_NONE, BASE_NONE, NULL, 0,
9016 NULL, HFILL }},
9017 { &hf_lpp_otdoa_NeighbourCellInfo,
9018 { "otdoa-NeighbourCellInfo", "lpp.otdoa_NeighbourCellInfo",
9019 FT_UINT32, BASE_DEC, NULL, 0,
9020 "OTDOA_NeighbourCellInfoList", HFILL }},
9021 { &hf_lpp_otdoa_Error,
9022 { "otdoa-Error", "lpp.otdoa_Error",
9023 FT_UINT32, BASE_DEC, VALS(lpp_OTDOA_Error_vals), 0,
9024 NULL, HFILL }},
9025 { &hf_lpp_physCellId,
9026 { "physCellId", "lpp.physCellId",
9027 FT_UINT32, BASE_DEC, NULL, 0,
9028 "INTEGER_0_503", HFILL }},
9029 { &hf_lpp_cellGlobalId,
9030 { "cellGlobalId", "lpp.cellGlobalId_element",
9031 FT_NONE, BASE_NONE, NULL, 0,
9032 "ECGI", HFILL }},
9033 { &hf_lpp_earfcnRef,
9034 { "earfcnRef", "lpp.earfcnRef",
9035 FT_UINT32, BASE_DEC, NULL, 0,
9036 "ARFCN_ValueEUTRA", HFILL }},
9037 { &hf_lpp_antennaPortConfig,
9038 { "antennaPortConfig", "lpp.antennaPortConfig",
9039 FT_UINT32, BASE_DEC, VALS(lpp_T_antennaPortConfig_vals), 0,
9040 NULL, HFILL }},
9041 { &hf_lpp_cpLength,
9042 { "cpLength", "lpp.cpLength",
9043 FT_UINT32, BASE_DEC, VALS(lpp_T_cpLength_vals), 0,
9044 NULL, HFILL }},
9045 { &hf_lpp_prsInfo,
9046 { "prsInfo", "lpp.prsInfo_element",
9047 FT_NONE, BASE_NONE, NULL, 0,
9048 "PRS_Info", HFILL }},
9049 { &hf_lpp_earfcnRef_v9a0,
9050 { "earfcnRef-v9a0", "lpp.earfcnRef_v9a0",
9051 FT_UINT32, BASE_DEC, NULL, 0,
9052 "ARFCN_ValueEUTRA_v9a0", HFILL }},
9053 { &hf_lpp_prs_Bandwidth,
9054 { "prs-Bandwidth", "lpp.prs_Bandwidth",
9055 FT_UINT32, BASE_DEC, VALS(lpp_T_prs_Bandwidth_vals), 0,
9056 NULL, HFILL }},
9057 { &hf_lpp_prs_ConfigurationIndex,
9058 { "prs-ConfigurationIndex", "lpp.prs_ConfigurationIndex",
9059 FT_UINT32, BASE_DEC, NULL, 0,
9060 "INTEGER_0_4095", HFILL }},
9061 { &hf_lpp_numDL_Frames,
9062 { "numDL-Frames", "lpp.numDL_Frames",
9063 FT_UINT32, BASE_DEC, VALS(lpp_T_numDL_Frames_vals), 0,
9064 NULL, HFILL }},
9065 { &hf_lpp_prs_MutingInfo_r9,
9066 { "prs-MutingInfo-r9", "lpp.prs_MutingInfo_r9",
9067 FT_UINT32, BASE_DEC, VALS(lpp_T_prs_MutingInfo_r9_vals), 0,
9068 NULL, HFILL }},
9069 { &hf_lpp_po2_r9,
9070 { "po2-r9", "lpp.po2_r9",
9071 FT_BYTES, BASE_NONE, NULL, 0,
9072 "BIT_STRING_SIZE_2", HFILL }},
9073 { &hf_lpp_po4_r9,
9074 { "po4-r9", "lpp.po4_r9",
9075 FT_BYTES, BASE_NONE, NULL, 0,
9076 "BIT_STRING_SIZE_4", HFILL }},
9077 { &hf_lpp_po8_r9,
9078 { "po8-r9", "lpp.po8_r9",
9079 FT_BYTES, BASE_NONE, NULL, 0,
9080 "BIT_STRING_SIZE_8", HFILL }},
9081 { &hf_lpp_po16_r9,
9082 { "po16-r9", "lpp.po16_r9",
9083 FT_BYTES, BASE_NONE, NULL, 0,
9084 "BIT_STRING_SIZE_16", HFILL }},
9085 { &hf_lpp_OTDOA_NeighbourCellInfoList_item,
9086 { "OTDOA-NeighbourFreqInfo", "lpp.OTDOA_NeighbourFreqInfo",
9087 FT_UINT32, BASE_DEC, NULL, 0,
9088 NULL, HFILL }},
9089 { &hf_lpp_OTDOA_NeighbourFreqInfo_item,
9090 { "OTDOA-NeighbourCellInfoElement", "lpp.OTDOA_NeighbourCellInfoElement_element",
9091 FT_NONE, BASE_NONE, NULL, 0,
9092 NULL, HFILL }},
9093 { &hf_lpp_earfcn,
9094 { "earfcn", "lpp.earfcn",
9095 FT_UINT32, BASE_DEC, NULL, 0,
9096 "ARFCN_ValueEUTRA", HFILL }},
9097 { &hf_lpp_cpLength_01,
9098 { "cpLength", "lpp.cpLength",
9099 FT_UINT32, BASE_DEC, VALS(lpp_T_cpLength_01_vals), 0,
9100 "T_cpLength_01", HFILL }},
9101 { &hf_lpp_antennaPortConfig_01,
9102 { "antennaPortConfig", "lpp.antennaPortConfig",
9103 FT_UINT32, BASE_DEC, VALS(lpp_T_antennaPortConfig_01_vals), 0,
9104 "T_antennaPortConfig_01", HFILL }},
9105 { &hf_lpp_slotNumberOffset,
9106 { "slotNumberOffset", "lpp.slotNumberOffset",
9107 FT_UINT32, BASE_DEC, NULL, 0,
9108 "INTEGER_0_19", HFILL }},
9109 { &hf_lpp_prs_SubframeOffset,
9110 { "prs-SubframeOffset", "lpp.prs_SubframeOffset",
9111 FT_UINT32, BASE_DEC, NULL, 0,
9112 "INTEGER_0_1279", HFILL }},
9113 { &hf_lpp_expectedRSTD,
9114 { "expectedRSTD", "lpp.expectedRSTD",
9115 FT_UINT32, BASE_DEC, NULL, 0,
9116 "INTEGER_0_16383", HFILL }},
9117 { &hf_lpp_expectedRSTD_Uncertainty,
9118 { "expectedRSTD-Uncertainty", "lpp.expectedRSTD_Uncertainty",
9119 FT_UINT32, BASE_DEC, NULL, 0,
9120 "INTEGER_0_1023", HFILL }},
9121 { &hf_lpp_earfcn_v9a0,
9122 { "earfcn-v9a0", "lpp.earfcn_v9a0",
9123 FT_UINT32, BASE_DEC, NULL, 0,
9124 "ARFCN_ValueEUTRA_v9a0", HFILL }},
9125 { &hf_lpp_otdoaSignalMeasurementInformation,
9126 { "otdoaSignalMeasurementInformation", "lpp.otdoaSignalMeasurementInformation_element",
9127 FT_NONE, BASE_NONE, NULL, 0,
9128 "OTDOA_SignalMeasurementInformation", HFILL }},
9129 { &hf_lpp_systemFrameNumber,
9130 { "systemFrameNumber", "lpp.systemFrameNumber",
9131 FT_BYTES, BASE_NONE, NULL, 0,
9132 "BIT_STRING_SIZE_10", HFILL }},
9133 { &hf_lpp_physCellIdRef,
9134 { "physCellIdRef", "lpp.physCellIdRef",
9135 FT_UINT32, BASE_DEC, NULL, 0,
9136 "INTEGER_0_503", HFILL }},
9137 { &hf_lpp_cellGlobalIdRef,
9138 { "cellGlobalIdRef", "lpp.cellGlobalIdRef_element",
9139 FT_NONE, BASE_NONE, NULL, 0,
9140 "ECGI", HFILL }},
9141 { &hf_lpp_referenceQuality,
9142 { "referenceQuality", "lpp.referenceQuality_element",
9143 FT_NONE, BASE_NONE, NULL, 0,
9144 "OTDOA_MeasQuality", HFILL }},
9145 { &hf_lpp_neighbourMeasurementList,
9146 { "neighbourMeasurementList", "lpp.neighbourMeasurementList",
9147 FT_UINT32, BASE_DEC, NULL, 0,
9148 NULL, HFILL }},
9149 { &hf_lpp_NeighbourMeasurementList_item,
9150 { "NeighbourMeasurementElement", "lpp.NeighbourMeasurementElement_element",
9151 FT_NONE, BASE_NONE, NULL, 0,
9152 NULL, HFILL }},
9153 { &hf_lpp_physCellIdNeighbor,
9154 { "physCellIdNeighbor", "lpp.physCellIdNeighbor",
9155 FT_UINT32, BASE_DEC, NULL, 0,
9156 "INTEGER_0_503", HFILL }},
9157 { &hf_lpp_cellGlobalIdNeighbour,
9158 { "cellGlobalIdNeighbour", "lpp.cellGlobalIdNeighbour_element",
9159 FT_NONE, BASE_NONE, NULL, 0,
9160 "ECGI", HFILL }},
9161 { &hf_lpp_earfcnNeighbour,
9162 { "earfcnNeighbour", "lpp.earfcnNeighbour",
9163 FT_UINT32, BASE_DEC, NULL, 0,
9164 "ARFCN_ValueEUTRA", HFILL }},
9165 { &hf_lpp_rstd,
9166 { "rstd", "lpp.rstd",
9167 FT_UINT32, BASE_DEC, NULL, 0,
9168 "INTEGER_0_12711", HFILL }},
9169 { &hf_lpp_rstd_Quality,
9170 { "rstd-Quality", "lpp.rstd_Quality_element",
9171 FT_NONE, BASE_NONE, NULL, 0,
9172 "OTDOA_MeasQuality", HFILL }},
9173 { &hf_lpp_earfcnNeighbour_v9a0,
9174 { "earfcnNeighbour-v9a0", "lpp.earfcnNeighbour_v9a0",
9175 FT_UINT32, BASE_DEC, NULL, 0,
9176 "ARFCN_ValueEUTRA_v9a0", HFILL }},
9177 { &hf_lpp_error_Resolution,
9178 { "error-Resolution", "lpp.error_Resolution",
9179 FT_BYTES, BASE_NONE, NULL, 0,
9180 "BIT_STRING_SIZE_2", HFILL }},
9181 { &hf_lpp_error_Value,
9182 { "error-Value", "lpp.error_Value",
9183 FT_BYTES, BASE_NONE, NULL, 0,
9184 "BIT_STRING_SIZE_5", HFILL }},
9185 { &hf_lpp_error_NumSamples,
9186 { "error-NumSamples", "lpp.error_NumSamples",
9187 FT_BYTES, BASE_NONE, NULL, 0,
9188 "BIT_STRING_SIZE_3", HFILL }},
9189 { &hf_lpp_assistanceAvailability,
9190 { "assistanceAvailability", "lpp.assistanceAvailability",
9191 FT_BOOLEAN, BASE_NONE, NULL, 0,
9192 "BOOLEAN", HFILL }},
9193 { &hf_lpp_otdoa_Mode,
9194 { "otdoa-Mode", "lpp.otdoa_Mode",
9195 FT_BYTES, BASE_NONE, NULL, 0,
9196 NULL, HFILL }},
9197 { &hf_lpp_supportedBandListEUTRA,
9198 { "supportedBandListEUTRA", "lpp.supportedBandListEUTRA",
9199 FT_UINT32, BASE_DEC, NULL, 0,
9200 "SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA", HFILL }},
9201 { &hf_lpp_supportedBandListEUTRA_item,
9202 { "SupportedBandEUTRA", "lpp.SupportedBandEUTRA_element",
9203 FT_NONE, BASE_NONE, NULL, 0,
9204 NULL, HFILL }},
9205 { &hf_lpp_supportedBandListEUTRA_v9a0,
9206 { "supportedBandListEUTRA-v9a0", "lpp.supportedBandListEUTRA_v9a0",
9207 FT_UINT32, BASE_DEC, NULL, 0,
9208 "SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0", HFILL }},
9209 { &hf_lpp_supportedBandListEUTRA_v9a0_item,
9210 { "SupportedBandEUTRA-v9a0", "lpp.SupportedBandEUTRA_v9a0_element",
9211 FT_NONE, BASE_NONE, NULL, 0,
9212 NULL, HFILL }},
9213 { &hf_lpp_bandEUTRA,
9214 { "bandEUTRA", "lpp.bandEUTRA",
9215 FT_UINT32, BASE_DEC, NULL, 0,
9216 "INTEGER_1_maxFBI", HFILL }},
9217 { &hf_lpp_bandEUTRA_v9a0,
9218 { "bandEUTRA-v9a0", "lpp.bandEUTRA_v9a0",
9219 FT_UINT32, BASE_DEC, NULL, 0,
9220 "INTEGER_maxFBI_Plus1_maxFBI2", HFILL }},
9221 { &hf_lpp_locationServerErrorCauses,
9222 { "locationServerErrorCauses", "lpp.locationServerErrorCauses_element",
9223 FT_NONE, BASE_NONE, NULL, 0,
9224 "OTDOA_LocationServerErrorCauses", HFILL }},
9225 { &hf_lpp_targetDeviceErrorCauses,
9226 { "targetDeviceErrorCauses", "lpp.targetDeviceErrorCauses_element",
9227 FT_NONE, BASE_NONE, NULL, 0,
9228 "OTDOA_TargetDeviceErrorCauses", HFILL }},
9229 { &hf_lpp_cause,
9230 { "cause", "lpp.cause",
9231 FT_UINT32, BASE_DEC, VALS(lpp_T_cause_vals), 0,
9232 NULL, HFILL }},
9233 { &hf_lpp_cause_01,
9234 { "cause", "lpp.cause",
9235 FT_UINT32, BASE_DEC, VALS(lpp_T_cause_01_vals), 0,
9236 "T_cause_01", HFILL }},
9237 { &hf_lpp_gnss_CommonAssistData,
9238 { "gnss-CommonAssistData", "lpp.gnss_CommonAssistData_element",
9239 FT_NONE, BASE_NONE, NULL, 0,
9240 NULL, HFILL }},
9241 { &hf_lpp_gnss_GenericAssistData,
9242 { "gnss-GenericAssistData", "lpp.gnss_GenericAssistData",
9243 FT_UINT32, BASE_DEC, NULL, 0,
9244 NULL, HFILL }},
9245 { &hf_lpp_gnss_Error,
9246 { "gnss-Error", "lpp.gnss_Error",
9247 FT_UINT32, BASE_DEC, VALS(lpp_A_GNSS_Error_vals), 0,
9248 "A_GNSS_Error", HFILL }},
9249 { &hf_lpp_gnss_ReferenceTime,
9250 { "gnss-ReferenceTime", "lpp.gnss_ReferenceTime_element",
9251 FT_NONE, BASE_NONE, NULL, 0,
9252 NULL, HFILL }},
9253 { &hf_lpp_gnss_ReferenceLocation,
9254 { "gnss-ReferenceLocation", "lpp.gnss_ReferenceLocation_element",
9255 FT_NONE, BASE_NONE, NULL, 0,
9256 NULL, HFILL }},
9257 { &hf_lpp_gnss_IonosphericModel,
9258 { "gnss-IonosphericModel", "lpp.gnss_IonosphericModel_element",
9259 FT_NONE, BASE_NONE, NULL, 0,
9260 NULL, HFILL }},
9261 { &hf_lpp_gnss_EarthOrientationParameters,
9262 { "gnss-EarthOrientationParameters", "lpp.gnss_EarthOrientationParameters_element",
9263 FT_NONE, BASE_NONE, NULL, 0,
9264 NULL, HFILL }},
9265 { &hf_lpp_GNSS_GenericAssistData_item,
9266 { "GNSS-GenericAssistDataElement", "lpp.GNSS_GenericAssistDataElement_element",
9267 FT_NONE, BASE_NONE, NULL, 0,
9268 NULL, HFILL }},
9269 { &hf_lpp_gnss_ID,
9270 { "gnss-ID", "lpp.gnss_ID_element",
9271 FT_NONE, BASE_NONE, NULL, 0,
9272 NULL, HFILL }},
9273 { &hf_lpp_sbas_ID,
9274 { "sbas-ID", "lpp.sbas_ID_element",
9275 FT_NONE, BASE_NONE, NULL, 0,
9276 NULL, HFILL }},
9277 { &hf_lpp_gnss_TimeModels,
9278 { "gnss-TimeModels", "lpp.gnss_TimeModels",
9279 FT_UINT32, BASE_DEC, NULL, 0,
9280 "GNSS_TimeModelList", HFILL }},
9281 { &hf_lpp_gnss_DifferentialCorrections,
9282 { "gnss-DifferentialCorrections", "lpp.gnss_DifferentialCorrections_element",
9283 FT_NONE, BASE_NONE, NULL, 0,
9284 NULL, HFILL }},
9285 { &hf_lpp_gnss_NavigationModel,
9286 { "gnss-NavigationModel", "lpp.gnss_NavigationModel_element",
9287 FT_NONE, BASE_NONE, NULL, 0,
9288 NULL, HFILL }},
9289 { &hf_lpp_gnss_RealTimeIntegrity,
9290 { "gnss-RealTimeIntegrity", "lpp.gnss_RealTimeIntegrity_element",
9291 FT_NONE, BASE_NONE, NULL, 0,
9292 NULL, HFILL }},
9293 { &hf_lpp_gnss_DataBitAssistance,
9294 { "gnss-DataBitAssistance", "lpp.gnss_DataBitAssistance_element",
9295 FT_NONE, BASE_NONE, NULL, 0,
9296 NULL, HFILL }},
9297 { &hf_lpp_gnss_AcquisitionAssistance,
9298 { "gnss-AcquisitionAssistance", "lpp.gnss_AcquisitionAssistance_element",
9299 FT_NONE, BASE_NONE, NULL, 0,
9300 NULL, HFILL }},
9301 { &hf_lpp_gnss_Almanac,
9302 { "gnss-Almanac", "lpp.gnss_Almanac_element",
9303 FT_NONE, BASE_NONE, NULL, 0,
9304 NULL, HFILL }},
9305 { &hf_lpp_gnss_UTC_Model,
9306 { "gnss-UTC-Model", "lpp.gnss_UTC_Model",
9307 FT_UINT32, BASE_DEC, VALS(lpp_GNSS_UTC_Model_vals), 0,
9308 NULL, HFILL }},
9309 { &hf_lpp_gnss_AuxiliaryInformation,
9310 { "gnss-AuxiliaryInformation", "lpp.gnss_AuxiliaryInformation",
9311 FT_UINT32, BASE_DEC, VALS(lpp_GNSS_AuxiliaryInformation_vals), 0,
9312 NULL, HFILL }},
9313 { &hf_lpp_gnss_SystemTime,
9314 { "gnss-SystemTime", "lpp.gnss_SystemTime_element",
9315 FT_NONE, BASE_NONE, NULL, 0,
9316 NULL, HFILL }},
9317 { &hf_lpp_referenceTimeUnc,
9318 { "referenceTimeUnc", "lpp.referenceTimeUnc",
9319 FT_UINT32, BASE_DEC, NULL, 0,
9320 "INTEGER_0_127", HFILL }},
9321 { &hf_lpp_gnss_ReferenceTimeForCells,
9322 { "gnss-ReferenceTimeForCells", "lpp.gnss_ReferenceTimeForCells",
9323 FT_UINT32, BASE_DEC, NULL, 0,
9324 "SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell", HFILL }},
9325 { &hf_lpp_gnss_ReferenceTimeForCells_item,
9326 { "GNSS-ReferenceTimeForOneCell", "lpp.GNSS_ReferenceTimeForOneCell_element",
9327 FT_NONE, BASE_NONE, NULL, 0,
9328 NULL, HFILL }},
9329 { &hf_lpp_networkTime,
9330 { "networkTime", "lpp.networkTime_element",
9331 FT_NONE, BASE_NONE, NULL, 0,
9332 NULL, HFILL }},
9333 { &hf_lpp_bsAlign,
9334 { "bsAlign", "lpp.bsAlign",
9335 FT_UINT32, BASE_DEC, VALS(lpp_T_bsAlign_vals), 0,
9336 NULL, HFILL }},
9337 { &hf_lpp_gnss_TimeID,
9338 { "gnss-TimeID", "lpp.gnss_TimeID_element",
9339 FT_NONE, BASE_NONE, NULL, 0,
9340 "GNSS_ID", HFILL }},
9341 { &hf_lpp_gnss_DayNumber,
9342 { "gnss-DayNumber", "lpp.gnss_DayNumber",
9343 FT_UINT32, BASE_DEC, NULL, 0,
9344 "INTEGER_0_32767", HFILL }},
9345 { &hf_lpp_gnss_TimeOfDay,
9346 { "gnss-TimeOfDay", "lpp.gnss_TimeOfDay",
9347 FT_UINT32, BASE_DEC, NULL, 0,
9348 "INTEGER_0_86399", HFILL }},
9349 { &hf_lpp_gnss_TimeOfDayFrac_msec,
9350 { "gnss-TimeOfDayFrac-msec", "lpp.gnss_TimeOfDayFrac_msec",
9351 FT_UINT32, BASE_DEC, NULL, 0,
9352 "INTEGER_0_999", HFILL }},
9353 { &hf_lpp_notificationOfLeapSecond,
9354 { "notificationOfLeapSecond", "lpp.notificationOfLeapSecond",
9355 FT_BYTES, BASE_NONE, NULL, 0,
9356 "BIT_STRING_SIZE_2", HFILL }},
9357 { &hf_lpp_gps_TOW_Assist,
9358 { "gps-TOW-Assist", "lpp.gps_TOW_Assist",
9359 FT_UINT32, BASE_DEC, NULL, 0,
9360 NULL, HFILL }},
9361 { &hf_lpp_GPS_TOW_Assist_item,
9362 { "GPS-TOW-AssistElement", "lpp.GPS_TOW_AssistElement_element",
9363 FT_NONE, BASE_NONE, NULL, 0,
9364 NULL, HFILL }},
9365 { &hf_lpp_satelliteID,
9366 { "satelliteID", "lpp.satelliteID",
9367 FT_UINT32, BASE_DEC, NULL, 0,
9368 "INTEGER_1_64", HFILL }},
9369 { &hf_lpp_tlmWord,
9370 { "tlmWord", "lpp.tlmWord",
9371 FT_UINT32, BASE_DEC, NULL, 0,
9372 "INTEGER_0_16383", HFILL }},
9373 { &hf_lpp_antiSpoof,
9374 { "antiSpoof", "lpp.antiSpoof",
9375 FT_UINT32, BASE_DEC, NULL, 0,
9376 "INTEGER_0_1", HFILL }},
9377 { &hf_lpp_alert,
9378 { "alert", "lpp.alert",
9379 FT_UINT32, BASE_DEC, NULL, 0,
9380 "INTEGER_0_1", HFILL }},
9381 { &hf_lpp_tlmRsvdBits,
9382 { "tlmRsvdBits", "lpp.tlmRsvdBits",
9383 FT_UINT32, BASE_DEC, NULL, 0,
9384 "INTEGER_0_3", HFILL }},
9385 { &hf_lpp_secondsFromFrameStructureStart,
9386 { "secondsFromFrameStructureStart", "lpp.secondsFromFrameStructureStart",
9387 FT_UINT32, BASE_DEC, NULL, 0,
9388 "INTEGER_0_12533", HFILL }},
9389 { &hf_lpp_fractionalSecondsFromFrameStructureStart,
9390 { "fractionalSecondsFromFrameStructureStart", "lpp.fractionalSecondsFromFrameStructureStart",
9391 FT_UINT32, BASE_DEC, NULL, 0,
9392 "INTEGER_0_3999999", HFILL }},
9393 { &hf_lpp_frameDrift,
9394 { "frameDrift", "lpp.frameDrift",
9395 FT_INT32, BASE_DEC, NULL, 0,
9396 "INTEGER_M64_63", HFILL }},
9397 { &hf_lpp_cellID,
9398 { "cellID", "lpp.cellID",
9399 FT_UINT32, BASE_DEC, VALS(lpp_T_cellID_vals), 0,
9400 NULL, HFILL }},
9401 { &hf_lpp_eUTRA,
9402 { "eUTRA", "lpp.eUTRA_element",
9403 FT_NONE, BASE_NONE, NULL, 0,
9404 NULL, HFILL }},
9405 { &hf_lpp_cellGlobalIdEUTRA,
9406 { "cellGlobalIdEUTRA", "lpp.cellGlobalIdEUTRA_element",
9407 FT_NONE, BASE_NONE, NULL, 0,
9408 "CellGlobalIdEUTRA_AndUTRA", HFILL }},
9409 { &hf_lpp_uTRA,
9410 { "uTRA", "lpp.uTRA_element",
9411 FT_NONE, BASE_NONE, NULL, 0,
9412 NULL, HFILL }},
9413 { &hf_lpp_mode,
9414 { "mode", "lpp.mode",
9415 FT_UINT32, BASE_DEC, VALS(lpp_T_mode_vals), 0,
9416 NULL, HFILL }},
9417 { &hf_lpp_fdd,
9418 { "fdd", "lpp.fdd_element",
9419 FT_NONE, BASE_NONE, NULL, 0,
9420 NULL, HFILL }},
9421 { &hf_lpp_primary_CPICH_Info,
9422 { "primary-CPICH-Info", "lpp.primary_CPICH_Info",
9423 FT_UINT32, BASE_DEC, NULL, 0,
9424 "INTEGER_0_511", HFILL }},
9425 { &hf_lpp_tdd,
9426 { "tdd", "lpp.tdd_element",
9427 FT_NONE, BASE_NONE, NULL, 0,
9428 NULL, HFILL }},
9429 { &hf_lpp_cellParameters,
9430 { "cellParameters", "lpp.cellParameters",
9431 FT_UINT32, BASE_DEC, NULL, 0,
9432 "INTEGER_0_127", HFILL }},
9433 { &hf_lpp_cellGlobalIdUTRA,
9434 { "cellGlobalIdUTRA", "lpp.cellGlobalIdUTRA_element",
9435 FT_NONE, BASE_NONE, NULL, 0,
9436 "CellGlobalIdEUTRA_AndUTRA", HFILL }},
9437 { &hf_lpp_uarfcn,
9438 { "uarfcn", "lpp.uarfcn",
9439 FT_UINT32, BASE_DEC, NULL, 0,
9440 "ARFCN_ValueUTRA", HFILL }},
9441 { &hf_lpp_gSM,
9442 { "gSM", "lpp.gSM_element",
9443 FT_NONE, BASE_NONE, NULL, 0,
9444 NULL, HFILL }},
9445 { &hf_lpp_bcchCarrier,
9446 { "bcchCarrier", "lpp.bcchCarrier",
9447 FT_UINT32, BASE_DEC, NULL, 0,
9448 "INTEGER_0_1023", HFILL }},
9449 { &hf_lpp_bsic,
9450 { "bsic", "lpp.bsic",
9451 FT_UINT32, BASE_DEC, NULL, 0,
9452 "INTEGER_0_63", HFILL }},
9453 { &hf_lpp_cellGlobalIdGERAN,
9454 { "cellGlobalIdGERAN", "lpp.cellGlobalIdGERAN_element",
9455 FT_NONE, BASE_NONE, NULL, 0,
9456 NULL, HFILL }},
9457 { &hf_lpp_threeDlocation,
9458 { "threeDlocation", "lpp.threeDlocation_element",
9459 FT_NONE, BASE_NONE, NULL, 0,
9460 "EllipsoidPointWithAltitudeAndUncertaintyEllipsoid", HFILL }},
9461 { &hf_lpp_klobucharModel,
9462 { "klobucharModel", "lpp.klobucharModel_element",
9463 FT_NONE, BASE_NONE, NULL, 0,
9464 "KlobucharModelParameter", HFILL }},
9465 { &hf_lpp_neQuickModel,
9466 { "neQuickModel", "lpp.neQuickModel_element",
9467 FT_NONE, BASE_NONE, NULL, 0,
9468 "NeQuickModelParameter", HFILL }},
9469 { &hf_lpp_dataID,
9470 { "dataID", "lpp.dataID",
9471 FT_BYTES, BASE_NONE, NULL, 0,
9472 "BIT_STRING_SIZE_2", HFILL }},
9473 { &hf_lpp_alfa0,
9474 { "alfa0", "lpp.alfa0",
9475 FT_INT32, BASE_DEC, NULL, 0,
9476 "INTEGER_M128_127", HFILL }},
9477 { &hf_lpp_alfa1,
9478 { "alfa1", "lpp.alfa1",
9479 FT_INT32, BASE_DEC, NULL, 0,
9480 "INTEGER_M128_127", HFILL }},
9481 { &hf_lpp_alfa2,
9482 { "alfa2", "lpp.alfa2",
9483 FT_INT32, BASE_DEC, NULL, 0,
9484 "INTEGER_M128_127", HFILL }},
9485 { &hf_lpp_alfa3,
9486 { "alfa3", "lpp.alfa3",
9487 FT_INT32, BASE_DEC, NULL, 0,
9488 "INTEGER_M128_127", HFILL }},
9489 { &hf_lpp_beta0,
9490 { "beta0", "lpp.beta0",
9491 FT_INT32, BASE_DEC, NULL, 0,
9492 "INTEGER_M128_127", HFILL }},
9493 { &hf_lpp_beta1,
9494 { "beta1", "lpp.beta1",
9495 FT_INT32, BASE_DEC, NULL, 0,
9496 "INTEGER_M128_127", HFILL }},
9497 { &hf_lpp_beta2,
9498 { "beta2", "lpp.beta2",
9499 FT_INT32, BASE_DEC, NULL, 0,
9500 "INTEGER_M128_127", HFILL }},
9501 { &hf_lpp_beta3,
9502 { "beta3", "lpp.beta3",
9503 FT_INT32, BASE_DEC, NULL, 0,
9504 "INTEGER_M128_127", HFILL }},
9505 { &hf_lpp_ai0,
9506 { "ai0", "lpp.ai0",
9507 FT_UINT32, BASE_DEC, NULL, 0,
9508 "INTEGER_0_4095", HFILL }},
9509 { &hf_lpp_ai1,
9510 { "ai1", "lpp.ai1",
9511 FT_UINT32, BASE_DEC, NULL, 0,
9512 "INTEGER_0_4095", HFILL }},
9513 { &hf_lpp_ai2,
9514 { "ai2", "lpp.ai2",
9515 FT_UINT32, BASE_DEC, NULL, 0,
9516 "INTEGER_0_4095", HFILL }},
9517 { &hf_lpp_ionoStormFlag1,
9518 { "ionoStormFlag1", "lpp.ionoStormFlag1",
9519 FT_UINT32, BASE_DEC, NULL, 0,
9520 "INTEGER_0_1", HFILL }},
9521 { &hf_lpp_ionoStormFlag2,
9522 { "ionoStormFlag2", "lpp.ionoStormFlag2",
9523 FT_UINT32, BASE_DEC, NULL, 0,
9524 "INTEGER_0_1", HFILL }},
9525 { &hf_lpp_ionoStormFlag3,
9526 { "ionoStormFlag3", "lpp.ionoStormFlag3",
9527 FT_UINT32, BASE_DEC, NULL, 0,
9528 "INTEGER_0_1", HFILL }},
9529 { &hf_lpp_ionoStormFlag4,
9530 { "ionoStormFlag4", "lpp.ionoStormFlag4",
9531 FT_UINT32, BASE_DEC, NULL, 0,
9532 "INTEGER_0_1", HFILL }},
9533 { &hf_lpp_ionoStormFlag5,
9534 { "ionoStormFlag5", "lpp.ionoStormFlag5",
9535 FT_UINT32, BASE_DEC, NULL, 0,
9536 "INTEGER_0_1", HFILL }},
9537 { &hf_lpp_teop,
9538 { "teop", "lpp.teop",
9539 FT_UINT32, BASE_DEC, NULL, 0,
9540 "INTEGER_0_65535", HFILL }},
9541 { &hf_lpp_pmX,
9542 { "pmX", "lpp.pmX",
9543 FT_INT32, BASE_DEC, NULL, 0,
9544 "INTEGER_M1048576_1048575", HFILL }},
9545 { &hf_lpp_pmXdot,
9546 { "pmXdot", "lpp.pmXdot",
9547 FT_INT32, BASE_DEC, NULL, 0,
9548 "INTEGER_M16384_16383", HFILL }},
9549 { &hf_lpp_pmY,
9550 { "pmY", "lpp.pmY",
9551 FT_INT32, BASE_DEC, NULL, 0,
9552 "INTEGER_M1048576_1048575", HFILL }},
9553 { &hf_lpp_pmYdot,
9554 { "pmYdot", "lpp.pmYdot",
9555 FT_INT32, BASE_DEC, NULL, 0,
9556 "INTEGER_M16384_16383", HFILL }},
9557 { &hf_lpp_deltaUT1,
9558 { "deltaUT1", "lpp.deltaUT1",
9559 FT_INT32, BASE_DEC, NULL, 0,
9560 "INTEGER_M1073741824_1073741823", HFILL }},
9561 { &hf_lpp_deltaUT1dot,
9562 { "deltaUT1dot", "lpp.deltaUT1dot",
9563 FT_INT32, BASE_DEC, NULL, 0,
9564 "INTEGER_M262144_262143", HFILL }},
9565 { &hf_lpp_GNSS_TimeModelList_item,
9566 { "GNSS-TimeModelElement", "lpp.GNSS_TimeModelElement_element",
9567 FT_NONE, BASE_NONE, NULL, 0,
9568 NULL, HFILL }},
9569 { &hf_lpp_gnss_TimeModelRefTime,
9570 { "gnss-TimeModelRefTime", "lpp.gnss_TimeModelRefTime",
9571 FT_UINT32, BASE_DEC, NULL, 0,
9572 "INTEGER_0_65535", HFILL }},
9573 { &hf_lpp_tA0,
9574 { "tA0", "lpp.tA0",
9575 FT_INT32, BASE_DEC, NULL, 0,
9576 "INTEGER_M67108864_67108863", HFILL }},
9577 { &hf_lpp_tA1,
9578 { "tA1", "lpp.tA1",
9579 FT_INT32, BASE_DEC, NULL, 0,
9580 "INTEGER_M4096_4095", HFILL }},
9581 { &hf_lpp_tA2,
9582 { "tA2", "lpp.tA2",
9583 FT_INT32, BASE_DEC, NULL, 0,
9584 "INTEGER_M64_63", HFILL }},
9585 { &hf_lpp_gnss_TO_ID,
9586 { "gnss-TO-ID", "lpp.gnss_TO_ID",
9587 FT_UINT32, BASE_DEC, NULL, 0,
9588 "INTEGER_1_15", HFILL }},
9589 { &hf_lpp_weekNumber,
9590 { "weekNumber", "lpp.weekNumber",
9591 FT_UINT32, BASE_DEC, NULL, 0,
9592 "INTEGER_0_8191", HFILL }},
9593 { &hf_lpp_deltaT,
9594 { "deltaT", "lpp.deltaT",
9595 FT_INT32, BASE_DEC, NULL, 0,
9596 "INTEGER_M128_127", HFILL }},
9597 { &hf_lpp_dgnss_RefTime,
9598 { "dgnss-RefTime", "lpp.dgnss_RefTime",
9599 FT_UINT32, BASE_DEC, NULL, 0,
9600 "INTEGER_0_3599", HFILL }},
9601 { &hf_lpp_dgnss_SgnTypeList,
9602 { "dgnss-SgnTypeList", "lpp.dgnss_SgnTypeList",
9603 FT_UINT32, BASE_DEC, NULL, 0,
9604 NULL, HFILL }},
9605 { &hf_lpp_DGNSS_SgnTypeList_item,
9606 { "DGNSS-SgnTypeElement", "lpp.DGNSS_SgnTypeElement_element",
9607 FT_NONE, BASE_NONE, NULL, 0,
9608 NULL, HFILL }},
9609 { &hf_lpp_gnss_SignalID,
9610 { "gnss-SignalID", "lpp.gnss_SignalID_element",
9611 FT_NONE, BASE_NONE, NULL, 0,
9612 NULL, HFILL }},
9613 { &hf_lpp_gnss_StatusHealth,
9614 { "gnss-StatusHealth", "lpp.gnss_StatusHealth",
9615 FT_UINT32, BASE_DEC, NULL, 0,
9616 "INTEGER_0_7", HFILL }},
9617 { &hf_lpp_dgnss_SatList,
9618 { "dgnss-SatList", "lpp.dgnss_SatList",
9619 FT_UINT32, BASE_DEC, NULL, 0,
9620 NULL, HFILL }},
9621 { &hf_lpp_DGNSS_SatList_item,
9622 { "DGNSS-CorrectionsElement", "lpp.DGNSS_CorrectionsElement_element",
9623 FT_NONE, BASE_NONE, NULL, 0,
9624 NULL, HFILL }},
9625 { &hf_lpp_svID,
9626 { "svID", "lpp.svID_element",
9627 FT_NONE, BASE_NONE, NULL, 0,
9628 "SV_ID", HFILL }},
9629 { &hf_lpp_iod,
9630 { "iod", "lpp.iod",
9631 FT_BYTES, BASE_NONE, NULL, 0,
9632 "BIT_STRING_SIZE_11", HFILL }},
9633 { &hf_lpp_udre,
9634 { "udre", "lpp.udre",
9635 FT_UINT32, BASE_DEC, NULL, 0,
9636 "INTEGER_0_3", HFILL }},
9637 { &hf_lpp_pseudoRangeCor,
9638 { "pseudoRangeCor", "lpp.pseudoRangeCor",
9639 FT_INT32, BASE_DEC, NULL, 0,
9640 "INTEGER_M2047_2047", HFILL }},
9641 { &hf_lpp_rangeRateCor,
9642 { "rangeRateCor", "lpp.rangeRateCor",
9643 FT_INT32, BASE_DEC, NULL, 0,
9644 "INTEGER_M127_127", HFILL }},
9645 { &hf_lpp_udreGrowthRate,
9646 { "udreGrowthRate", "lpp.udreGrowthRate",
9647 FT_UINT32, BASE_DEC, NULL, 0,
9648 "INTEGER_0_7", HFILL }},
9649 { &hf_lpp_udreValidityTime,
9650 { "udreValidityTime", "lpp.udreValidityTime",
9651 FT_UINT32, BASE_DEC, NULL, 0,
9652 "INTEGER_0_7", HFILL }},
9653 { &hf_lpp_nonBroadcastIndFlag,
9654 { "nonBroadcastIndFlag", "lpp.nonBroadcastIndFlag",
9655 FT_UINT32, BASE_DEC, NULL, 0,
9656 "INTEGER_0_1", HFILL }},
9657 { &hf_lpp_gnss_SatelliteList,
9658 { "gnss-SatelliteList", "lpp.gnss_SatelliteList",
9659 FT_UINT32, BASE_DEC, NULL, 0,
9660 "GNSS_NavModelSatelliteList", HFILL }},
9661 { &hf_lpp_GNSS_NavModelSatelliteList_item,
9662 { "GNSS-NavModelSatelliteElement", "lpp.GNSS_NavModelSatelliteElement_element",
9663 FT_NONE, BASE_NONE, NULL, 0,
9664 NULL, HFILL }},
9665 { &hf_lpp_svHealth,
9666 { "svHealth", "lpp.svHealth",
9667 FT_BYTES, BASE_NONE, NULL, 0,
9668 "BIT_STRING_SIZE_8", HFILL }},
9669 { &hf_lpp_gnss_ClockModel,
9670 { "gnss-ClockModel", "lpp.gnss_ClockModel",
9671 FT_UINT32, BASE_DEC, VALS(lpp_GNSS_ClockModel_vals), 0,
9672 NULL, HFILL }},
9673 { &hf_lpp_gnss_OrbitModel,
9674 { "gnss-OrbitModel", "lpp.gnss_OrbitModel",
9675 FT_UINT32, BASE_DEC, VALS(lpp_GNSS_OrbitModel_vals), 0,
9676 NULL, HFILL }},
9677 { &hf_lpp_standardClockModelList,
9678 { "standardClockModelList", "lpp.standardClockModelList",
9679 FT_UINT32, BASE_DEC, NULL, 0,
9680 NULL, HFILL }},
9681 { &hf_lpp_nav_ClockModel,
9682 { "nav-ClockModel", "lpp.nav_ClockModel_element",
9683 FT_NONE, BASE_NONE, NULL, 0,
9684 NULL, HFILL }},
9685 { &hf_lpp_cnav_ClockModel,
9686 { "cnav-ClockModel", "lpp.cnav_ClockModel_element",
9687 FT_NONE, BASE_NONE, NULL, 0,
9688 NULL, HFILL }},
9689 { &hf_lpp_glonass_ClockModel,
9690 { "glonass-ClockModel", "lpp.glonass_ClockModel_element",
9691 FT_NONE, BASE_NONE, NULL, 0,
9692 NULL, HFILL }},
9693 { &hf_lpp_sbas_ClockModel,
9694 { "sbas-ClockModel", "lpp.sbas_ClockModel_element",
9695 FT_NONE, BASE_NONE, NULL, 0,
9696 NULL, HFILL }},
9697 { &hf_lpp_keplerianSet,
9698 { "keplerianSet", "lpp.keplerianSet_element",
9699 FT_NONE, BASE_NONE, NULL, 0,
9700 "NavModelKeplerianSet", HFILL }},
9701 { &hf_lpp_nav_KeplerianSet,
9702 { "nav-KeplerianSet", "lpp.nav_KeplerianSet_element",
9703 FT_NONE, BASE_NONE, NULL, 0,
9704 "NavModelNAV_KeplerianSet", HFILL }},
9705 { &hf_lpp_cnav_KeplerianSet,
9706 { "cnav-KeplerianSet", "lpp.cnav_KeplerianSet_element",
9707 FT_NONE, BASE_NONE, NULL, 0,
9708 "NavModelCNAV_KeplerianSet", HFILL }},
9709 { &hf_lpp_glonass_ECEF,
9710 { "glonass-ECEF", "lpp.glonass_ECEF_element",
9711 FT_NONE, BASE_NONE, NULL, 0,
9712 "NavModel_GLONASS_ECEF", HFILL }},
9713 { &hf_lpp_sbas_ECEF,
9714 { "sbas-ECEF", "lpp.sbas_ECEF_element",
9715 FT_NONE, BASE_NONE, NULL, 0,
9716 "NavModel_SBAS_ECEF", HFILL }},
9717 { &hf_lpp_StandardClockModelList_item,
9718 { "StandardClockModelElement", "lpp.StandardClockModelElement_element",
9719 FT_NONE, BASE_NONE, NULL, 0,
9720 NULL, HFILL }},
9721 { &hf_lpp_stanClockToc,
9722 { "stanClockToc", "lpp.stanClockToc",
9723 FT_UINT32, BASE_DEC, NULL, 0,
9724 "INTEGER_0_16383", HFILL }},
9725 { &hf_lpp_stanClockAF2,
9726 { "stanClockAF2", "lpp.stanClockAF2",
9727 FT_INT32, BASE_DEC, NULL, 0,
9728 "INTEGER_M2048_2047", HFILL }},
9729 { &hf_lpp_stanClockAF1,
9730 { "stanClockAF1", "lpp.stanClockAF1",
9731 FT_INT32, BASE_DEC, NULL, 0,
9732 "INTEGER_M131072_131071", HFILL }},
9733 { &hf_lpp_stanClockAF0,
9734 { "stanClockAF0", "lpp.stanClockAF0",
9735 FT_INT32, BASE_DEC, NULL, 0,
9736 "INTEGER_M134217728_134217727", HFILL }},
9737 { &hf_lpp_stanClockTgd,
9738 { "stanClockTgd", "lpp.stanClockTgd",
9739 FT_INT32, BASE_DEC, NULL, 0,
9740 "INTEGER_M512_511", HFILL }},
9741 { &hf_lpp_stanModelID,
9742 { "stanModelID", "lpp.stanModelID",
9743 FT_UINT32, BASE_DEC, NULL, 0,
9744 "INTEGER_0_1", HFILL }},
9745 { &hf_lpp_navToc,
9746 { "navToc", "lpp.navToc",
9747 FT_UINT32, BASE_DEC, NULL, 0,
9748 "INTEGER_0_37799", HFILL }},
9749 { &hf_lpp_navaf2,
9750 { "navaf2", "lpp.navaf2",
9751 FT_INT32, BASE_DEC, NULL, 0,
9752 "INTEGER_M128_127", HFILL }},
9753 { &hf_lpp_navaf1,
9754 { "navaf1", "lpp.navaf1",
9755 FT_INT32, BASE_DEC, NULL, 0,
9756 "INTEGER_M32768_32767", HFILL }},
9757 { &hf_lpp_navaf0,
9758 { "navaf0", "lpp.navaf0",
9759 FT_INT32, BASE_DEC, NULL, 0,
9760 "INTEGER_M2097152_2097151", HFILL }},
9761 { &hf_lpp_navTgd,
9762 { "navTgd", "lpp.navTgd",
9763 FT_INT32, BASE_DEC, NULL, 0,
9764 "INTEGER_M128_127", HFILL }},
9765 { &hf_lpp_cnavToc,
9766 { "cnavToc", "lpp.cnavToc",
9767 FT_UINT32, BASE_DEC, NULL, 0,
9768 "INTEGER_0_2015", HFILL }},
9769 { &hf_lpp_cnavTop,
9770 { "cnavTop", "lpp.cnavTop",
9771 FT_UINT32, BASE_DEC, NULL, 0,
9772 "INTEGER_0_2015", HFILL }},
9773 { &hf_lpp_cnavURA0,
9774 { "cnavURA0", "lpp.cnavURA0",
9775 FT_INT32, BASE_DEC, NULL, 0,
9776 "INTEGER_M16_15", HFILL }},
9777 { &hf_lpp_cnavURA1,
9778 { "cnavURA1", "lpp.cnavURA1",
9779 FT_UINT32, BASE_DEC, NULL, 0,
9780 "INTEGER_0_7", HFILL }},
9781 { &hf_lpp_cnavURA2,
9782 { "cnavURA2", "lpp.cnavURA2",
9783 FT_UINT32, BASE_DEC, NULL, 0,
9784 "INTEGER_0_7", HFILL }},
9785 { &hf_lpp_cnavAf2,
9786 { "cnavAf2", "lpp.cnavAf2",
9787 FT_INT32, BASE_DEC, NULL, 0,
9788 "INTEGER_M512_511", HFILL }},
9789 { &hf_lpp_cnavAf1,
9790 { "cnavAf1", "lpp.cnavAf1",
9791 FT_INT32, BASE_DEC, NULL, 0,
9792 "INTEGER_M524288_524287", HFILL }},
9793 { &hf_lpp_cnavAf0,
9794 { "cnavAf0", "lpp.cnavAf0",
9795 FT_INT32, BASE_DEC, NULL, 0,
9796 "INTEGER_M33554432_33554431", HFILL }},
9797 { &hf_lpp_cnavTgd,
9798 { "cnavTgd", "lpp.cnavTgd",
9799 FT_INT32, BASE_DEC, NULL, 0,
9800 "INTEGER_M4096_4095", HFILL }},
9801 { &hf_lpp_cnavISCl1cp,
9802 { "cnavISCl1cp", "lpp.cnavISCl1cp",
9803 FT_INT32, BASE_DEC, NULL, 0,
9804 "INTEGER_M4096_4095", HFILL }},
9805 { &hf_lpp_cnavISCl1cd,
9806 { "cnavISCl1cd", "lpp.cnavISCl1cd",
9807 FT_INT32, BASE_DEC, NULL, 0,
9808 "INTEGER_M4096_4095", HFILL }},
9809 { &hf_lpp_cnavISCl1ca,
9810 { "cnavISCl1ca", "lpp.cnavISCl1ca",
9811 FT_INT32, BASE_DEC, NULL, 0,
9812 "INTEGER_M4096_4095", HFILL }},
9813 { &hf_lpp_cnavISCl2c,
9814 { "cnavISCl2c", "lpp.cnavISCl2c",
9815 FT_INT32, BASE_DEC, NULL, 0,
9816 "INTEGER_M4096_4095", HFILL }},
9817 { &hf_lpp_cnavISCl5i5,
9818 { "cnavISCl5i5", "lpp.cnavISCl5i5",
9819 FT_INT32, BASE_DEC, NULL, 0,
9820 "INTEGER_M4096_4095", HFILL }},
9821 { &hf_lpp_cnavISCl5q5,
9822 { "cnavISCl5q5", "lpp.cnavISCl5q5",
9823 FT_INT32, BASE_DEC, NULL, 0,
9824 "INTEGER_M4096_4095", HFILL }},
9825 { &hf_lpp_gloTau,
9826 { "gloTau", "lpp.gloTau",
9827 FT_INT32, BASE_DEC, NULL, 0,
9828 "INTEGER_M2097152_2097151", HFILL }},
9829 { &hf_lpp_gloGamma,
9830 { "gloGamma", "lpp.gloGamma",
9831 FT_INT32, BASE_DEC, NULL, 0,
9832 "INTEGER_M1024_1023", HFILL }},
9833 { &hf_lpp_gloDeltaTau,
9834 { "gloDeltaTau", "lpp.gloDeltaTau",
9835 FT_INT32, BASE_DEC, NULL, 0,
9836 "INTEGER_M16_15", HFILL }},
9837 { &hf_lpp_sbasTo,
9838 { "sbasTo", "lpp.sbasTo",
9839 FT_UINT32, BASE_DEC, NULL, 0,
9840 "INTEGER_0_5399", HFILL }},
9841 { &hf_lpp_sbasAgfo,
9842 { "sbasAgfo", "lpp.sbasAgfo",
9843 FT_INT32, BASE_DEC, NULL, 0,
9844 "INTEGER_M2048_2047", HFILL }},
9845 { &hf_lpp_sbasAgf1,
9846 { "sbasAgf1", "lpp.sbasAgf1",
9847 FT_INT32, BASE_DEC, NULL, 0,
9848 "INTEGER_M128_127", HFILL }},
9849 { &hf_lpp_keplerToe,
9850 { "keplerToe", "lpp.keplerToe",
9851 FT_UINT32, BASE_DEC, NULL, 0,
9852 "INTEGER_0_16383", HFILL }},
9853 { &hf_lpp_keplerW,
9854 { "keplerW", "lpp.keplerW",
9855 FT_INT32, BASE_DEC, NULL, 0,
9856 "INTEGER_M2147483648_2147483647", HFILL }},
9857 { &hf_lpp_keplerDeltaN,
9858 { "keplerDeltaN", "lpp.keplerDeltaN",
9859 FT_INT32, BASE_DEC, NULL, 0,
9860 "INTEGER_M32768_32767", HFILL }},
9861 { &hf_lpp_keplerM0,
9862 { "keplerM0", "lpp.keplerM0",
9863 FT_INT32, BASE_DEC, NULL, 0,
9864 "INTEGER_M2147483648_2147483647", HFILL }},
9865 { &hf_lpp_keplerOmegaDot,
9866 { "keplerOmegaDot", "lpp.keplerOmegaDot",
9867 FT_INT32, BASE_DEC, NULL, 0,
9868 "INTEGER_M8388608_8388607", HFILL }},
9869 { &hf_lpp_keplerE,
9870 { "keplerE", "lpp.keplerE",
9871 FT_UINT32, BASE_DEC, NULL, 0,
9872 "INTEGER_0_4294967295", HFILL }},
9873 { &hf_lpp_keplerIDot,
9874 { "keplerIDot", "lpp.keplerIDot",
9875 FT_INT32, BASE_DEC, NULL, 0,
9876 "INTEGER_M8192_8191", HFILL }},
9877 { &hf_lpp_keplerAPowerHalf,
9878 { "keplerAPowerHalf", "lpp.keplerAPowerHalf",
9879 FT_UINT32, BASE_DEC, NULL, 0,
9880 "INTEGER_0_4294967295", HFILL }},
9881 { &hf_lpp_keplerI0,
9882 { "keplerI0", "lpp.keplerI0",
9883 FT_INT32, BASE_DEC, NULL, 0,
9884 "INTEGER_M2147483648_2147483647", HFILL }},
9885 { &hf_lpp_keplerOmega0,
9886 { "keplerOmega0", "lpp.keplerOmega0",
9887 FT_INT32, BASE_DEC, NULL, 0,
9888 "INTEGER_M2147483648_2147483647", HFILL }},
9889 { &hf_lpp_keplerCrs,
9890 { "keplerCrs", "lpp.keplerCrs",
9891 FT_INT32, BASE_DEC, NULL, 0,
9892 "INTEGER_M32768_32767", HFILL }},
9893 { &hf_lpp_keplerCis,
9894 { "keplerCis", "lpp.keplerCis",
9895 FT_INT32, BASE_DEC, NULL, 0,
9896 "INTEGER_M32768_32767", HFILL }},
9897 { &hf_lpp_keplerCus,
9898 { "keplerCus", "lpp.keplerCus",
9899 FT_INT32, BASE_DEC, NULL, 0,
9900 "INTEGER_M32768_32767", HFILL }},
9901 { &hf_lpp_keplerCrc,
9902 { "keplerCrc", "lpp.keplerCrc",
9903 FT_INT32, BASE_DEC, NULL, 0,
9904 "INTEGER_M32768_32767", HFILL }},
9905 { &hf_lpp_keplerCic,
9906 { "keplerCic", "lpp.keplerCic",
9907 FT_INT32, BASE_DEC, NULL, 0,
9908 "INTEGER_M32768_32767", HFILL }},
9909 { &hf_lpp_keplerCuc,
9910 { "keplerCuc", "lpp.keplerCuc",
9911 FT_INT32, BASE_DEC, NULL, 0,
9912 "INTEGER_M32768_32767", HFILL }},
9913 { &hf_lpp_navURA,
9914 { "navURA", "lpp.navURA",
9915 FT_UINT32, BASE_DEC, NULL, 0,
9916 "INTEGER_0_15", HFILL }},
9917 { &hf_lpp_navFitFlag,
9918 { "navFitFlag", "lpp.navFitFlag",
9919 FT_UINT32, BASE_DEC, NULL, 0,
9920 "INTEGER_0_1", HFILL }},
9921 { &hf_lpp_navToe,
9922 { "navToe", "lpp.navToe",
9923 FT_UINT32, BASE_DEC, NULL, 0,
9924 "INTEGER_0_37799", HFILL }},
9925 { &hf_lpp_navOmega,
9926 { "navOmega", "lpp.navOmega",
9927 FT_INT32, BASE_DEC, NULL, 0,
9928 "INTEGER_M2147483648_2147483647", HFILL }},
9929 { &hf_lpp_navDeltaN,
9930 { "navDeltaN", "lpp.navDeltaN",
9931 FT_INT32, BASE_DEC, NULL, 0,
9932 "INTEGER_M32768_32767", HFILL }},
9933 { &hf_lpp_navM0,
9934 { "navM0", "lpp.navM0",
9935 FT_INT32, BASE_DEC, NULL, 0,
9936 "INTEGER_M2147483648_2147483647", HFILL }},
9937 { &hf_lpp_navOmegaADot,
9938 { "navOmegaADot", "lpp.navOmegaADot",
9939 FT_INT32, BASE_DEC, NULL, 0,
9940 "INTEGER_M8388608_8388607", HFILL }},
9941 { &hf_lpp_navE,
9942 { "navE", "lpp.navE",
9943 FT_UINT32, BASE_DEC, NULL, 0,
9944 "INTEGER_0_4294967295", HFILL }},
9945 { &hf_lpp_navIDot,
9946 { "navIDot", "lpp.navIDot",
9947 FT_INT32, BASE_DEC, NULL, 0,
9948 "INTEGER_M8192_8191", HFILL }},
9949 { &hf_lpp_navAPowerHalf,
9950 { "navAPowerHalf", "lpp.navAPowerHalf",
9951 FT_UINT32, BASE_DEC, NULL, 0,
9952 "INTEGER_0_4294967295", HFILL }},
9953 { &hf_lpp_navI0,
9954 { "navI0", "lpp.navI0",
9955 FT_INT32, BASE_DEC, NULL, 0,
9956 "INTEGER_M2147483648_2147483647", HFILL }},
9957 { &hf_lpp_navOmegaA0,
9958 { "navOmegaA0", "lpp.navOmegaA0",
9959 FT_INT32, BASE_DEC, NULL, 0,
9960 "INTEGER_M2147483648_2147483647", HFILL }},
9961 { &hf_lpp_navCrs,
9962 { "navCrs", "lpp.navCrs",
9963 FT_INT32, BASE_DEC, NULL, 0,
9964 "INTEGER_M32768_32767", HFILL }},
9965 { &hf_lpp_navCis,
9966 { "navCis", "lpp.navCis",
9967 FT_INT32, BASE_DEC, NULL, 0,
9968 "INTEGER_M32768_32767", HFILL }},
9969 { &hf_lpp_navCus,
9970 { "navCus", "lpp.navCus",
9971 FT_INT32, BASE_DEC, NULL, 0,
9972 "INTEGER_M32768_32767", HFILL }},
9973 { &hf_lpp_navCrc,
9974 { "navCrc", "lpp.navCrc",
9975 FT_INT32, BASE_DEC, NULL, 0,
9976 "INTEGER_M32768_32767", HFILL }},
9977 { &hf_lpp_navCic,
9978 { "navCic", "lpp.navCic",
9979 FT_INT32, BASE_DEC, NULL, 0,
9980 "INTEGER_M32768_32767", HFILL }},
9981 { &hf_lpp_navCuc,
9982 { "navCuc", "lpp.navCuc",
9983 FT_INT32, BASE_DEC, NULL, 0,
9984 "INTEGER_M32768_32767", HFILL }},
9985 { &hf_lpp_addNAVparam,
9986 { "addNAVparam", "lpp.addNAVparam_element",
9987 FT_NONE, BASE_NONE, NULL, 0,
9988 NULL, HFILL }},
9989 { &hf_lpp_ephemCodeOnL2,
9990 { "ephemCodeOnL2", "lpp.ephemCodeOnL2",
9991 FT_UINT32, BASE_DEC, NULL, 0,
9992 "INTEGER_0_3", HFILL }},
9993 { &hf_lpp_ephemL2Pflag,
9994 { "ephemL2Pflag", "lpp.ephemL2Pflag",
9995 FT_UINT32, BASE_DEC, NULL, 0,
9996 "INTEGER_0_1", HFILL }},
9997 { &hf_lpp_ephemSF1Rsvd,
9998 { "ephemSF1Rsvd", "lpp.ephemSF1Rsvd_element",
9999 FT_NONE, BASE_NONE, NULL, 0,
10000 NULL, HFILL }},
10001 { &hf_lpp_reserved1,
10002 { "reserved1", "lpp.reserved1",
10003 FT_UINT32, BASE_DEC, NULL, 0,
10004 "INTEGER_0_8388607", HFILL }},
10005 { &hf_lpp_reserved2,
10006 { "reserved2", "lpp.reserved2",
10007 FT_UINT32, BASE_DEC, NULL, 0,
10008 "INTEGER_0_16777215", HFILL }},
10009 { &hf_lpp_reserved3,
10010 { "reserved3", "lpp.reserved3",
10011 FT_UINT32, BASE_DEC, NULL, 0,
10012 "INTEGER_0_16777215", HFILL }},
10013 { &hf_lpp_reserved4,
10014 { "reserved4", "lpp.reserved4",
10015 FT_UINT32, BASE_DEC, NULL, 0,
10016 "INTEGER_0_65535", HFILL }},
10017 { &hf_lpp_ephemAODA,
10018 { "ephemAODA", "lpp.ephemAODA",
10019 FT_UINT32, BASE_DEC, NULL, 0,
10020 "INTEGER_0_31", HFILL }},
10021 { &hf_lpp_cnavURAindex,
10022 { "cnavURAindex", "lpp.cnavURAindex",
10023 FT_INT32, BASE_DEC, NULL, 0,
10024 "INTEGER_M16_15", HFILL }},
10025 { &hf_lpp_cnavDeltaA,
10026 { "cnavDeltaA", "lpp.cnavDeltaA",
10027 FT_INT32, BASE_DEC, NULL, 0,
10028 "INTEGER_M33554432_33554431", HFILL }},
10029 { &hf_lpp_cnavAdot,
10030 { "cnavAdot", "lpp.cnavAdot",
10031 FT_INT32, BASE_DEC, NULL, 0,
10032 "INTEGER_M16777216_16777215", HFILL }},
10033 { &hf_lpp_cnavDeltaNo,
10034 { "cnavDeltaNo", "lpp.cnavDeltaNo",
10035 FT_INT32, BASE_DEC, NULL, 0,
10036 "INTEGER_M65536_65535", HFILL }},
10037 { &hf_lpp_cnavDeltaNoDot,
10038 { "cnavDeltaNoDot", "lpp.cnavDeltaNoDot",
10039 FT_INT32, BASE_DEC, NULL, 0,
10040 "INTEGER_M4194304_4194303", HFILL }},
10041 { &hf_lpp_cnavMo,
10042 { "cnavMo", "lpp.cnavMo",
10043 FT_INT64, BASE_DEC, NULL, 0,
10044 NULL, HFILL }},
10045 { &hf_lpp_cnavE,
10046 { "cnavE", "lpp.cnavE",
10047 FT_UINT64, BASE_DEC, NULL, 0,
10048 NULL, HFILL }},
10049 { &hf_lpp_cnavOmega,
10050 { "cnavOmega", "lpp.cnavOmega",
10051 FT_INT64, BASE_DEC, NULL, 0,
10052 NULL, HFILL }},
10053 { &hf_lpp_cnavOMEGA0,
10054 { "cnavOMEGA0", "lpp.cnavOMEGA0",
10055 FT_INT64, BASE_DEC, NULL, 0,
10056 NULL, HFILL }},
10057 { &hf_lpp_cnavDeltaOmegaDot,
10058 { "cnavDeltaOmegaDot", "lpp.cnavDeltaOmegaDot",
10059 FT_INT32, BASE_DEC, NULL, 0,
10060 "INTEGER_M65536_65535", HFILL }},
10061 { &hf_lpp_cnavIo,
10062 { "cnavIo", "lpp.cnavIo",
10063 FT_INT64, BASE_DEC, NULL, 0,
10064 NULL, HFILL }},
10065 { &hf_lpp_cnavIoDot,
10066 { "cnavIoDot", "lpp.cnavIoDot",
10067 FT_INT32, BASE_DEC, NULL, 0,
10068 "INTEGER_M16384_16383", HFILL }},
10069 { &hf_lpp_cnavCis,
10070 { "cnavCis", "lpp.cnavCis",
10071 FT_INT32, BASE_DEC, NULL, 0,
10072 "INTEGER_M32768_32767", HFILL }},
10073 { &hf_lpp_cnavCic,
10074 { "cnavCic", "lpp.cnavCic",
10075 FT_INT32, BASE_DEC, NULL, 0,
10076 "INTEGER_M32768_32767", HFILL }},
10077 { &hf_lpp_cnavCrs,
10078 { "cnavCrs", "lpp.cnavCrs",
10079 FT_INT32, BASE_DEC, NULL, 0,
10080 "INTEGER_M8388608_8388607", HFILL }},
10081 { &hf_lpp_cnavCrc,
10082 { "cnavCrc", "lpp.cnavCrc",
10083 FT_INT32, BASE_DEC, NULL, 0,
10084 "INTEGER_M8388608_8388607", HFILL }},
10085 { &hf_lpp_cnavCus,
10086 { "cnavCus", "lpp.cnavCus",
10087 FT_INT32, BASE_DEC, NULL, 0,
10088 "INTEGER_M1048576_1048575", HFILL }},
10089 { &hf_lpp_cnavCuc,
10090 { "cnavCuc", "lpp.cnavCuc",
10091 FT_INT32, BASE_DEC, NULL, 0,
10092 "INTEGER_M1048576_1048575", HFILL }},
10093 { &hf_lpp_gloEn,
10094 { "gloEn", "lpp.gloEn",
10095 FT_UINT32, BASE_DEC, NULL, 0,
10096 "INTEGER_0_31", HFILL }},
10097 { &hf_lpp_gloP1,
10098 { "gloP1", "lpp.gloP1",
10099 FT_BYTES, BASE_NONE, NULL, 0,
10100 "BIT_STRING_SIZE_2", HFILL }},
10101 { &hf_lpp_gloP2,
10102 { "gloP2", "lpp.gloP2",
10103 FT_BOOLEAN, BASE_NONE, NULL, 0,
10104 "BOOLEAN", HFILL }},
10105 { &hf_lpp_gloM,
10106 { "gloM", "lpp.gloM",
10107 FT_UINT32, BASE_DEC, NULL, 0,
10108 "INTEGER_0_3", HFILL }},
10109 { &hf_lpp_gloX,
10110 { "gloX", "lpp.gloX",
10111 FT_INT32, BASE_DEC, NULL, 0,
10112 "INTEGER_M67108864_67108863", HFILL }},
10113 { &hf_lpp_gloXdot,
10114 { "gloXdot", "lpp.gloXdot",
10115 FT_INT32, BASE_DEC, NULL, 0,
10116 "INTEGER_M8388608_8388607", HFILL }},
10117 { &hf_lpp_gloXdotdot,
10118 { "gloXdotdot", "lpp.gloXdotdot",
10119 FT_INT32, BASE_DEC, NULL, 0,
10120 "INTEGER_M16_15", HFILL }},
10121 { &hf_lpp_gloY,
10122 { "gloY", "lpp.gloY",
10123 FT_INT32, BASE_DEC, NULL, 0,
10124 "INTEGER_M67108864_67108863", HFILL }},
10125 { &hf_lpp_gloYdot,
10126 { "gloYdot", "lpp.gloYdot",
10127 FT_INT32, BASE_DEC, NULL, 0,
10128 "INTEGER_M8388608_8388607", HFILL }},
10129 { &hf_lpp_gloYdotdot,
10130 { "gloYdotdot", "lpp.gloYdotdot",
10131 FT_INT32, BASE_DEC, NULL, 0,
10132 "INTEGER_M16_15", HFILL }},
10133 { &hf_lpp_gloZ,
10134 { "gloZ", "lpp.gloZ",
10135 FT_INT32, BASE_DEC, NULL, 0,
10136 "INTEGER_M67108864_67108863", HFILL }},
10137 { &hf_lpp_gloZdot,
10138 { "gloZdot", "lpp.gloZdot",
10139 FT_INT32, BASE_DEC, NULL, 0,
10140 "INTEGER_M8388608_8388607", HFILL }},
10141 { &hf_lpp_gloZdotdot,
10142 { "gloZdotdot", "lpp.gloZdotdot",
10143 FT_INT32, BASE_DEC, NULL, 0,
10144 "INTEGER_M16_15", HFILL }},
10145 { &hf_lpp_sbasAccuracy,
10146 { "sbasAccuracy", "lpp.sbasAccuracy",
10147 FT_BYTES, BASE_NONE, NULL, 0,
10148 "BIT_STRING_SIZE_4", HFILL }},
10149 { &hf_lpp_sbasXg,
10150 { "sbasXg", "lpp.sbasXg",
10151 FT_INT32, BASE_DEC, NULL, 0,
10152 "INTEGER_M536870912_536870911", HFILL }},
10153 { &hf_lpp_sbasYg,
10154 { "sbasYg", "lpp.sbasYg",
10155 FT_INT32, BASE_DEC, NULL, 0,
10156 "INTEGER_M536870912_536870911", HFILL }},
10157 { &hf_lpp_sbasZg,
10158 { "sbasZg", "lpp.sbasZg",
10159 FT_INT32, BASE_DEC, NULL, 0,
10160 "INTEGER_M16777216_16777215", HFILL }},
10161 { &hf_lpp_sbasXgDot,
10162 { "sbasXgDot", "lpp.sbasXgDot",
10163 FT_INT32, BASE_DEC, NULL, 0,
10164 "INTEGER_M65536_65535", HFILL }},
10165 { &hf_lpp_sbasYgDot,
10166 { "sbasYgDot", "lpp.sbasYgDot",
10167 FT_INT32, BASE_DEC, NULL, 0,
10168 "INTEGER_M65536_65535", HFILL }},
10169 { &hf_lpp_sbasZgDot,
10170 { "sbasZgDot", "lpp.sbasZgDot",
10171 FT_INT32, BASE_DEC, NULL, 0,
10172 "INTEGER_M131072_131071", HFILL }},
10173 { &hf_lpp_sbasXgDotDot,
10174 { "sbasXgDotDot", "lpp.sbasXgDotDot",
10175 FT_INT32, BASE_DEC, NULL, 0,
10176 "INTEGER_M512_511", HFILL }},
10177 { &hf_lpp_sbagYgDotDot,
10178 { "sbagYgDotDot", "lpp.sbagYgDotDot",
10179 FT_INT32, BASE_DEC, NULL, 0,
10180 "INTEGER_M512_511", HFILL }},
10181 { &hf_lpp_sbasZgDotDot,
10182 { "sbasZgDotDot", "lpp.sbasZgDotDot",
10183 FT_INT32, BASE_DEC, NULL, 0,
10184 "INTEGER_M512_511", HFILL }},
10185 { &hf_lpp_gnss_BadSignalList,
10186 { "gnss-BadSignalList", "lpp.gnss_BadSignalList",
10187 FT_UINT32, BASE_DEC, NULL, 0,
10188 NULL, HFILL }},
10189 { &hf_lpp_GNSS_BadSignalList_item,
10190 { "BadSignalElement", "lpp.BadSignalElement_element",
10191 FT_NONE, BASE_NONE, NULL, 0,
10192 NULL, HFILL }},
10193 { &hf_lpp_badSVID,
10194 { "badSVID", "lpp.badSVID_element",
10195 FT_NONE, BASE_NONE, NULL, 0,
10196 "SV_ID", HFILL }},
10197 { &hf_lpp_badSignalID,
10198 { "badSignalID", "lpp.badSignalID_element",
10199 FT_NONE, BASE_NONE, NULL, 0,
10200 "GNSS_SignalIDs", HFILL }},
10201 { &hf_lpp_gnss_TOD,
10202 { "gnss-TOD", "lpp.gnss_TOD",
10203 FT_UINT32, BASE_DEC, NULL, 0,
10204 "INTEGER_0_3599", HFILL }},
10205 { &hf_lpp_gnss_TODfrac,
10206 { "gnss-TODfrac", "lpp.gnss_TODfrac",
10207 FT_UINT32, BASE_DEC, NULL, 0,
10208 "INTEGER_0_999", HFILL }},
10209 { &hf_lpp_gnss_DataBitsSatList,
10210 { "gnss-DataBitsSatList", "lpp.gnss_DataBitsSatList",
10211 FT_UINT32, BASE_DEC, NULL, 0,
10212 NULL, HFILL }},
10213 { &hf_lpp_GNSS_DataBitsSatList_item,
10214 { "GNSS-DataBitsSatElement", "lpp.GNSS_DataBitsSatElement_element",
10215 FT_NONE, BASE_NONE, NULL, 0,
10216 NULL, HFILL }},
10217 { &hf_lpp_gnss_DataBitsSgnList,
10218 { "gnss-DataBitsSgnList", "lpp.gnss_DataBitsSgnList",
10219 FT_UINT32, BASE_DEC, NULL, 0,
10220 NULL, HFILL }},
10221 { &hf_lpp_GNSS_DataBitsSgnList_item,
10222 { "GNSS-DataBitsSgnElement", "lpp.GNSS_DataBitsSgnElement_element",
10223 FT_NONE, BASE_NONE, NULL, 0,
10224 NULL, HFILL }},
10225 { &hf_lpp_gnss_SignalType,
10226 { "gnss-SignalType", "lpp.gnss_SignalType_element",
10227 FT_NONE, BASE_NONE, NULL, 0,
10228 "GNSS_SignalID", HFILL }},
10229 { &hf_lpp_gnss_DataBits,
10230 { "gnss-DataBits", "lpp.gnss_DataBits",
10231 FT_BYTES, BASE_NONE, NULL, 0,
10232 "BIT_STRING_SIZE_1_1024", HFILL }},
10233 { &hf_lpp_gnss_AcquisitionAssistList,
10234 { "gnss-AcquisitionAssistList", "lpp.gnss_AcquisitionAssistList",
10235 FT_UINT32, BASE_DEC, NULL, 0,
10236 NULL, HFILL }},
10237 { &hf_lpp_confidence_r10,
10238 { "confidence-r10", "lpp.confidence_r10",
10239 FT_UINT32, BASE_DEC, NULL, 0,
10240 "INTEGER_0_100", HFILL }},
10241 { &hf_lpp_GNSS_AcquisitionAssistList_item,
10242 { "GNSS-AcquisitionAssistElement", "lpp.GNSS_AcquisitionAssistElement_element",
10243 FT_NONE, BASE_NONE, NULL, 0,
10244 NULL, HFILL }},
10245 { &hf_lpp_doppler0,
10246 { "doppler0", "lpp.doppler0",
10247 FT_INT32, BASE_DEC, NULL, 0,
10248 "INTEGER_M2048_2047", HFILL }},
10249 { &hf_lpp_doppler1,
10250 { "doppler1", "lpp.doppler1",
10251 FT_UINT32, BASE_DEC, NULL, 0,
10252 "INTEGER_0_63", HFILL }},
10253 { &hf_lpp_dopplerUncertainty,
10254 { "dopplerUncertainty", "lpp.dopplerUncertainty",
10255 FT_UINT32, BASE_DEC, NULL, 0,
10256 "INTEGER_0_4", HFILL }},
10257 { &hf_lpp_codePhase,
10258 { "codePhase", "lpp.codePhase",
10259 FT_UINT32, BASE_DEC, NULL, 0,
10260 "INTEGER_0_1022", HFILL }},
10261 { &hf_lpp_intCodePhase,
10262 { "intCodePhase", "lpp.intCodePhase",
10263 FT_UINT32, BASE_DEC, NULL, 0,
10264 "INTEGER_0_127", HFILL }},
10265 { &hf_lpp_codePhaseSearchWindow,
10266 { "codePhaseSearchWindow", "lpp.codePhaseSearchWindow",
10267 FT_UINT32, BASE_DEC, NULL, 0,
10268 "INTEGER_0_31", HFILL }},
10269 { &hf_lpp_azimuth,
10270 { "azimuth", "lpp.azimuth",
10271 FT_UINT32, BASE_DEC, NULL, 0,
10272 "INTEGER_0_511", HFILL }},
10273 { &hf_lpp_elevation,
10274 { "elevation", "lpp.elevation",
10275 FT_UINT32, BASE_DEC, NULL, 0,
10276 "INTEGER_0_127", HFILL }},
10277 { &hf_lpp_codePhase1023,
10278 { "codePhase1023", "lpp.codePhase1023",
10279 FT_BOOLEAN, BASE_NONE, NULL, 0,
10280 "BOOLEAN", HFILL }},
10281 { &hf_lpp_dopplerUncertaintyExt_r10,
10282 { "dopplerUncertaintyExt-r10", "lpp.dopplerUncertaintyExt_r10",
10283 FT_UINT32, BASE_DEC, VALS(lpp_T_dopplerUncertaintyExt_r10_vals), 0,
10284 "T_dopplerUncertaintyExt_r10", HFILL }},
10285 { &hf_lpp_weekNumber_01,
10286 { "weekNumber", "lpp.weekNumber",
10287 FT_UINT32, BASE_DEC, NULL, 0,
10288 "INTEGER_0_255", HFILL }},
10289 { &hf_lpp_toa,
10290 { "toa", "lpp.toa",
10291 FT_UINT32, BASE_DEC, NULL, 0,
10292 "INTEGER_0_255", HFILL }},
10293 { &hf_lpp_ioda,
10294 { "ioda", "lpp.ioda",
10295 FT_UINT32, BASE_DEC, NULL, 0,
10296 "INTEGER_0_3", HFILL }},
10297 { &hf_lpp_completeAlmanacProvided,
10298 { "completeAlmanacProvided", "lpp.completeAlmanacProvided",
10299 FT_BOOLEAN, BASE_NONE, NULL, 0,
10300 "BOOLEAN", HFILL }},
10301 { &hf_lpp_gnss_AlmanacList,
10302 { "gnss-AlmanacList", "lpp.gnss_AlmanacList",
10303 FT_UINT32, BASE_DEC, NULL, 0,
10304 NULL, HFILL }},
10305 { &hf_lpp_GNSS_AlmanacList_item,
10306 { "GNSS-AlmanacElement", "lpp.GNSS_AlmanacElement",
10307 FT_UINT32, BASE_DEC, VALS(lpp_GNSS_AlmanacElement_vals), 0,
10308 NULL, HFILL }},
10309 { &hf_lpp_keplerianAlmanacSet,
10310 { "keplerianAlmanacSet", "lpp.keplerianAlmanacSet_element",
10311 FT_NONE, BASE_NONE, NULL, 0,
10312 "AlmanacKeplerianSet", HFILL }},
10313 { &hf_lpp_keplerianNAV_Almanac,
10314 { "keplerianNAV-Almanac", "lpp.keplerianNAV_Almanac_element",
10315 FT_NONE, BASE_NONE, NULL, 0,
10316 "AlmanacNAV_KeplerianSet", HFILL }},
10317 { &hf_lpp_keplerianReducedAlmanac,
10318 { "keplerianReducedAlmanac", "lpp.keplerianReducedAlmanac_element",
10319 FT_NONE, BASE_NONE, NULL, 0,
10320 "AlmanacReducedKeplerianSet", HFILL }},
10321 { &hf_lpp_keplerianMidiAlmanac,
10322 { "keplerianMidiAlmanac", "lpp.keplerianMidiAlmanac_element",
10323 FT_NONE, BASE_NONE, NULL, 0,
10324 "AlmanacMidiAlmanacSet", HFILL }},
10325 { &hf_lpp_keplerianGLONASS,
10326 { "keplerianGLONASS", "lpp.keplerianGLONASS_element",
10327 FT_NONE, BASE_NONE, NULL, 0,
10328 "AlmanacGLONASS_AlmanacSet", HFILL }},
10329 { &hf_lpp_ecef_SBAS_Almanac,
10330 { "ecef-SBAS-Almanac", "lpp.ecef_SBAS_Almanac_element",
10331 FT_NONE, BASE_NONE, NULL, 0,
10332 "AlmanacECEF_SBAS_AlmanacSet", HFILL }},
10333 { &hf_lpp_kepAlmanacE,
10334 { "kepAlmanacE", "lpp.kepAlmanacE",
10335 FT_UINT32, BASE_DEC, NULL, 0,
10336 "INTEGER_0_2047", HFILL }},
10337 { &hf_lpp_kepAlmanacDeltaI,
10338 { "kepAlmanacDeltaI", "lpp.kepAlmanacDeltaI",
10339 FT_INT32, BASE_DEC, NULL, 0,
10340 "INTEGER_M1024_1023", HFILL }},
10341 { &hf_lpp_kepAlmanacOmegaDot,
10342 { "kepAlmanacOmegaDot", "lpp.kepAlmanacOmegaDot",
10343 FT_INT32, BASE_DEC, NULL, 0,
10344 "INTEGER_M1024_1023", HFILL }},
10345 { &hf_lpp_kepSVHealth,
10346 { "kepSVHealth", "lpp.kepSVHealth",
10347 FT_UINT32, BASE_DEC, NULL, 0,
10348 "INTEGER_0_15", HFILL }},
10349 { &hf_lpp_kepAlmanacAPowerHalf,
10350 { "kepAlmanacAPowerHalf", "lpp.kepAlmanacAPowerHalf",
10351 FT_INT32, BASE_DEC, NULL, 0,
10352 "INTEGER_M65536_65535", HFILL }},
10353 { &hf_lpp_kepAlmanacOmega0,
10354 { "kepAlmanacOmega0", "lpp.kepAlmanacOmega0",
10355 FT_INT32, BASE_DEC, NULL, 0,
10356 "INTEGER_M32768_32767", HFILL }},
10357 { &hf_lpp_kepAlmanacW,
10358 { "kepAlmanacW", "lpp.kepAlmanacW",
10359 FT_INT32, BASE_DEC, NULL, 0,
10360 "INTEGER_M32768_32767", HFILL }},
10361 { &hf_lpp_kepAlmanacM0,
10362 { "kepAlmanacM0", "lpp.kepAlmanacM0",
10363 FT_INT32, BASE_DEC, NULL, 0,
10364 "INTEGER_M32768_32767", HFILL }},
10365 { &hf_lpp_kepAlmanacAF0,
10366 { "kepAlmanacAF0", "lpp.kepAlmanacAF0",
10367 FT_INT32, BASE_DEC, NULL, 0,
10368 "INTEGER_M8192_8191", HFILL }},
10369 { &hf_lpp_kepAlmanacAF1,
10370 { "kepAlmanacAF1", "lpp.kepAlmanacAF1",
10371 FT_INT32, BASE_DEC, NULL, 0,
10372 "INTEGER_M1024_1023", HFILL }},
10373 { &hf_lpp_navAlmE,
10374 { "navAlmE", "lpp.navAlmE",
10375 FT_UINT32, BASE_DEC, NULL, 0,
10376 "INTEGER_0_65535", HFILL }},
10377 { &hf_lpp_navAlmDeltaI,
10378 { "navAlmDeltaI", "lpp.navAlmDeltaI",
10379 FT_INT32, BASE_DEC, NULL, 0,
10380 "INTEGER_M32768_32767", HFILL }},
10381 { &hf_lpp_navAlmOMEGADOT,
10382 { "navAlmOMEGADOT", "lpp.navAlmOMEGADOT",
10383 FT_INT32, BASE_DEC, NULL, 0,
10384 "INTEGER_M32768_32767", HFILL }},
10385 { &hf_lpp_navAlmSVHealth,
10386 { "navAlmSVHealth", "lpp.navAlmSVHealth",
10387 FT_UINT32, BASE_DEC, NULL, 0,
10388 "INTEGER_0_255", HFILL }},
10389 { &hf_lpp_navAlmSqrtA,
10390 { "navAlmSqrtA", "lpp.navAlmSqrtA",
10391 FT_UINT32, BASE_DEC, NULL, 0,
10392 "INTEGER_0_16777215", HFILL }},
10393 { &hf_lpp_navAlmOMEGAo,
10394 { "navAlmOMEGAo", "lpp.navAlmOMEGAo",
10395 FT_INT32, BASE_DEC, NULL, 0,
10396 "INTEGER_M8388608_8388607", HFILL }},
10397 { &hf_lpp_navAlmOmega,
10398 { "navAlmOmega", "lpp.navAlmOmega",
10399 FT_INT32, BASE_DEC, NULL, 0,
10400 "INTEGER_M8388608_8388607", HFILL }},
10401 { &hf_lpp_navAlmMo,
10402 { "navAlmMo", "lpp.navAlmMo",
10403 FT_INT32, BASE_DEC, NULL, 0,
10404 "INTEGER_M8388608_8388607", HFILL }},
10405 { &hf_lpp_navAlmaf0,
10406 { "navAlmaf0", "lpp.navAlmaf0",
10407 FT_INT32, BASE_DEC, NULL, 0,
10408 "INTEGER_M1024_1023", HFILL }},
10409 { &hf_lpp_navAlmaf1,
10410 { "navAlmaf1", "lpp.navAlmaf1",
10411 FT_INT32, BASE_DEC, NULL, 0,
10412 "INTEGER_M1024_1023", HFILL }},
10413 { &hf_lpp_redAlmDeltaA,
10414 { "redAlmDeltaA", "lpp.redAlmDeltaA",
10415 FT_INT32, BASE_DEC, NULL, 0,
10416 "INTEGER_M128_127", HFILL }},
10417 { &hf_lpp_redAlmOmega0,
10418 { "redAlmOmega0", "lpp.redAlmOmega0",
10419 FT_INT32, BASE_DEC, NULL, 0,
10420 "INTEGER_M64_63", HFILL }},
10421 { &hf_lpp_redAlmPhi0,
10422 { "redAlmPhi0", "lpp.redAlmPhi0",
10423 FT_INT32, BASE_DEC, NULL, 0,
10424 "INTEGER_M64_63", HFILL }},
10425 { &hf_lpp_redAlmL1Health,
10426 { "redAlmL1Health", "lpp.redAlmL1Health",
10427 FT_BOOLEAN, BASE_NONE, NULL, 0,
10428 "BOOLEAN", HFILL }},
10429 { &hf_lpp_redAlmL2Health,
10430 { "redAlmL2Health", "lpp.redAlmL2Health",
10431 FT_BOOLEAN, BASE_NONE, NULL, 0,
10432 "BOOLEAN", HFILL }},
10433 { &hf_lpp_redAlmL5Health,
10434 { "redAlmL5Health", "lpp.redAlmL5Health",
10435 FT_BOOLEAN, BASE_NONE, NULL, 0,
10436 "BOOLEAN", HFILL }},
10437 { &hf_lpp_midiAlmE,
10438 { "midiAlmE", "lpp.midiAlmE",
10439 FT_UINT32, BASE_DEC, NULL, 0,
10440 "INTEGER_0_2047", HFILL }},
10441 { &hf_lpp_midiAlmDeltaI,
10442 { "midiAlmDeltaI", "lpp.midiAlmDeltaI",
10443 FT_INT32, BASE_DEC, NULL, 0,
10444 "INTEGER_M1024_1023", HFILL }},
10445 { &hf_lpp_midiAlmOmegaDot,
10446 { "midiAlmOmegaDot", "lpp.midiAlmOmegaDot",
10447 FT_INT32, BASE_DEC, NULL, 0,
10448 "INTEGER_M1024_1023", HFILL }},
10449 { &hf_lpp_midiAlmSqrtA,
10450 { "midiAlmSqrtA", "lpp.midiAlmSqrtA",
10451 FT_UINT32, BASE_DEC, NULL, 0,
10452 "INTEGER_0_131071", HFILL }},
10453 { &hf_lpp_midiAlmOmega0,
10454 { "midiAlmOmega0", "lpp.midiAlmOmega0",
10455 FT_INT32, BASE_DEC, NULL, 0,
10456 "INTEGER_M32768_32767", HFILL }},
10457 { &hf_lpp_midiAlmOmega,
10458 { "midiAlmOmega", "lpp.midiAlmOmega",
10459 FT_INT32, BASE_DEC, NULL, 0,
10460 "INTEGER_M32768_32767", HFILL }},
10461 { &hf_lpp_midiAlmMo,
10462 { "midiAlmMo", "lpp.midiAlmMo",
10463 FT_INT32, BASE_DEC, NULL, 0,
10464 "INTEGER_M32768_32767", HFILL }},
10465 { &hf_lpp_midiAlmaf0,
10466 { "midiAlmaf0", "lpp.midiAlmaf0",
10467 FT_INT32, BASE_DEC, NULL, 0,
10468 "INTEGER_M1024_1023", HFILL }},
10469 { &hf_lpp_midiAlmaf1,
10470 { "midiAlmaf1", "lpp.midiAlmaf1",
10471 FT_INT32, BASE_DEC, NULL, 0,
10472 "INTEGER_M512_511", HFILL }},
10473 { &hf_lpp_midiAlmL1Health,
10474 { "midiAlmL1Health", "lpp.midiAlmL1Health",
10475 FT_BOOLEAN, BASE_NONE, NULL, 0,
10476 "BOOLEAN", HFILL }},
10477 { &hf_lpp_midiAlmL2Health,
10478 { "midiAlmL2Health", "lpp.midiAlmL2Health",
10479 FT_BOOLEAN, BASE_NONE, NULL, 0,
10480 "BOOLEAN", HFILL }},
10481 { &hf_lpp_midiAlmL5Health,
10482 { "midiAlmL5Health", "lpp.midiAlmL5Health",
10483 FT_BOOLEAN, BASE_NONE, NULL, 0,
10484 "BOOLEAN", HFILL }},
10485 { &hf_lpp_gloAlm_NA,
10486 { "gloAlm-NA", "lpp.gloAlm_NA",
10487 FT_UINT32, BASE_DEC, NULL, 0,
10488 "INTEGER_1_1461", HFILL }},
10489 { &hf_lpp_gloAlmnA,
10490 { "gloAlmnA", "lpp.gloAlmnA",
10491 FT_UINT32, BASE_DEC, NULL, 0,
10492 "INTEGER_1_24", HFILL }},
10493 { &hf_lpp_gloAlmHA,
10494 { "gloAlmHA", "lpp.gloAlmHA",
10495 FT_UINT32, BASE_DEC, NULL, 0,
10496 "INTEGER_0_31", HFILL }},
10497 { &hf_lpp_gloAlmLambdaA,
10498 { "gloAlmLambdaA", "lpp.gloAlmLambdaA",
10499 FT_INT32, BASE_DEC, NULL, 0,
10500 "INTEGER_M1048576_1048575", HFILL }},
10501 { &hf_lpp_gloAlmtlambdaA,
10502 { "gloAlmtlambdaA", "lpp.gloAlmtlambdaA",
10503 FT_UINT32, BASE_DEC, NULL, 0,
10504 "INTEGER_0_2097151", HFILL }},
10505 { &hf_lpp_gloAlmDeltaIa,
10506 { "gloAlmDeltaIa", "lpp.gloAlmDeltaIa",
10507 FT_INT32, BASE_DEC, NULL, 0,
10508 "INTEGER_M131072_131071", HFILL }},
10509 { &hf_lpp_gloAlmDeltaTA,
10510 { "gloAlmDeltaTA", "lpp.gloAlmDeltaTA",
10511 FT_INT32, BASE_DEC, NULL, 0,
10512 "INTEGER_M2097152_2097151", HFILL }},
10513 { &hf_lpp_gloAlmDeltaTdotA,
10514 { "gloAlmDeltaTdotA", "lpp.gloAlmDeltaTdotA",
10515 FT_INT32, BASE_DEC, NULL, 0,
10516 "INTEGER_M64_63", HFILL }},
10517 { &hf_lpp_gloAlmEpsilonA,
10518 { "gloAlmEpsilonA", "lpp.gloAlmEpsilonA",
10519 FT_UINT32, BASE_DEC, NULL, 0,
10520 "INTEGER_0_32767", HFILL }},
10521 { &hf_lpp_gloAlmOmegaA,
10522 { "gloAlmOmegaA", "lpp.gloAlmOmegaA",
10523 FT_INT32, BASE_DEC, NULL, 0,
10524 "INTEGER_M32768_32767", HFILL }},
10525 { &hf_lpp_gloAlmTauA,
10526 { "gloAlmTauA", "lpp.gloAlmTauA",
10527 FT_INT32, BASE_DEC, NULL, 0,
10528 "INTEGER_M512_511", HFILL }},
10529 { &hf_lpp_gloAlmCA,
10530 { "gloAlmCA", "lpp.gloAlmCA",
10531 FT_UINT32, BASE_DEC, NULL, 0,
10532 "INTEGER_0_1", HFILL }},
10533 { &hf_lpp_gloAlmMA,
10534 { "gloAlmMA", "lpp.gloAlmMA",
10535 FT_BYTES, BASE_NONE, NULL, 0,
10536 "BIT_STRING_SIZE_2", HFILL }},
10537 { &hf_lpp_sbasAlmDataID,
10538 { "sbasAlmDataID", "lpp.sbasAlmDataID",
10539 FT_UINT32, BASE_DEC, NULL, 0,
10540 "INTEGER_0_3", HFILL }},
10541 { &hf_lpp_sbasAlmHealth,
10542 { "sbasAlmHealth", "lpp.sbasAlmHealth",
10543 FT_BYTES, BASE_NONE, NULL, 0,
10544 "BIT_STRING_SIZE_8", HFILL }},
10545 { &hf_lpp_sbasAlmXg,
10546 { "sbasAlmXg", "lpp.sbasAlmXg",
10547 FT_INT32, BASE_DEC, NULL, 0,
10548 "INTEGER_M16384_16383", HFILL }},
10549 { &hf_lpp_sbasAlmYg,
10550 { "sbasAlmYg", "lpp.sbasAlmYg",
10551 FT_INT32, BASE_DEC, NULL, 0,
10552 "INTEGER_M16384_16383", HFILL }},
10553 { &hf_lpp_sbasAlmZg,
10554 { "sbasAlmZg", "lpp.sbasAlmZg",
10555 FT_INT32, BASE_DEC, NULL, 0,
10556 "INTEGER_M256_255", HFILL }},
10557 { &hf_lpp_sbasAlmXgdot,
10558 { "sbasAlmXgdot", "lpp.sbasAlmXgdot",
10559 FT_INT32, BASE_DEC, NULL, 0,
10560 "INTEGER_M4_3", HFILL }},
10561 { &hf_lpp_sbasAlmYgDot,
10562 { "sbasAlmYgDot", "lpp.sbasAlmYgDot",
10563 FT_INT32, BASE_DEC, NULL, 0,
10564 "INTEGER_M4_3", HFILL }},
10565 { &hf_lpp_sbasAlmZgDot,
10566 { "sbasAlmZgDot", "lpp.sbasAlmZgDot",
10567 FT_INT32, BASE_DEC, NULL, 0,
10568 "INTEGER_M8_7", HFILL }},
10569 { &hf_lpp_sbasAlmTo,
10570 { "sbasAlmTo", "lpp.sbasAlmTo",
10571 FT_UINT32, BASE_DEC, NULL, 0,
10572 "INTEGER_0_2047", HFILL }},
10573 { &hf_lpp_utcModel1,
10574 { "utcModel1", "lpp.utcModel1_element",
10575 FT_NONE, BASE_NONE, NULL, 0,
10576 "UTC_ModelSet1", HFILL }},
10577 { &hf_lpp_utcModel2,
10578 { "utcModel2", "lpp.utcModel2_element",
10579 FT_NONE, BASE_NONE, NULL, 0,
10580 "UTC_ModelSet2", HFILL }},
10581 { &hf_lpp_utcModel3,
10582 { "utcModel3", "lpp.utcModel3_element",
10583 FT_NONE, BASE_NONE, NULL, 0,
10584 "UTC_ModelSet3", HFILL }},
10585 { &hf_lpp_utcModel4,
10586 { "utcModel4", "lpp.utcModel4_element",
10587 FT_NONE, BASE_NONE, NULL, 0,
10588 "UTC_ModelSet4", HFILL }},
10589 { &hf_lpp_gnss_Utc_A1,
10590 { "gnss-Utc-A1", "lpp.gnss_Utc_A1",
10591 FT_INT32, BASE_DEC, NULL, 0,
10592 "INTEGER_M8388608_8388607", HFILL }},
10593 { &hf_lpp_gnss_Utc_A0,
10594 { "gnss-Utc-A0", "lpp.gnss_Utc_A0",
10595 FT_INT32, BASE_DEC, NULL, 0,
10596 "INTEGER_M2147483648_2147483647", HFILL }},
10597 { &hf_lpp_gnss_Utc_Tot,
10598 { "gnss-Utc-Tot", "lpp.gnss_Utc_Tot",
10599 FT_UINT32, BASE_DEC, NULL, 0,
10600 "INTEGER_0_255", HFILL }},
10601 { &hf_lpp_gnss_Utc_WNt,
10602 { "gnss-Utc-WNt", "lpp.gnss_Utc_WNt",
10603 FT_UINT32, BASE_DEC, NULL, 0,
10604 "INTEGER_0_255", HFILL }},
10605 { &hf_lpp_gnss_Utc_DeltaTls,
10606 { "gnss-Utc-DeltaTls", "lpp.gnss_Utc_DeltaTls",
10607 FT_INT32, BASE_DEC, NULL, 0,
10608 "INTEGER_M128_127", HFILL }},
10609 { &hf_lpp_gnss_Utc_WNlsf,
10610 { "gnss-Utc-WNlsf", "lpp.gnss_Utc_WNlsf",
10611 FT_UINT32, BASE_DEC, NULL, 0,
10612 "INTEGER_0_255", HFILL }},
10613 { &hf_lpp_gnss_Utc_DN,
10614 { "gnss-Utc-DN", "lpp.gnss_Utc_DN",
10615 FT_INT32, BASE_DEC, NULL, 0,
10616 "INTEGER_M128_127", HFILL }},
10617 { &hf_lpp_gnss_Utc_DeltaTlsf,
10618 { "gnss-Utc-DeltaTlsf", "lpp.gnss_Utc_DeltaTlsf",
10619 FT_INT32, BASE_DEC, NULL, 0,
10620 "INTEGER_M128_127", HFILL }},
10621 { &hf_lpp_utcA0,
10622 { "utcA0", "lpp.utcA0",
10623 FT_INT32, BASE_DEC, NULL, 0,
10624 "INTEGER_M32768_32767", HFILL }},
10625 { &hf_lpp_utcA1,
10626 { "utcA1", "lpp.utcA1",
10627 FT_INT32, BASE_DEC, NULL, 0,
10628 "INTEGER_M4096_4095", HFILL }},
10629 { &hf_lpp_utcA2,
10630 { "utcA2", "lpp.utcA2",
10631 FT_INT32, BASE_DEC, NULL, 0,
10632 "INTEGER_M64_63", HFILL }},
10633 { &hf_lpp_utcDeltaTls,
10634 { "utcDeltaTls", "lpp.utcDeltaTls",
10635 FT_INT32, BASE_DEC, NULL, 0,
10636 "INTEGER_M128_127", HFILL }},
10637 { &hf_lpp_utcTot,
10638 { "utcTot", "lpp.utcTot",
10639 FT_UINT32, BASE_DEC, NULL, 0,
10640 "INTEGER_0_65535", HFILL }},
10641 { &hf_lpp_utcWNot,
10642 { "utcWNot", "lpp.utcWNot",
10643 FT_UINT32, BASE_DEC, NULL, 0,
10644 "INTEGER_0_8191", HFILL }},
10645 { &hf_lpp_utcWNlsf,
10646 { "utcWNlsf", "lpp.utcWNlsf",
10647 FT_UINT32, BASE_DEC, NULL, 0,
10648 "INTEGER_0_255", HFILL }},
10649 { &hf_lpp_utcDN,
10650 { "utcDN", "lpp.utcDN",
10651 FT_BYTES, BASE_NONE, NULL, 0,
10652 "BIT_STRING_SIZE_4", HFILL }},
10653 { &hf_lpp_utcDeltaTlsf,
10654 { "utcDeltaTlsf", "lpp.utcDeltaTlsf",
10655 FT_INT32, BASE_DEC, NULL, 0,
10656 "INTEGER_M128_127", HFILL }},
10657 { &hf_lpp_nA,
10658 { "nA", "lpp.nA",
10659 FT_UINT32, BASE_DEC, NULL, 0,
10660 "INTEGER_1_1461", HFILL }},
10661 { &hf_lpp_tauC,
10662 { "tauC", "lpp.tauC",
10663 FT_INT32, BASE_DEC, NULL, 0,
10664 "INTEGER_M2147483648_2147483647", HFILL }},
10665 { &hf_lpp_b1,
10666 { "b1", "lpp.b1",
10667 FT_INT32, BASE_DEC, NULL, 0,
10668 "INTEGER_M1024_1023", HFILL }},
10669 { &hf_lpp_b2,
10670 { "b2", "lpp.b2",
10671 FT_INT32, BASE_DEC, NULL, 0,
10672 "INTEGER_M512_511", HFILL }},
10673 { &hf_lpp_kp,
10674 { "kp", "lpp.kp",
10675 FT_BYTES, BASE_NONE, NULL, 0,
10676 "BIT_STRING_SIZE_2", HFILL }},
10677 { &hf_lpp_utcA1wnt,
10678 { "utcA1wnt", "lpp.utcA1wnt",
10679 FT_INT32, BASE_DEC, NULL, 0,
10680 "INTEGER_M8388608_8388607", HFILL }},
10681 { &hf_lpp_utcA0wnt,
10682 { "utcA0wnt", "lpp.utcA0wnt",
10683 FT_INT32, BASE_DEC, NULL, 0,
10684 "INTEGER_M2147483648_2147483647", HFILL }},
10685 { &hf_lpp_utcTot_01,
10686 { "utcTot", "lpp.utcTot",
10687 FT_UINT32, BASE_DEC, NULL, 0,
10688 "INTEGER_0_255", HFILL }},
10689 { &hf_lpp_utcWNt,
10690 { "utcWNt", "lpp.utcWNt",
10691 FT_UINT32, BASE_DEC, NULL, 0,
10692 "INTEGER_0_255", HFILL }},
10693 { &hf_lpp_utcDN_01,
10694 { "utcDN", "lpp.utcDN",
10695 FT_INT32, BASE_DEC, NULL, 0,
10696 "INTEGER_M128_127", HFILL }},
10697 { &hf_lpp_utcStandardID,
10698 { "utcStandardID", "lpp.utcStandardID",
10699 FT_UINT32, BASE_DEC, NULL, 0,
10700 "INTEGER_0_7", HFILL }},
10701 { &hf_lpp_gnss_ID_GPS,
10702 { "gnss-ID-GPS", "lpp.gnss_ID_GPS",
10703 FT_UINT32, BASE_DEC, NULL, 0,
10704 NULL, HFILL }},
10705 { &hf_lpp_gnss_ID_GLONASS,
10706 { "gnss-ID-GLONASS", "lpp.gnss_ID_GLONASS",
10707 FT_UINT32, BASE_DEC, NULL, 0,
10708 NULL, HFILL }},
10709 { &hf_lpp_GNSS_ID_GPS_item,
10710 { "GNSS-ID-GPS-SatElement", "lpp.GNSS_ID_GPS_SatElement_element",
10711 FT_NONE, BASE_NONE, NULL, 0,
10712 NULL, HFILL }},
10713 { &hf_lpp_signalsAvailable,
10714 { "signalsAvailable", "lpp.signalsAvailable_element",
10715 FT_NONE, BASE_NONE, NULL, 0,
10716 "GNSS_SignalIDs", HFILL }},
10717 { &hf_lpp_GNSS_ID_GLONASS_item,
10718 { "GNSS-ID-GLONASS-SatElement", "lpp.GNSS_ID_GLONASS_SatElement_element",
10719 FT_NONE, BASE_NONE, NULL, 0,
10720 NULL, HFILL }},
10721 { &hf_lpp_channelNumber,
10722 { "channelNumber", "lpp.channelNumber",
10723 FT_INT32, BASE_DEC, NULL, 0,
10724 "INTEGER_M7_13", HFILL }},
10725 { &hf_lpp_gnss_CommonAssistDataReq,
10726 { "gnss-CommonAssistDataReq", "lpp.gnss_CommonAssistDataReq_element",
10727 FT_NONE, BASE_NONE, NULL, 0,
10728 NULL, HFILL }},
10729 { &hf_lpp_gnss_GenericAssistDataReq,
10730 { "gnss-GenericAssistDataReq", "lpp.gnss_GenericAssistDataReq",
10731 FT_UINT32, BASE_DEC, NULL, 0,
10732 NULL, HFILL }},
10733 { &hf_lpp_gnss_ReferenceTimeReq,
10734 { "gnss-ReferenceTimeReq", "lpp.gnss_ReferenceTimeReq_element",
10735 FT_NONE, BASE_NONE, NULL, 0,
10736 NULL, HFILL }},
10737 { &hf_lpp_gnss_ReferenceLocationReq,
10738 { "gnss-ReferenceLocationReq", "lpp.gnss_ReferenceLocationReq_element",
10739 FT_NONE, BASE_NONE, NULL, 0,
10740 NULL, HFILL }},
10741 { &hf_lpp_gnss_IonosphericModelReq,
10742 { "gnss-IonosphericModelReq", "lpp.gnss_IonosphericModelReq_element",
10743 FT_NONE, BASE_NONE, NULL, 0,
10744 NULL, HFILL }},
10745 { &hf_lpp_gnss_EarthOrientationParametersReq,
10746 { "gnss-EarthOrientationParametersReq", "lpp.gnss_EarthOrientationParametersReq_element",
10747 FT_NONE, BASE_NONE, NULL, 0,
10748 NULL, HFILL }},
10749 { &hf_lpp_GNSS_GenericAssistDataReq_item,
10750 { "GNSS-GenericAssistDataReqElement", "lpp.GNSS_GenericAssistDataReqElement_element",
10751 FT_NONE, BASE_NONE, NULL, 0,
10752 NULL, HFILL }},
10753 { &hf_lpp_gnss_TimeModelsReq,
10754 { "gnss-TimeModelsReq", "lpp.gnss_TimeModelsReq",
10755 FT_UINT32, BASE_DEC, NULL, 0,
10756 "GNSS_TimeModelListReq", HFILL }},
10757 { &hf_lpp_gnss_DifferentialCorrectionsReq,
10758 { "gnss-DifferentialCorrectionsReq", "lpp.gnss_DifferentialCorrectionsReq_element",
10759 FT_NONE, BASE_NONE, NULL, 0,
10760 NULL, HFILL }},
10761 { &hf_lpp_gnss_NavigationModelReq,
10762 { "gnss-NavigationModelReq", "lpp.gnss_NavigationModelReq",
10763 FT_UINT32, BASE_DEC, VALS(lpp_GNSS_NavigationModelReq_vals), 0,
10764 NULL, HFILL }},
10765 { &hf_lpp_gnss_RealTimeIntegrityReq,
10766 { "gnss-RealTimeIntegrityReq", "lpp.gnss_RealTimeIntegrityReq_element",
10767 FT_NONE, BASE_NONE, NULL, 0,
10768 NULL, HFILL }},
10769 { &hf_lpp_gnss_DataBitAssistanceReq,
10770 { "gnss-DataBitAssistanceReq", "lpp.gnss_DataBitAssistanceReq_element",
10771 FT_NONE, BASE_NONE, NULL, 0,
10772 NULL, HFILL }},
10773 { &hf_lpp_gnss_AcquisitionAssistanceReq,
10774 { "gnss-AcquisitionAssistanceReq", "lpp.gnss_AcquisitionAssistanceReq_element",
10775 FT_NONE, BASE_NONE, NULL, 0,
10776 NULL, HFILL }},
10777 { &hf_lpp_gnss_AlmanacReq,
10778 { "gnss-AlmanacReq", "lpp.gnss_AlmanacReq_element",
10779 FT_NONE, BASE_NONE, NULL, 0,
10780 NULL, HFILL }},
10781 { &hf_lpp_gnss_UTCModelReq,
10782 { "gnss-UTCModelReq", "lpp.gnss_UTCModelReq_element",
10783 FT_NONE, BASE_NONE, NULL, 0,
10784 "GNSS_UTC_ModelReq", HFILL }},
10785 { &hf_lpp_gnss_AuxiliaryInformationReq,
10786 { "gnss-AuxiliaryInformationReq", "lpp.gnss_AuxiliaryInformationReq_element",
10787 FT_NONE, BASE_NONE, NULL, 0,
10788 NULL, HFILL }},
10789 { &hf_lpp_gnss_TimeReqPrefList,
10790 { "gnss-TimeReqPrefList", "lpp.gnss_TimeReqPrefList",
10791 FT_UINT32, BASE_DEC, NULL, 0,
10792 "SEQUENCE_SIZE_1_8_OF_GNSS_ID", HFILL }},
10793 { &hf_lpp_gnss_TimeReqPrefList_item,
10794 { "GNSS-ID", "lpp.GNSS_ID_element",
10795 FT_NONE, BASE_NONE, NULL, 0,
10796 NULL, HFILL }},
10797 { &hf_lpp_gps_TOW_assistReq,
10798 { "gps-TOW-assistReq", "lpp.gps_TOW_assistReq",
10799 FT_BOOLEAN, BASE_NONE, NULL, 0,
10800 "BOOLEAN", HFILL }},
10801 { &hf_lpp_notOfLeapSecReq,
10802 { "notOfLeapSecReq", "lpp.notOfLeapSecReq",
10803 FT_BOOLEAN, BASE_NONE, NULL, 0,
10804 "BOOLEAN", HFILL }},
10805 { &hf_lpp_klobucharModelReq,
10806 { "klobucharModelReq", "lpp.klobucharModelReq",
10807 FT_BYTES, BASE_NONE, NULL, 0,
10808 "BIT_STRING_SIZE_2", HFILL }},
10809 { &hf_lpp_neQuickModelReq,
10810 { "neQuickModelReq", "lpp.neQuickModelReq_element",
10811 FT_NONE, BASE_NONE, NULL, 0,
10812 NULL, HFILL }},
10813 { &hf_lpp_GNSS_TimeModelListReq_item,
10814 { "GNSS-TimeModelElementReq", "lpp.GNSS_TimeModelElementReq_element",
10815 FT_NONE, BASE_NONE, NULL, 0,
10816 NULL, HFILL }},
10817 { &hf_lpp_gnss_TO_IDsReq,
10818 { "gnss-TO-IDsReq", "lpp.gnss_TO_IDsReq",
10819 FT_UINT32, BASE_DEC, NULL, 0,
10820 "INTEGER_1_15", HFILL }},
10821 { &hf_lpp_deltaTreq,
10822 { "deltaTreq", "lpp.deltaTreq",
10823 FT_BOOLEAN, BASE_NONE, NULL, 0,
10824 "BOOLEAN", HFILL }},
10825 { &hf_lpp_dgnss_SignalsReq,
10826 { "dgnss-SignalsReq", "lpp.dgnss_SignalsReq_element",
10827 FT_NONE, BASE_NONE, NULL, 0,
10828 "GNSS_SignalIDs", HFILL }},
10829 { &hf_lpp_dgnss_ValidityTimeReq,
10830 { "dgnss-ValidityTimeReq", "lpp.dgnss_ValidityTimeReq",
10831 FT_BOOLEAN, BASE_NONE, NULL, 0,
10832 "BOOLEAN", HFILL }},
10833 { &hf_lpp_storedNavList,
10834 { "storedNavList", "lpp.storedNavList_element",
10835 FT_NONE, BASE_NONE, NULL, 0,
10836 "StoredNavListInfo", HFILL }},
10837 { &hf_lpp_reqNavList,
10838 { "reqNavList", "lpp.reqNavList_element",
10839 FT_NONE, BASE_NONE, NULL, 0,
10840 "ReqNavListInfo", HFILL }},
10841 { &hf_lpp_gnss_WeekOrDay,
10842 { "gnss-WeekOrDay", "lpp.gnss_WeekOrDay",
10843 FT_UINT32, BASE_DEC, NULL, 0,
10844 "INTEGER_0_4095", HFILL }},
10845 { &hf_lpp_gnss_Toe,
10846 { "gnss-Toe", "lpp.gnss_Toe",
10847 FT_UINT32, BASE_DEC, NULL, 0,
10848 "INTEGER_0_255", HFILL }},
10849 { &hf_lpp_t_toeLimit,
10850 { "t-toeLimit", "lpp.t_toeLimit",
10851 FT_UINT32, BASE_DEC, NULL, 0,
10852 "INTEGER_0_15", HFILL }},
10853 { &hf_lpp_satListRelatedDataList,
10854 { "satListRelatedDataList", "lpp.satListRelatedDataList",
10855 FT_UINT32, BASE_DEC, NULL, 0,
10856 NULL, HFILL }},
10857 { &hf_lpp_SatListRelatedDataList_item,
10858 { "SatListRelatedDataElement", "lpp.SatListRelatedDataElement_element",
10859 FT_NONE, BASE_NONE, NULL, 0,
10860 NULL, HFILL }},
10861 { &hf_lpp_clockModelID,
10862 { "clockModelID", "lpp.clockModelID",
10863 FT_UINT32, BASE_DEC, NULL, 0,
10864 "INTEGER_1_8", HFILL }},
10865 { &hf_lpp_orbitModelID,
10866 { "orbitModelID", "lpp.orbitModelID",
10867 FT_UINT32, BASE_DEC, NULL, 0,
10868 "INTEGER_1_8", HFILL }},
10869 { &hf_lpp_svReqList,
10870 { "svReqList", "lpp.svReqList",
10871 FT_BYTES, BASE_NONE, NULL, 0,
10872 "BIT_STRING_SIZE_64", HFILL }},
10873 { &hf_lpp_clockModelID_PrefList,
10874 { "clockModelID-PrefList", "lpp.clockModelID_PrefList",
10875 FT_UINT32, BASE_DEC, NULL, 0,
10876 NULL, HFILL }},
10877 { &hf_lpp_clockModelID_PrefList_item,
10878 { "clockModelID-PrefList item", "lpp.clockModelID_PrefList_item",
10879 FT_UINT32, BASE_DEC, NULL, 0,
10880 "INTEGER_1_8", HFILL }},
10881 { &hf_lpp_orbitModelID_PrefList,
10882 { "orbitModelID-PrefList", "lpp.orbitModelID_PrefList",
10883 FT_UINT32, BASE_DEC, NULL, 0,
10884 NULL, HFILL }},
10885 { &hf_lpp_orbitModelID_PrefList_item,
10886 { "orbitModelID-PrefList item", "lpp.orbitModelID_PrefList_item",
10887 FT_UINT32, BASE_DEC, NULL, 0,
10888 "INTEGER_1_8", HFILL }},
10889 { &hf_lpp_addNavparamReq,
10890 { "addNavparamReq", "lpp.addNavparamReq",
10891 FT_BOOLEAN, BASE_NONE, NULL, 0,
10892 "BOOLEAN", HFILL }},
10893 { &hf_lpp_gnss_TOD_Req,
10894 { "gnss-TOD-Req", "lpp.gnss_TOD_Req",
10895 FT_UINT32, BASE_DEC, NULL, 0,
10896 "INTEGER_0_3599", HFILL }},
10897 { &hf_lpp_gnss_TOD_FracReq,
10898 { "gnss-TOD-FracReq", "lpp.gnss_TOD_FracReq",
10899 FT_UINT32, BASE_DEC, NULL, 0,
10900 "INTEGER_0_999", HFILL }},
10901 { &hf_lpp_dataBitInterval,
10902 { "dataBitInterval", "lpp.dataBitInterval",
10903 FT_UINT32, BASE_DEC, NULL, 0,
10904 "INTEGER_0_15", HFILL }},
10905 { &hf_lpp_gnss_SignalType_01,
10906 { "gnss-SignalType", "lpp.gnss_SignalType_element",
10907 FT_NONE, BASE_NONE, NULL, 0,
10908 "GNSS_SignalIDs", HFILL }},
10909 { &hf_lpp_gnss_DataBitsReq,
10910 { "gnss-DataBitsReq", "lpp.gnss_DataBitsReq",
10911 FT_UINT32, BASE_DEC, NULL, 0,
10912 "GNSS_DataBitsReqSatList", HFILL }},
10913 { &hf_lpp_GNSS_DataBitsReqSatList_item,
10914 { "GNSS-DataBitsReqSatElement", "lpp.GNSS_DataBitsReqSatElement_element",
10915 FT_NONE, BASE_NONE, NULL, 0,
10916 NULL, HFILL }},
10917 { &hf_lpp_gnss_SignalID_Req,
10918 { "gnss-SignalID-Req", "lpp.gnss_SignalID_Req_element",
10919 FT_NONE, BASE_NONE, NULL, 0,
10920 "GNSS_SignalID", HFILL }},
10921 { &hf_lpp_modelID,
10922 { "modelID", "lpp.modelID",
10923 FT_UINT32, BASE_DEC, NULL, 0,
10924 "INTEGER_1_8", HFILL }},
10925 { &hf_lpp_gnss_SignalMeasurementInformation,
10926 { "gnss-SignalMeasurementInformation", "lpp.gnss_SignalMeasurementInformation_element",
10927 FT_NONE, BASE_NONE, NULL, 0,
10928 NULL, HFILL }},
10929 { &hf_lpp_gnss_LocationInformation,
10930 { "gnss-LocationInformation", "lpp.gnss_LocationInformation_element",
10931 FT_NONE, BASE_NONE, NULL, 0,
10932 NULL, HFILL }},
10933 { &hf_lpp_measurementReferenceTime,
10934 { "measurementReferenceTime", "lpp.measurementReferenceTime_element",
10935 FT_NONE, BASE_NONE, NULL, 0,
10936 NULL, HFILL }},
10937 { &hf_lpp_gnss_MeasurementList,
10938 { "gnss-MeasurementList", "lpp.gnss_MeasurementList",
10939 FT_UINT32, BASE_DEC, NULL, 0,
10940 NULL, HFILL }},
10941 { &hf_lpp_gnss_TOD_msec,
10942 { "gnss-TOD-msec", "lpp.gnss_TOD_msec",
10943 FT_UINT32, BASE_DEC, NULL, 0,
10944 "INTEGER_0_3599999", HFILL }},
10945 { &hf_lpp_gnss_TOD_frac,
10946 { "gnss-TOD-frac", "lpp.gnss_TOD_frac",
10947 FT_UINT32, BASE_DEC, NULL, 0,
10948 "INTEGER_0_3999", HFILL }},
10949 { &hf_lpp_gnss_TOD_unc,
10950 { "gnss-TOD-unc", "lpp.gnss_TOD_unc",
10951 FT_UINT32, BASE_DEC, NULL, 0,
10952 "INTEGER_0_127", HFILL }},
10953 { &hf_lpp_networkTime_01,
10954 { "networkTime", "lpp.networkTime",
10955 FT_UINT32, BASE_DEC, VALS(lpp_T_networkTime_vals), 0,
10956 NULL, HFILL }},
10957 { &hf_lpp_eUTRA_01,
10958 { "eUTRA", "lpp.eUTRA_element",
10959 FT_NONE, BASE_NONE, NULL, 0,
10960 "T_eUTRA_01", HFILL }},
10961 { &hf_lpp_cellGlobalId_01,
10962 { "cellGlobalId", "lpp.cellGlobalId_element",
10963 FT_NONE, BASE_NONE, NULL, 0,
10964 "CellGlobalIdEUTRA_AndUTRA", HFILL }},
10965 { &hf_lpp_uTRA_01,
10966 { "uTRA", "lpp.uTRA_element",
10967 FT_NONE, BASE_NONE, NULL, 0,
10968 "T_uTRA_01", HFILL }},
10969 { &hf_lpp_mode_01,
10970 { "mode", "lpp.mode",
10971 FT_UINT32, BASE_DEC, VALS(lpp_T_mode_01_vals), 0,
10972 "T_mode_01", HFILL }},
10973 { &hf_lpp_fdd_01,
10974 { "fdd", "lpp.fdd_element",
10975 FT_NONE, BASE_NONE, NULL, 0,
10976 "T_fdd_01", HFILL }},
10977 { &hf_lpp_tdd_01,
10978 { "tdd", "lpp.tdd_element",
10979 FT_NONE, BASE_NONE, NULL, 0,
10980 "T_tdd_01", HFILL }},
10981 { &hf_lpp_referenceSystemFrameNumber,
10982 { "referenceSystemFrameNumber", "lpp.referenceSystemFrameNumber",
10983 FT_UINT32, BASE_DEC, NULL, 0,
10984 "INTEGER_0_4095", HFILL }},
10985 { &hf_lpp_gSM_01,
10986 { "gSM", "lpp.gSM_element",
10987 FT_NONE, BASE_NONE, NULL, 0,
10988 "T_gSM_01", HFILL }},
10989 { &hf_lpp_cellGlobalId_02,
10990 { "cellGlobalId", "lpp.cellGlobalId_element",
10991 FT_NONE, BASE_NONE, NULL, 0,
10992 "CellGlobalIdGERAN", HFILL }},
10993 { &hf_lpp_referenceFrame,
10994 { "referenceFrame", "lpp.referenceFrame_element",
10995 FT_NONE, BASE_NONE, NULL, 0,
10996 NULL, HFILL }},
10997 { &hf_lpp_referenceFN,
10998 { "referenceFN", "lpp.referenceFN",
10999 FT_UINT32, BASE_DEC, NULL, 0,
11000 "INTEGER_0_65535", HFILL }},
11001 { &hf_lpp_referenceFNMSB,
11002 { "referenceFNMSB", "lpp.referenceFNMSB",
11003 FT_UINT32, BASE_DEC, NULL, 0,
11004 "INTEGER_0_63", HFILL }},
11005 { &hf_lpp_deltaGNSS_TOD,
11006 { "deltaGNSS-TOD", "lpp.deltaGNSS_TOD",
11007 FT_UINT32, BASE_DEC, NULL, 0,
11008 "INTEGER_0_127", HFILL }},
11009 { &hf_lpp_GNSS_MeasurementList_item,
11010 { "GNSS-MeasurementForOneGNSS", "lpp.GNSS_MeasurementForOneGNSS_element",
11011 FT_NONE, BASE_NONE, NULL, 0,
11012 NULL, HFILL }},
11013 { &hf_lpp_gnss_SgnMeasList,
11014 { "gnss-SgnMeasList", "lpp.gnss_SgnMeasList",
11015 FT_UINT32, BASE_DEC, NULL, 0,
11016 NULL, HFILL }},
11017 { &hf_lpp_GNSS_SgnMeasList_item,
11018 { "GNSS-SgnMeasElement", "lpp.GNSS_SgnMeasElement_element",
11019 FT_NONE, BASE_NONE, NULL, 0,
11020 NULL, HFILL }},
11021 { &hf_lpp_gnss_CodePhaseAmbiguity,
11022 { "gnss-CodePhaseAmbiguity", "lpp.gnss_CodePhaseAmbiguity",
11023 FT_UINT32, BASE_DEC, NULL, 0,
11024 "INTEGER_0_127", HFILL }},
11025 { &hf_lpp_gnss_SatMeasList,
11026 { "gnss-SatMeasList", "lpp.gnss_SatMeasList",
11027 FT_UINT32, BASE_DEC, NULL, 0,
11028 NULL, HFILL }},
11029 { &hf_lpp_GNSS_SatMeasList_item,
11030 { "GNSS-SatMeasElement", "lpp.GNSS_SatMeasElement_element",
11031 FT_NONE, BASE_NONE, NULL, 0,
11032 NULL, HFILL }},
11033 { &hf_lpp_cNo,
11034 { "cNo", "lpp.cNo",
11035 FT_UINT32, BASE_DEC, NULL, 0,
11036 "INTEGER_0_63", HFILL }},
11037 { &hf_lpp_mpathDet,
11038 { "mpathDet", "lpp.mpathDet",
11039 FT_UINT32, BASE_DEC, VALS(lpp_T_mpathDet_vals), 0,
11040 NULL, HFILL }},
11041 { &hf_lpp_carrierQualityInd,
11042 { "carrierQualityInd", "lpp.carrierQualityInd",
11043 FT_UINT32, BASE_DEC, NULL, 0,
11044 "INTEGER_0_3", HFILL }},
11045 { &hf_lpp_codePhase_01,
11046 { "codePhase", "lpp.codePhase",
11047 FT_UINT32, BASE_DEC, NULL, 0,
11048 "INTEGER_0_2097151", HFILL }},
11049 { &hf_lpp_integerCodePhase,
11050 { "integerCodePhase", "lpp.integerCodePhase",
11051 FT_UINT32, BASE_DEC, NULL, 0,
11052 "INTEGER_0_127", HFILL }},
11053 { &hf_lpp_codePhaseRMSError,
11054 { "codePhaseRMSError", "lpp.codePhaseRMSError",
11055 FT_UINT32, BASE_DEC, NULL, 0,
11056 "INTEGER_0_63", HFILL }},
11057 { &hf_lpp_doppler,
11058 { "doppler", "lpp.doppler",
11059 FT_INT32, BASE_DEC, NULL, 0,
11060 "INTEGER_M32768_32767", HFILL }},
11061 { &hf_lpp_adr,
11062 { "adr", "lpp.adr",
11063 FT_UINT32, BASE_DEC, NULL, 0,
11064 "INTEGER_0_33554431", HFILL }},
11065 { &hf_lpp_agnss_List,
11066 { "agnss-List", "lpp.agnss_List_element",
11067 FT_NONE, BASE_NONE, NULL, 0,
11068 "GNSS_ID_Bitmap", HFILL }},
11069 { &hf_lpp_gnss_PositioningInstructions,
11070 { "gnss-PositioningInstructions", "lpp.gnss_PositioningInstructions_element",
11071 FT_NONE, BASE_NONE, NULL, 0,
11072 NULL, HFILL }},
11073 { &hf_lpp_gnss_Methods,
11074 { "gnss-Methods", "lpp.gnss_Methods_element",
11075 FT_NONE, BASE_NONE, NULL, 0,
11076 "GNSS_ID_Bitmap", HFILL }},
11077 { &hf_lpp_fineTimeAssistanceMeasReq,
11078 { "fineTimeAssistanceMeasReq", "lpp.fineTimeAssistanceMeasReq",
11079 FT_BOOLEAN, BASE_NONE, NULL, 0,
11080 "BOOLEAN", HFILL }},
11081 { &hf_lpp_adrMeasReq,
11082 { "adrMeasReq", "lpp.adrMeasReq",
11083 FT_BOOLEAN, BASE_NONE, NULL, 0,
11084 "BOOLEAN", HFILL }},
11085 { &hf_lpp_multiFreqMeasReq,
11086 { "multiFreqMeasReq", "lpp.multiFreqMeasReq",
11087 FT_BOOLEAN, BASE_NONE, NULL, 0,
11088 "BOOLEAN", HFILL }},
11089 { &hf_lpp_gnss_SupportList,
11090 { "gnss-SupportList", "lpp.gnss_SupportList",
11091 FT_UINT32, BASE_DEC, NULL, 0,
11092 NULL, HFILL }},
11093 { &hf_lpp_assistanceDataSupportList,
11094 { "assistanceDataSupportList", "lpp.assistanceDataSupportList_element",
11095 FT_NONE, BASE_NONE, NULL, 0,
11096 NULL, HFILL }},
11097 { &hf_lpp_GNSS_SupportList_item,
11098 { "GNSS-SupportElement", "lpp.GNSS_SupportElement_element",
11099 FT_NONE, BASE_NONE, NULL, 0,
11100 NULL, HFILL }},
11101 { &hf_lpp_sbas_IDs,
11102 { "sbas-IDs", "lpp.sbas_IDs_element",
11103 FT_NONE, BASE_NONE, NULL, 0,
11104 NULL, HFILL }},
11105 { &hf_lpp_agnss_Modes,
11106 { "agnss-Modes", "lpp.agnss_Modes_element",
11107 FT_NONE, BASE_NONE, NULL, 0,
11108 "PositioningModes", HFILL }},
11109 { &hf_lpp_gnss_Signals,
11110 { "gnss-Signals", "lpp.gnss_Signals_element",
11111 FT_NONE, BASE_NONE, NULL, 0,
11112 "GNSS_SignalIDs", HFILL }},
11113 { &hf_lpp_fta_MeasSupport,
11114 { "fta-MeasSupport", "lpp.fta_MeasSupport_element",
11115 FT_NONE, BASE_NONE, NULL, 0,
11116 NULL, HFILL }},
11117 { &hf_lpp_cellTime,
11118 { "cellTime", "lpp.cellTime_element",
11119 FT_NONE, BASE_NONE, NULL, 0,
11120 "AccessTypes", HFILL }},
11121 { &hf_lpp_mode_02,
11122 { "mode", "lpp.mode_element",
11123 FT_NONE, BASE_NONE, NULL, 0,
11124 "PositioningModes", HFILL }},
11125 { &hf_lpp_adr_Support,
11126 { "adr-Support", "lpp.adr_Support",
11127 FT_BOOLEAN, BASE_NONE, NULL, 0,
11128 "BOOLEAN", HFILL }},
11129 { &hf_lpp_velocityMeasurementSupport,
11130 { "velocityMeasurementSupport", "lpp.velocityMeasurementSupport",
11131 FT_BOOLEAN, BASE_NONE, NULL, 0,
11132 "BOOLEAN", HFILL }},
11133 { &hf_lpp_gnss_CommonAssistanceDataSupport,
11134 { "gnss-CommonAssistanceDataSupport", "lpp.gnss_CommonAssistanceDataSupport_element",
11135 FT_NONE, BASE_NONE, NULL, 0,
11136 NULL, HFILL }},
11137 { &hf_lpp_gnss_GenericAssistanceDataSupport,
11138 { "gnss-GenericAssistanceDataSupport", "lpp.gnss_GenericAssistanceDataSupport",
11139 FT_UINT32, BASE_DEC, NULL, 0,
11140 NULL, HFILL }},
11141 { &hf_lpp_gnss_ReferenceTimeSupport,
11142 { "gnss-ReferenceTimeSupport", "lpp.gnss_ReferenceTimeSupport_element",
11143 FT_NONE, BASE_NONE, NULL, 0,
11144 NULL, HFILL }},
11145 { &hf_lpp_gnss_ReferenceLocationSupport,
11146 { "gnss-ReferenceLocationSupport", "lpp.gnss_ReferenceLocationSupport_element",
11147 FT_NONE, BASE_NONE, NULL, 0,
11148 NULL, HFILL }},
11149 { &hf_lpp_gnss_IonosphericModelSupport,
11150 { "gnss-IonosphericModelSupport", "lpp.gnss_IonosphericModelSupport_element",
11151 FT_NONE, BASE_NONE, NULL, 0,
11152 NULL, HFILL }},
11153 { &hf_lpp_gnss_EarthOrientationParametersSupport,
11154 { "gnss-EarthOrientationParametersSupport", "lpp.gnss_EarthOrientationParametersSupport_element",
11155 FT_NONE, BASE_NONE, NULL, 0,
11156 NULL, HFILL }},
11157 { &hf_lpp_gnss_SystemTime_01,
11158 { "gnss-SystemTime", "lpp.gnss_SystemTime_element",
11159 FT_NONE, BASE_NONE, NULL, 0,
11160 "GNSS_ID_Bitmap", HFILL }},
11161 { &hf_lpp_fta_Support,
11162 { "fta-Support", "lpp.fta_Support_element",
11163 FT_NONE, BASE_NONE, NULL, 0,
11164 "AccessTypes", HFILL }},
11165 { &hf_lpp_ionoModel,
11166 { "ionoModel", "lpp.ionoModel",
11167 FT_BYTES, BASE_NONE, NULL, 0,
11168 NULL, HFILL }},
11169 { &hf_lpp_GNSS_GenericAssistanceDataSupport_item,
11170 { "GNSS-GenericAssistDataSupportElement", "lpp.GNSS_GenericAssistDataSupportElement_element",
11171 FT_NONE, BASE_NONE, NULL, 0,
11172 NULL, HFILL }},
11173 { &hf_lpp_gnss_TimeModelsSupport,
11174 { "gnss-TimeModelsSupport", "lpp.gnss_TimeModelsSupport_element",
11175 FT_NONE, BASE_NONE, NULL, 0,
11176 "GNSS_TimeModelListSupport", HFILL }},
11177 { &hf_lpp_gnss_DifferentialCorrectionsSupport,
11178 { "gnss-DifferentialCorrectionsSupport", "lpp.gnss_DifferentialCorrectionsSupport_element",
11179 FT_NONE, BASE_NONE, NULL, 0,
11180 NULL, HFILL }},
11181 { &hf_lpp_gnss_NavigationModelSupport,
11182 { "gnss-NavigationModelSupport", "lpp.gnss_NavigationModelSupport_element",
11183 FT_NONE, BASE_NONE, NULL, 0,
11184 NULL, HFILL }},
11185 { &hf_lpp_gnss_RealTimeIntegritySupport,
11186 { "gnss-RealTimeIntegritySupport", "lpp.gnss_RealTimeIntegritySupport_element",
11187 FT_NONE, BASE_NONE, NULL, 0,
11188 NULL, HFILL }},
11189 { &hf_lpp_gnss_DataBitAssistanceSupport,
11190 { "gnss-DataBitAssistanceSupport", "lpp.gnss_DataBitAssistanceSupport_element",
11191 FT_NONE, BASE_NONE, NULL, 0,
11192 NULL, HFILL }},
11193 { &hf_lpp_gnss_AcquisitionAssistanceSupport,
11194 { "gnss-AcquisitionAssistanceSupport", "lpp.gnss_AcquisitionAssistanceSupport_element",
11195 FT_NONE, BASE_NONE, NULL, 0,
11196 NULL, HFILL }},
11197 { &hf_lpp_gnss_AlmanacSupport,
11198 { "gnss-AlmanacSupport", "lpp.gnss_AlmanacSupport_element",
11199 FT_NONE, BASE_NONE, NULL, 0,
11200 NULL, HFILL }},
11201 { &hf_lpp_gnss_UTC_ModelSupport,
11202 { "gnss-UTC-ModelSupport", "lpp.gnss_UTC_ModelSupport_element",
11203 FT_NONE, BASE_NONE, NULL, 0,
11204 NULL, HFILL }},
11205 { &hf_lpp_gnss_AuxiliaryInformationSupport,
11206 { "gnss-AuxiliaryInformationSupport", "lpp.gnss_AuxiliaryInformationSupport_element",
11207 FT_NONE, BASE_NONE, NULL, 0,
11208 NULL, HFILL }},
11209 { &hf_lpp_gnssSignalIDs,
11210 { "gnssSignalIDs", "lpp.gnssSignalIDs_element",
11211 FT_NONE, BASE_NONE, NULL, 0,
11212 "GNSS_SignalIDs", HFILL }},
11213 { &hf_lpp_dgnss_ValidityTimeSup,
11214 { "dgnss-ValidityTimeSup", "lpp.dgnss_ValidityTimeSup",
11215 FT_BOOLEAN, BASE_NONE, NULL, 0,
11216 "BOOLEAN", HFILL }},
11217 { &hf_lpp_clockModel,
11218 { "clockModel", "lpp.clockModel",
11219 FT_BYTES, BASE_NONE, NULL, 0,
11220 NULL, HFILL }},
11221 { &hf_lpp_orbitModel,
11222 { "orbitModel", "lpp.orbitModel",
11223 FT_BYTES, BASE_NONE, NULL, 0,
11224 NULL, HFILL }},
11225 { &hf_lpp_confidenceSupport_r10,
11226 { "confidenceSupport-r10", "lpp.confidenceSupport_r10",
11227 FT_UINT32, BASE_DEC, VALS(lpp_T_confidenceSupport_r10_vals), 0,
11228 "T_confidenceSupport_r10", HFILL }},
11229 { &hf_lpp_dopplerUncertaintyExtSupport_r10,
11230 { "dopplerUncertaintyExtSupport-r10", "lpp.dopplerUncertaintyExtSupport_r10",
11231 FT_UINT32, BASE_DEC, VALS(lpp_T_dopplerUncertaintyExtSupport_r10_vals), 0,
11232 "T_dopplerUncertaintyExtSupport_r10", HFILL }},
11233 { &hf_lpp_almanacModel,
11234 { "almanacModel", "lpp.almanacModel",
11235 FT_BYTES, BASE_NONE, NULL, 0,
11236 NULL, HFILL }},
11237 { &hf_lpp_utc_Model,
11238 { "utc-Model", "lpp.utc_Model",
11239 FT_BYTES, BASE_NONE, NULL, 0,
11240 NULL, HFILL }},
11241 { &hf_lpp_gnss_SupportListReq,
11242 { "gnss-SupportListReq", "lpp.gnss_SupportListReq",
11243 FT_BOOLEAN, BASE_NONE, NULL, 0,
11244 "BOOLEAN", HFILL }},
11245 { &hf_lpp_assistanceDataSupportListReq,
11246 { "assistanceDataSupportListReq", "lpp.assistanceDataSupportListReq",
11247 FT_BOOLEAN, BASE_NONE, NULL, 0,
11248 "BOOLEAN", HFILL }},
11249 { &hf_lpp_locationVelocityTypesReq,
11250 { "locationVelocityTypesReq", "lpp.locationVelocityTypesReq",
11251 FT_BOOLEAN, BASE_NONE, NULL, 0,
11252 "BOOLEAN", HFILL }},
11253 { &hf_lpp_locationServerErrorCauses_01,
11254 { "locationServerErrorCauses", "lpp.locationServerErrorCauses_element",
11255 FT_NONE, BASE_NONE, NULL, 0,
11256 "GNSS_LocationServerErrorCauses", HFILL }},
11257 { &hf_lpp_targetDeviceErrorCauses_01,
11258 { "targetDeviceErrorCauses", "lpp.targetDeviceErrorCauses_element",
11259 FT_NONE, BASE_NONE, NULL, 0,
11260 "GNSS_TargetDeviceErrorCauses", HFILL }},
11261 { &hf_lpp_cause_02,
11262 { "cause", "lpp.cause",
11263 FT_UINT32, BASE_DEC, VALS(lpp_T_cause_02_vals), 0,
11264 "T_cause_02", HFILL }},
11265 { &hf_lpp_cause_03,
11266 { "cause", "lpp.cause",
11267 FT_UINT32, BASE_DEC, VALS(lpp_T_cause_03_vals), 0,
11268 "T_cause_03", HFILL }},
11269 { &hf_lpp_fineTimeAssistanceMeasurementsNotPossible,
11270 { "fineTimeAssistanceMeasurementsNotPossible", "lpp.fineTimeAssistanceMeasurementsNotPossible_element",
11271 FT_NONE, BASE_NONE, NULL, 0,
11272 NULL, HFILL }},
11273 { &hf_lpp_adrMeasurementsNotPossible,
11274 { "adrMeasurementsNotPossible", "lpp.adrMeasurementsNotPossible_element",
11275 FT_NONE, BASE_NONE, NULL, 0,
11276 NULL, HFILL }},
11277 { &hf_lpp_multiFrequencyMeasurementsNotPossible,
11278 { "multiFrequencyMeasurementsNotPossible", "lpp.multiFrequencyMeasurementsNotPossible_element",
11279 FT_NONE, BASE_NONE, NULL, 0,
11280 NULL, HFILL }},
11281 { &hf_lpp_gnss_id,
11282 { "gnss-id", "lpp.gnss_id",
11283 FT_UINT32, BASE_DEC, VALS(lpp_T_gnss_id_vals), 0,
11284 NULL, HFILL }},
11285 { &hf_lpp_gnss_ids,
11286 { "gnss-ids", "lpp.gnss_ids",
11287 FT_BYTES, BASE_NONE, NULL, 0,
11288 NULL, HFILL }},
11289 { &hf_lpp_gnss_SignalID_01,
11290 { "gnss-SignalID", "lpp.gnss_SignalID",
11291 FT_UINT32, BASE_DEC, NULL, 0,
11292 "INTEGER_0_7", HFILL }},
11293 { &hf_lpp_gnss_SignalIDs,
11294 { "gnss-SignalIDs", "lpp.gnss_SignalIDs",
11295 FT_BYTES, BASE_NONE, NULL, 0,
11296 "BIT_STRING_SIZE_8", HFILL }},
11297 { &hf_lpp_sbas_id,
11298 { "sbas-id", "lpp.sbas_id",
11299 FT_UINT32, BASE_DEC, VALS(lpp_T_sbas_id_vals), 0,
11300 NULL, HFILL }},
11301 { &hf_lpp_sbas_IDs_01,
11302 { "sbas-IDs", "lpp.sbas_IDs",
11303 FT_BYTES, BASE_NONE, NULL, 0,
11304 NULL, HFILL }},
11305 { &hf_lpp_satellite_id,
11306 { "satellite-id", "lpp.satellite_id",
11307 FT_UINT32, BASE_DEC, NULL, 0,
11308 "INTEGER_0_63", HFILL }},
11309 { &hf_lpp_ecid_SignalMeasurementInformation,
11310 { "ecid-SignalMeasurementInformation", "lpp.ecid_SignalMeasurementInformation_element",
11311 FT_NONE, BASE_NONE, NULL, 0,
11312 NULL, HFILL }},
11313 { &hf_lpp_ecid_Error,
11314 { "ecid-Error", "lpp.ecid_Error",
11315 FT_UINT32, BASE_DEC, VALS(lpp_ECID_Error_vals), 0,
11316 NULL, HFILL }},
11317 { &hf_lpp_primaryCellMeasuredResults,
11318 { "primaryCellMeasuredResults", "lpp.primaryCellMeasuredResults_element",
11319 FT_NONE, BASE_NONE, NULL, 0,
11320 "MeasuredResultsElement", HFILL }},
11321 { &hf_lpp_measuredResultsList,
11322 { "measuredResultsList", "lpp.measuredResultsList",
11323 FT_UINT32, BASE_DEC, NULL, 0,
11324 NULL, HFILL }},
11325 { &hf_lpp_MeasuredResultsList_item,
11326 { "MeasuredResultsElement", "lpp.MeasuredResultsElement_element",
11327 FT_NONE, BASE_NONE, NULL, 0,
11328 NULL, HFILL }},
11329 { &hf_lpp_arfcnEUTRA,
11330 { "arfcnEUTRA", "lpp.arfcnEUTRA",
11331 FT_UINT32, BASE_DEC, NULL, 0,
11332 "ARFCN_ValueEUTRA", HFILL }},
11333 { &hf_lpp_rsrp_Result,
11334 { "rsrp-Result", "lpp.rsrp_Result",
11335 FT_UINT32, BASE_DEC, NULL, 0,
11336 "INTEGER_0_97", HFILL }},
11337 { &hf_lpp_rsrq_Result,
11338 { "rsrq-Result", "lpp.rsrq_Result",
11339 FT_UINT32, BASE_DEC, NULL, 0,
11340 "INTEGER_0_34", HFILL }},
11341 { &hf_lpp_ue_RxTxTimeDiff,
11342 { "ue-RxTxTimeDiff", "lpp.ue_RxTxTimeDiff",
11343 FT_UINT32, BASE_DEC, NULL, 0,
11344 "INTEGER_0_4095", HFILL }},
11345 { &hf_lpp_arfcnEUTRA_v9a0,
11346 { "arfcnEUTRA-v9a0", "lpp.arfcnEUTRA_v9a0",
11347 FT_UINT32, BASE_DEC, NULL, 0,
11348 "ARFCN_ValueEUTRA_v9a0", HFILL }},
11349 { &hf_lpp_requestedMeasurements,
11350 { "requestedMeasurements", "lpp.requestedMeasurements",
11351 FT_BYTES, BASE_NONE, NULL, 0,
11352 NULL, HFILL }},
11353 { &hf_lpp_ecid_MeasSupported,
11354 { "ecid-MeasSupported", "lpp.ecid_MeasSupported",
11355 FT_BYTES, BASE_NONE, NULL, 0,
11356 NULL, HFILL }},
11357 { &hf_lpp_locationServerErrorCauses_02,
11358 { "locationServerErrorCauses", "lpp.locationServerErrorCauses_element",
11359 FT_NONE, BASE_NONE, NULL, 0,
11360 "ECID_LocationServerErrorCauses", HFILL }},
11361 { &hf_lpp_targetDeviceErrorCauses_02,
11362 { "targetDeviceErrorCauses", "lpp.targetDeviceErrorCauses_element",
11363 FT_NONE, BASE_NONE, NULL, 0,
11364 "ECID_TargetDeviceErrorCauses", HFILL }},
11365 { &hf_lpp_cause_04,
11366 { "cause", "lpp.cause",
11367 FT_UINT32, BASE_DEC, VALS(lpp_T_cause_04_vals), 0,
11368 "T_cause_04", HFILL }},
11369 { &hf_lpp_cause_05,
11370 { "cause", "lpp.cause",
11371 FT_UINT32, BASE_DEC, VALS(lpp_T_cause_05_vals), 0,
11372 "T_cause_05", HFILL }},
11373 { &hf_lpp_rsrpMeasurementNotPossible,
11374 { "rsrpMeasurementNotPossible", "lpp.rsrpMeasurementNotPossible_element",
11375 FT_NONE, BASE_NONE, NULL, 0,
11376 NULL, HFILL }},
11377 { &hf_lpp_rsrqMeasurementNotPossible,
11378 { "rsrqMeasurementNotPossible", "lpp.rsrqMeasurementNotPossible_element",
11379 FT_NONE, BASE_NONE, NULL, 0,
11380 NULL, HFILL }},
11381 { &hf_lpp_ueRxTxMeasurementNotPossible,
11382 { "ueRxTxMeasurementNotPossible", "lpp.ueRxTxMeasurementNotPossible_element",
11383 FT_NONE, BASE_NONE, NULL, 0,
11384 NULL, HFILL }},
11385 { &hf_lpp_T_accessTypes_eutra,
11386 { "eutra", "lpp.eutra",
11387 FT_BOOLEAN, 8, NULL, 0x80,
11388 NULL, HFILL }},
11389 { &hf_lpp_T_accessTypes_utra,
11390 { "utra", "lpp.utra",
11391 FT_BOOLEAN, 8, NULL, 0x40,
11392 NULL, HFILL }},
11393 { &hf_lpp_T_accessTypes_gsm,
11394 { "gsm", "lpp.gsm",
11395 FT_BOOLEAN, 8, NULL, 0x20,
11396 NULL, HFILL }},
11397 { &hf_lpp_T_posModes_standalone,
11398 { "standalone", "lpp.standalone",
11399 FT_BOOLEAN, 8, NULL, 0x80,
11400 NULL, HFILL }},
11401 { &hf_lpp_T_posModes_ue_based,
11402 { "ue-based", "lpp.ue-based",
11403 FT_BOOLEAN, 8, NULL, 0x40,
11404 NULL, HFILL }},
11405 { &hf_lpp_T_posModes_ue_assisted,
11406 { "ue-assisted", "lpp.ue-assisted",
11407 FT_BOOLEAN, 8, NULL, 0x20,
11408 NULL, HFILL }},
11409 { &hf_lpp_T_otdoa_Mode_ue_assisted,
11410 { "ue-assisted", "lpp.ue-assisted",
11411 FT_BOOLEAN, 8, NULL, 0x80,
11412 NULL, HFILL }},
11413 { &hf_lpp_T_ionoModel_klobuchar,
11414 { "klobuchar", "lpp.klobuchar",
11415 FT_BOOLEAN, 8, NULL, 0x80,
11416 NULL, HFILL }},
11417 { &hf_lpp_T_ionoModel_neQuick,
11418 { "neQuick", "lpp.neQuick",
11419 FT_BOOLEAN, 8, NULL, 0x40,
11420 NULL, HFILL }},
11421 { &hf_lpp_T_clockModel_model_1,
11422 { "model-1", "lpp.model-1",
11423 FT_BOOLEAN, 8, NULL, 0x80,
11424 NULL, HFILL }},
11425 { &hf_lpp_T_clockModel_model_2,
11426 { "model-2", "lpp.model-2",
11427 FT_BOOLEAN, 8, NULL, 0x40,
11428 NULL, HFILL }},
11429 { &hf_lpp_T_clockModel_model_3,
11430 { "model-3", "lpp.model-3",
11431 FT_BOOLEAN, 8, NULL, 0x20,
11432 NULL, HFILL }},
11433 { &hf_lpp_T_clockModel_model_4,
11434 { "model-4", "lpp.model-4",
11435 FT_BOOLEAN, 8, NULL, 0x10,
11436 NULL, HFILL }},
11437 { &hf_lpp_T_clockModel_model_5,
11438 { "model-5", "lpp.model-5",
11439 FT_BOOLEAN, 8, NULL, 0x08,
11440 NULL, HFILL }},
11441 { &hf_lpp_T_orbitModel_model_1,
11442 { "model-1", "lpp.model-1",
11443 FT_BOOLEAN, 8, NULL, 0x80,
11444 NULL, HFILL }},
11445 { &hf_lpp_T_orbitModel_model_2,
11446 { "model-2", "lpp.model-2",
11447 FT_BOOLEAN, 8, NULL, 0x40,
11448 NULL, HFILL }},
11449 { &hf_lpp_T_orbitModel_model_3,
11450 { "model-3", "lpp.model-3",
11451 FT_BOOLEAN, 8, NULL, 0x20,
11452 NULL, HFILL }},
11453 { &hf_lpp_T_orbitModel_model_4,
11454 { "model-4", "lpp.model-4",
11455 FT_BOOLEAN, 8, NULL, 0x10,
11456 NULL, HFILL }},
11457 { &hf_lpp_T_orbitModel_model_5,
11458 { "model-5", "lpp.model-5",
11459 FT_BOOLEAN, 8, NULL, 0x08,
11460 NULL, HFILL }},
11461 { &hf_lpp_T_almanacModel_model_1,
11462 { "model-1", "lpp.model-1",
11463 FT_BOOLEAN, 8, NULL, 0x80,
11464 NULL, HFILL }},
11465 { &hf_lpp_T_almanacModel_model_2,
11466 { "model-2", "lpp.model-2",
11467 FT_BOOLEAN, 8, NULL, 0x40,
11468 NULL, HFILL }},
11469 { &hf_lpp_T_almanacModel_model_3,
11470 { "model-3", "lpp.model-3",
11471 FT_BOOLEAN, 8, NULL, 0x20,
11472 NULL, HFILL }},
11473 { &hf_lpp_T_almanacModel_model_4,
11474 { "model-4", "lpp.model-4",
11475 FT_BOOLEAN, 8, NULL, 0x10,
11476 NULL, HFILL }},
11477 { &hf_lpp_T_almanacModel_model_5,
11478 { "model-5", "lpp.model-5",
11479 FT_BOOLEAN, 8, NULL, 0x08,
11480 NULL, HFILL }},
11481 { &hf_lpp_T_almanacModel_model_6,
11482 { "model-6", "lpp.model-6",
11483 FT_BOOLEAN, 8, NULL, 0x04,
11484 NULL, HFILL }},
11485 { &hf_lpp_T_utc_Model_model_1,
11486 { "model-1", "lpp.model-1",
11487 FT_BOOLEAN, 8, NULL, 0x80,
11488 NULL, HFILL }},
11489 { &hf_lpp_T_utc_Model_model_2,
11490 { "model-2", "lpp.model-2",
11491 FT_BOOLEAN, 8, NULL, 0x40,
11492 NULL, HFILL }},
11493 { &hf_lpp_T_utc_Model_model_3,
11494 { "model-3", "lpp.model-3",
11495 FT_BOOLEAN, 8, NULL, 0x20,
11496 NULL, HFILL }},
11497 { &hf_lpp_T_utc_Model_model_4,
11498 { "model-4", "lpp.model-4",
11499 FT_BOOLEAN, 8, NULL, 0x10,
11500 NULL, HFILL }},
11501 { &hf_lpp_T_gnss_ids_gps,
11502 { "gps", "lpp.gps",
11503 FT_BOOLEAN, 8, NULL, 0x80,
11504 NULL, HFILL }},
11505 { &hf_lpp_T_gnss_ids_sbas,
11506 { "sbas", "lpp.sbas",
11507 FT_BOOLEAN, 8, NULL, 0x40,
11508 NULL, HFILL }},
11509 { &hf_lpp_T_gnss_ids_qzss,
11510 { "qzss", "lpp.qzss",
11511 FT_BOOLEAN, 8, NULL, 0x20,
11512 NULL, HFILL }},
11513 { &hf_lpp_T_gnss_ids_galileo,
11514 { "galileo", "lpp.galileo",
11515 FT_BOOLEAN, 8, NULL, 0x10,
11516 NULL, HFILL }},
11517 { &hf_lpp_T_gnss_ids_glonass,
11518 { "glonass", "lpp.glonass",
11519 FT_BOOLEAN, 8, NULL, 0x08,
11520 NULL, HFILL }},
11521 { &hf_lpp_T_sbas_IDs_waas,
11522 { "waas", "lpp.waas",
11523 FT_BOOLEAN, 8, NULL, 0x80,
11524 NULL, HFILL }},
11525 { &hf_lpp_T_sbas_IDs_egnos,
11526 { "egnos", "lpp.egnos",
11527 FT_BOOLEAN, 8, NULL, 0x40,
11528 NULL, HFILL }},
11529 { &hf_lpp_T_sbas_IDs_msas,
11530 { "msas", "lpp.msas",
11531 FT_BOOLEAN, 8, NULL, 0x20,
11532 NULL, HFILL }},
11533 { &hf_lpp_T_sbas_IDs_gagan,
11534 { "gagan", "lpp.gagan",
11535 FT_BOOLEAN, 8, NULL, 0x10,
11536 NULL, HFILL }},
11537 { &hf_lpp_T_requestedMeasurements_rsrpReq,
11538 { "rsrpReq", "lpp.rsrpReq",
11539 FT_BOOLEAN, 8, NULL, 0x80,
11540 NULL, HFILL }},
11541 { &hf_lpp_T_requestedMeasurements_rsrqReq,
11542 { "rsrqReq", "lpp.rsrqReq",
11543 FT_BOOLEAN, 8, NULL, 0x40,
11544 NULL, HFILL }},
11545 { &hf_lpp_T_requestedMeasurements_ueRxTxReq,
11546 { "ueRxTxReq", "lpp.ueRxTxReq",
11547 FT_BOOLEAN, 8, NULL, 0x20,
11548 NULL, HFILL }},
11549 { &hf_lpp_T_ecid_MeasSupported_rsrpSup,
11550 { "rsrpSup", "lpp.rsrpSup",
11551 FT_BOOLEAN, 8, NULL, 0x80,
11552 NULL, HFILL }},
11553 { &hf_lpp_T_ecid_MeasSupported_rsrqSup,
11554 { "rsrqSup", "lpp.rsrqSup",
11555 FT_BOOLEAN, 8, NULL, 0x40,
11556 NULL, HFILL }},
11557 { &hf_lpp_T_ecid_MeasSupported_ueRxTxSup,
11558 { "ueRxTxSup", "lpp.ueRxTxSup",
11559 FT_BOOLEAN, 8, NULL, 0x20,
11560 NULL, HFILL }},
11562 /*--- End of included file: packet-lpp-hfarr.c ---*/
11563 #line 77 "../../asn1/lpp/packet-lpp-template.c"
11566 /* List of subtrees */
11567 static gint *ett[] = {
11568 &ett_lpp,
11570 /*--- Included file: packet-lpp-ettarr.c ---*/
11571 #line 1 "../../asn1/lpp/packet-lpp-ettarr.c"
11572 &ett_lpp_LPP_Message,
11573 &ett_lpp_Acknowledgement,
11574 &ett_lpp_LPP_MessageBody,
11575 &ett_lpp_T_c1,
11576 &ett_lpp_T_messageClassExtension,
11577 &ett_lpp_LPP_TransactionID,
11578 &ett_lpp_RequestCapabilities,
11579 &ett_lpp_T_criticalExtensions,
11580 &ett_lpp_T_c1_01,
11581 &ett_lpp_T_criticalExtensionsFuture,
11582 &ett_lpp_RequestCapabilities_r9_IEs,
11583 &ett_lpp_ProvideCapabilities,
11584 &ett_lpp_T_criticalExtensions_01,
11585 &ett_lpp_T_c1_02,
11586 &ett_lpp_T_criticalExtensionsFuture_01,
11587 &ett_lpp_ProvideCapabilities_r9_IEs,
11588 &ett_lpp_RequestAssistanceData,
11589 &ett_lpp_T_criticalExtensions_02,
11590 &ett_lpp_T_c1_03,
11591 &ett_lpp_T_criticalExtensionsFuture_02,
11592 &ett_lpp_RequestAssistanceData_r9_IEs,
11593 &ett_lpp_ProvideAssistanceData,
11594 &ett_lpp_T_criticalExtensions_03,
11595 &ett_lpp_T_c1_04,
11596 &ett_lpp_T_criticalExtensionsFuture_03,
11597 &ett_lpp_ProvideAssistanceData_r9_IEs,
11598 &ett_lpp_RequestLocationInformation,
11599 &ett_lpp_T_criticalExtensions_04,
11600 &ett_lpp_T_c1_05,
11601 &ett_lpp_T_criticalExtensionsFuture_04,
11602 &ett_lpp_RequestLocationInformation_r9_IEs,
11603 &ett_lpp_ProvideLocationInformation,
11604 &ett_lpp_T_criticalExtensions_05,
11605 &ett_lpp_T_c1_06,
11606 &ett_lpp_T_criticalExtensionsFuture_05,
11607 &ett_lpp_ProvideLocationInformation_r9_IEs,
11608 &ett_lpp_Abort,
11609 &ett_lpp_T_criticalExtensions_06,
11610 &ett_lpp_T_c1_07,
11611 &ett_lpp_T_criticalExtensionsFuture_06,
11612 &ett_lpp_Abort_r9_IEs,
11613 &ett_lpp_Error,
11614 &ett_lpp_T_criticalExtensionsFuture_07,
11615 &ett_lpp_Error_r9_IEs,
11616 &ett_lpp_AccessTypes,
11617 &ett_lpp_T_accessTypes,
11618 &ett_lpp_CellGlobalIdEUTRA_AndUTRA,
11619 &ett_lpp_T_plmn_Identity,
11620 &ett_lpp_T_mcc,
11621 &ett_lpp_T_mnc,
11622 &ett_lpp_T_cellIdentity,
11623 &ett_lpp_CellGlobalIdGERAN,
11624 &ett_lpp_T_plmn_Identity_01,
11625 &ett_lpp_T_mcc_01,
11626 &ett_lpp_T_mnc_01,
11627 &ett_lpp_ECGI,
11628 &ett_lpp_T_mcc_02,
11629 &ett_lpp_T_mnc_02,
11630 &ett_lpp_Ellipsoid_Point,
11631 &ett_lpp_Ellipsoid_PointWithUncertaintyCircle,
11632 &ett_lpp_EllipsoidPointWithUncertaintyEllipse,
11633 &ett_lpp_EllipsoidPointWithAltitude,
11634 &ett_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
11635 &ett_lpp_EllipsoidArc,
11636 &ett_lpp_EPDU_Sequence,
11637 &ett_lpp_EPDU,
11638 &ett_lpp_EPDU_Identifier,
11639 &ett_lpp_HorizontalVelocity,
11640 &ett_lpp_HorizontalWithVerticalVelocity,
11641 &ett_lpp_HorizontalVelocityWithUncertainty,
11642 &ett_lpp_HorizontalWithVerticalVelocityAndUncertainty,
11643 &ett_lpp_LocationCoordinateTypes,
11644 &ett_lpp_Polygon,
11645 &ett_lpp_PolygonPoints,
11646 &ett_lpp_PositioningModes,
11647 &ett_lpp_T_posModes,
11648 &ett_lpp_VelocityTypes,
11649 &ett_lpp_CommonIEsRequestCapabilities,
11650 &ett_lpp_CommonIEsProvideCapabilities,
11651 &ett_lpp_CommonIEsRequestAssistanceData,
11652 &ett_lpp_CommonIEsProvideAssistanceData,
11653 &ett_lpp_CommonIEsRequestLocationInformation,
11654 &ett_lpp_PeriodicalReportingCriteria,
11655 &ett_lpp_TriggeredReportingCriteria,
11656 &ett_lpp_QoS,
11657 &ett_lpp_HorizontalAccuracy,
11658 &ett_lpp_VerticalAccuracy,
11659 &ett_lpp_ResponseTime,
11660 &ett_lpp_CommonIEsProvideLocationInformation,
11661 &ett_lpp_LocationCoordinates,
11662 &ett_lpp_Velocity,
11663 &ett_lpp_LocationError,
11664 &ett_lpp_CommonIEsAbort,
11665 &ett_lpp_CommonIEsError,
11666 &ett_lpp_OTDOA_ProvideAssistanceData,
11667 &ett_lpp_OTDOA_ReferenceCellInfo,
11668 &ett_lpp_PRS_Info,
11669 &ett_lpp_T_prs_MutingInfo_r9,
11670 &ett_lpp_OTDOA_NeighbourCellInfoList,
11671 &ett_lpp_OTDOA_NeighbourFreqInfo,
11672 &ett_lpp_OTDOA_NeighbourCellInfoElement,
11673 &ett_lpp_OTDOA_RequestAssistanceData,
11674 &ett_lpp_OTDOA_ProvideLocationInformation,
11675 &ett_lpp_OTDOA_SignalMeasurementInformation,
11676 &ett_lpp_NeighbourMeasurementList,
11677 &ett_lpp_NeighbourMeasurementElement,
11678 &ett_lpp_OTDOA_MeasQuality,
11679 &ett_lpp_OTDOA_RequestLocationInformation,
11680 &ett_lpp_OTDOA_ProvideCapabilities,
11681 &ett_lpp_T_otdoa_Mode,
11682 &ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA,
11683 &ett_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0,
11684 &ett_lpp_SupportedBandEUTRA,
11685 &ett_lpp_SupportedBandEUTRA_v9a0,
11686 &ett_lpp_OTDOA_RequestCapabilities,
11687 &ett_lpp_OTDOA_Error,
11688 &ett_lpp_OTDOA_LocationServerErrorCauses,
11689 &ett_lpp_OTDOA_TargetDeviceErrorCauses,
11690 &ett_lpp_A_GNSS_ProvideAssistanceData,
11691 &ett_lpp_GNSS_CommonAssistData,
11692 &ett_lpp_GNSS_GenericAssistData,
11693 &ett_lpp_GNSS_GenericAssistDataElement,
11694 &ett_lpp_GNSS_ReferenceTime,
11695 &ett_lpp_SEQUENCE_SIZE_1_16_OF_GNSS_ReferenceTimeForOneCell,
11696 &ett_lpp_GNSS_ReferenceTimeForOneCell,
11697 &ett_lpp_GNSS_SystemTime,
11698 &ett_lpp_GPS_TOW_Assist,
11699 &ett_lpp_GPS_TOW_AssistElement,
11700 &ett_lpp_NetworkTime,
11701 &ett_lpp_T_cellID,
11702 &ett_lpp_T_eUTRA,
11703 &ett_lpp_T_uTRA,
11704 &ett_lpp_T_mode,
11705 &ett_lpp_T_fdd,
11706 &ett_lpp_T_tdd,
11707 &ett_lpp_T_gSM,
11708 &ett_lpp_GNSS_ReferenceLocation,
11709 &ett_lpp_GNSS_IonosphericModel,
11710 &ett_lpp_KlobucharModelParameter,
11711 &ett_lpp_NeQuickModelParameter,
11712 &ett_lpp_GNSS_EarthOrientationParameters,
11713 &ett_lpp_GNSS_TimeModelList,
11714 &ett_lpp_GNSS_TimeModelElement,
11715 &ett_lpp_GNSS_DifferentialCorrections,
11716 &ett_lpp_DGNSS_SgnTypeList,
11717 &ett_lpp_DGNSS_SgnTypeElement,
11718 &ett_lpp_DGNSS_SatList,
11719 &ett_lpp_DGNSS_CorrectionsElement,
11720 &ett_lpp_GNSS_NavigationModel,
11721 &ett_lpp_GNSS_NavModelSatelliteList,
11722 &ett_lpp_GNSS_NavModelSatelliteElement,
11723 &ett_lpp_GNSS_ClockModel,
11724 &ett_lpp_GNSS_OrbitModel,
11725 &ett_lpp_StandardClockModelList,
11726 &ett_lpp_StandardClockModelElement,
11727 &ett_lpp_NAV_ClockModel,
11728 &ett_lpp_CNAV_ClockModel,
11729 &ett_lpp_GLONASS_ClockModel,
11730 &ett_lpp_SBAS_ClockModel,
11731 &ett_lpp_NavModelKeplerianSet,
11732 &ett_lpp_NavModelNAV_KeplerianSet,
11733 &ett_lpp_T_addNAVparam,
11734 &ett_lpp_T_ephemSF1Rsvd,
11735 &ett_lpp_NavModelCNAV_KeplerianSet,
11736 &ett_lpp_NavModel_GLONASS_ECEF,
11737 &ett_lpp_NavModel_SBAS_ECEF,
11738 &ett_lpp_GNSS_RealTimeIntegrity,
11739 &ett_lpp_GNSS_BadSignalList,
11740 &ett_lpp_BadSignalElement,
11741 &ett_lpp_GNSS_DataBitAssistance,
11742 &ett_lpp_GNSS_DataBitsSatList,
11743 &ett_lpp_GNSS_DataBitsSatElement,
11744 &ett_lpp_GNSS_DataBitsSgnList,
11745 &ett_lpp_GNSS_DataBitsSgnElement,
11746 &ett_lpp_GNSS_AcquisitionAssistance,
11747 &ett_lpp_GNSS_AcquisitionAssistList,
11748 &ett_lpp_GNSS_AcquisitionAssistElement,
11749 &ett_lpp_GNSS_Almanac,
11750 &ett_lpp_GNSS_AlmanacList,
11751 &ett_lpp_GNSS_AlmanacElement,
11752 &ett_lpp_AlmanacKeplerianSet,
11753 &ett_lpp_AlmanacNAV_KeplerianSet,
11754 &ett_lpp_AlmanacReducedKeplerianSet,
11755 &ett_lpp_AlmanacMidiAlmanacSet,
11756 &ett_lpp_AlmanacGLONASS_AlmanacSet,
11757 &ett_lpp_AlmanacECEF_SBAS_AlmanacSet,
11758 &ett_lpp_GNSS_UTC_Model,
11759 &ett_lpp_UTC_ModelSet1,
11760 &ett_lpp_UTC_ModelSet2,
11761 &ett_lpp_UTC_ModelSet3,
11762 &ett_lpp_UTC_ModelSet4,
11763 &ett_lpp_GNSS_AuxiliaryInformation,
11764 &ett_lpp_GNSS_ID_GPS,
11765 &ett_lpp_GNSS_ID_GPS_SatElement,
11766 &ett_lpp_GNSS_ID_GLONASS,
11767 &ett_lpp_GNSS_ID_GLONASS_SatElement,
11768 &ett_lpp_A_GNSS_RequestAssistanceData,
11769 &ett_lpp_GNSS_CommonAssistDataReq,
11770 &ett_lpp_GNSS_GenericAssistDataReq,
11771 &ett_lpp_GNSS_GenericAssistDataReqElement,
11772 &ett_lpp_GNSS_ReferenceTimeReq,
11773 &ett_lpp_SEQUENCE_SIZE_1_8_OF_GNSS_ID,
11774 &ett_lpp_GNSS_ReferenceLocationReq,
11775 &ett_lpp_GNSS_IonosphericModelReq,
11776 &ett_lpp_GNSS_EarthOrientationParametersReq,
11777 &ett_lpp_GNSS_TimeModelListReq,
11778 &ett_lpp_GNSS_TimeModelElementReq,
11779 &ett_lpp_GNSS_DifferentialCorrectionsReq,
11780 &ett_lpp_GNSS_NavigationModelReq,
11781 &ett_lpp_StoredNavListInfo,
11782 &ett_lpp_SatListRelatedDataList,
11783 &ett_lpp_SatListRelatedDataElement,
11784 &ett_lpp_ReqNavListInfo,
11785 &ett_lpp_T_clockModelID_PrefList,
11786 &ett_lpp_T_orbitModelID_PrefList,
11787 &ett_lpp_GNSS_RealTimeIntegrityReq,
11788 &ett_lpp_GNSS_DataBitAssistanceReq,
11789 &ett_lpp_GNSS_DataBitsReqSatList,
11790 &ett_lpp_GNSS_DataBitsReqSatElement,
11791 &ett_lpp_GNSS_AcquisitionAssistanceReq,
11792 &ett_lpp_GNSS_AlmanacReq,
11793 &ett_lpp_GNSS_UTC_ModelReq,
11794 &ett_lpp_GNSS_AuxiliaryInformationReq,
11795 &ett_lpp_A_GNSS_ProvideLocationInformation,
11796 &ett_lpp_GNSS_SignalMeasurementInformation,
11797 &ett_lpp_MeasurementReferenceTime,
11798 &ett_lpp_T_networkTime,
11799 &ett_lpp_T_eUTRA_01,
11800 &ett_lpp_T_uTRA_01,
11801 &ett_lpp_T_mode_01,
11802 &ett_lpp_T_fdd_01,
11803 &ett_lpp_T_tdd_01,
11804 &ett_lpp_T_gSM_01,
11805 &ett_lpp_T_referenceFrame,
11806 &ett_lpp_GNSS_MeasurementList,
11807 &ett_lpp_GNSS_MeasurementForOneGNSS,
11808 &ett_lpp_GNSS_SgnMeasList,
11809 &ett_lpp_GNSS_SgnMeasElement,
11810 &ett_lpp_GNSS_SatMeasList,
11811 &ett_lpp_GNSS_SatMeasElement,
11812 &ett_lpp_GNSS_LocationInformation,
11813 &ett_lpp_A_GNSS_RequestLocationInformation,
11814 &ett_lpp_GNSS_PositioningInstructions,
11815 &ett_lpp_A_GNSS_ProvideCapabilities,
11816 &ett_lpp_GNSS_SupportList,
11817 &ett_lpp_GNSS_SupportElement,
11818 &ett_lpp_T_fta_MeasSupport,
11819 &ett_lpp_AssistanceDataSupportList,
11820 &ett_lpp_GNSS_CommonAssistanceDataSupport,
11821 &ett_lpp_GNSS_ReferenceTimeSupport,
11822 &ett_lpp_GNSS_ReferenceLocationSupport,
11823 &ett_lpp_GNSS_IonosphericModelSupport,
11824 &ett_lpp_T_ionoModel,
11825 &ett_lpp_GNSS_EarthOrientationParametersSupport,
11826 &ett_lpp_GNSS_GenericAssistanceDataSupport,
11827 &ett_lpp_GNSS_GenericAssistDataSupportElement,
11828 &ett_lpp_GNSS_TimeModelListSupport,
11829 &ett_lpp_GNSS_DifferentialCorrectionsSupport,
11830 &ett_lpp_GNSS_NavigationModelSupport,
11831 &ett_lpp_T_clockModel,
11832 &ett_lpp_T_orbitModel,
11833 &ett_lpp_GNSS_RealTimeIntegritySupport,
11834 &ett_lpp_GNSS_DataBitAssistanceSupport,
11835 &ett_lpp_GNSS_AcquisitionAssistanceSupport,
11836 &ett_lpp_GNSS_AlmanacSupport,
11837 &ett_lpp_T_almanacModel,
11838 &ett_lpp_GNSS_UTC_ModelSupport,
11839 &ett_lpp_T_utc_Model,
11840 &ett_lpp_GNSS_AuxiliaryInformationSupport,
11841 &ett_lpp_A_GNSS_RequestCapabilities,
11842 &ett_lpp_A_GNSS_Error,
11843 &ett_lpp_GNSS_LocationServerErrorCauses,
11844 &ett_lpp_GNSS_TargetDeviceErrorCauses,
11845 &ett_lpp_GNSS_ID,
11846 &ett_lpp_GNSS_ID_Bitmap,
11847 &ett_lpp_T_gnss_ids,
11848 &ett_lpp_GNSS_SignalID,
11849 &ett_lpp_GNSS_SignalIDs,
11850 &ett_lpp_SBAS_ID,
11851 &ett_lpp_SBAS_IDs,
11852 &ett_lpp_T_sbas_IDs,
11853 &ett_lpp_SV_ID,
11854 &ett_lpp_ECID_ProvideLocationInformation,
11855 &ett_lpp_ECID_SignalMeasurementInformation,
11856 &ett_lpp_MeasuredResultsList,
11857 &ett_lpp_MeasuredResultsElement,
11858 &ett_lpp_ECID_RequestLocationInformation,
11859 &ett_lpp_T_requestedMeasurements,
11860 &ett_lpp_ECID_ProvideCapabilities,
11861 &ett_lpp_T_ecid_MeasSupported,
11862 &ett_lpp_ECID_RequestCapabilities,
11863 &ett_lpp_ECID_Error,
11864 &ett_lpp_ECID_LocationServerErrorCauses,
11865 &ett_lpp_ECID_TargetDeviceErrorCauses,
11867 /*--- End of included file: packet-lpp-ettarr.c ---*/
11868 #line 83 "../../asn1/lpp/packet-lpp-template.c"
11872 /* Register protocol */
11873 proto_lpp = proto_register_protocol(PNAME, PSNAME, PFNAME);
11874 new_register_dissector("lpp", dissect_LPP_Message_PDU, proto_lpp);
11876 /* Register fields and subtrees */
11877 proto_register_field_array(proto_lpp, hf, array_length(hf));
11878 proto_register_subtree_array(ett, array_length(ett));
11884 /*--- proto_reg_handoff_lpp ---------------------------------------*/
11885 void
11886 proto_reg_handoff_lpp(void)
11888 lppe_handle = find_dissector("lppe");