Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / packet-rrlp.c
blobe6826e032cbafd61b6020f0624c5bddc0e165865
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-rrlp.c */
4 /* asn2wrs.py -q -L -p rrlp -c ./rrlp.cnf -s ./packet-rrlp-template -D . -O ../.. ../gsm_map/MAP-ExtensionDataTypes.asn ../gsm_map/MAP-LCS-DataTypes.asn RRLP-Messages.asn RRLP-Components.asn */
6 /* packet-rrlp.c
7 * Routines for 3GPP Radio Resource LCS Protocol (RRLP) packet dissection
8 * Copyright 2006, Anders Broman <anders.broman@ericsson.com>
10 * Wireshark - Network traffic analyzer
11 * By Gerald Combs <gerald@wireshark.org>
12 * Copyright 1998 Gerald Combs
14 * SPDX-License-Identifier: GPL-2.0-or-later
16 * Ref 3GPP TS 44.031 version 18.0.0 Release 18
17 * http://www.3gpp.org
20 #include "config.h"
22 #include <epan/packet.h>
23 #include <epan/asn1.h>
24 #include <wsutil/array.h>
26 #include "packet-ber.h"
27 #include "packet-per.h"
28 #include "packet-gsm_a_common.h"
30 #define PNAME "Radio Resource LCS Protocol (RRLP)"
31 #define PSNAME "RRLP"
32 #define PFNAME "rrlp"
36 #ifdef _MSC_VER
37 /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
38 #pragma warning(disable:4146)
39 #endif
41 void proto_register_rrlp(void);
42 void proto_reg_handoff_rrlp(void);
44 /* Initialize the protocol and registered fields */
45 static int proto_rrlp;
48 static int hf_rrlp_PDU_PDU; /* PDU */
49 static int hf_rrlp_privateExtensionList; /* PrivateExtensionList */
50 static int hf_rrlp_pcs_Extensions; /* PCS_Extensions */
51 static int hf_rrlp_PrivateExtensionList_item; /* PrivateExtension */
52 static int hf_rrlp_extId; /* OBJECT_IDENTIFIER */
53 static int hf_rrlp_extType; /* T_extType */
54 static int hf_rrlp_referenceNumber; /* INTEGER_0_7 */
55 static int hf_rrlp_component; /* RRLP_Component */
56 static int hf_rrlp_msrPositionReq; /* MsrPosition_Req */
57 static int hf_rrlp_msrPositionRsp; /* MsrPosition_Rsp */
58 static int hf_rrlp_assistanceData; /* AssistanceData */
59 static int hf_rrlp_assistanceDataAck; /* NULL */
60 static int hf_rrlp_protocolError; /* ProtocolError */
61 static int hf_rrlp_posCapabilityReq; /* PosCapability_Req */
62 static int hf_rrlp_posCapabilityRsp; /* PosCapability_Rsp */
63 static int hf_rrlp_multilaterationOTDReq; /* MultilaterationOTD_Req */
64 static int hf_rrlp_multilaterationOTDRsp; /* MultilaterationOTD_Rsp */
65 static int hf_rrlp_posMTAReq; /* PosMTA_Req */
66 static int hf_rrlp_positionInstruct; /* PositionInstruct */
67 static int hf_rrlp_referenceAssistData; /* ReferenceAssistData */
68 static int hf_rrlp_msrAssistData; /* MsrAssistData */
69 static int hf_rrlp_systemInfoAssistData; /* SystemInfoAssistData */
70 static int hf_rrlp_gps_AssistData; /* GPS_AssistData */
71 static int hf_rrlp_extensionContainer; /* ExtensionContainer */
72 static int hf_rrlp_rel98_MsrPosition_Req_extension; /* Rel98_MsrPosition_Req_Extension */
73 static int hf_rrlp_rel5_MsrPosition_Req_extension; /* Rel5_MsrPosition_Req_Extension */
74 static int hf_rrlp_rel7_MsrPosition_Req_extension; /* Rel7_MsrPosition_Req_Extension */
75 static int hf_rrlp_multipleSets; /* MultipleSets */
76 static int hf_rrlp_referenceIdentity; /* ReferenceIdentity */
77 static int hf_rrlp_otd_MeasureInfo; /* OTD_MeasureInfo */
78 static int hf_rrlp_locationInfo; /* LocationInfo */
79 static int hf_rrlp_gps_MeasureInfo; /* GPS_MeasureInfo */
80 static int hf_rrlp_locationError; /* LocationError */
81 static int hf_rrlp_rel_98_MsrPosition_Rsp_Extension; /* Rel_98_MsrPosition_Rsp_Extension */
82 static int hf_rrlp_rel_5_MsrPosition_Rsp_Extension; /* Rel_5_MsrPosition_Rsp_Extension */
83 static int hf_rrlp_rel_7_MsrPosition_Rsp_Extension; /* Rel_7_MsrPosition_Rsp_Extension */
84 static int hf_rrlp_moreAssDataToBeSent; /* MoreAssDataToBeSent */
85 static int hf_rrlp_rel98_AssistanceData_Extension; /* Rel98_AssistanceData_Extension */
86 static int hf_rrlp_rel5_AssistanceData_Extension; /* Rel5_AssistanceData_Extension */
87 static int hf_rrlp_rel7_AssistanceData_Extension; /* Rel7_AssistanceData_Extension */
88 static int hf_rrlp_errorCause; /* ErrorCodes */
89 static int hf_rrlp_rel_5_ProtocolError_Extension; /* Rel_5_ProtocolError_Extension */
90 static int hf_rrlp_extended_reference; /* Extended_reference */
91 static int hf_rrlp_gANSSPositionMethods; /* GANSSPositionMethods */
92 static int hf_rrlp_posCapabilities; /* PosCapabilities */
93 static int hf_rrlp_assistanceSupported; /* AssistanceSupported */
94 static int hf_rrlp_assistanceNeeded; /* AssistanceNeeded */
95 static int hf_rrlp_target_Number_of_Cells; /* INTEGER_0_7 */
96 static int hf_rrlp_requested_MS_Synchronization_Accuracy; /* INTEGER_0_15 */
97 static int hf_rrlp_mta_Method; /* MTA_Method */
98 static int hf_rrlp_random_ID_Set; /* Random_ID_Set */
99 static int hf_rrlp_mpm_Timer; /* INTEGER_0_7 */
100 static int hf_rrlp_serving_cell; /* BOOLEAN */
101 static int hf_rrlp_co_sited_cells; /* Co_Sited_Cells */
102 static int hf_rrlp_cell_Set1; /* Cell_Set */
103 static int hf_rrlp_cell_Set2; /* Cell_Set */
104 static int hf_rrlp_cell_Set3; /* Cell_Set */
105 static int hf_rrlp_cell_Set4; /* Cell_Set */
106 static int hf_rrlp_cell_Set5; /* Cell_Set */
107 static int hf_rrlp_cell_Set6; /* Cell_Set */
108 static int hf_rrlp_cell_Set7; /* Cell_Set */
109 static int hf_rrlp_cell_Set8; /* Cell_Set */
110 static int hf_rrlp_mta_security; /* MTA_Security */
111 static int hf_rrlp_targetNumOTDMeasurements; /* INTEGER */
112 static int hf_rrlp_requiredDLSyncAccuracy; /* INTEGER */
113 static int hf_rrlp_neighbourCellSets; /* CellSets */
114 static int hf_rrlp_servingCellSet; /* CellSet */
115 static int hf_rrlp_servingCellDLAccuracy; /* INTEGER_1_16 */
116 static int hf_rrlp_oTDMeasurementResults; /* OTDMeasurementResults */
117 static int hf_rrlp_rXLEVMeasurementResults; /* RXLEVMeasurementResults */
118 static int hf_rrlp_methodType; /* MethodType */
119 static int hf_rrlp_positionMethod; /* PositionMethod */
120 static int hf_rrlp_measureResponseTime; /* MeasureResponseTime */
121 static int hf_rrlp_useMultipleSets; /* UseMultipleSets */
122 static int hf_rrlp_environmentCharacter; /* EnvironmentCharacter */
123 static int hf_rrlp_msAssisted; /* AccuracyOpt */
124 static int hf_rrlp_msBased; /* Accuracy */
125 static int hf_rrlp_msBasedPref; /* Accuracy */
126 static int hf_rrlp_msAssistedPref; /* Accuracy */
127 static int hf_rrlp_accuracy; /* Accuracy */
128 static int hf_rrlp_bcchCarrier; /* BCCHCarrier */
129 static int hf_rrlp_bsic; /* BSIC */
130 static int hf_rrlp_timeSlotScheme; /* TimeSlotScheme */
131 static int hf_rrlp_btsPosition; /* BTSPosition */
132 static int hf_rrlp_msrAssistList; /* SeqOfMsrAssistBTS */
133 static int hf_rrlp_SeqOfMsrAssistBTS_item; /* MsrAssistBTS */
134 static int hf_rrlp_multiFrameOffset; /* MultiFrameOffset */
135 static int hf_rrlp_roughRTD; /* RoughRTD */
136 static int hf_rrlp_calcAssistanceBTS; /* CalcAssistanceBTS */
137 static int hf_rrlp_systemInfoAssistList; /* SeqOfSystemInfoAssistBTS */
138 static int hf_rrlp_SeqOfSystemInfoAssistBTS_item; /* SystemInfoAssistBTS */
139 static int hf_rrlp_notPresent; /* NULL */
140 static int hf_rrlp_present; /* AssistBTSData */
141 static int hf_rrlp_fineRTD; /* FineRTD */
142 static int hf_rrlp_referenceWGS84; /* ReferenceWGS84 */
143 static int hf_rrlp_relativeNorth; /* RelDistance */
144 static int hf_rrlp_relativeEast; /* RelDistance */
145 static int hf_rrlp_relativeAlt; /* RelativeAlt */
146 static int hf_rrlp_nbrOfSets; /* INTEGER_2_3 */
147 static int hf_rrlp_nbrOfReferenceBTSs; /* INTEGER_1_3 */
148 static int hf_rrlp_referenceRelation; /* ReferenceRelation */
149 static int hf_rrlp_refBTSList; /* SeqOfReferenceIdentityType */
150 static int hf_rrlp_SeqOfReferenceIdentityType_item; /* ReferenceIdentityType */
151 static int hf_rrlp_bsicAndCarrier; /* BSICAndCarrier */
152 static int hf_rrlp_ci; /* CellID */
153 static int hf_rrlp_requestIndex; /* RequestIndex */
154 static int hf_rrlp_systemInfoIndex; /* SystemInfoIndex */
155 static int hf_rrlp_ciAndLAC; /* CellIDAndLAC */
156 static int hf_rrlp_carrier; /* BCCHCarrier */
157 static int hf_rrlp_referenceLAC; /* LAC */
158 static int hf_rrlp_referenceCI; /* CellID */
159 static int hf_rrlp_otdMsrFirstSets; /* OTD_MsrElementFirst */
160 static int hf_rrlp_otdMsrRestSets; /* SeqOfOTD_MsrElementRest */
161 static int hf_rrlp_SeqOfOTD_MsrElementRest_item; /* OTD_MsrElementRest */
162 static int hf_rrlp_refFrameNumber; /* INTEGER_0_42431 */
163 static int hf_rrlp_referenceTimeSlot; /* ModuloTimeSlot */
164 static int hf_rrlp_toaMeasurementsOfRef; /* TOA_MeasurementsOfRef */
165 static int hf_rrlp_stdResolution; /* StdResolution */
166 static int hf_rrlp_taCorrection; /* INTEGER_0_960 */
167 static int hf_rrlp_otd_FirstSetMsrs; /* SeqOfOTD_FirstSetMsrs */
168 static int hf_rrlp_SeqOfOTD_FirstSetMsrs_item; /* OTD_FirstSetMsrs */
169 static int hf_rrlp_otd_MsrsOfOtherSets; /* SeqOfOTD_MsrsOfOtherSets */
170 static int hf_rrlp_SeqOfOTD_MsrsOfOtherSets_item; /* OTD_MsrsOfOtherSets */
171 static int hf_rrlp_refQuality; /* RefQuality */
172 static int hf_rrlp_numOfMeasurements; /* NumOfMeasurements */
173 static int hf_rrlp_identityNotPresent; /* OTD_Measurement */
174 static int hf_rrlp_identityPresent; /* OTD_MeasurementWithID */
175 static int hf_rrlp_nborTimeSlot; /* ModuloTimeSlot */
176 static int hf_rrlp_eotdQuality; /* EOTDQuality */
177 static int hf_rrlp_otdValue; /* OTDValue */
178 static int hf_rrlp_neighborIdentity; /* NeighborIdentity */
179 static int hf_rrlp_nbrOfMeasurements; /* INTEGER_0_7 */
180 static int hf_rrlp_stdOfEOTD; /* INTEGER_0_31 */
181 static int hf_rrlp_multiFrameCarrier; /* MultiFrameCarrier */
182 static int hf_rrlp_refFrame; /* INTEGER_0_65535 */
183 static int hf_rrlp_gpsTOW; /* INTEGER_0_14399999 */
184 static int hf_rrlp_fixType; /* FixType */
185 static int hf_rrlp_posEstimate; /* Ext_GeographicalInformation */
186 static int hf_rrlp_gpsMsrSetList; /* SeqOfGPS_MsrSetElement */
187 static int hf_rrlp_SeqOfGPS_MsrSetElement_item; /* GPS_MsrSetElement */
188 static int hf_rrlp_gpsTOW_01; /* GPSTOW24b */
189 static int hf_rrlp_gps_msrList; /* SeqOfGPS_MsrElement */
190 static int hf_rrlp_SeqOfGPS_MsrElement_item; /* GPS_MsrElement */
191 static int hf_rrlp_satelliteID; /* SatelliteID */
192 static int hf_rrlp_cNo; /* INTEGER_0_63 */
193 static int hf_rrlp_doppler; /* INTEGER_M32768_32767 */
194 static int hf_rrlp_wholeChips; /* INTEGER_0_1022 */
195 static int hf_rrlp_fracChips; /* INTEGER_0_1024 */
196 static int hf_rrlp_mpathIndic; /* MpathIndic */
197 static int hf_rrlp_pseuRangeRMSErr; /* INTEGER_0_63 */
198 static int hf_rrlp_locErrorReason; /* LocErrorReason */
199 static int hf_rrlp_additionalAssistanceData; /* AdditionalAssistanceData */
200 static int hf_rrlp_gpsAssistanceData; /* GPSAssistanceData */
201 static int hf_rrlp_ganssAssistanceData; /* GANSSAssistanceData */
202 static int hf_rrlp_controlHeader; /* ControlHeader */
203 static int hf_rrlp_referenceTime; /* ReferenceTime */
204 static int hf_rrlp_refLocation; /* RefLocation */
205 static int hf_rrlp_dgpsCorrections; /* DGPSCorrections */
206 static int hf_rrlp_navigationModel; /* NavigationModel */
207 static int hf_rrlp_ionosphericModel; /* IonosphericModel */
208 static int hf_rrlp_utcModel; /* UTCModel */
209 static int hf_rrlp_almanac; /* Almanac */
210 static int hf_rrlp_acquisAssist; /* AcquisAssist */
211 static int hf_rrlp_realTimeIntegrity; /* SeqOf_BadSatelliteSet */
212 static int hf_rrlp_gpsTime; /* GPSTime */
213 static int hf_rrlp_gsmTime; /* GSMTime */
214 static int hf_rrlp_gpsTowAssist; /* GPSTOWAssist */
215 static int hf_rrlp_gpsTOW23b; /* GPSTOW23b */
216 static int hf_rrlp_gpsWeek; /* GPSWeek */
217 static int hf_rrlp_GPSTOWAssist_item; /* GPSTOWAssistElement */
218 static int hf_rrlp_tlmWord; /* TLMWord */
219 static int hf_rrlp_antiSpoof; /* AntiSpoofFlag */
220 static int hf_rrlp_alert; /* AlertFlag */
221 static int hf_rrlp_tlmRsvdBits; /* TLMReservedBits */
222 static int hf_rrlp_frameNumber; /* FrameNumber */
223 static int hf_rrlp_timeSlot; /* TimeSlot */
224 static int hf_rrlp_bitNumber; /* BitNumber */
225 static int hf_rrlp_threeDLocation; /* Ext_GeographicalInformation */
226 static int hf_rrlp_gpsTOW_02; /* INTEGER_0_604799 */
227 static int hf_rrlp_status; /* INTEGER_0_7 */
228 static int hf_rrlp_satList; /* SeqOfSatElement */
229 static int hf_rrlp_SeqOfSatElement_item; /* SatElement */
230 static int hf_rrlp_iode; /* INTEGER_0_239 */
231 static int hf_rrlp_udre; /* INTEGER_0_3 */
232 static int hf_rrlp_pseudoRangeCor; /* INTEGER_M2047_2047 */
233 static int hf_rrlp_rangeRateCor; /* INTEGER_M127_127 */
234 static int hf_rrlp_deltaPseudoRangeCor2; /* INTEGER_M127_127 */
235 static int hf_rrlp_deltaRangeRateCor2; /* INTEGER_M7_7 */
236 static int hf_rrlp_deltaPseudoRangeCor3; /* INTEGER_M127_127 */
237 static int hf_rrlp_deltaRangeRateCor3; /* INTEGER_M7_7 */
238 static int hf_rrlp_navModelList; /* SeqOfNavModelElement */
239 static int hf_rrlp_SeqOfNavModelElement_item; /* NavModelElement */
240 static int hf_rrlp_satStatus; /* SatStatus */
241 static int hf_rrlp_newSatelliteAndModelUC; /* UncompressedEphemeris */
242 static int hf_rrlp_oldSatelliteAndModel; /* NULL */
243 static int hf_rrlp_newNaviModelUC; /* UncompressedEphemeris */
244 static int hf_rrlp_ephemCodeOnL2; /* INTEGER_0_3 */
245 static int hf_rrlp_ephemURA; /* INTEGER_0_15 */
246 static int hf_rrlp_ephemSVhealth; /* INTEGER_0_63 */
247 static int hf_rrlp_ephemIODC; /* INTEGER_0_1023 */
248 static int hf_rrlp_ephemL2Pflag; /* INTEGER_0_1 */
249 static int hf_rrlp_ephemSF1Rsvd; /* EphemerisSubframe1Reserved */
250 static int hf_rrlp_ephemTgd; /* INTEGER_M128_127 */
251 static int hf_rrlp_ephemToc; /* INTEGER_0_37799 */
252 static int hf_rrlp_ephemAF2; /* INTEGER_M128_127 */
253 static int hf_rrlp_ephemAF1; /* INTEGER_M32768_32767 */
254 static int hf_rrlp_ephemAF0; /* INTEGER_M2097152_2097151 */
255 static int hf_rrlp_ephemCrs; /* INTEGER_M32768_32767 */
256 static int hf_rrlp_ephemDeltaN; /* INTEGER_M32768_32767 */
257 static int hf_rrlp_ephemM0; /* INTEGER_M2147483648_2147483647 */
258 static int hf_rrlp_ephemCuc; /* INTEGER_M32768_32767 */
259 static int hf_rrlp_ephemE; /* INTEGER_0_4294967295 */
260 static int hf_rrlp_ephemCus; /* INTEGER_M32768_32767 */
261 static int hf_rrlp_ephemAPowerHalf; /* INTEGER_0_4294967295 */
262 static int hf_rrlp_ephemToe; /* INTEGER_0_37799 */
263 static int hf_rrlp_ephemFitFlag; /* INTEGER_0_1 */
264 static int hf_rrlp_ephemAODA; /* INTEGER_0_31 */
265 static int hf_rrlp_ephemCic; /* INTEGER_M32768_32767 */
266 static int hf_rrlp_ephemOmegaA0; /* INTEGER_M2147483648_2147483647 */
267 static int hf_rrlp_ephemCis; /* INTEGER_M32768_32767 */
268 static int hf_rrlp_ephemI0; /* INTEGER_M2147483648_2147483647 */
269 static int hf_rrlp_ephemCrc; /* INTEGER_M32768_32767 */
270 static int hf_rrlp_ephemW; /* INTEGER_M2147483648_2147483647 */
271 static int hf_rrlp_ephemOmegaADot; /* INTEGER_M8388608_8388607 */
272 static int hf_rrlp_ephemIDot; /* INTEGER_M8192_8191 */
273 static int hf_rrlp_reserved1; /* INTEGER_0_8388607 */
274 static int hf_rrlp_reserved2; /* INTEGER_0_16777215 */
275 static int hf_rrlp_reserved3; /* INTEGER_0_16777215 */
276 static int hf_rrlp_reserved4; /* INTEGER_0_65535 */
277 static int hf_rrlp_alfa0; /* INTEGER_M128_127 */
278 static int hf_rrlp_alfa1; /* INTEGER_M128_127 */
279 static int hf_rrlp_alfa2; /* INTEGER_M128_127 */
280 static int hf_rrlp_alfa3; /* INTEGER_M128_127 */
281 static int hf_rrlp_beta0; /* INTEGER_M128_127 */
282 static int hf_rrlp_beta1; /* INTEGER_M128_127 */
283 static int hf_rrlp_beta2; /* INTEGER_M128_127 */
284 static int hf_rrlp_beta3; /* INTEGER_M128_127 */
285 static int hf_rrlp_utcA1; /* INTEGER_M8388608_8388607 */
286 static int hf_rrlp_utcA0; /* INTEGER_M2147483648_2147483647 */
287 static int hf_rrlp_utcTot; /* INTEGER_0_255 */
288 static int hf_rrlp_utcWNt; /* INTEGER_0_255 */
289 static int hf_rrlp_utcDeltaTls; /* INTEGER_M128_127 */
290 static int hf_rrlp_utcWNlsf; /* INTEGER_0_255 */
291 static int hf_rrlp_utcDN; /* INTEGER_M128_127 */
292 static int hf_rrlp_utcDeltaTlsf; /* INTEGER_M128_127 */
293 static int hf_rrlp_alamanacWNa; /* INTEGER_0_255 */
294 static int hf_rrlp_almanacList; /* SeqOfAlmanacElement */
295 static int hf_rrlp_SeqOfAlmanacElement_item; /* AlmanacElement */
296 static int hf_rrlp_almanacE; /* INTEGER_0_65535 */
297 static int hf_rrlp_alamanacToa; /* INTEGER_0_255 */
298 static int hf_rrlp_almanacKsii; /* INTEGER_M32768_32767 */
299 static int hf_rrlp_almanacOmegaDot; /* INTEGER_M32768_32767 */
300 static int hf_rrlp_almanacSVhealth; /* INTEGER_0_255 */
301 static int hf_rrlp_almanacAPowerHalf; /* INTEGER_0_16777215 */
302 static int hf_rrlp_almanacOmega0; /* INTEGER_M8388608_8388607 */
303 static int hf_rrlp_almanacW; /* INTEGER_M8388608_8388607 */
304 static int hf_rrlp_almanacM0; /* INTEGER_M8388608_8388607 */
305 static int hf_rrlp_almanacAF0; /* INTEGER_M1024_1023 */
306 static int hf_rrlp_almanacAF1; /* INTEGER_M1024_1023 */
307 static int hf_rrlp_timeRelation; /* TimeRelation */
308 static int hf_rrlp_acquisList; /* SeqOfAcquisElement */
309 static int hf_rrlp_SeqOfAcquisElement_item; /* AcquisElement */
310 static int hf_rrlp_gpsTOW_03; /* GPSTOW23b */
311 static int hf_rrlp_svid; /* SatelliteID */
312 static int hf_rrlp_doppler0; /* INTEGER_M2048_2047 */
313 static int hf_rrlp_addionalDoppler; /* AddionalDopplerFields */
314 static int hf_rrlp_codePhase; /* INTEGER_0_1022 */
315 static int hf_rrlp_intCodePhase; /* INTEGER_0_19 */
316 static int hf_rrlp_gpsBitNumber; /* INTEGER_0_3 */
317 static int hf_rrlp_codePhaseSearchWindow; /* INTEGER_0_15 */
318 static int hf_rrlp_addionalAngle; /* AddionalAngleFields */
319 static int hf_rrlp_doppler1; /* INTEGER_0_63 */
320 static int hf_rrlp_dopplerUncertainty; /* INTEGER_0_7 */
321 static int hf_rrlp_azimuth; /* INTEGER_0_31 */
322 static int hf_rrlp_elevation; /* INTEGER_0_7 */
323 static int hf_rrlp_SeqOf_BadSatelliteSet_item; /* SatelliteID */
324 static int hf_rrlp_rel98_Ext_ExpOTD; /* Rel98_Ext_ExpOTD */
325 static int hf_rrlp_gpsTimeAssistanceMeasurementRequest; /* NULL */
326 static int hf_rrlp_gpsReferenceTimeUncertainty; /* GPSReferenceTimeUncertainty */
327 static int hf_rrlp_msrAssistData_R98_ExpOTD; /* MsrAssistData_R98_ExpOTD */
328 static int hf_rrlp_systemInfoAssistData_R98_ExpOTD; /* SystemInfoAssistData_R98_ExpOTD */
329 static int hf_rrlp_msrAssistList_R98_ExpOTD; /* SeqOfMsrAssistBTS_R98_ExpOTD */
330 static int hf_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD_item; /* MsrAssistBTS_R98_ExpOTD */
331 static int hf_rrlp_expectedOTD; /* ExpectedOTD */
332 static int hf_rrlp_expOTDUncertainty; /* ExpOTDUncertainty */
333 static int hf_rrlp_systemInfoAssistListR98_ExpOTD; /* SeqOfSystemInfoAssistBTS_R98_ExpOTD */
334 static int hf_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD_item; /* SystemInfoAssistBTS_R98_ExpOTD */
335 static int hf_rrlp_present_01; /* AssistBTSData_R98_ExpOTD */
336 static int hf_rrlp_expOTDuncertainty; /* ExpOTDUncertainty */
337 static int hf_rrlp_referenceFrameMSB; /* INTEGER_0_63 */
338 static int hf_rrlp_gpsTowSubms; /* INTEGER_0_9999 */
339 static int hf_rrlp_deltaTow; /* INTEGER_0_127 */
340 static int hf_rrlp_rel_98_Ext_MeasureInfo; /* T_rel_98_Ext_MeasureInfo */
341 static int hf_rrlp_otd_MeasureInfo_R98_Ext; /* OTD_MeasureInfo_R98_Ext */
342 static int hf_rrlp_timeAssistanceMeasurements; /* GPSTimeAssistanceMeasurements */
343 static int hf_rrlp_otdMsrFirstSets_R98_Ext; /* OTD_MsrElementFirst_R98_Ext */
344 static int hf_rrlp_otd_FirstSetMsrs_R98_Ext; /* SeqOfOTD_FirstSetMsrs_R98_Ext */
345 static int hf_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext_item; /* OTD_FirstSetMsrs */
346 static int hf_rrlp_otd_MeasureInfo_5_Ext; /* OTD_MeasureInfo_5_Ext */
347 static int hf_rrlp_ulPseudoSegInd; /* UlPseudoSegInd */
348 static int hf_rrlp_smlc_code; /* INTEGER_0_63 */
349 static int hf_rrlp_transaction_ID; /* INTEGER_0_262143 */
350 static int hf_rrlp_velocityRequested; /* NULL */
351 static int hf_rrlp_ganssPositionMethod; /* GANSSPositioningMethod */
352 static int hf_rrlp_ganss_AssistData; /* GANSS_AssistData */
353 static int hf_rrlp_ganssCarrierPhaseMeasurementRequest; /* NULL */
354 static int hf_rrlp_ganssTODGSMTimeAssociationMeasurementRequest; /* NULL */
355 static int hf_rrlp_requiredResponseTime; /* RequiredResponseTime */
356 static int hf_rrlp_add_GPS_AssistData; /* Add_GPS_AssistData */
357 static int hf_rrlp_ganssMultiFreqMeasurementRequest; /* NULL */
358 static int hf_rrlp_ganss_controlHeader; /* GANSS_ControlHeader */
359 static int hf_rrlp_ganssCommonAssistData; /* GANSSCommonAssistData */
360 static int hf_rrlp_ganssGenericAssistDataList; /* SeqOfGANSSGenericAssistDataElement */
361 static int hf_rrlp_ganssReferenceTime; /* GANSSReferenceTime */
362 static int hf_rrlp_ganssRefLocation; /* GANSSRefLocation */
363 static int hf_rrlp_ganssIonosphericModel; /* GANSSIonosphericModel */
364 static int hf_rrlp_ganssAddIonosphericModel; /* GANSSAddIonosphericModel */
365 static int hf_rrlp_ganssEarthOrientParam; /* GANSSEarthOrientParam */
366 static int hf_rrlp_ganssReferenceTime_R10_Ext; /* GANSSReferenceTime_R10_Ext */
367 static int hf_rrlp_SeqOfGANSSGenericAssistDataElement_item; /* GANSSGenericAssistDataElement */
368 static int hf_rrlp_ganssID; /* INTEGER_0_7 */
369 static int hf_rrlp_ganssTimeModel; /* SeqOfGANSSTimeModel */
370 static int hf_rrlp_ganssDiffCorrections; /* GANSSDiffCorrections */
371 static int hf_rrlp_ganssNavigationModel; /* GANSSNavModel */
372 static int hf_rrlp_ganssRealTimeIntegrity; /* GANSSRealTimeIntegrity */
373 static int hf_rrlp_ganssDataBitAssist; /* GANSSDataBitAssist */
374 static int hf_rrlp_ganssRefMeasurementAssist; /* GANSSRefMeasurementAssist */
375 static int hf_rrlp_ganssAlmanacModel; /* GANSSAlmanacModel */
376 static int hf_rrlp_ganssUTCModel; /* GANSSUTCModel */
377 static int hf_rrlp_ganssEphemerisExtension; /* GANSSEphemerisExtension */
378 static int hf_rrlp_ganssEphemerisExtCheck; /* GANSSEphemerisExtensionCheck */
379 static int hf_rrlp_sbasID_int; /* INTEGER_0_7 */
380 static int hf_rrlp_ganssAddUTCModel; /* GANSSAddUTCModel */
381 static int hf_rrlp_ganssAuxiliaryInfo; /* GANSSAuxiliaryInformation */
382 static int hf_rrlp_ganssDiffCorrectionsValidityPeriod; /* GANSSDiffCorrectionsValidityPeriod */
383 static int hf_rrlp_ganssTimeModel_R10_Ext; /* SeqOfGANSSTimeModel_R10_Ext */
384 static int hf_rrlp_ganssRefMeasurementAssist_R10_Ext; /* GANSSRefMeasurementAssist_R10_Ext */
385 static int hf_rrlp_ganssAlmanacModel_R10_Ext; /* GANSSAlmanacModel_R10_Ext */
386 static int hf_rrlp_ganssAlmanacModel_R12_Ext; /* GANSSAlmanacModel_R12_Ext */
387 static int hf_rrlp_ganssRefMeasurementAssist_R12_Ext; /* GANSSRefMeasurementAssist_R12_Ext */
388 static int hf_rrlp_bdsDifferentialCorrections_r12; /* BDS_DiffCorrections_r12 */
389 static int hf_rrlp_bdsGridModel_r12; /* BDS_GridModelParameter_r12 */
390 static int hf_rrlp_ganssRefTimeInfo; /* GANSSRefTimeInfo */
391 static int hf_rrlp_ganssTOD_GSMTimeAssociation; /* GANSSTOD_GSMTimeAssociation */
392 static int hf_rrlp_ganssDay; /* INTEGER_0_8191 */
393 static int hf_rrlp_ganssTOD; /* GANSSTOD */
394 static int hf_rrlp_ganssTODUncertainty; /* GANSSTODUncertainty */
395 static int hf_rrlp_ganssTimeID; /* INTEGER_0_7 */
396 static int hf_rrlp_ganssDayCycleNumber; /* INTEGER_0_7 */
397 static int hf_rrlp_frameDrift; /* FrameDrift */
398 static int hf_rrlp_ganssIonoModel; /* GANSSIonosphereModel */
399 static int hf_rrlp_ganssIonoStormFlags; /* GANSSIonoStormFlags */
400 static int hf_rrlp_ai0; /* INTEGER_0_2047 */
401 static int hf_rrlp_ai1; /* INTEGER_M1024_1023 */
402 static int hf_rrlp_ai2; /* INTEGER_M8192_8191 */
403 static int hf_rrlp_ionoStormFlag1; /* INTEGER_0_1 */
404 static int hf_rrlp_ionoStormFlag2; /* INTEGER_0_1 */
405 static int hf_rrlp_ionoStormFlag3; /* INTEGER_0_1 */
406 static int hf_rrlp_ionoStormFlag4; /* INTEGER_0_1 */
407 static int hf_rrlp_ionoStormFlag5; /* INTEGER_0_1 */
408 static int hf_rrlp_dataID; /* BIT_STRING_SIZE_2 */
409 static int hf_rrlp_ionoModel; /* IonosphericModel */
410 static int hf_rrlp_teop; /* INTEGER_0_65535 */
411 static int hf_rrlp_pmX; /* INTEGER_M1048576_1048575 */
412 static int hf_rrlp_pmXdot; /* INTEGER_M16384_16383 */
413 static int hf_rrlp_pmY; /* INTEGER_M1048576_1048575 */
414 static int hf_rrlp_pmYdot; /* INTEGER_M16384_16383 */
415 static int hf_rrlp_deltaUT1; /* INTEGER_M1073741824_1073741823 */
416 static int hf_rrlp_deltaUT1dot; /* INTEGER_M262144_262143 */
417 static int hf_rrlp_SeqOfGANSSTimeModel_item; /* GANSSTimeModelElement */
418 static int hf_rrlp_ganssTimeModelRefTime; /* INTEGER_0_65535 */
419 static int hf_rrlp_tA0; /* TA0 */
420 static int hf_rrlp_tA1; /* TA1 */
421 static int hf_rrlp_tA2; /* TA2 */
422 static int hf_rrlp_gnssTOID; /* INTEGER_0_7 */
423 static int hf_rrlp_weekNumber; /* INTEGER_0_8191 */
424 static int hf_rrlp_SeqOfGANSSTimeModel_R10_Ext_item; /* GANSSTimeModelElement_R10_Ext */
425 static int hf_rrlp_deltaT; /* INTEGER_M128_127 */
426 static int hf_rrlp_dganssRefTime; /* INTEGER_0_119 */
427 static int hf_rrlp_sgnTypeList; /* SeqOfSgnTypeElement */
428 static int hf_rrlp_SeqOfSgnTypeElement_item; /* SgnTypeElement */
429 static int hf_rrlp_ganssSignalID; /* GANSSSignalID */
430 static int hf_rrlp_ganssStatusHealth; /* INTEGER_0_7 */
431 static int hf_rrlp_dganssSgnList; /* SeqOfDGANSSSgnElement */
432 static int hf_rrlp_SeqOfDGANSSSgnElement_item; /* DGANSSSgnElement */
433 static int hf_rrlp_svID; /* SVID */
434 static int hf_rrlp_iod; /* INTEGER_0_1023 */
435 static int hf_rrlp_nonBroadcastIndFlag; /* INTEGER_0_1 */
436 static int hf_rrlp_ganssSatelliteList; /* SeqOfGANSSSatelliteElement */
437 static int hf_rrlp_SeqOfGANSSSatelliteElement_item; /* GANSSSatelliteElement */
438 static int hf_rrlp_svHealth; /* BIT_STRING_SIZE_5 */
439 static int hf_rrlp_ganssClockModel; /* GANSSClockModel */
440 static int hf_rrlp_ganssOrbitModel; /* GANSSOrbitModel */
441 static int hf_rrlp_svHealthMSB; /* BIT_STRING_SIZE_1 */
442 static int hf_rrlp_iodMSB; /* INTEGER_0_1 */
443 static int hf_rrlp_svHealthExt; /* BIT_STRING_SIZE_4 */
444 static int hf_rrlp_keplerianSet; /* NavModel_KeplerianSet */
445 static int hf_rrlp_navKeplerianSet; /* NavModel_NAVKeplerianSet */
446 static int hf_rrlp_cnavKeplerianSet; /* NavModel_CNAVKeplerianSet */
447 static int hf_rrlp_glonassECEF; /* NavModel_GLONASSecef */
448 static int hf_rrlp_sbasECEF; /* NavModel_SBASecef */
449 static int hf_rrlp_bdsKeplerianSet_r12; /* NavModel_BDSKeplerianSet_r12 */
450 static int hf_rrlp_keplerToe; /* INTEGER_0_16383 */
451 static int hf_rrlp_keplerW; /* INTEGER_M2147483648_2147483647 */
452 static int hf_rrlp_keplerDeltaN; /* INTEGER_M32768_32767 */
453 static int hf_rrlp_keplerM0; /* INTEGER_M2147483648_2147483647 */
454 static int hf_rrlp_keplerOmegaDot; /* INTEGER_M8388608_8388607 */
455 static int hf_rrlp_keplerE; /* INTEGER_0_4294967295 */
456 static int hf_rrlp_keplerIDot; /* INTEGER_M8192_8191 */
457 static int hf_rrlp_keplerAPowerHalf; /* INTEGER_0_4294967295 */
458 static int hf_rrlp_keplerI0; /* INTEGER_M2147483648_2147483647 */
459 static int hf_rrlp_keplerOmega0; /* INTEGER_M2147483648_2147483647 */
460 static int hf_rrlp_keplerCrs; /* INTEGER_M32768_32767 */
461 static int hf_rrlp_keplerCis; /* INTEGER_M32768_32767 */
462 static int hf_rrlp_keplerCus; /* INTEGER_M32768_32767 */
463 static int hf_rrlp_keplerCrc; /* INTEGER_M32768_32767 */
464 static int hf_rrlp_keplerCic; /* INTEGER_M32768_32767 */
465 static int hf_rrlp_keplerCuc; /* INTEGER_M32768_32767 */
466 static int hf_rrlp_navURA; /* INTEGER_0_15 */
467 static int hf_rrlp_navFitFlag; /* INTEGER_0_1 */
468 static int hf_rrlp_navToe; /* INTEGER_0_37799 */
469 static int hf_rrlp_navOmega; /* INTEGER_M2147483648_2147483647 */
470 static int hf_rrlp_navDeltaN; /* INTEGER_M32768_32767 */
471 static int hf_rrlp_navM0; /* INTEGER_M2147483648_2147483647 */
472 static int hf_rrlp_navOmegaADot; /* INTEGER_M8388608_8388607 */
473 static int hf_rrlp_navE; /* INTEGER_0_4294967295 */
474 static int hf_rrlp_navIDot; /* INTEGER_M8192_8191 */
475 static int hf_rrlp_navAPowerHalf; /* INTEGER_0_4294967295 */
476 static int hf_rrlp_navI0; /* INTEGER_M2147483648_2147483647 */
477 static int hf_rrlp_navOmegaA0; /* INTEGER_M2147483648_2147483647 */
478 static int hf_rrlp_navCrs; /* INTEGER_M32768_32767 */
479 static int hf_rrlp_navCis; /* INTEGER_M32768_32767 */
480 static int hf_rrlp_navCus; /* INTEGER_M32768_32767 */
481 static int hf_rrlp_navCrc; /* INTEGER_M32768_32767 */
482 static int hf_rrlp_navCic; /* INTEGER_M32768_32767 */
483 static int hf_rrlp_navCuc; /* INTEGER_M32768_32767 */
484 static int hf_rrlp_cnavTop; /* INTEGER_0_2015 */
485 static int hf_rrlp_cnavURAindex; /* INTEGER_M16_15 */
486 static int hf_rrlp_cnavDeltaA; /* INTEGER_M33554432_33554431 */
487 static int hf_rrlp_cnavAdot; /* INTEGER_M16777216_16777215 */
488 static int hf_rrlp_cnavDeltaNo; /* INTEGER_M65536_65535 */
489 static int hf_rrlp_cnavDeltaNoDot; /* INTEGER_M4194304_4194303 */
490 static int hf_rrlp_cnavMo; /* INTEGER_M4294967296_4294967295 */
491 static int hf_rrlp_cnavE; /* INTEGER_0_8589934591 */
492 static int hf_rrlp_cnavOmega; /* INTEGER_M4294967296_4294967295 */
493 static int hf_rrlp_cnavOMEGA0; /* INTEGER_M4294967296_4294967295 */
494 static int hf_rrlp_cnavDeltaOmegaDot; /* INTEGER_M65536_65535 */
495 static int hf_rrlp_cnavIo; /* INTEGER_M4294967296_4294967295 */
496 static int hf_rrlp_cnavIoDot; /* INTEGER_M16384_16383 */
497 static int hf_rrlp_cnavCis; /* INTEGER_M32768_32767 */
498 static int hf_rrlp_cnavCic; /* INTEGER_M32768_32767 */
499 static int hf_rrlp_cnavCrs; /* INTEGER_M8388608_8388607 */
500 static int hf_rrlp_cnavCrc; /* INTEGER_M8388608_8388607 */
501 static int hf_rrlp_cnavCus; /* INTEGER_M1048576_1048575 */
502 static int hf_rrlp_cnavCuc; /* INTEGER_M1048576_1048575 */
503 static int hf_rrlp_gloEn; /* INTEGER_0_31 */
504 static int hf_rrlp_gloP1; /* BIT_STRING_SIZE_2 */
505 static int hf_rrlp_gloP2; /* BOOLEAN */
506 static int hf_rrlp_gloM; /* INTEGER_0_3 */
507 static int hf_rrlp_gloX; /* INTEGER_M67108864_67108863 */
508 static int hf_rrlp_gloXdot; /* INTEGER_M8388608_8388607 */
509 static int hf_rrlp_gloXdotdot; /* INTEGER_M16_15 */
510 static int hf_rrlp_gloY; /* INTEGER_M67108864_67108863 */
511 static int hf_rrlp_gloYdot; /* INTEGER_M8388608_8388607 */
512 static int hf_rrlp_gloYdotdot; /* INTEGER_M16_15 */
513 static int hf_rrlp_gloZ; /* INTEGER_M67108864_67108863 */
514 static int hf_rrlp_gloZdot; /* INTEGER_M8388608_8388607 */
515 static int hf_rrlp_gloZdotdot; /* INTEGER_M16_15 */
516 static int hf_rrlp_sbasTo; /* INTEGER_0_5399 */
517 static int hf_rrlp_sbasAccuracy; /* BIT_STRING_SIZE_4 */
518 static int hf_rrlp_sbasXg; /* INTEGER_M536870912_536870911 */
519 static int hf_rrlp_sbasYg; /* INTEGER_M536870912_536870911 */
520 static int hf_rrlp_sbasZg; /* INTEGER_M16777216_16777215 */
521 static int hf_rrlp_sbasXgDot; /* INTEGER_M65536_65535 */
522 static int hf_rrlp_sbasYgDot; /* INTEGER_M65536_65535 */
523 static int hf_rrlp_sbasZgDot; /* INTEGER_M131072_131071 */
524 static int hf_rrlp_sbasXgDotDot; /* INTEGER_M512_511 */
525 static int hf_rrlp_sbagYgDotDot; /* INTEGER_M512_511 */
526 static int hf_rrlp_sbasZgDotDot; /* INTEGER_M512_511 */
527 static int hf_rrlp_bdsAODE_r12; /* INTEGER_0_31 */
528 static int hf_rrlp_bdsURAI_r12; /* INTEGER_0_15 */
529 static int hf_rrlp_bdsToe_r12; /* INTEGER_0_131071 */
530 static int hf_rrlp_bdsAPowerHalf_r12; /* INTEGER_0_4294967295 */
531 static int hf_rrlp_bdsE_r12; /* INTEGER_0_4294967295 */
532 static int hf_rrlp_bdsW_r12; /* INTEGER_M2147483648_2147483647 */
533 static int hf_rrlp_bdsDeltaN_r12; /* INTEGER_M32768_32767 */
534 static int hf_rrlp_bdsM0_r12; /* INTEGER_M2147483648_2147483647 */
535 static int hf_rrlp_bdsOmega0_r12; /* INTEGER_M2147483648_2147483647 */
536 static int hf_rrlp_bdsOmegaDot_r12; /* INTEGER_M8388608_8388607 */
537 static int hf_rrlp_bdsI0_r12; /* INTEGER_M2147483648_2147483647 */
538 static int hf_rrlp_bdsIDot_r12; /* INTEGER_M8192_8191 */
539 static int hf_rrlp_bdsCuc_r12; /* INTEGER_M131072_131071 */
540 static int hf_rrlp_bdsCus_r12; /* INTEGER_M131072_131071 */
541 static int hf_rrlp_bdsCrc_r12; /* INTEGER_M131072_131071 */
542 static int hf_rrlp_bdsCrs_r12; /* INTEGER_M131072_131071 */
543 static int hf_rrlp_bdsCic_r12; /* INTEGER_M131072_131071 */
544 static int hf_rrlp_bdsCis_r12; /* INTEGER_M131072_131071 */
545 static int hf_rrlp_standardClockModelList; /* SeqOfStandardClockModelElement */
546 static int hf_rrlp_navClockModel; /* NAVclockModel */
547 static int hf_rrlp_cnavClockModel; /* CNAVclockModel */
548 static int hf_rrlp_glonassClockModel; /* GLONASSclockModel */
549 static int hf_rrlp_sbasClockModel; /* SBASclockModel */
550 static int hf_rrlp_bdsClockModel_r12; /* BDSClockModel_r12 */
551 static int hf_rrlp_SeqOfStandardClockModelElement_item; /* StandardClockModelElement */
552 static int hf_rrlp_stanClockToc; /* INTEGER_0_16383 */
553 static int hf_rrlp_stanClockAF2; /* INTEGER_M32_31 */
554 static int hf_rrlp_stanClockAF1; /* INTEGER_M1048576_1048575 */
555 static int hf_rrlp_stanClockAF0; /* INTEGER_M1073741824_1073741823 */
556 static int hf_rrlp_stanClockTgd; /* INTEGER_M512_511 */
557 static int hf_rrlp_stanModelID; /* INTEGER_0_1 */
558 static int hf_rrlp_navToc; /* INTEGER_0_37799 */
559 static int hf_rrlp_navaf2; /* INTEGER_M128_127 */
560 static int hf_rrlp_navaf1; /* INTEGER_M32768_32767 */
561 static int hf_rrlp_navaf0; /* INTEGER_M2097152_2097151 */
562 static int hf_rrlp_navTgd; /* INTEGER_M128_127 */
563 static int hf_rrlp_cnavToc; /* INTEGER_0_2015 */
564 static int hf_rrlp_cnavURA0; /* INTEGER_M16_15 */
565 static int hf_rrlp_cnavURA1; /* INTEGER_0_7 */
566 static int hf_rrlp_cnavURA2; /* INTEGER_0_7 */
567 static int hf_rrlp_cnavAf2; /* INTEGER_M512_511 */
568 static int hf_rrlp_cnavAf1; /* INTEGER_M524288_524287 */
569 static int hf_rrlp_cnavAf0; /* INTEGER_M33554432_33554431 */
570 static int hf_rrlp_cnavTgd; /* INTEGER_M4096_4095 */
571 static int hf_rrlp_cnavISCl1cp; /* INTEGER_M4096_4095 */
572 static int hf_rrlp_cnavISCl1cd; /* INTEGER_M4096_4095 */
573 static int hf_rrlp_cnavISCl1ca; /* INTEGER_M4096_4095 */
574 static int hf_rrlp_cnavISCl2c; /* INTEGER_M4096_4095 */
575 static int hf_rrlp_cnavISCl5i5; /* INTEGER_M4096_4095 */
576 static int hf_rrlp_cnavISCl5q5; /* INTEGER_M4096_4095 */
577 static int hf_rrlp_gloTau; /* INTEGER_M2097152_2097151 */
578 static int hf_rrlp_gloGamma; /* INTEGER_M1024_1023 */
579 static int hf_rrlp_gloDeltaTau; /* INTEGER_M16_15 */
580 static int hf_rrlp_sbasAgfo; /* INTEGER_M2048_2047 */
581 static int hf_rrlp_sbasAgf1; /* INTEGER_M128_127 */
582 static int hf_rrlp_bdsAODC_r12; /* INTEGER_0_31 */
583 static int hf_rrlp_bdsToc_r12; /* INTEGER_0_131071 */
584 static int hf_rrlp_bdsA0_r12; /* INTEGER_M8388608_8388607 */
585 static int hf_rrlp_bdsA1_r12; /* INTEGER_M2097152_2097151 */
586 static int hf_rrlp_bdsA2_r12; /* INTEGER_M1024_1023 */
587 static int hf_rrlp_bdsTgd1_r12; /* INTEGER_M512_511 */
588 static int hf_rrlp_ganssBadSignalList; /* SeqOfBadSignalElement */
589 static int hf_rrlp_SeqOfBadSignalElement_item; /* BadSignalElement */
590 static int hf_rrlp_badSVID; /* SVID */
591 static int hf_rrlp_badSignalID; /* GANSSSignals */
592 static int hf_rrlp_ganssTOD_01; /* INTEGER_0_59 */
593 static int hf_rrlp_ganssDataBitsSatList; /* SeqOfGanssDataBitsElement */
594 static int hf_rrlp_SeqOfGanssDataBitsElement_item; /* GanssDataBitsElement */
595 static int hf_rrlp_ganssDataBitsSgnList; /* Seq_OfGANSSDataBitsSgn */
596 static int hf_rrlp_Seq_OfGANSSDataBitsSgn_item; /* GANSSDataBitsSgnElement */
597 static int hf_rrlp_ganssSignalType; /* GANSSSignalID */
598 static int hf_rrlp_ganssDataBits; /* SeqOf_GANSSDataBits */
599 static int hf_rrlp_SeqOf_GANSSDataBits_item; /* GANSSDataBit */
600 static int hf_rrlp_ganssRefMeasAssistList; /* SeqOfGANSSRefMeasurementElement */
601 static int hf_rrlp_SeqOfGANSSRefMeasurementElement_item; /* GANSSRefMeasurementElement */
602 static int hf_rrlp_additionalDoppler; /* AdditionalDopplerFields */
603 static int hf_rrlp_intCodePhase_01; /* INTEGER_0_127 */
604 static int hf_rrlp_codePhaseSearchWindow_01; /* INTEGER_0_31 */
605 static int hf_rrlp_additionalAngle; /* AddionalAngleFields */
606 static int hf_rrlp_codePhase1023; /* BOOLEAN */
607 static int hf_rrlp_dopplerUncertainty_01; /* INTEGER_0_4 */
608 static int hf_rrlp_GANSSRefMeasurementAssist_R10_Ext_item; /* GANSSRefMeasurement_R10_Ext_Element */
609 static int hf_rrlp_azimuthLSB; /* INTEGER_0_15 */
610 static int hf_rrlp_elevationLSB; /* INTEGER_0_15 */
611 static int hf_rrlp_confidence; /* INTEGER_0_100 */
612 static int hf_rrlp_ganssRefMeasAssistList_01; /* SeqOfGANSSRefMeasurementElement_R12 */
613 static int hf_rrlp_SeqOfGANSSRefMeasurementElement_R12_item; /* GANSSRefMeasurement_R12_Ext_Element */
614 static int hf_rrlp_dopplerUncertaintyExt; /* T_dopplerUncertaintyExt */
615 static int hf_rrlp_weekNumber_01; /* INTEGER_0_255 */
616 static int hf_rrlp_toa; /* INTEGER_0_255 */
617 static int hf_rrlp_ioda; /* INTEGER_0_3 */
618 static int hf_rrlp_ganssAlmanacList; /* SeqOfGANSSAlmanacElement */
619 static int hf_rrlp_SeqOfGANSSAlmanacElement_item; /* GANSSAlmanacElement */
620 static int hf_rrlp_keplerianAlmanacSet; /* Almanac_KeplerianSet */
621 static int hf_rrlp_keplerianNAVAlmanac; /* Almanac_NAVKeplerianSet */
622 static int hf_rrlp_keplerianReducedAlmanac; /* Almanac_ReducedKeplerianSet */
623 static int hf_rrlp_keplerianMidiAlmanac; /* Almanac_MidiAlmanacSet */
624 static int hf_rrlp_keplerianGLONASS; /* Almanac_GlonassAlmanacSet */
625 static int hf_rrlp_ecefSBASAlmanac; /* Almanac_ECEFsbasAlmanacSet */
626 static int hf_rrlp_keplerianBDSAlmanac_r12; /* Almanac_BDSAlmanacSet_r12 */
627 static int hf_rrlp_kepAlmanacE; /* INTEGER_0_2047 */
628 static int hf_rrlp_kepAlmanacDeltaI; /* INTEGER_M1024_1023 */
629 static int hf_rrlp_kepAlmanacOmegaDot; /* INTEGER_M1024_1023 */
630 static int hf_rrlp_kepSVStatusINAV; /* BIT_STRING_SIZE_4 */
631 static int hf_rrlp_kepSVStatusFNAV; /* BIT_STRING_SIZE_2 */
632 static int hf_rrlp_kepAlmanacAPowerHalf; /* INTEGER_M4096_4095 */
633 static int hf_rrlp_kepAlmanacOmega0; /* INTEGER_M32768_32767 */
634 static int hf_rrlp_kepAlmanacW; /* INTEGER_M32768_32767 */
635 static int hf_rrlp_kepAlmanacM0; /* INTEGER_M32768_32767 */
636 static int hf_rrlp_kepAlmanacAF0; /* INTEGER_M32768_32767 */
637 static int hf_rrlp_kepAlmanacAF1; /* INTEGER_M4096_4095 */
638 static int hf_rrlp_navAlmE; /* INTEGER_0_65535 */
639 static int hf_rrlp_navAlmDeltaI; /* INTEGER_M32768_32767 */
640 static int hf_rrlp_navAlmOMEGADOT; /* INTEGER_M32768_32767 */
641 static int hf_rrlp_navAlmSVHealth; /* INTEGER_0_255 */
642 static int hf_rrlp_navAlmSqrtA; /* INTEGER_0_16777215 */
643 static int hf_rrlp_navAlmOMEGAo; /* INTEGER_M8388608_8388607 */
644 static int hf_rrlp_navAlmOmega; /* INTEGER_M8388608_8388607 */
645 static int hf_rrlp_navAlmMo; /* INTEGER_M8388608_8388607 */
646 static int hf_rrlp_navAlmaf0; /* INTEGER_M1024_1023 */
647 static int hf_rrlp_navAlmaf1; /* INTEGER_M1024_1023 */
648 static int hf_rrlp_redAlmDeltaA; /* INTEGER_M128_127 */
649 static int hf_rrlp_redAlmOmega0; /* INTEGER_M64_63 */
650 static int hf_rrlp_redAlmPhi0; /* INTEGER_M64_63 */
651 static int hf_rrlp_redAlmL1Health; /* BOOLEAN */
652 static int hf_rrlp_redAlmL2Health; /* BOOLEAN */
653 static int hf_rrlp_redAlmL5Health; /* BOOLEAN */
654 static int hf_rrlp_midiAlmE; /* INTEGER_0_2047 */
655 static int hf_rrlp_midiAlmDeltaI; /* INTEGER_M1024_1023 */
656 static int hf_rrlp_midiAlmOmegaDot; /* INTEGER_M1024_1023 */
657 static int hf_rrlp_midiAlmSqrtA; /* INTEGER_0_131071 */
658 static int hf_rrlp_midiAlmOmega0; /* INTEGER_M32768_32767 */
659 static int hf_rrlp_midiAlmOmega; /* INTEGER_M32768_32767 */
660 static int hf_rrlp_midiAlmMo; /* INTEGER_M32768_32767 */
661 static int hf_rrlp_midiAlmaf0; /* INTEGER_M1024_1023 */
662 static int hf_rrlp_midiAlmaf1; /* INTEGER_M512_511 */
663 static int hf_rrlp_midiAlmL1Health; /* BOOLEAN */
664 static int hf_rrlp_midiAlmL2Health; /* BOOLEAN */
665 static int hf_rrlp_midiAlmL5Health; /* BOOLEAN */
666 static int hf_rrlp_gloAlmNA; /* INTEGER_1_1461 */
667 static int hf_rrlp_gloAlmnA; /* INTEGER_1_24 */
668 static int hf_rrlp_gloAlmHA; /* INTEGER_0_31 */
669 static int hf_rrlp_gloAlmLambdaA; /* INTEGER_M1048576_1048575 */
670 static int hf_rrlp_gloAlmtlambdaA; /* INTEGER_0_2097151 */
671 static int hf_rrlp_gloAlmDeltaIa; /* INTEGER_M131072_131071 */
672 static int hf_rrlp_gloAlmDeltaTA; /* INTEGER_M2097152_2097151 */
673 static int hf_rrlp_gloAlmDeltaTdotA; /* INTEGER_M64_63 */
674 static int hf_rrlp_gloAlmEpsilonA; /* INTEGER_0_32767 */
675 static int hf_rrlp_gloAlmOmegaA; /* INTEGER_M32768_32767 */
676 static int hf_rrlp_gloAlmTauA; /* INTEGER_M512_511 */
677 static int hf_rrlp_gloAlmCA; /* INTEGER_0_1 */
678 static int hf_rrlp_gloAlmMA; /* BIT_STRING_SIZE_2 */
679 static int hf_rrlp_sbasAlmDataID; /* INTEGER_0_3 */
680 static int hf_rrlp_sbasAlmHealth; /* BIT_STRING_SIZE_8 */
681 static int hf_rrlp_sbasAlmXg; /* INTEGER_M16384_16383 */
682 static int hf_rrlp_sbasAlmYg; /* INTEGER_M16384_16383 */
683 static int hf_rrlp_sbasAlmZg; /* INTEGER_M256_255 */
684 static int hf_rrlp_sbasAlmXgdot; /* INTEGER_M4_3 */
685 static int hf_rrlp_sbasAlmYgDot; /* INTEGER_M4_3 */
686 static int hf_rrlp_sbasAlmZgDot; /* INTEGER_M8_7 */
687 static int hf_rrlp_sbasAlmTo; /* INTEGER_0_2047 */
688 static int hf_rrlp_bdsAlmToa_r12; /* INTEGER_0_255 */
689 static int hf_rrlp_bdsAlmSqrtA_r12; /* INTEGER_0_16777215 */
690 static int hf_rrlp_bdsAlmE_r12; /* INTEGER_0_131071 */
691 static int hf_rrlp_bdsAlmW_r12; /* INTEGER_M8388608_8388607 */
692 static int hf_rrlp_bdsAlmM0_r12; /* INTEGER_M8388608_8388607 */
693 static int hf_rrlp_bdsAlmOmega0_r12; /* INTEGER_M8388608_8388607 */
694 static int hf_rrlp_bdsAlmOmegaDot_r12; /* INTEGER_M65536_65535 */
695 static int hf_rrlp_bdsAlmDeltaI_r12; /* INTEGER_M32768_32767 */
696 static int hf_rrlp_bdsAlmA0_r12; /* INTEGER_M1024_1023 */
697 static int hf_rrlp_bdsAlmA1_r12; /* INTEGER_M1024_1023 */
698 static int hf_rrlp_bdsSvHealth_r12; /* BIT_STRING_SIZE_9 */
699 static int hf_rrlp_completeAlmanacProvided; /* BOOLEAN */
700 static int hf_rrlp_toa_ext; /* INTEGER_256_1023 */
701 static int hf_rrlp_ioda_ext; /* INTEGER_4_15 */
702 static int hf_rrlp_ganssUtcA1; /* INTEGER_M8388608_8388607 */
703 static int hf_rrlp_ganssUtcA0; /* INTEGER_M2147483648_2147483647 */
704 static int hf_rrlp_ganssUtcTot; /* INTEGER_0_255 */
705 static int hf_rrlp_ganssUtcWNt; /* INTEGER_0_255 */
706 static int hf_rrlp_ganssUtcDeltaTls; /* INTEGER_M128_127 */
707 static int hf_rrlp_ganssUtcWNlsf; /* INTEGER_0_255 */
708 static int hf_rrlp_ganssUtcDN; /* INTEGER_M128_127 */
709 static int hf_rrlp_ganssUtcDeltaTlsf; /* INTEGER_M128_127 */
710 static int hf_rrlp_ganssEphemerisHeader; /* GANSSEphemerisExtensionHeader */
711 static int hf_rrlp_ganssReferenceSet; /* SeqOfGANSSRefOrbit */
712 static int hf_rrlp_ganssephemerisDeltasMatrix; /* GANSSEphemerisDeltaMatrix */
713 static int hf_rrlp_timeAtEstimation; /* GANSSEphemerisExtensionTime */
714 static int hf_rrlp_validityPeriod; /* INTEGER_1_8 */
715 static int hf_rrlp_ephemerisExtensionDuration; /* INTEGER_1_512 */
716 static int hf_rrlp_ganssEphExtDay; /* INTEGER_0_8191 */
717 static int hf_rrlp_ganssEphExtTOD; /* GANSSTOD */
718 static int hf_rrlp_keplerToe_01; /* INTEGER_0_37799 */
719 static int hf_rrlp_SeqOfGANSSRefOrbit_item; /* GANSSReferenceOrbit */
720 static int hf_rrlp_ganssOrbitModel_01; /* ReferenceNavModel */
721 static int hf_rrlp_GANSSEphemerisDeltaMatrix_item; /* GANSSEphemerisDeltaEpoch */
722 static int hf_rrlp_ganssDeltaEpochHeader; /* GANSSDeltaEpochHeader */
723 static int hf_rrlp_ganssDeltaElementList; /* GANSSDeltaElementList */
724 static int hf_rrlp_ephemerisDeltaSizes; /* GANSSEphemerisDeltaBitSizes */
725 static int hf_rrlp_ephemerisDeltaScales; /* GANSSEphemerisDeltaScales */
726 static int hf_rrlp_GANSSDeltaElementList_item; /* OCTET_STRING_SIZE_1_49 */
727 static int hf_rrlp_bitsize_delta_omega; /* INTEGER_1_32 */
728 static int hf_rrlp_bitsize_delta_deltaN; /* INTEGER_1_16 */
729 static int hf_rrlp_bitsize_delta_m0; /* INTEGER_1_32 */
730 static int hf_rrlp_bitsize_delta_omegadot; /* INTEGER_1_24 */
731 static int hf_rrlp_bitsize_delta_e; /* INTEGER_1_32 */
732 static int hf_rrlp_bitsize_delta_idot; /* INTEGER_1_14 */
733 static int hf_rrlp_bitsize_delta_sqrtA; /* INTEGER_1_32 */
734 static int hf_rrlp_bitsize_delta_i0; /* INTEGER_1_32 */
735 static int hf_rrlp_bitsize_delta_omega0; /* INTEGER_1_32 */
736 static int hf_rrlp_bitsize_delta_crs; /* INTEGER_1_16 */
737 static int hf_rrlp_bitsize_delta_cis; /* INTEGER_1_16 */
738 static int hf_rrlp_bitsize_delta_cus; /* INTEGER_1_16 */
739 static int hf_rrlp_bitsize_delta_crc; /* INTEGER_1_16 */
740 static int hf_rrlp_bitsize_delta_cic; /* INTEGER_1_16 */
741 static int hf_rrlp_bitsize_delta_cuc; /* INTEGER_1_16 */
742 static int hf_rrlp_bitsize_delta_tgd1; /* INTEGER_1_10 */
743 static int hf_rrlp_bitsize_delta_tgd2; /* INTEGER_1_10 */
744 static int hf_rrlp_scale_delta_omega; /* INTEGER_M16_15 */
745 static int hf_rrlp_scale_delta_deltaN; /* INTEGER_M16_15 */
746 static int hf_rrlp_scale_delta_m0; /* INTEGER_M16_15 */
747 static int hf_rrlp_scale_delta_omegadot; /* INTEGER_M16_15 */
748 static int hf_rrlp_scale_delta_e; /* INTEGER_M16_15 */
749 static int hf_rrlp_scale_delta_idot; /* INTEGER_M16_15 */
750 static int hf_rrlp_scale_delta_sqrtA; /* INTEGER_M16_15 */
751 static int hf_rrlp_scale_delta_i0; /* INTEGER_M16_15 */
752 static int hf_rrlp_scale_delta_omega0; /* INTEGER_M16_15 */
753 static int hf_rrlp_scale_delta_crs; /* INTEGER_M16_15 */
754 static int hf_rrlp_scale_delta_cis; /* INTEGER_M16_15 */
755 static int hf_rrlp_scale_delta_cus; /* INTEGER_M16_15 */
756 static int hf_rrlp_scale_delta_crc; /* INTEGER_M16_15 */
757 static int hf_rrlp_scale_delta_cic; /* INTEGER_M16_15 */
758 static int hf_rrlp_scale_delta_cuc; /* INTEGER_M16_15 */
759 static int hf_rrlp_scale_delta_tgd1; /* INTEGER_M16_15 */
760 static int hf_rrlp_scale_delta_tgd2; /* INTEGER_M16_15 */
761 static int hf_rrlp_ganssBeginTime; /* GANSSEphemerisExtensionTime */
762 static int hf_rrlp_ganssEndTime; /* GANSSEphemerisExtensionTime */
763 static int hf_rrlp_ganssSatEventsInfo; /* GANSSSatEventsInfo */
764 static int hf_rrlp_eventOccured; /* BIT_STRING_SIZE_64 */
765 static int hf_rrlp_futureEventNoted; /* BIT_STRING_SIZE_64 */
766 static int hf_rrlp_utcModel2; /* UTCmodelSet2 */
767 static int hf_rrlp_utcModel3; /* UTCmodelSet3 */
768 static int hf_rrlp_utcModel4; /* UTCmodelSet4 */
769 static int hf_rrlp_utcModel5_r12; /* UTCmodelSet5_r12 */
770 static int hf_rrlp_utcA0_01; /* INTEGER_M32768_32767 */
771 static int hf_rrlp_utcA1_01; /* INTEGER_M4096_4095 */
772 static int hf_rrlp_utcA2; /* INTEGER_M64_63 */
773 static int hf_rrlp_utcTot_01; /* INTEGER_0_65535 */
774 static int hf_rrlp_utcWNot; /* INTEGER_0_8191 */
775 static int hf_rrlp_utcDN_bit_str; /* BIT_STRING_SIZE_4 */
776 static int hf_rrlp_nA; /* INTEGER_1_1461 */
777 static int hf_rrlp_tauC; /* INTEGER_M2147483648_2147483647 */
778 static int hf_rrlp_b1; /* INTEGER_M1024_1023 */
779 static int hf_rrlp_b2; /* INTEGER_M512_511 */
780 static int hf_rrlp_kp; /* BIT_STRING_SIZE_2 */
781 static int hf_rrlp_utcA1wnt; /* INTEGER_M8388608_8388607 */
782 static int hf_rrlp_utcA0wnt; /* INTEGER_M2147483648_2147483647 */
783 static int hf_rrlp_utcStandardID; /* INTEGER_0_7 */
784 static int hf_rrlp_utcA0_r12; /* INTEGER_M2147483648_2147483647 */
785 static int hf_rrlp_utcA1_r12; /* INTEGER_M8388608_8388607 */
786 static int hf_rrlp_utcDeltaTls_r12; /* INTEGER_M128_127 */
787 static int hf_rrlp_utcWNlsf_r12; /* INTEGER_0_255 */
788 static int hf_rrlp_utcDN_r12; /* INTEGER_0_255 */
789 static int hf_rrlp_utcDeltaTlsf_r12; /* INTEGER_M128_127 */
790 static int hf_rrlp_ganssID1; /* GANSS_ID1 */
791 static int hf_rrlp_ganssID3; /* GANSS_ID3 */
792 static int hf_rrlp_GANSS_ID1_item; /* GANSS_ID1_element */
793 static int hf_rrlp_signalsAvailable; /* GANSSSignals */
794 static int hf_rrlp_GANSS_ID3_item; /* GANSS_ID3_element */
795 static int hf_rrlp_channelNumber; /* INTEGER_M7_13 */
796 static int hf_rrlp_GANSSDiffCorrectionsValidityPeriod_item; /* DGANSSExtensionSgnTypeElement */
797 static int hf_rrlp_dganssExtensionSgnList; /* SeqOfDGANSSExtensionSgnElement */
798 static int hf_rrlp_SeqOfDGANSSExtensionSgnElement_item; /* DGANSSExtensionSgnElement */
799 static int hf_rrlp_udreGrowthRate; /* INTEGER_0_7 */
800 static int hf_rrlp_udreValidityTime; /* INTEGER_0_7 */
801 static int hf_rrlp_add_GPS_controlHeader; /* Add_GPS_ControlHeader */
802 static int hf_rrlp_gpsEphemerisExtension; /* GPSEphemerisExtension */
803 static int hf_rrlp_gpsEphemerisExtensionCheck; /* GPSEphemerisExtensionCheck */
804 static int hf_rrlp_dgpsCorrectionsValidityPeriod; /* DGPSCorrectionsValidityPeriod */
805 static int hf_rrlp_gpsReferenceTime_R10_Ext; /* GPSReferenceTime_R10_Ext */
806 static int hf_rrlp_gpsAcquisAssist_R10_Ext; /* GPSAcquisAssist_R10_Ext */
807 static int hf_rrlp_gpsAlmanac_R10_Ext; /* GPSAlmanac_R10_Ext */
808 static int hf_rrlp_gpsAcquisAssist_R12_Ext; /* GPSAcquisAssist_R12_Ext */
809 static int hf_rrlp_af2; /* INTEGER_M128_127 */
810 static int hf_rrlp_af1; /* INTEGER_M32768_32767 */
811 static int hf_rrlp_af0; /* INTEGER_M2097152_2097151 */
812 static int hf_rrlp_tgd; /* INTEGER_M128_127 */
813 static int hf_rrlp_gpsEphemerisHeader; /* GPSEphemerisExtensionHeader */
814 static int hf_rrlp_gpsReferenceSet; /* SeqOfGPSRefOrbit */
815 static int hf_rrlp_gpsephemerisDeltaMatrix; /* GPSEphemerisDeltaMatrix */
816 static int hf_rrlp_timeofEstimation; /* GPSEphemerisExtensionTime */
817 static int hf_rrlp_SeqOfGPSRefOrbit_item; /* GPSReferenceOrbit */
818 static int hf_rrlp_gpsOrbitModel; /* ReferenceNavModel */
819 static int hf_rrlp_gpsClockModel; /* GPSClockModel */
820 static int hf_rrlp_GPSEphemerisDeltaMatrix_item; /* GPSEphemerisDeltaEpoch */
821 static int hf_rrlp_gpsDeltaEpochHeader; /* GPSDeltaEpochHeader */
822 static int hf_rrlp_gpsDeltaElementList; /* GPSDeltaElementList */
823 static int hf_rrlp_ephemerisDeltaSizes_01; /* GPSEphemerisDeltaBitSizes */
824 static int hf_rrlp_ephemerisDeltaScales_01; /* GPSEphemerisDeltaScales */
825 static int hf_rrlp_GPSDeltaElementList_item; /* OCTET_STRING_SIZE_1_47 */
826 static int hf_rrlp_bitsize_delta_tgd; /* INTEGER_1_10 */
827 static int hf_rrlp_scale_delta_tgd; /* INTEGER_M16_15 */
828 static int hf_rrlp_gpsBeginTime; /* GPSEphemerisExtensionTime */
829 static int hf_rrlp_gpsEndTime; /* GPSEphemerisExtensionTime */
830 static int hf_rrlp_gpsSatEventsInfo; /* GPSSatEventsInfo */
831 static int hf_rrlp_eventOccured_01; /* BIT_STRING_SIZE_32 */
832 static int hf_rrlp_futureEventNoted_01; /* BIT_STRING_SIZE_32 */
833 static int hf_rrlp_DGPSCorrectionsValidityPeriod_item; /* DGPSExtensionSatElement */
834 static int hf_rrlp_gpsWeekCycleNumber; /* INTEGER_0_7 */
835 static int hf_rrlp_GPSAcquisAssist_R10_Ext_item; /* GPSAcquisAssist_R10_Ext_Element */
836 static int hf_rrlp_acquisList_01; /* SeqOfGPSAcquisAssist_R12_Ext */
837 static int hf_rrlp_SeqOfGPSAcquisAssist_R12_Ext_item; /* GPSAcquisAssist_R12_Ext_Element */
838 static int hf_rrlp_dopplerUncertaintyExt_01; /* T_dopplerUncertaintyExt_01 */
839 static int hf_rrlp_velEstimate; /* VelocityEstimate */
840 static int hf_rrlp_ganssLocationInfo; /* GANSSLocationInfo */
841 static int hf_rrlp_ganssMeasureInfo; /* GANSSMeasureInfo */
842 static int hf_rrlp_referenceFrame; /* ReferenceFrame */
843 static int hf_rrlp_ganssTODm; /* GANSSTODm */
844 static int hf_rrlp_ganssTODFrac; /* INTEGER_0_16384 */
845 static int hf_rrlp_posData; /* PositionData */
846 static int hf_rrlp_stationaryIndication; /* INTEGER_0_1 */
847 static int hf_rrlp_referenceFN; /* INTEGER_0_65535 */
848 static int hf_rrlp_referenceFNMSB; /* INTEGER_0_63 */
849 static int hf_rrlp_ganssMsrSetList; /* SeqOfGANSS_MsrSetElement */
850 static int hf_rrlp_SeqOfGANSS_MsrSetElement_item; /* GANSS_MsrSetElement */
851 static int hf_rrlp_deltaGANSSTOD; /* INTEGER_0_127 */
852 static int hf_rrlp_ganss_MsrElementList; /* SeqOfGANSS_MsrElement */
853 static int hf_rrlp_SeqOfGANSS_MsrElement_item; /* GANSS_MsrElement */
854 static int hf_rrlp_ganss_SgnTypeList; /* SeqOfGANSS_SgnTypeElement */
855 static int hf_rrlp_SeqOfGANSS_SgnTypeElement_item; /* GANSS_SgnTypeElement */
856 static int hf_rrlp_ganssCodePhaseAmbiguity; /* INTEGER_0_127 */
857 static int hf_rrlp_ganss_SgnList; /* SeqOfGANSS_SgnElement */
858 static int hf_rrlp_SeqOfGANSS_SgnElement_item; /* GANSS_SgnElement */
859 static int hf_rrlp_mpathDet; /* MpathIndic */
860 static int hf_rrlp_carrierQualityInd; /* INTEGER_0_3 */
861 static int hf_rrlp_codePhase_01; /* INTEGER_0_2097151 */
862 static int hf_rrlp_integerCodePhase; /* INTEGER_0_127 */
863 static int hf_rrlp_codePhaseRMSError; /* INTEGER_0_63 */
864 static int hf_rrlp_adr; /* INTEGER_0_33554431 */
865 static int hf_rrlp_dbds_RefTime_r12; /* INTEGER_0_3599 */
866 static int hf_rrlp_bds_SgnTypeList_r12; /* BDS_SgnTypeList_r12 */
867 static int hf_rrlp_BDS_SgnTypeList_r12_item; /* BDS_SgnTypeElement_r12 */
868 static int hf_rrlp_dbds_CorrectionList_r12; /* DBDS_CorrectionList_r12 */
869 static int hf_rrlp_DBDS_CorrectionList_r12_item; /* DBDS_CorrectionElement_r12 */
870 static int hf_rrlp_bds_UDREI_r12; /* INTEGER_0_15 */
871 static int hf_rrlp_bds_RURAI_r12; /* INTEGER_0_15 */
872 static int hf_rrlp_bds_ECC_DeltaT_r12; /* INTEGER_M4096_4095 */
873 static int hf_rrlp_bds_RefTime_r12; /* INTEGER_0_3599 */
874 static int hf_rrlp_gridIonList_r12; /* GridIonList_r12 */
875 static int hf_rrlp_GridIonList_r12_item; /* GridIonElement_r12 */
876 static int hf_rrlp_igp_ID_r12; /* INTEGER_1_320 */
877 static int hf_rrlp_dt_r12; /* INTEGER_0_511 */
878 static int hf_rrlp_givei_r12; /* INTEGER_0_15 */
879 static int hf_rrlp_nonGANSSpositionMethods; /* NonGANSSPositionMethods */
880 static int hf_rrlp_multipleMeasurementSets; /* MultipleMeasurementSets */
881 static int hf_rrlp_GANSSPositionMethods_item; /* GANSSPositionMethod */
882 static int hf_rrlp_gANSSPositioningMethodTypes; /* GANSSPositioningMethodTypes */
883 static int hf_rrlp_gANSSSignals; /* GANSSSignals */
884 static int hf_rrlp_sbasID; /* SBASID */
885 static int hf_rrlp_gpsAssistance; /* GPSAssistance */
886 static int hf_rrlp_gANSSAssistanceSet; /* GANSSAssistanceSet */
887 static int hf_rrlp_gANSSAdditionalAssistanceChoices; /* GANSSAdditionalAssistanceChoices */
888 static int hf_rrlp_commonGANSSAssistance; /* CommonGANSSAssistance */
889 static int hf_rrlp_specificGANSSAssistance; /* SpecificGANSSAssistance */
890 static int hf_rrlp_SpecificGANSSAssistance_item; /* GANSSAssistanceForOneGANSS */
891 static int hf_rrlp_gANSSAssistance; /* GANSSAssistance */
892 static int hf_rrlp_GANSSAdditionalAssistanceChoices_item; /* GANSSAdditionalAssistanceChoicesForOneGANSS */
893 static int hf_rrlp_ganssClockModelChoice; /* GANSSModelID */
894 static int hf_rrlp_gannsOrbitModelChoice; /* GANSSModelID */
895 static int hf_rrlp_ganssAlmanacModelChoice; /* GANSSModelID */
896 static int hf_rrlp_ganssAdditionalUTCModelChoice; /* GANSSModelID */
897 static int hf_rrlp_cellSet1; /* CellSet */
898 static int hf_rrlp_cellSet2; /* CellSet */
899 static int hf_rrlp_cellSet3; /* CellSet */
900 static int hf_rrlp_cellSet4; /* CellSet */
901 static int hf_rrlp_cellSet5; /* CellSet */
902 static int hf_rrlp_cellSet6; /* CellSet */
903 static int hf_rrlp_cellSet7; /* CellSet */
904 static int hf_rrlp_cellSet8; /* CellSet */
905 static int hf_rrlp_cell1; /* CellInfo */
906 static int hf_rrlp_cell2; /* CellInfo */
907 static int hf_rrlp_cell3; /* CellInfo */
908 static int hf_rrlp_cell4; /* CellInfo */
909 static int hf_rrlp_cell5; /* CellInfo */
910 static int hf_rrlp_cell6; /* CellInfo */
911 static int hf_rrlp_bsic_01; /* INTEGER_0_511 */
912 static int hf_rrlp_arfcn; /* INTEGER_0_1023 */
913 static int hf_rrlp_oTDMeasurementInfo1; /* OTDMeasurementInfo */
914 static int hf_rrlp_oTDMeasurementInfo2; /* OTDMeasurementInfo */
915 static int hf_rrlp_oTDMeasurementInfo3; /* OTDMeasurementInfo */
916 static int hf_rrlp_oTDMeasurementInfo4; /* OTDMeasurementInfo */
917 static int hf_rrlp_oTDMeasurementInfo5; /* OTDMeasurementInfo */
918 static int hf_rrlp_oTDMeasurementInfo6; /* OTDMeasurementInfo */
919 static int hf_rrlp_oTDMeasurementInfo7; /* OTDMeasurementInfo */
920 static int hf_rrlp_reportedCell; /* CellType */
921 static int hf_rrlp_msSyncAccuracy; /* INTEGER_0_15 */
922 static int hf_rrlp_observedTimeDiff; /* INTEGER_0_999 */
923 static int hf_rrlp_configuredNeighbourCellIdx; /* INTEGER_1_48 */
924 static int hf_rrlp_detectedNeighbourCell; /* CellInfo */
925 static int hf_rrlp_rxLEVMeasurementInfo1; /* RXLEVMeasurementInfo */
926 static int hf_rrlp_rxLEVMeasurementInfo2; /* RXLEVMeasurementInfo */
927 static int hf_rrlp_rxLEVMeasurementInfo3; /* RXLEVMeasurementInfo */
928 static int hf_rrlp_rxLEVMeasurementInfo4; /* RXLEVMeasurementInfo */
929 static int hf_rrlp_rxLEVMeasurementInfo5; /* RXLEVMeasurementInfo */
930 static int hf_rrlp_rxLEVMeasurementInfo6; /* RXLEVMeasurementInfo */
931 static int hf_rrlp_rxLEV; /* INTEGER_0_63 */
932 static int hf_rrlp_rlc_Data_Block; /* NULL */
933 static int hf_rrlp_access_Burst; /* NULL */
934 static int hf_rrlp_extended_Access_Burst; /* Extended_Access_Burst */
935 static int hf_rrlp_spare; /* NULL */
936 static int hf_rrlp_random_ID1; /* INTEGER_0_65535 */
937 static int hf_rrlp_random_ID2; /* INTEGER_0_65535 */
938 static int hf_rrlp_random_ID3; /* INTEGER_0_65535 */
939 static int hf_rrlp_random_ID4; /* INTEGER_0_65535 */
940 static int hf_rrlp_random_ID5; /* INTEGER_0_65535 */
941 static int hf_rrlp_random_ID6; /* INTEGER_0_65535 */
942 static int hf_rrlp_random_ID7; /* INTEGER_0_65535 */
943 static int hf_rrlp_random_ID8; /* INTEGER_0_65535 */
944 static int hf_rrlp_random_ID9; /* INTEGER_0_65535 */
945 static int hf_rrlp_short_BSS_ID; /* INTEGER_0_7 */
946 static int hf_rrlp_co_sited_cell_Set_Member1; /* Co_Sited_Cell_Set_Member */
947 static int hf_rrlp_co_sited_cell_set_Member2; /* Co_Sited_Cell_Set_Member */
948 static int hf_rrlp_co_sited_cell_set_Member3; /* Co_Sited_Cell_Set_Member */
949 static int hf_rrlp_co_sited_cell_set_Member4; /* Co_Sited_Cell_Set_Member */
950 static int hf_rrlp_co_sited_cell_set_Member5; /* Co_Sited_Cell_Set_Member */
951 static int hf_rrlp_co_sited_cell_set_Member6; /* Co_Sited_Cell_Set_Member */
952 static int hf_rrlp_bsic_Info; /* BSIC_Info */
953 static int hf_rrlp_cell_Set_Member1; /* Cell_Set_Member */
954 static int hf_rrlp_cell_set_Member2; /* Cell_Set_Member */
955 static int hf_rrlp_cell_set_Member3; /* Cell_Set_Member */
956 static int hf_rrlp_cell_set_Member4; /* Cell_Set_Member */
957 static int hf_rrlp_cell_set_Member5; /* Cell_Set_Member */
958 static int hf_rrlp_cell_set_Member6; /* Cell_Set_Member */
959 static int hf_rrlp_short_ID; /* INTEGER_0_255 */
960 static int hf_rrlp_ec_cell_information; /* T_ec_cell_information */
961 static int hf_rrlp_ec_RACH_Control_Parameters; /* EC_RACH_Control_Parameters */
962 static int hf_rrlp_default_ec_RACH_Control_Parameters; /* NULL */
963 static int hf_rrlp_peo_cell_information; /* T_peo_cell_information */
964 static int hf_rrlp_rach_Control_Parameters; /* RACH_Control_Parameters */
965 static int hf_rrlp_default_rach_Control_Parameters; /* NULL */
966 static int hf_rrlp_radio_Frequency_Colour_Code; /* INTEGER_0_7 */
967 static int hf_rrlp_network_Colour_Code; /* INTEGER_0_7 */
968 static int hf_rrlp_base_station_Colour_Code; /* INTEGER_0_7 */
969 static int hf_rrlp_ec_BS_CC_CHANS; /* INTEGER_0_3 */
970 static int hf_rrlp_ec_RXLEV_ACCESS_MIN; /* INTEGER_0_63 */
971 static int hf_rrlp_ms_TXPWR_MAX_CCH; /* INTEGER_0_31 */
972 static int hf_rrlp_lb_MS_TXPWR_MAX_CCH; /* INTEGER_0_31 */
973 static int hf_rrlp_cell_SELECTION_RLA_MARGIN; /* INTEGER_0_7 */
974 static int hf_rrlp_dl_CC_Selection; /* BOOLEAN */
975 static int hf_rrlp_bt_Threshold_DL; /* INTEGER_0_31 */
976 static int hf_rrlp_cc2_Range_DL; /* INTEGER_0_31 */
977 static int hf_rrlp_cc3_Range_DL; /* INTEGER_0_31 */
978 static int hf_rrlp_bt_Threshold_UL; /* INTEGER_0_31 */
979 static int hf_rrlp_cc2_Range_UL; /* INTEGER_0_31 */
980 static int hf_rrlp_cc3_Range_UL; /* INTEGER_0_31 */
981 static int hf_rrlp_cc4_Range_UL; /* INTEGER_0_31 */
982 static int hf_rrlp_bsPWR; /* INTEGER_0_63 */
983 static int hf_rrlp_dl_Signal_Strength_Step_Size; /* INTEGER_0_3 */
984 static int hf_rrlp_ec_Reduced_PDCH_Allocation; /* BOOLEAN */
985 static int hf_rrlp_ec_Max_Retrans; /* INTEGER */
986 static int hf_rrlp_sm; /* INTEGER_0_3 */
987 static int hf_rrlp_tm; /* INTEGER_0_3 */
988 static int hf_rrlp_access_Timeslots; /* BOOLEAN */
989 static int hf_rrlp_alpha; /* INTEGER_0_15 */
990 static int hf_rrlp_t3168; /* INTEGER_0_7 */
991 static int hf_rrlp_t3192; /* INTEGER_0_7 */
992 static int hf_rrlp_t3226; /* INTEGER_0_7 */
993 static int hf_rrlp_t3248; /* INTEGER_0_3 */
994 static int hf_rrlp_mta_BITMAP; /* MTA_BITMAP */
995 static int hf_rrlp_rxlev_ACCESS_MIN; /* INTEGER_0_63 */
996 static int hf_rrlp_max_Retrans; /* INTEGER_0_3 */
997 static int hf_rrlp_tx_integer; /* INTEGER_0_15 */
998 static int hf_rrlp_mta_RLC_Data_Block_method; /* BOOLEAN */
999 static int hf_rrlp_mta_Access_Burst_method; /* BOOLEAN */
1000 static int hf_rrlp_mta_Extended_Access_Burst_method; /* BOOLEAN */
1001 static int hf_rrlp_mta_spare; /* BOOLEAN */
1002 static int hf_rrlp_mta_access_security_method; /* NULL */
1003 static int hf_rrlp_bss_duplication_detection_method; /* NULL */
1004 /* named bits */
1005 static int hf_rrlp_GANSSPositioningMethod_gps;
1006 static int hf_rrlp_GANSSPositioningMethod_galileo;
1007 static int hf_rrlp_GANSSPositioningMethod_sbas;
1008 static int hf_rrlp_GANSSPositioningMethod_modernizedGPS;
1009 static int hf_rrlp_GANSSPositioningMethod_qzss;
1010 static int hf_rrlp_GANSSPositioningMethod_glonass;
1011 static int hf_rrlp_GANSSPositioningMethod_bd;
1012 static int hf_rrlp_PositionData_e_otd;
1013 static int hf_rrlp_PositionData_gps;
1014 static int hf_rrlp_PositionData_galileo;
1015 static int hf_rrlp_PositionData_sbas;
1016 static int hf_rrlp_PositionData_modernizedGPS;
1017 static int hf_rrlp_PositionData_qzss;
1018 static int hf_rrlp_PositionData_glonass;
1019 static int hf_rrlp_PositionData_bds;
1020 static int hf_rrlp_NonGANSSPositionMethods_msAssistedEOTD;
1021 static int hf_rrlp_NonGANSSPositionMethods_msBasedEOTD;
1022 static int hf_rrlp_NonGANSSPositionMethods_msAssistedGPS;
1023 static int hf_rrlp_NonGANSSPositionMethods_msBasedGPS;
1024 static int hf_rrlp_NonGANSSPositionMethods_standaloneGPS;
1025 static int hf_rrlp_GANSSPositioningMethodTypes_msAssisted;
1026 static int hf_rrlp_GANSSPositioningMethodTypes_msBased;
1027 static int hf_rrlp_GANSSPositioningMethodTypes_standalone;
1028 static int hf_rrlp_GANSSSignals_signal1;
1029 static int hf_rrlp_GANSSSignals_signal2;
1030 static int hf_rrlp_GANSSSignals_signal3;
1031 static int hf_rrlp_GANSSSignals_signal4;
1032 static int hf_rrlp_GANSSSignals_signal5;
1033 static int hf_rrlp_GANSSSignals_signal6;
1034 static int hf_rrlp_GANSSSignals_signal7;
1035 static int hf_rrlp_GANSSSignals_signal8;
1036 static int hf_rrlp_SBASID_waas;
1037 static int hf_rrlp_SBASID_egnos;
1038 static int hf_rrlp_SBASID_masas;
1039 static int hf_rrlp_SBASID_gagan;
1040 static int hf_rrlp_MultipleMeasurementSets_eotd;
1041 static int hf_rrlp_MultipleMeasurementSets_gps;
1042 static int hf_rrlp_MultipleMeasurementSets_ganss;
1043 static int hf_rrlp_GPSAssistance_almanac;
1044 static int hf_rrlp_GPSAssistance_uTCmodel;
1045 static int hf_rrlp_GPSAssistance_ionosphericModel;
1046 static int hf_rrlp_GPSAssistance_navigationmodel;
1047 static int hf_rrlp_GPSAssistance_dGPScorrections;
1048 static int hf_rrlp_GPSAssistance_referenceLocation;
1049 static int hf_rrlp_GPSAssistance_referenceTime;
1050 static int hf_rrlp_GPSAssistance_acquisitionAssistance;
1051 static int hf_rrlp_GPSAssistance_realTimeIntegrity;
1052 static int hf_rrlp_GPSAssistance_ephemerisExtension;
1053 static int hf_rrlp_GPSAssistance_ephemerisExtensionCheck;
1054 static int hf_rrlp_GPSAssistance_gPSAcquisAssist_R12_Ext;
1055 static int hf_rrlp_CommonGANSSAssistance_referenceTime;
1056 static int hf_rrlp_CommonGANSSAssistance_referenceLocation;
1057 static int hf_rrlp_CommonGANSSAssistance_spare_bit2;
1058 static int hf_rrlp_CommonGANSSAssistance_ionosphericModel;
1059 static int hf_rrlp_CommonGANSSAssistance_addIonosphericModel;
1060 static int hf_rrlp_CommonGANSSAssistance_earthOrientationParam;
1061 static int hf_rrlp_GANSSAssistance_realTimeIntegrity;
1062 static int hf_rrlp_GANSSAssistance_differentialCorrections;
1063 static int hf_rrlp_GANSSAssistance_almanac;
1064 static int hf_rrlp_GANSSAssistance_referenceMeasurementInformation;
1065 static int hf_rrlp_GANSSAssistance_navigationModel;
1066 static int hf_rrlp_GANSSAssistance_timeModelGNSS_UTC;
1067 static int hf_rrlp_GANSSAssistance_timeModelGNSS_GNSS;
1068 static int hf_rrlp_GANSSAssistance_databitassistance;
1069 static int hf_rrlp_GANSSAssistance_ephemerisExtension;
1070 static int hf_rrlp_GANSSAssistance_ephemerisExtensionCheck;
1071 static int hf_rrlp_GANSSAssistance_addUTCmodel;
1072 static int hf_rrlp_GANSSAssistance_auxiliaryInformation;
1073 static int hf_rrlp_GANSSAssistance_gANSSRefMeasurementAssist_R12_Ext;
1074 static int hf_rrlp_GANSSAssistance_bdsDifferentialCorrections_r12;
1075 static int hf_rrlp_GANSSAssistance_bdsGridModel_r12;
1076 static int hf_rrlp_GANSSModelID_model1;
1077 static int hf_rrlp_GANSSModelID_model2;
1078 static int hf_rrlp_GANSSModelID_model3;
1079 static int hf_rrlp_GANSSModelID_model4;
1080 static int hf_rrlp_GANSSModelID_model5;
1081 static int hf_rrlp_GANSSModelID_model6;
1082 static int hf_rrlp_GANSSModelID_model7;
1083 static int hf_rrlp_GANSSModelID_model8;
1085 /* Initialize the subtree pointers */
1086 static int ett_rrlp;
1087 static int ett_rrlp_ExtensionContainer;
1088 static int ett_rrlp_PrivateExtensionList;
1089 static int ett_rrlp_PrivateExtension;
1090 static int ett_rrlp_PCS_Extensions;
1091 static int ett_rrlp_PDU;
1092 static int ett_rrlp_RRLP_Component;
1093 static int ett_rrlp_MsrPosition_Req;
1094 static int ett_rrlp_MsrPosition_Rsp;
1095 static int ett_rrlp_AssistanceData;
1096 static int ett_rrlp_ProtocolError;
1097 static int ett_rrlp_PosCapability_Req;
1098 static int ett_rrlp_PosCapability_Rsp;
1099 static int ett_rrlp_PosMTA_Req;
1100 static int ett_rrlp_MultilaterationOTD_Req;
1101 static int ett_rrlp_MultilaterationOTD_Rsp;
1102 static int ett_rrlp_PositionInstruct;
1103 static int ett_rrlp_MethodType;
1104 static int ett_rrlp_AccuracyOpt;
1105 static int ett_rrlp_ReferenceAssistData;
1106 static int ett_rrlp_MsrAssistData;
1107 static int ett_rrlp_SeqOfMsrAssistBTS;
1108 static int ett_rrlp_MsrAssistBTS;
1109 static int ett_rrlp_SystemInfoAssistData;
1110 static int ett_rrlp_SeqOfSystemInfoAssistBTS;
1111 static int ett_rrlp_SystemInfoAssistBTS;
1112 static int ett_rrlp_AssistBTSData;
1113 static int ett_rrlp_CalcAssistanceBTS;
1114 static int ett_rrlp_ReferenceWGS84;
1115 static int ett_rrlp_MultipleSets;
1116 static int ett_rrlp_ReferenceIdentity;
1117 static int ett_rrlp_SeqOfReferenceIdentityType;
1118 static int ett_rrlp_ReferenceIdentityType;
1119 static int ett_rrlp_BSICAndCarrier;
1120 static int ett_rrlp_CellIDAndLAC;
1121 static int ett_rrlp_OTD_MeasureInfo;
1122 static int ett_rrlp_SeqOfOTD_MsrElementRest;
1123 static int ett_rrlp_OTD_MsrElementFirst;
1124 static int ett_rrlp_SeqOfOTD_FirstSetMsrs;
1125 static int ett_rrlp_OTD_MsrElementRest;
1126 static int ett_rrlp_SeqOfOTD_MsrsOfOtherSets;
1127 static int ett_rrlp_TOA_MeasurementsOfRef;
1128 static int ett_rrlp_OTD_MsrsOfOtherSets;
1129 static int ett_rrlp_OTD_Measurement;
1130 static int ett_rrlp_OTD_MeasurementWithID;
1131 static int ett_rrlp_EOTDQuality;
1132 static int ett_rrlp_NeighborIdentity;
1133 static int ett_rrlp_MultiFrameCarrier;
1134 static int ett_rrlp_LocationInfo;
1135 static int ett_rrlp_GPS_MeasureInfo;
1136 static int ett_rrlp_SeqOfGPS_MsrSetElement;
1137 static int ett_rrlp_GPS_MsrSetElement;
1138 static int ett_rrlp_SeqOfGPS_MsrElement;
1139 static int ett_rrlp_GPS_MsrElement;
1140 static int ett_rrlp_LocationError;
1141 static int ett_rrlp_AdditionalAssistanceData;
1142 static int ett_rrlp_GPS_AssistData;
1143 static int ett_rrlp_ControlHeader;
1144 static int ett_rrlp_ReferenceTime;
1145 static int ett_rrlp_GPSTime;
1146 static int ett_rrlp_GPSTOWAssist;
1147 static int ett_rrlp_GPSTOWAssistElement;
1148 static int ett_rrlp_GSMTime;
1149 static int ett_rrlp_RefLocation;
1150 static int ett_rrlp_DGPSCorrections;
1151 static int ett_rrlp_SeqOfSatElement;
1152 static int ett_rrlp_SatElement;
1153 static int ett_rrlp_NavigationModel;
1154 static int ett_rrlp_SeqOfNavModelElement;
1155 static int ett_rrlp_NavModelElement;
1156 static int ett_rrlp_SatStatus;
1157 static int ett_rrlp_UncompressedEphemeris;
1158 static int ett_rrlp_EphemerisSubframe1Reserved;
1159 static int ett_rrlp_IonosphericModel;
1160 static int ett_rrlp_UTCModel;
1161 static int ett_rrlp_Almanac;
1162 static int ett_rrlp_SeqOfAlmanacElement;
1163 static int ett_rrlp_AlmanacElement;
1164 static int ett_rrlp_AcquisAssist;
1165 static int ett_rrlp_SeqOfAcquisElement;
1166 static int ett_rrlp_TimeRelation;
1167 static int ett_rrlp_AcquisElement;
1168 static int ett_rrlp_AddionalDopplerFields;
1169 static int ett_rrlp_AddionalAngleFields;
1170 static int ett_rrlp_SeqOf_BadSatelliteSet;
1171 static int ett_rrlp_Rel98_MsrPosition_Req_Extension;
1172 static int ett_rrlp_Rel98_AssistanceData_Extension;
1173 static int ett_rrlp_Rel98_Ext_ExpOTD;
1174 static int ett_rrlp_MsrAssistData_R98_ExpOTD;
1175 static int ett_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD;
1176 static int ett_rrlp_MsrAssistBTS_R98_ExpOTD;
1177 static int ett_rrlp_SystemInfoAssistData_R98_ExpOTD;
1178 static int ett_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD;
1179 static int ett_rrlp_SystemInfoAssistBTS_R98_ExpOTD;
1180 static int ett_rrlp_AssistBTSData_R98_ExpOTD;
1181 static int ett_rrlp_GPSTimeAssistanceMeasurements;
1182 static int ett_rrlp_Rel_98_MsrPosition_Rsp_Extension;
1183 static int ett_rrlp_T_rel_98_Ext_MeasureInfo;
1184 static int ett_rrlp_OTD_MeasureInfo_R98_Ext;
1185 static int ett_rrlp_OTD_MsrElementFirst_R98_Ext;
1186 static int ett_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext;
1187 static int ett_rrlp_Rel_5_MsrPosition_Rsp_Extension;
1188 static int ett_rrlp_Extended_reference;
1189 static int ett_rrlp_Rel5_MsrPosition_Req_Extension;
1190 static int ett_rrlp_Rel5_AssistanceData_Extension;
1191 static int ett_rrlp_Rel_5_ProtocolError_Extension;
1192 static int ett_rrlp_Rel7_MsrPosition_Req_Extension;
1193 static int ett_rrlp_GANSSPositioningMethod;
1194 static int ett_rrlp_GANSS_AssistData;
1195 static int ett_rrlp_GANSS_ControlHeader;
1196 static int ett_rrlp_GANSSCommonAssistData;
1197 static int ett_rrlp_SeqOfGANSSGenericAssistDataElement;
1198 static int ett_rrlp_GANSSGenericAssistDataElement;
1199 static int ett_rrlp_GANSSReferenceTime;
1200 static int ett_rrlp_GANSSRefTimeInfo;
1201 static int ett_rrlp_GANSSReferenceTime_R10_Ext;
1202 static int ett_rrlp_GANSSTOD_GSMTimeAssociation;
1203 static int ett_rrlp_GANSSRefLocation;
1204 static int ett_rrlp_GANSSIonosphericModel;
1205 static int ett_rrlp_GANSSIonosphereModel;
1206 static int ett_rrlp_GANSSIonoStormFlags;
1207 static int ett_rrlp_GANSSAddIonosphericModel;
1208 static int ett_rrlp_GANSSEarthOrientParam;
1209 static int ett_rrlp_SeqOfGANSSTimeModel;
1210 static int ett_rrlp_GANSSTimeModelElement;
1211 static int ett_rrlp_SeqOfGANSSTimeModel_R10_Ext;
1212 static int ett_rrlp_GANSSTimeModelElement_R10_Ext;
1213 static int ett_rrlp_GANSSDiffCorrections;
1214 static int ett_rrlp_SeqOfSgnTypeElement;
1215 static int ett_rrlp_SgnTypeElement;
1216 static int ett_rrlp_SeqOfDGANSSSgnElement;
1217 static int ett_rrlp_DGANSSSgnElement;
1218 static int ett_rrlp_GANSSNavModel;
1219 static int ett_rrlp_SeqOfGANSSSatelliteElement;
1220 static int ett_rrlp_GANSSSatelliteElement;
1221 static int ett_rrlp_GANSSOrbitModel;
1222 static int ett_rrlp_NavModel_KeplerianSet;
1223 static int ett_rrlp_NavModel_NAVKeplerianSet;
1224 static int ett_rrlp_NavModel_CNAVKeplerianSet;
1225 static int ett_rrlp_NavModel_GLONASSecef;
1226 static int ett_rrlp_NavModel_SBASecef;
1227 static int ett_rrlp_NavModel_BDSKeplerianSet_r12;
1228 static int ett_rrlp_GANSSClockModel;
1229 static int ett_rrlp_SeqOfStandardClockModelElement;
1230 static int ett_rrlp_StandardClockModelElement;
1231 static int ett_rrlp_NAVclockModel;
1232 static int ett_rrlp_CNAVclockModel;
1233 static int ett_rrlp_GLONASSclockModel;
1234 static int ett_rrlp_SBASclockModel;
1235 static int ett_rrlp_BDSClockModel_r12;
1236 static int ett_rrlp_GANSSRealTimeIntegrity;
1237 static int ett_rrlp_SeqOfBadSignalElement;
1238 static int ett_rrlp_BadSignalElement;
1239 static int ett_rrlp_GANSSDataBitAssist;
1240 static int ett_rrlp_SeqOfGanssDataBitsElement;
1241 static int ett_rrlp_GanssDataBitsElement;
1242 static int ett_rrlp_Seq_OfGANSSDataBitsSgn;
1243 static int ett_rrlp_GANSSDataBitsSgnElement;
1244 static int ett_rrlp_SeqOf_GANSSDataBits;
1245 static int ett_rrlp_GANSSRefMeasurementAssist;
1246 static int ett_rrlp_SeqOfGANSSRefMeasurementElement;
1247 static int ett_rrlp_GANSSRefMeasurementElement;
1248 static int ett_rrlp_AdditionalDopplerFields;
1249 static int ett_rrlp_GANSSRefMeasurementAssist_R10_Ext;
1250 static int ett_rrlp_GANSSRefMeasurement_R10_Ext_Element;
1251 static int ett_rrlp_GANSSRefMeasurementAssist_R12_Ext;
1252 static int ett_rrlp_SeqOfGANSSRefMeasurementElement_R12;
1253 static int ett_rrlp_GANSSRefMeasurement_R12_Ext_Element;
1254 static int ett_rrlp_GANSSAlmanacModel;
1255 static int ett_rrlp_SeqOfGANSSAlmanacElement;
1256 static int ett_rrlp_GANSSAlmanacElement;
1257 static int ett_rrlp_Almanac_KeplerianSet;
1258 static int ett_rrlp_Almanac_NAVKeplerianSet;
1259 static int ett_rrlp_Almanac_ReducedKeplerianSet;
1260 static int ett_rrlp_Almanac_MidiAlmanacSet;
1261 static int ett_rrlp_Almanac_GlonassAlmanacSet;
1262 static int ett_rrlp_Almanac_ECEFsbasAlmanacSet;
1263 static int ett_rrlp_Almanac_BDSAlmanacSet_r12;
1264 static int ett_rrlp_GANSSAlmanacModel_R10_Ext;
1265 static int ett_rrlp_GANSSAlmanacModel_R12_Ext;
1266 static int ett_rrlp_GANSSUTCModel;
1267 static int ett_rrlp_GANSSEphemerisExtension;
1268 static int ett_rrlp_GANSSEphemerisExtensionHeader;
1269 static int ett_rrlp_GANSSEphemerisExtensionTime;
1270 static int ett_rrlp_ReferenceNavModel;
1271 static int ett_rrlp_SeqOfGANSSRefOrbit;
1272 static int ett_rrlp_GANSSReferenceOrbit;
1273 static int ett_rrlp_GANSSEphemerisDeltaMatrix;
1274 static int ett_rrlp_GANSSEphemerisDeltaEpoch;
1275 static int ett_rrlp_GANSSDeltaEpochHeader;
1276 static int ett_rrlp_GANSSDeltaElementList;
1277 static int ett_rrlp_GANSSEphemerisDeltaBitSizes;
1278 static int ett_rrlp_GANSSEphemerisDeltaScales;
1279 static int ett_rrlp_GANSSEphemerisExtensionCheck;
1280 static int ett_rrlp_GANSSSatEventsInfo;
1281 static int ett_rrlp_GANSSAddUTCModel;
1282 static int ett_rrlp_UTCmodelSet2;
1283 static int ett_rrlp_UTCmodelSet3;
1284 static int ett_rrlp_UTCmodelSet4;
1285 static int ett_rrlp_UTCmodelSet5_r12;
1286 static int ett_rrlp_GANSSAuxiliaryInformation;
1287 static int ett_rrlp_GANSS_ID1;
1288 static int ett_rrlp_GANSS_ID1_element;
1289 static int ett_rrlp_GANSS_ID3;
1290 static int ett_rrlp_GANSS_ID3_element;
1291 static int ett_rrlp_GANSSDiffCorrectionsValidityPeriod;
1292 static int ett_rrlp_DGANSSExtensionSgnTypeElement;
1293 static int ett_rrlp_SeqOfDGANSSExtensionSgnElement;
1294 static int ett_rrlp_DGANSSExtensionSgnElement;
1295 static int ett_rrlp_Add_GPS_AssistData;
1296 static int ett_rrlp_Add_GPS_ControlHeader;
1297 static int ett_rrlp_GPSClockModel;
1298 static int ett_rrlp_GPSEphemerisExtension;
1299 static int ett_rrlp_GPSEphemerisExtensionHeader;
1300 static int ett_rrlp_GPSEphemerisExtensionTime;
1301 static int ett_rrlp_SeqOfGPSRefOrbit;
1302 static int ett_rrlp_GPSReferenceOrbit;
1303 static int ett_rrlp_GPSEphemerisDeltaMatrix;
1304 static int ett_rrlp_GPSEphemerisDeltaEpoch;
1305 static int ett_rrlp_GPSDeltaEpochHeader;
1306 static int ett_rrlp_GPSDeltaElementList;
1307 static int ett_rrlp_GPSEphemerisDeltaBitSizes;
1308 static int ett_rrlp_GPSEphemerisDeltaScales;
1309 static int ett_rrlp_GPSEphemerisExtensionCheck;
1310 static int ett_rrlp_GPSSatEventsInfo;
1311 static int ett_rrlp_DGPSCorrectionsValidityPeriod;
1312 static int ett_rrlp_DGPSExtensionSatElement;
1313 static int ett_rrlp_GPSReferenceTime_R10_Ext;
1314 static int ett_rrlp_GPSAcquisAssist_R10_Ext;
1315 static int ett_rrlp_GPSAcquisAssist_R10_Ext_Element;
1316 static int ett_rrlp_GPSAcquisAssist_R12_Ext;
1317 static int ett_rrlp_SeqOfGPSAcquisAssist_R12_Ext;
1318 static int ett_rrlp_GPSAcquisAssist_R12_Ext_Element;
1319 static int ett_rrlp_GPSAlmanac_R10_Ext;
1320 static int ett_rrlp_Rel_7_MsrPosition_Rsp_Extension;
1321 static int ett_rrlp_GANSSLocationInfo;
1322 static int ett_rrlp_PositionData;
1323 static int ett_rrlp_ReferenceFrame;
1324 static int ett_rrlp_GANSSMeasureInfo;
1325 static int ett_rrlp_SeqOfGANSS_MsrSetElement;
1326 static int ett_rrlp_GANSS_MsrSetElement;
1327 static int ett_rrlp_SeqOfGANSS_MsrElement;
1328 static int ett_rrlp_GANSS_MsrElement;
1329 static int ett_rrlp_SeqOfGANSS_SgnTypeElement;
1330 static int ett_rrlp_GANSS_SgnTypeElement;
1331 static int ett_rrlp_SeqOfGANSS_SgnElement;
1332 static int ett_rrlp_GANSS_SgnElement;
1333 static int ett_rrlp_Rel7_AssistanceData_Extension;
1334 static int ett_rrlp_BDS_DiffCorrections_r12;
1335 static int ett_rrlp_BDS_SgnTypeList_r12;
1336 static int ett_rrlp_BDS_SgnTypeElement_r12;
1337 static int ett_rrlp_DBDS_CorrectionList_r12;
1338 static int ett_rrlp_DBDS_CorrectionElement_r12;
1339 static int ett_rrlp_BDS_GridModelParameter_r12;
1340 static int ett_rrlp_GridIonList_r12;
1341 static int ett_rrlp_GridIonElement_r12;
1342 static int ett_rrlp_PosCapabilities;
1343 static int ett_rrlp_NonGANSSPositionMethods;
1344 static int ett_rrlp_GANSSPositionMethods;
1345 static int ett_rrlp_GANSSPositionMethod;
1346 static int ett_rrlp_GANSSPositioningMethodTypes;
1347 static int ett_rrlp_GANSSSignals;
1348 static int ett_rrlp_SBASID;
1349 static int ett_rrlp_MultipleMeasurementSets;
1350 static int ett_rrlp_AssistanceSupported;
1351 static int ett_rrlp_GPSAssistance;
1352 static int ett_rrlp_GANSSAssistanceSet;
1353 static int ett_rrlp_CommonGANSSAssistance;
1354 static int ett_rrlp_SpecificGANSSAssistance;
1355 static int ett_rrlp_GANSSAssistanceForOneGANSS;
1356 static int ett_rrlp_GANSSAssistance;
1357 static int ett_rrlp_GANSSAdditionalAssistanceChoices;
1358 static int ett_rrlp_GANSSAdditionalAssistanceChoicesForOneGANSS;
1359 static int ett_rrlp_GANSSModelID;
1360 static int ett_rrlp_AssistanceNeeded;
1361 static int ett_rrlp_CellSets;
1362 static int ett_rrlp_CellSet;
1363 static int ett_rrlp_CellInfo;
1364 static int ett_rrlp_OTDMeasurementResults;
1365 static int ett_rrlp_OTDMeasurementInfo;
1366 static int ett_rrlp_CellType;
1367 static int ett_rrlp_RXLEVMeasurementResults;
1368 static int ett_rrlp_RXLEVMeasurementInfo;
1369 static int ett_rrlp_MTA_Method;
1370 static int ett_rrlp_Random_ID_Set;
1371 static int ett_rrlp_Extended_Access_Burst;
1372 static int ett_rrlp_Co_Sited_Cells;
1373 static int ett_rrlp_Co_Sited_Cell_Set_Member;
1374 static int ett_rrlp_Cell_Set;
1375 static int ett_rrlp_Cell_Set_Member;
1376 static int ett_rrlp_T_ec_cell_information;
1377 static int ett_rrlp_T_peo_cell_information;
1378 static int ett_rrlp_BSIC_Info;
1379 static int ett_rrlp_EC_RACH_Control_Parameters;
1380 static int ett_rrlp_RACH_Control_Parameters;
1381 static int ett_rrlp_MTA_BITMAP;
1382 static int ett_rrlp_MTA_Security;
1384 /* Include constants */
1385 #define maxNumOfPrivateExtensions 10
1386 #define maxExt_GeographicalInformation 20
1387 #define maxGPSAssistanceData 40
1388 #define maxGANSSAssistanceData 40
1393 static int
1394 dissect_rrlp_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1395 offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
1397 return offset;
1402 static int
1403 dissect_rrlp_T_extType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1404 offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL);
1406 return offset;
1410 static const per_sequence_t PrivateExtension_sequence[] = {
1411 { &hf_rrlp_extId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OBJECT_IDENTIFIER },
1412 { &hf_rrlp_extType , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_T_extType },
1413 { NULL, 0, 0, NULL }
1416 static int
1417 dissect_rrlp_PrivateExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1418 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1419 ett_rrlp_PrivateExtension, PrivateExtension_sequence);
1421 return offset;
1425 static const per_sequence_t PrivateExtensionList_sequence_of[1] = {
1426 { &hf_rrlp_PrivateExtensionList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_PrivateExtension },
1429 static int
1430 dissect_rrlp_PrivateExtensionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1431 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1432 ett_rrlp_PrivateExtensionList, PrivateExtensionList_sequence_of,
1433 1, maxNumOfPrivateExtensions, false);
1435 return offset;
1439 static const per_sequence_t PCS_Extensions_sequence[] = {
1440 { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1443 static int
1444 dissect_rrlp_PCS_Extensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1445 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1446 ett_rrlp_PCS_Extensions, PCS_Extensions_sequence);
1448 return offset;
1452 static const per_sequence_t ExtensionContainer_sequence[] = {
1453 { &hf_rrlp_privateExtensionList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_PrivateExtensionList },
1454 { &hf_rrlp_pcs_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_PCS_Extensions },
1455 { NULL, 0, 0, NULL }
1458 static int
1459 dissect_rrlp_ExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1460 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1461 ett_rrlp_ExtensionContainer, ExtensionContainer_sequence);
1463 return offset;
1468 static int
1469 dissect_rrlp_Ext_GeographicalInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1471 tvbuff_t *parameter_tvb = NULL;
1473 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1474 1, maxExt_GeographicalInformation, false, &parameter_tvb);
1477 if(parameter_tvb)
1478 dissect_geographical_description(parameter_tvb, actx->pinfo, tree);
1480 return offset;
1485 static int
1486 dissect_rrlp_VelocityEstimate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1487 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1488 4, 7, false, NULL);
1490 return offset;
1495 static int
1496 dissect_rrlp_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1497 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1498 0U, 7U, NULL, false);
1500 return offset;
1505 static int
1506 dissect_rrlp_Accuracy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1507 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1508 0U, 127U, NULL, false);
1510 return offset;
1514 static const per_sequence_t AccuracyOpt_sequence[] = {
1515 { &hf_rrlp_accuracy , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Accuracy },
1516 { NULL, 0, 0, NULL }
1519 static int
1520 dissect_rrlp_AccuracyOpt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1521 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1522 ett_rrlp_AccuracyOpt, AccuracyOpt_sequence);
1524 return offset;
1528 static const value_string rrlp_MethodType_vals[] = {
1529 { 0, "msAssisted" },
1530 { 1, "msBased" },
1531 { 2, "msBasedPref" },
1532 { 3, "msAssistedPref" },
1533 { 0, NULL }
1536 static const per_choice_t MethodType_choice[] = {
1537 { 0, &hf_rrlp_msAssisted , ASN1_NO_EXTENSIONS , dissect_rrlp_AccuracyOpt },
1538 { 1, &hf_rrlp_msBased , ASN1_NO_EXTENSIONS , dissect_rrlp_Accuracy },
1539 { 2, &hf_rrlp_msBasedPref , ASN1_NO_EXTENSIONS , dissect_rrlp_Accuracy },
1540 { 3, &hf_rrlp_msAssistedPref , ASN1_NO_EXTENSIONS , dissect_rrlp_Accuracy },
1541 { 0, NULL, 0, NULL }
1544 static int
1545 dissect_rrlp_MethodType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1546 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1547 ett_rrlp_MethodType, MethodType_choice,
1548 NULL);
1550 return offset;
1554 static const value_string rrlp_PositionMethod_vals[] = {
1555 { 0, "eotd" },
1556 { 1, "gps" },
1557 { 2, "gpsOrEOTD" },
1558 { 0, NULL }
1562 static int
1563 dissect_rrlp_PositionMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1564 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1565 3, NULL, false, 0, NULL);
1567 return offset;
1572 static int
1573 dissect_rrlp_MeasureResponseTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1574 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1575 0U, 7U, NULL, false);
1577 return offset;
1581 static const value_string rrlp_UseMultipleSets_vals[] = {
1582 { 0, "multipleSets" },
1583 { 1, "oneSet" },
1584 { 0, NULL }
1588 static int
1589 dissect_rrlp_UseMultipleSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1590 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1591 2, NULL, false, 0, NULL);
1593 return offset;
1597 static const value_string rrlp_EnvironmentCharacter_vals[] = {
1598 { 0, "badArea" },
1599 { 1, "notBadArea" },
1600 { 2, "mixedArea" },
1601 { 0, NULL }
1605 static int
1606 dissect_rrlp_EnvironmentCharacter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1607 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1608 3, NULL, true, 0, NULL);
1610 return offset;
1614 static const per_sequence_t PositionInstruct_sequence[] = {
1615 { &hf_rrlp_methodType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_MethodType },
1616 { &hf_rrlp_positionMethod , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_PositionMethod },
1617 { &hf_rrlp_measureResponseTime, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_MeasureResponseTime },
1618 { &hf_rrlp_useMultipleSets, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_UseMultipleSets },
1619 { &hf_rrlp_environmentCharacter, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_EnvironmentCharacter },
1620 { NULL, 0, 0, NULL }
1623 static int
1624 dissect_rrlp_PositionInstruct(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1625 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1626 ett_rrlp_PositionInstruct, PositionInstruct_sequence);
1628 return offset;
1633 static int
1634 dissect_rrlp_BCCHCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1635 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1636 0U, 1023U, NULL, false);
1638 return offset;
1643 static int
1644 dissect_rrlp_BSIC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1645 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1646 0U, 63U, NULL, false);
1648 return offset;
1652 static const value_string rrlp_TimeSlotScheme_vals[] = {
1653 { 0, "equalLength" },
1654 { 1, "variousLength" },
1655 { 0, NULL }
1659 static int
1660 dissect_rrlp_TimeSlotScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1661 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1662 2, NULL, false, 0, NULL);
1664 return offset;
1669 static int
1670 dissect_rrlp_BTSPosition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1671 offset = dissect_rrlp_Ext_GeographicalInformation(tvb, offset, actx, tree, hf_index);
1673 return offset;
1677 static const per_sequence_t ReferenceAssistData_sequence[] = {
1678 { &hf_rrlp_bcchCarrier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BCCHCarrier },
1679 { &hf_rrlp_bsic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC },
1680 { &hf_rrlp_timeSlotScheme , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_TimeSlotScheme },
1681 { &hf_rrlp_btsPosition , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_BTSPosition },
1682 { NULL, 0, 0, NULL }
1685 static int
1686 dissect_rrlp_ReferenceAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1687 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1688 ett_rrlp_ReferenceAssistData, ReferenceAssistData_sequence);
1690 return offset;
1695 static int
1696 dissect_rrlp_MultiFrameOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1697 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1698 0U, 51U, NULL, false);
1700 return offset;
1705 static int
1706 dissect_rrlp_RoughRTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1707 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1708 0U, 1250U, NULL, false);
1710 return offset;
1715 static int
1716 dissect_rrlp_FineRTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1717 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1718 0U, 255U, NULL, false);
1720 return offset;
1725 static int
1726 dissect_rrlp_RelDistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1727 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1728 -200000, 200000U, NULL, false);
1730 return offset;
1735 static int
1736 dissect_rrlp_RelativeAlt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1737 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1738 -4000, 4000U, NULL, false);
1740 return offset;
1744 static const per_sequence_t ReferenceWGS84_sequence[] = {
1745 { &hf_rrlp_relativeNorth , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_RelDistance },
1746 { &hf_rrlp_relativeEast , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_RelDistance },
1747 { &hf_rrlp_relativeAlt , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_RelativeAlt },
1748 { NULL, 0, 0, NULL }
1751 static int
1752 dissect_rrlp_ReferenceWGS84(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1753 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1754 ett_rrlp_ReferenceWGS84, ReferenceWGS84_sequence);
1756 return offset;
1760 static const per_sequence_t CalcAssistanceBTS_sequence[] = {
1761 { &hf_rrlp_fineRTD , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_FineRTD },
1762 { &hf_rrlp_referenceWGS84 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_ReferenceWGS84 },
1763 { NULL, 0, 0, NULL }
1766 static int
1767 dissect_rrlp_CalcAssistanceBTS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1768 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1769 ett_rrlp_CalcAssistanceBTS, CalcAssistanceBTS_sequence);
1771 return offset;
1775 static const per_sequence_t MsrAssistBTS_sequence[] = {
1776 { &hf_rrlp_bcchCarrier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BCCHCarrier },
1777 { &hf_rrlp_bsic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC },
1778 { &hf_rrlp_multiFrameOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_MultiFrameOffset },
1779 { &hf_rrlp_timeSlotScheme , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_TimeSlotScheme },
1780 { &hf_rrlp_roughRTD , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_RoughRTD },
1781 { &hf_rrlp_calcAssistanceBTS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CalcAssistanceBTS },
1782 { NULL, 0, 0, NULL }
1785 static int
1786 dissect_rrlp_MsrAssistBTS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1787 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1788 ett_rrlp_MsrAssistBTS, MsrAssistBTS_sequence);
1790 return offset;
1794 static const per_sequence_t SeqOfMsrAssistBTS_sequence_of[1] = {
1795 { &hf_rrlp_SeqOfMsrAssistBTS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_MsrAssistBTS },
1798 static int
1799 dissect_rrlp_SeqOfMsrAssistBTS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1800 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1801 ett_rrlp_SeqOfMsrAssistBTS, SeqOfMsrAssistBTS_sequence_of,
1802 1, 15, false);
1804 return offset;
1808 static const per_sequence_t MsrAssistData_sequence[] = {
1809 { &hf_rrlp_msrAssistList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfMsrAssistBTS },
1810 { NULL, 0, 0, NULL }
1813 static int
1814 dissect_rrlp_MsrAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1815 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1816 ett_rrlp_MsrAssistData, MsrAssistData_sequence);
1818 return offset;
1823 static int
1824 dissect_rrlp_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1825 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
1827 return offset;
1831 static const per_sequence_t AssistBTSData_sequence[] = {
1832 { &hf_rrlp_bsic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC },
1833 { &hf_rrlp_multiFrameOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_MultiFrameOffset },
1834 { &hf_rrlp_timeSlotScheme , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_TimeSlotScheme },
1835 { &hf_rrlp_roughRTD , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_RoughRTD },
1836 { &hf_rrlp_calcAssistanceBTS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CalcAssistanceBTS },
1837 { NULL, 0, 0, NULL }
1840 static int
1841 dissect_rrlp_AssistBTSData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1842 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1843 ett_rrlp_AssistBTSData, AssistBTSData_sequence);
1845 return offset;
1849 static const value_string rrlp_SystemInfoAssistBTS_vals[] = {
1850 { 0, "notPresent" },
1851 { 1, "present" },
1852 { 0, NULL }
1855 static const per_choice_t SystemInfoAssistBTS_choice[] = {
1856 { 0, &hf_rrlp_notPresent , ASN1_NO_EXTENSIONS , dissect_rrlp_NULL },
1857 { 1, &hf_rrlp_present , ASN1_NO_EXTENSIONS , dissect_rrlp_AssistBTSData },
1858 { 0, NULL, 0, NULL }
1861 static int
1862 dissect_rrlp_SystemInfoAssistBTS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1863 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1864 ett_rrlp_SystemInfoAssistBTS, SystemInfoAssistBTS_choice,
1865 NULL);
1867 return offset;
1871 static const per_sequence_t SeqOfSystemInfoAssistBTS_sequence_of[1] = {
1872 { &hf_rrlp_SeqOfSystemInfoAssistBTS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SystemInfoAssistBTS },
1875 static int
1876 dissect_rrlp_SeqOfSystemInfoAssistBTS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1877 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1878 ett_rrlp_SeqOfSystemInfoAssistBTS, SeqOfSystemInfoAssistBTS_sequence_of,
1879 1, 32, false);
1881 return offset;
1885 static const per_sequence_t SystemInfoAssistData_sequence[] = {
1886 { &hf_rrlp_systemInfoAssistList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfSystemInfoAssistBTS },
1887 { NULL, 0, 0, NULL }
1890 static int
1891 dissect_rrlp_SystemInfoAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1892 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1893 ett_rrlp_SystemInfoAssistData, SystemInfoAssistData_sequence);
1895 return offset;
1900 static int
1901 dissect_rrlp_GPSTOW23b(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1902 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1903 0U, 7559999U, NULL, false);
1905 return offset;
1910 static int
1911 dissect_rrlp_GPSWeek(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1912 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1913 0U, 1023U, NULL, false);
1915 return offset;
1919 static const per_sequence_t GPSTime_sequence[] = {
1920 { &hf_rrlp_gpsTOW23b , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSTOW23b },
1921 { &hf_rrlp_gpsWeek , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSWeek },
1922 { NULL, 0, 0, NULL }
1925 static int
1926 dissect_rrlp_GPSTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1927 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1928 ett_rrlp_GPSTime, GPSTime_sequence);
1930 return offset;
1935 static int
1936 dissect_rrlp_FrameNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1937 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1938 0U, 2097151U, NULL, false);
1940 return offset;
1945 static int
1946 dissect_rrlp_TimeSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1947 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1948 0U, 7U, NULL, false);
1950 return offset;
1955 static int
1956 dissect_rrlp_BitNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1957 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1958 0U, 156U, NULL, false);
1960 return offset;
1964 static const per_sequence_t GSMTime_sequence[] = {
1965 { &hf_rrlp_bcchCarrier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BCCHCarrier },
1966 { &hf_rrlp_bsic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC },
1967 { &hf_rrlp_frameNumber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_FrameNumber },
1968 { &hf_rrlp_timeSlot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_TimeSlot },
1969 { &hf_rrlp_bitNumber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BitNumber },
1970 { NULL, 0, 0, NULL }
1973 static int
1974 dissect_rrlp_GSMTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1975 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1976 ett_rrlp_GSMTime, GSMTime_sequence);
1978 return offset;
1983 static int
1984 dissect_rrlp_SatelliteID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1985 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1986 0U, 63U, NULL, false);
1988 return offset;
1993 static int
1994 dissect_rrlp_TLMWord(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1995 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1996 0U, 16383U, NULL, false);
1998 return offset;
2003 static int
2004 dissect_rrlp_AntiSpoofFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2005 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2006 0U, 1U, NULL, false);
2008 return offset;
2013 static int
2014 dissect_rrlp_AlertFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2015 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2016 0U, 1U, NULL, false);
2018 return offset;
2023 static int
2024 dissect_rrlp_TLMReservedBits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2025 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2026 0U, 3U, NULL, false);
2028 return offset;
2032 static const per_sequence_t GPSTOWAssistElement_sequence[] = {
2033 { &hf_rrlp_satelliteID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
2034 { &hf_rrlp_tlmWord , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_TLMWord },
2035 { &hf_rrlp_antiSpoof , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_AntiSpoofFlag },
2036 { &hf_rrlp_alert , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_AlertFlag },
2037 { &hf_rrlp_tlmRsvdBits , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_TLMReservedBits },
2038 { NULL, 0, 0, NULL }
2041 static int
2042 dissect_rrlp_GPSTOWAssistElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2043 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2044 ett_rrlp_GPSTOWAssistElement, GPSTOWAssistElement_sequence);
2046 return offset;
2050 static const per_sequence_t GPSTOWAssist_sequence_of[1] = {
2051 { &hf_rrlp_GPSTOWAssist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSTOWAssistElement },
2054 static int
2055 dissect_rrlp_GPSTOWAssist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2056 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2057 ett_rrlp_GPSTOWAssist, GPSTOWAssist_sequence_of,
2058 1, 12, false);
2060 return offset;
2064 static const per_sequence_t ReferenceTime_sequence[] = {
2065 { &hf_rrlp_gpsTime , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSTime },
2066 { &hf_rrlp_gsmTime , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_GSMTime },
2067 { &hf_rrlp_gpsTowAssist , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_GPSTOWAssist },
2068 { NULL, 0, 0, NULL }
2071 static int
2072 dissect_rrlp_ReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2073 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2074 ett_rrlp_ReferenceTime, ReferenceTime_sequence);
2076 return offset;
2080 static const per_sequence_t RefLocation_sequence[] = {
2081 { &hf_rrlp_threeDLocation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_Ext_GeographicalInformation },
2082 { NULL, 0, 0, NULL }
2085 static int
2086 dissect_rrlp_RefLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2087 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2088 ett_rrlp_RefLocation, RefLocation_sequence);
2090 return offset;
2095 static int
2096 dissect_rrlp_INTEGER_0_604799(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2097 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2098 0U, 604799U, NULL, false);
2100 return offset;
2105 static int
2106 dissect_rrlp_INTEGER_0_239(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2107 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2108 0U, 239U, NULL, false);
2110 return offset;
2115 static int
2116 dissect_rrlp_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2117 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2118 0U, 3U, NULL, false);
2120 return offset;
2125 static int
2126 dissect_rrlp_INTEGER_M2047_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2127 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2128 -2047, 2047U, NULL, false);
2130 return offset;
2135 static int
2136 dissect_rrlp_INTEGER_M127_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2137 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2138 -127, 127U, NULL, false);
2140 return offset;
2145 static int
2146 dissect_rrlp_INTEGER_M7_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2147 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2148 -7, 7U, NULL, false);
2150 return offset;
2154 static const per_sequence_t SatElement_sequence[] = {
2155 { &hf_rrlp_satelliteID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
2156 { &hf_rrlp_iode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_239 },
2157 { &hf_rrlp_udre , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
2158 { &hf_rrlp_pseudoRangeCor , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2047_2047 },
2159 { &hf_rrlp_rangeRateCor , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M127_127 },
2160 { &hf_rrlp_deltaPseudoRangeCor2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M127_127 },
2161 { &hf_rrlp_deltaRangeRateCor2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M7_7 },
2162 { &hf_rrlp_deltaPseudoRangeCor3, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M127_127 },
2163 { &hf_rrlp_deltaRangeRateCor3, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M7_7 },
2164 { NULL, 0, 0, NULL }
2167 static int
2168 dissect_rrlp_SatElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2169 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2170 ett_rrlp_SatElement, SatElement_sequence);
2172 return offset;
2176 static const per_sequence_t SeqOfSatElement_sequence_of[1] = {
2177 { &hf_rrlp_SeqOfSatElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SatElement },
2180 static int
2181 dissect_rrlp_SeqOfSatElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2182 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2183 ett_rrlp_SeqOfSatElement, SeqOfSatElement_sequence_of,
2184 1, 16, false);
2186 return offset;
2190 static const per_sequence_t DGPSCorrections_sequence[] = {
2191 { &hf_rrlp_gpsTOW_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_604799 },
2192 { &hf_rrlp_status , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
2193 { &hf_rrlp_satList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfSatElement },
2194 { NULL, 0, 0, NULL }
2197 static int
2198 dissect_rrlp_DGPSCorrections(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2199 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2200 ett_rrlp_DGPSCorrections, DGPSCorrections_sequence);
2202 return offset;
2207 static int
2208 dissect_rrlp_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2209 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2210 0U, 15U, NULL, false);
2212 return offset;
2217 static int
2218 dissect_rrlp_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2219 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2220 0U, 63U, NULL, false);
2222 return offset;
2227 static int
2228 dissect_rrlp_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2229 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2230 0U, 1023U, NULL, false);
2232 return offset;
2237 static int
2238 dissect_rrlp_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2239 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2240 0U, 1U, NULL, false);
2242 return offset;
2247 static int
2248 dissect_rrlp_INTEGER_0_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2249 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2250 0U, 8388607U, NULL, false);
2252 return offset;
2257 static int
2258 dissect_rrlp_INTEGER_0_16777215(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2259 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2260 0U, 16777215U, NULL, false);
2262 return offset;
2267 static int
2268 dissect_rrlp_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2269 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2270 0U, 65535U, NULL, false);
2272 return offset;
2276 static const per_sequence_t EphemerisSubframe1Reserved_sequence[] = {
2277 { &hf_rrlp_reserved1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_8388607 },
2278 { &hf_rrlp_reserved2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16777215 },
2279 { &hf_rrlp_reserved3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16777215 },
2280 { &hf_rrlp_reserved4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
2281 { NULL, 0, 0, NULL }
2284 static int
2285 dissect_rrlp_EphemerisSubframe1Reserved(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2286 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2287 ett_rrlp_EphemerisSubframe1Reserved, EphemerisSubframe1Reserved_sequence);
2289 return offset;
2294 static int
2295 dissect_rrlp_INTEGER_M128_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2296 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2297 -128, 127U, NULL, false);
2299 return offset;
2304 static int
2305 dissect_rrlp_INTEGER_0_37799(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2306 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2307 0U, 37799U, NULL, false);
2309 return offset;
2314 static int
2315 dissect_rrlp_INTEGER_M32768_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2316 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2317 -32768, 32767U, NULL, false);
2319 return offset;
2324 static int
2325 dissect_rrlp_INTEGER_M2097152_2097151(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2326 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2327 -2097152, 2097151U, NULL, false);
2329 return offset;
2334 static int
2335 dissect_rrlp_INTEGER_M2147483648_2147483647(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2336 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2337 INT32_MIN, 2147483647U, NULL, false);
2339 return offset;
2344 static int
2345 dissect_rrlp_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2346 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2347 0U, 4294967295U, NULL, false);
2349 return offset;
2354 static int
2355 dissect_rrlp_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2356 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2357 0U, 31U, NULL, false);
2359 return offset;
2364 static int
2365 dissect_rrlp_INTEGER_M8388608_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2366 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2367 -8388608, 8388607U, NULL, false);
2369 return offset;
2374 static int
2375 dissect_rrlp_INTEGER_M8192_8191(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2376 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2377 -8192, 8191U, NULL, false);
2379 return offset;
2383 static const per_sequence_t UncompressedEphemeris_sequence[] = {
2384 { &hf_rrlp_ephemCodeOnL2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
2385 { &hf_rrlp_ephemURA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
2386 { &hf_rrlp_ephemSVhealth , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
2387 { &hf_rrlp_ephemIODC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1023 },
2388 { &hf_rrlp_ephemL2Pflag , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
2389 { &hf_rrlp_ephemSF1Rsvd , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_EphemerisSubframe1Reserved },
2390 { &hf_rrlp_ephemTgd , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2391 { &hf_rrlp_ephemToc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_37799 },
2392 { &hf_rrlp_ephemAF2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2393 { &hf_rrlp_ephemAF1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2394 { &hf_rrlp_ephemAF0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2097152_2097151 },
2395 { &hf_rrlp_ephemCrs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2396 { &hf_rrlp_ephemDeltaN , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2397 { &hf_rrlp_ephemM0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
2398 { &hf_rrlp_ephemCuc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2399 { &hf_rrlp_ephemE , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
2400 { &hf_rrlp_ephemCus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2401 { &hf_rrlp_ephemAPowerHalf, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
2402 { &hf_rrlp_ephemToe , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_37799 },
2403 { &hf_rrlp_ephemFitFlag , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
2404 { &hf_rrlp_ephemAODA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
2405 { &hf_rrlp_ephemCic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2406 { &hf_rrlp_ephemOmegaA0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
2407 { &hf_rrlp_ephemCis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2408 { &hf_rrlp_ephemI0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
2409 { &hf_rrlp_ephemCrc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2410 { &hf_rrlp_ephemW , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
2411 { &hf_rrlp_ephemOmegaADot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
2412 { &hf_rrlp_ephemIDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8192_8191 },
2413 { NULL, 0, 0, NULL }
2416 static int
2417 dissect_rrlp_UncompressedEphemeris(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2418 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2419 ett_rrlp_UncompressedEphemeris, UncompressedEphemeris_sequence);
2421 return offset;
2425 static const value_string rrlp_SatStatus_vals[] = {
2426 { 0, "newSatelliteAndModelUC" },
2427 { 1, "oldSatelliteAndModel" },
2428 { 2, "newNaviModelUC" },
2429 { 0, NULL }
2432 static const per_choice_t SatStatus_choice[] = {
2433 { 0, &hf_rrlp_newSatelliteAndModelUC, ASN1_EXTENSION_ROOT , dissect_rrlp_UncompressedEphemeris },
2434 { 1, &hf_rrlp_oldSatelliteAndModel, ASN1_EXTENSION_ROOT , dissect_rrlp_NULL },
2435 { 2, &hf_rrlp_newNaviModelUC , ASN1_EXTENSION_ROOT , dissect_rrlp_UncompressedEphemeris },
2436 { 0, NULL, 0, NULL }
2439 static int
2440 dissect_rrlp_SatStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2441 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2442 ett_rrlp_SatStatus, SatStatus_choice,
2443 NULL);
2445 return offset;
2449 static const per_sequence_t NavModelElement_sequence[] = {
2450 { &hf_rrlp_satelliteID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
2451 { &hf_rrlp_satStatus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SatStatus },
2452 { NULL, 0, 0, NULL }
2455 static int
2456 dissect_rrlp_NavModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2457 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2458 ett_rrlp_NavModelElement, NavModelElement_sequence);
2460 return offset;
2464 static const per_sequence_t SeqOfNavModelElement_sequence_of[1] = {
2465 { &hf_rrlp_SeqOfNavModelElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_NavModelElement },
2468 static int
2469 dissect_rrlp_SeqOfNavModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2470 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2471 ett_rrlp_SeqOfNavModelElement, SeqOfNavModelElement_sequence_of,
2472 1, 16, false);
2474 return offset;
2478 static const per_sequence_t NavigationModel_sequence[] = {
2479 { &hf_rrlp_navModelList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfNavModelElement },
2480 { NULL, 0, 0, NULL }
2483 static int
2484 dissect_rrlp_NavigationModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2485 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2486 ett_rrlp_NavigationModel, NavigationModel_sequence);
2488 return offset;
2492 static const per_sequence_t IonosphericModel_sequence[] = {
2493 { &hf_rrlp_alfa0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2494 { &hf_rrlp_alfa1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2495 { &hf_rrlp_alfa2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2496 { &hf_rrlp_alfa3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2497 { &hf_rrlp_beta0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2498 { &hf_rrlp_beta1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2499 { &hf_rrlp_beta2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2500 { &hf_rrlp_beta3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2501 { NULL, 0, 0, NULL }
2504 static int
2505 dissect_rrlp_IonosphericModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2506 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2507 ett_rrlp_IonosphericModel, IonosphericModel_sequence);
2509 return offset;
2514 static int
2515 dissect_rrlp_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2516 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2517 0U, 255U, NULL, false);
2519 return offset;
2523 static const per_sequence_t UTCModel_sequence[] = {
2524 { &hf_rrlp_utcA1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
2525 { &hf_rrlp_utcA0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
2526 { &hf_rrlp_utcTot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
2527 { &hf_rrlp_utcWNt , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
2528 { &hf_rrlp_utcDeltaTls , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2529 { &hf_rrlp_utcWNlsf , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
2530 { &hf_rrlp_utcDN , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2531 { &hf_rrlp_utcDeltaTlsf , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2532 { NULL, 0, 0, NULL }
2535 static int
2536 dissect_rrlp_UTCModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2537 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2538 ett_rrlp_UTCModel, UTCModel_sequence);
2540 return offset;
2545 static int
2546 dissect_rrlp_INTEGER_M1024_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2547 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2548 -1024, 1023U, NULL, false);
2550 return offset;
2554 static const per_sequence_t AlmanacElement_sequence[] = {
2555 { &hf_rrlp_satelliteID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
2556 { &hf_rrlp_almanacE , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
2557 { &hf_rrlp_alamanacToa , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
2558 { &hf_rrlp_almanacKsii , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2559 { &hf_rrlp_almanacOmegaDot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2560 { &hf_rrlp_almanacSVhealth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
2561 { &hf_rrlp_almanacAPowerHalf, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16777215 },
2562 { &hf_rrlp_almanacOmega0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
2563 { &hf_rrlp_almanacW , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
2564 { &hf_rrlp_almanacM0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
2565 { &hf_rrlp_almanacAF0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
2566 { &hf_rrlp_almanacAF1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
2567 { NULL, 0, 0, NULL }
2570 static int
2571 dissect_rrlp_AlmanacElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2572 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2573 ett_rrlp_AlmanacElement, AlmanacElement_sequence);
2575 return offset;
2579 static const per_sequence_t SeqOfAlmanacElement_sequence_of[1] = {
2580 { &hf_rrlp_SeqOfAlmanacElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_AlmanacElement },
2583 static int
2584 dissect_rrlp_SeqOfAlmanacElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2585 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2586 ett_rrlp_SeqOfAlmanacElement, SeqOfAlmanacElement_sequence_of,
2587 1, 64, false);
2589 return offset;
2593 static const per_sequence_t Almanac_sequence[] = {
2594 { &hf_rrlp_alamanacWNa , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
2595 { &hf_rrlp_almanacList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfAlmanacElement },
2596 { NULL, 0, 0, NULL }
2599 static int
2600 dissect_rrlp_Almanac(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2601 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2602 ett_rrlp_Almanac, Almanac_sequence);
2604 return offset;
2608 static const per_sequence_t TimeRelation_sequence[] = {
2609 { &hf_rrlp_gpsTOW_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSTOW23b },
2610 { &hf_rrlp_gsmTime , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_GSMTime },
2611 { NULL, 0, 0, NULL }
2614 static int
2615 dissect_rrlp_TimeRelation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2616 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2617 ett_rrlp_TimeRelation, TimeRelation_sequence);
2619 return offset;
2624 static int
2625 dissect_rrlp_INTEGER_M2048_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2626 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2627 -2048, 2047U, NULL, false);
2629 return offset;
2633 static const per_sequence_t AddionalDopplerFields_sequence[] = {
2634 { &hf_rrlp_doppler1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
2635 { &hf_rrlp_dopplerUncertainty, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
2636 { NULL, 0, 0, NULL }
2639 static int
2640 dissect_rrlp_AddionalDopplerFields(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2641 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2642 ett_rrlp_AddionalDopplerFields, AddionalDopplerFields_sequence);
2644 return offset;
2649 static int
2650 dissect_rrlp_INTEGER_0_1022(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2651 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2652 0U, 1022U, NULL, false);
2654 return offset;
2659 static int
2660 dissect_rrlp_INTEGER_0_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2661 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2662 0U, 19U, NULL, false);
2664 return offset;
2668 static const per_sequence_t AddionalAngleFields_sequence[] = {
2669 { &hf_rrlp_azimuth , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
2670 { &hf_rrlp_elevation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
2671 { NULL, 0, 0, NULL }
2674 static int
2675 dissect_rrlp_AddionalAngleFields(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2676 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2677 ett_rrlp_AddionalAngleFields, AddionalAngleFields_sequence);
2679 return offset;
2683 static const per_sequence_t AcquisElement_sequence[] = {
2684 { &hf_rrlp_svid , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
2685 { &hf_rrlp_doppler0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2048_2047 },
2686 { &hf_rrlp_addionalDoppler, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_AddionalDopplerFields },
2687 { &hf_rrlp_codePhase , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1022 },
2688 { &hf_rrlp_intCodePhase , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_19 },
2689 { &hf_rrlp_gpsBitNumber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
2690 { &hf_rrlp_codePhaseSearchWindow, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
2691 { &hf_rrlp_addionalAngle , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_AddionalAngleFields },
2692 { NULL, 0, 0, NULL }
2695 static int
2696 dissect_rrlp_AcquisElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2697 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2698 ett_rrlp_AcquisElement, AcquisElement_sequence);
2700 return offset;
2704 static const per_sequence_t SeqOfAcquisElement_sequence_of[1] = {
2705 { &hf_rrlp_SeqOfAcquisElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_AcquisElement },
2708 static int
2709 dissect_rrlp_SeqOfAcquisElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2710 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2711 ett_rrlp_SeqOfAcquisElement, SeqOfAcquisElement_sequence_of,
2712 1, 16, false);
2714 return offset;
2718 static const per_sequence_t AcquisAssist_sequence[] = {
2719 { &hf_rrlp_timeRelation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_TimeRelation },
2720 { &hf_rrlp_acquisList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfAcquisElement },
2721 { NULL, 0, 0, NULL }
2724 static int
2725 dissect_rrlp_AcquisAssist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2726 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2727 ett_rrlp_AcquisAssist, AcquisAssist_sequence);
2729 return offset;
2733 static const per_sequence_t SeqOf_BadSatelliteSet_sequence_of[1] = {
2734 { &hf_rrlp_SeqOf_BadSatelliteSet_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
2737 static int
2738 dissect_rrlp_SeqOf_BadSatelliteSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2739 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2740 ett_rrlp_SeqOf_BadSatelliteSet, SeqOf_BadSatelliteSet_sequence_of,
2741 1, 16, false);
2743 return offset;
2747 static const per_sequence_t ControlHeader_sequence[] = {
2748 { &hf_rrlp_referenceTime , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_ReferenceTime },
2749 { &hf_rrlp_refLocation , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_RefLocation },
2750 { &hf_rrlp_dgpsCorrections, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_DGPSCorrections },
2751 { &hf_rrlp_navigationModel, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_NavigationModel },
2752 { &hf_rrlp_ionosphericModel, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_IonosphericModel },
2753 { &hf_rrlp_utcModel , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_UTCModel },
2754 { &hf_rrlp_almanac , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Almanac },
2755 { &hf_rrlp_acquisAssist , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_AcquisAssist },
2756 { &hf_rrlp_realTimeIntegrity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_SeqOf_BadSatelliteSet },
2757 { NULL, 0, 0, NULL }
2760 static int
2761 dissect_rrlp_ControlHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2762 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2763 ett_rrlp_ControlHeader, ControlHeader_sequence);
2765 return offset;
2769 static const per_sequence_t GPS_AssistData_sequence[] = {
2770 { &hf_rrlp_controlHeader , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_ControlHeader },
2771 { NULL, 0, 0, NULL }
2774 static int
2775 dissect_rrlp_GPS_AssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2776 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2777 ett_rrlp_GPS_AssistData, GPS_AssistData_sequence);
2779 return offset;
2784 static int
2785 dissect_rrlp_ExpectedOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2786 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2787 0U, 1250U, NULL, false);
2789 return offset;
2794 static int
2795 dissect_rrlp_ExpOTDUncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2796 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2797 0U, 7U, NULL, false);
2799 return offset;
2803 static const per_sequence_t MsrAssistBTS_R98_ExpOTD_sequence[] = {
2804 { &hf_rrlp_expectedOTD , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_ExpectedOTD },
2805 { &hf_rrlp_expOTDUncertainty, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_ExpOTDUncertainty },
2806 { NULL, 0, 0, NULL }
2809 static int
2810 dissect_rrlp_MsrAssistBTS_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2811 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2812 ett_rrlp_MsrAssistBTS_R98_ExpOTD, MsrAssistBTS_R98_ExpOTD_sequence);
2814 return offset;
2818 static const per_sequence_t SeqOfMsrAssistBTS_R98_ExpOTD_sequence_of[1] = {
2819 { &hf_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_MsrAssistBTS_R98_ExpOTD },
2822 static int
2823 dissect_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2824 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2825 ett_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD, SeqOfMsrAssistBTS_R98_ExpOTD_sequence_of,
2826 1, 15, false);
2828 return offset;
2832 static const per_sequence_t MsrAssistData_R98_ExpOTD_sequence[] = {
2833 { &hf_rrlp_msrAssistList_R98_ExpOTD, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD },
2834 { NULL, 0, 0, NULL }
2837 static int
2838 dissect_rrlp_MsrAssistData_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2839 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2840 ett_rrlp_MsrAssistData_R98_ExpOTD, MsrAssistData_R98_ExpOTD_sequence);
2842 return offset;
2846 static const per_sequence_t AssistBTSData_R98_ExpOTD_sequence[] = {
2847 { &hf_rrlp_expectedOTD , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_ExpectedOTD },
2848 { &hf_rrlp_expOTDuncertainty, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_ExpOTDUncertainty },
2849 { NULL, 0, 0, NULL }
2852 static int
2853 dissect_rrlp_AssistBTSData_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2854 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2855 ett_rrlp_AssistBTSData_R98_ExpOTD, AssistBTSData_R98_ExpOTD_sequence);
2857 return offset;
2861 static const value_string rrlp_SystemInfoAssistBTS_R98_ExpOTD_vals[] = {
2862 { 0, "notPresent" },
2863 { 1, "present" },
2864 { 0, NULL }
2867 static const per_choice_t SystemInfoAssistBTS_R98_ExpOTD_choice[] = {
2868 { 0, &hf_rrlp_notPresent , ASN1_NO_EXTENSIONS , dissect_rrlp_NULL },
2869 { 1, &hf_rrlp_present_01 , ASN1_NO_EXTENSIONS , dissect_rrlp_AssistBTSData_R98_ExpOTD },
2870 { 0, NULL, 0, NULL }
2873 static int
2874 dissect_rrlp_SystemInfoAssistBTS_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2875 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2876 ett_rrlp_SystemInfoAssistBTS_R98_ExpOTD, SystemInfoAssistBTS_R98_ExpOTD_choice,
2877 NULL);
2879 return offset;
2883 static const per_sequence_t SeqOfSystemInfoAssistBTS_R98_ExpOTD_sequence_of[1] = {
2884 { &hf_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SystemInfoAssistBTS_R98_ExpOTD },
2887 static int
2888 dissect_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2889 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2890 ett_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD, SeqOfSystemInfoAssistBTS_R98_ExpOTD_sequence_of,
2891 1, 32, false);
2893 return offset;
2897 static const per_sequence_t SystemInfoAssistData_R98_ExpOTD_sequence[] = {
2898 { &hf_rrlp_systemInfoAssistListR98_ExpOTD, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD },
2899 { NULL, 0, 0, NULL }
2902 static int
2903 dissect_rrlp_SystemInfoAssistData_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2904 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2905 ett_rrlp_SystemInfoAssistData_R98_ExpOTD, SystemInfoAssistData_R98_ExpOTD_sequence);
2907 return offset;
2911 static const per_sequence_t Rel98_Ext_ExpOTD_sequence[] = {
2912 { &hf_rrlp_msrAssistData_R98_ExpOTD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_MsrAssistData_R98_ExpOTD },
2913 { &hf_rrlp_systemInfoAssistData_R98_ExpOTD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_SystemInfoAssistData_R98_ExpOTD },
2914 { NULL, 0, 0, NULL }
2917 static int
2918 dissect_rrlp_Rel98_Ext_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2919 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2920 ett_rrlp_Rel98_Ext_ExpOTD, Rel98_Ext_ExpOTD_sequence);
2922 return offset;
2927 static int
2928 dissect_rrlp_GPSReferenceTimeUncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2929 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2930 0U, 127U, NULL, false);
2932 return offset;
2936 static const per_sequence_t Rel98_MsrPosition_Req_Extension_sequence[] = {
2937 { &hf_rrlp_rel98_Ext_ExpOTD, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_Rel98_Ext_ExpOTD },
2938 { &hf_rrlp_gpsTimeAssistanceMeasurementRequest, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_NULL },
2939 { &hf_rrlp_gpsReferenceTimeUncertainty, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GPSReferenceTimeUncertainty },
2940 { NULL, 0, 0, NULL }
2943 static int
2944 dissect_rrlp_Rel98_MsrPosition_Req_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2945 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2946 ett_rrlp_Rel98_MsrPosition_Req_Extension, Rel98_MsrPosition_Req_Extension_sequence);
2948 return offset;
2953 static int
2954 dissect_rrlp_INTEGER_0_262143(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2955 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2956 0U, 262143U, NULL, false);
2958 return offset;
2962 static const per_sequence_t Extended_reference_sequence[] = {
2963 { &hf_rrlp_smlc_code , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
2964 { &hf_rrlp_transaction_ID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_262143 },
2965 { NULL, 0, 0, NULL }
2968 static int
2969 dissect_rrlp_Extended_reference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2970 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2971 ett_rrlp_Extended_reference, Extended_reference_sequence);
2973 return offset;
2977 static const per_sequence_t Rel5_MsrPosition_Req_Extension_sequence[] = {
2978 { &hf_rrlp_extended_reference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_Extended_reference },
2979 { NULL, 0, 0, NULL }
2982 static int
2983 dissect_rrlp_Rel5_MsrPosition_Req_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2984 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2985 ett_rrlp_Rel5_MsrPosition_Req_Extension, Rel5_MsrPosition_Req_Extension_sequence);
2987 return offset;
2991 static int * const GANSSPositioningMethod_bits[] = {
2992 &hf_rrlp_GANSSPositioningMethod_gps,
2993 &hf_rrlp_GANSSPositioningMethod_galileo,
2994 &hf_rrlp_GANSSPositioningMethod_sbas,
2995 &hf_rrlp_GANSSPositioningMethod_modernizedGPS,
2996 &hf_rrlp_GANSSPositioningMethod_qzss,
2997 &hf_rrlp_GANSSPositioningMethod_glonass,
2998 &hf_rrlp_GANSSPositioningMethod_bd,
2999 NULL
3002 static int
3003 dissect_rrlp_GANSSPositioningMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3004 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3005 2, 16, false, GANSSPositioningMethod_bits, 7, NULL, NULL);
3007 return offset;
3012 static int
3013 dissect_rrlp_INTEGER_0_8191(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3014 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3015 0U, 8191U, NULL, false);
3017 return offset;
3022 static int
3023 dissect_rrlp_GANSSTOD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3024 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3025 0U, 86399U, NULL, false);
3027 return offset;
3032 static int
3033 dissect_rrlp_GANSSTODUncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3034 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3035 0U, 127U, NULL, false);
3037 return offset;
3041 static const per_sequence_t GANSSRefTimeInfo_sequence[] = {
3042 { &hf_rrlp_ganssDay , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_8191 },
3043 { &hf_rrlp_ganssTOD , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSTOD },
3044 { &hf_rrlp_ganssTODUncertainty, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_GANSSTODUncertainty },
3045 { &hf_rrlp_ganssTimeID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_7 },
3046 { NULL, 0, 0, NULL }
3049 static int
3050 dissect_rrlp_GANSSRefTimeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3051 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3052 ett_rrlp_GANSSRefTimeInfo, GANSSRefTimeInfo_sequence);
3054 return offset;
3059 static int
3060 dissect_rrlp_FrameDrift(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3061 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3062 -64, 63U, NULL, false);
3064 return offset;
3068 static const per_sequence_t GANSSTOD_GSMTimeAssociation_sequence[] = {
3069 { &hf_rrlp_bcchCarrier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BCCHCarrier },
3070 { &hf_rrlp_bsic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC },
3071 { &hf_rrlp_frameNumber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_FrameNumber },
3072 { &hf_rrlp_timeSlot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_TimeSlot },
3073 { &hf_rrlp_bitNumber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BitNumber },
3074 { &hf_rrlp_frameDrift , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_FrameDrift },
3075 { NULL, 0, 0, NULL }
3078 static int
3079 dissect_rrlp_GANSSTOD_GSMTimeAssociation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3080 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3081 ett_rrlp_GANSSTOD_GSMTimeAssociation, GANSSTOD_GSMTimeAssociation_sequence);
3083 return offset;
3087 static const per_sequence_t GANSSReferenceTime_sequence[] = {
3088 { &hf_rrlp_ganssRefTimeInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSRefTimeInfo },
3089 { &hf_rrlp_ganssTOD_GSMTimeAssociation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_GANSSTOD_GSMTimeAssociation },
3090 { NULL, 0, 0, NULL }
3093 static int
3094 dissect_rrlp_GANSSReferenceTime(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_rrlp_GANSSReferenceTime, GANSSReferenceTime_sequence);
3098 return offset;
3102 static const per_sequence_t GANSSRefLocation_sequence[] = {
3103 { &hf_rrlp_threeDLocation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_Ext_GeographicalInformation },
3104 { NULL, 0, 0, NULL }
3107 static int
3108 dissect_rrlp_GANSSRefLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3109 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3110 ett_rrlp_GANSSRefLocation, GANSSRefLocation_sequence);
3112 return offset;
3117 static int
3118 dissect_rrlp_INTEGER_0_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3119 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3120 0U, 2047U, NULL, false);
3122 return offset;
3126 static const per_sequence_t GANSSIonosphereModel_sequence[] = {
3127 { &hf_rrlp_ai0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2047 },
3128 { &hf_rrlp_ai1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
3129 { &hf_rrlp_ai2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8192_8191 },
3130 { NULL, 0, 0, NULL }
3133 static int
3134 dissect_rrlp_GANSSIonosphereModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3135 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3136 ett_rrlp_GANSSIonosphereModel, GANSSIonosphereModel_sequence);
3138 return offset;
3142 static const per_sequence_t GANSSIonoStormFlags_sequence[] = {
3143 { &hf_rrlp_ionoStormFlag1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
3144 { &hf_rrlp_ionoStormFlag2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
3145 { &hf_rrlp_ionoStormFlag3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
3146 { &hf_rrlp_ionoStormFlag4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
3147 { &hf_rrlp_ionoStormFlag5 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
3148 { NULL, 0, 0, NULL }
3151 static int
3152 dissect_rrlp_GANSSIonoStormFlags(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3153 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3154 ett_rrlp_GANSSIonoStormFlags, GANSSIonoStormFlags_sequence);
3156 return offset;
3160 static const per_sequence_t GANSSIonosphericModel_sequence[] = {
3161 { &hf_rrlp_ganssIonoModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSIonosphereModel },
3162 { &hf_rrlp_ganssIonoStormFlags, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSIonoStormFlags },
3163 { NULL, 0, 0, NULL }
3166 static int
3167 dissect_rrlp_GANSSIonosphericModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3168 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3169 ett_rrlp_GANSSIonosphericModel, GANSSIonosphericModel_sequence);
3171 return offset;
3176 static int
3177 dissect_rrlp_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3178 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3179 2, 2, false, NULL, 0, NULL, NULL);
3181 return offset;
3185 static const per_sequence_t GANSSAddIonosphericModel_sequence[] = {
3186 { &hf_rrlp_dataID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_2 },
3187 { &hf_rrlp_ionoModel , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_IonosphericModel },
3188 { NULL, 0, 0, NULL }
3191 static int
3192 dissect_rrlp_GANSSAddIonosphericModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3193 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3194 ett_rrlp_GANSSAddIonosphericModel, GANSSAddIonosphericModel_sequence);
3196 return offset;
3201 static int
3202 dissect_rrlp_INTEGER_M1048576_1048575(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3203 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3204 -1048576, 1048575U, NULL, false);
3206 return offset;
3211 static int
3212 dissect_rrlp_INTEGER_M16384_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3213 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3214 -16384, 16383U, NULL, false);
3216 return offset;
3221 static int
3222 dissect_rrlp_INTEGER_M1073741824_1073741823(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3223 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3224 -1073741824, 1073741823U, NULL, false);
3226 return offset;
3231 static int
3232 dissect_rrlp_INTEGER_M262144_262143(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3233 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3234 -262144, 262143U, NULL, false);
3236 return offset;
3240 static const per_sequence_t GANSSEarthOrientParam_sequence[] = {
3241 { &hf_rrlp_teop , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
3242 { &hf_rrlp_pmX , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1048576_1048575 },
3243 { &hf_rrlp_pmXdot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16384_16383 },
3244 { &hf_rrlp_pmY , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1048576_1048575 },
3245 { &hf_rrlp_pmYdot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16384_16383 },
3246 { &hf_rrlp_deltaUT1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1073741824_1073741823 },
3247 { &hf_rrlp_deltaUT1dot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M262144_262143 },
3248 { NULL, 0, 0, NULL }
3251 static int
3252 dissect_rrlp_GANSSEarthOrientParam(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3253 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3254 ett_rrlp_GANSSEarthOrientParam, GANSSEarthOrientParam_sequence);
3256 return offset;
3260 static const per_sequence_t GANSSReferenceTime_R10_Ext_sequence[] = {
3261 { &hf_rrlp_ganssDayCycleNumber, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
3262 { NULL, 0, 0, NULL }
3265 static int
3266 dissect_rrlp_GANSSReferenceTime_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3267 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3268 ett_rrlp_GANSSReferenceTime_R10_Ext, GANSSReferenceTime_R10_Ext_sequence);
3270 return offset;
3274 static const per_sequence_t GANSSCommonAssistData_sequence[] = {
3275 { &hf_rrlp_ganssReferenceTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSReferenceTime },
3276 { &hf_rrlp_ganssRefLocation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSRefLocation },
3277 { &hf_rrlp_ganssIonosphericModel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSIonosphericModel },
3278 { &hf_rrlp_ganssAddIonosphericModel, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GANSSAddIonosphericModel },
3279 { &hf_rrlp_ganssEarthOrientParam, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GANSSEarthOrientParam },
3280 { &hf_rrlp_ganssReferenceTime_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GANSSReferenceTime_R10_Ext },
3281 { NULL, 0, 0, NULL }
3284 static int
3285 dissect_rrlp_GANSSCommonAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3286 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3287 ett_rrlp_GANSSCommonAssistData, GANSSCommonAssistData_sequence);
3289 return offset;
3294 static int
3295 dissect_rrlp_TA0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3296 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3297 INT32_MIN, 2147483647U, NULL, false);
3299 return offset;
3304 static int
3305 dissect_rrlp_TA1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3306 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3307 -8388608, 8388607U, NULL, false);
3309 return offset;
3314 static int
3315 dissect_rrlp_TA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3316 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3317 -64, 63U, NULL, false);
3319 return offset;
3323 static const per_sequence_t GANSSTimeModelElement_sequence[] = {
3324 { &hf_rrlp_ganssTimeModelRefTime, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
3325 { &hf_rrlp_tA0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_TA0 },
3326 { &hf_rrlp_tA1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_TA1 },
3327 { &hf_rrlp_tA2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_TA2 },
3328 { &hf_rrlp_gnssTOID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
3329 { &hf_rrlp_weekNumber , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_8191 },
3330 { NULL, 0, 0, NULL }
3333 static int
3334 dissect_rrlp_GANSSTimeModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3335 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3336 ett_rrlp_GANSSTimeModelElement, GANSSTimeModelElement_sequence);
3338 return offset;
3342 static const per_sequence_t SeqOfGANSSTimeModel_sequence_of[1] = {
3343 { &hf_rrlp_SeqOfGANSSTimeModel_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSTimeModelElement },
3346 static int
3347 dissect_rrlp_SeqOfGANSSTimeModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3348 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3349 ett_rrlp_SeqOfGANSSTimeModel, SeqOfGANSSTimeModel_sequence_of,
3350 1, 7, false);
3352 return offset;
3357 static int
3358 dissect_rrlp_INTEGER_0_119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3359 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3360 0U, 119U, NULL, false);
3362 return offset;
3367 static int
3368 dissect_rrlp_GANSSSignalID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3369 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3370 0U, 7U, NULL, false);
3372 return offset;
3377 static int
3378 dissect_rrlp_SVID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3379 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3380 0U, 63U, NULL, false);
3382 return offset;
3386 static const per_sequence_t DGANSSSgnElement_sequence[] = {
3387 { &hf_rrlp_svID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
3388 { &hf_rrlp_iod , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1023 },
3389 { &hf_rrlp_udre , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
3390 { &hf_rrlp_pseudoRangeCor , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2047_2047 },
3391 { &hf_rrlp_rangeRateCor , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M127_127 },
3392 { NULL, 0, 0, NULL }
3395 static int
3396 dissect_rrlp_DGANSSSgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3397 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3398 ett_rrlp_DGANSSSgnElement, DGANSSSgnElement_sequence);
3400 return offset;
3404 static const per_sequence_t SeqOfDGANSSSgnElement_sequence_of[1] = {
3405 { &hf_rrlp_SeqOfDGANSSSgnElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_DGANSSSgnElement },
3408 static int
3409 dissect_rrlp_SeqOfDGANSSSgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3410 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3411 ett_rrlp_SeqOfDGANSSSgnElement, SeqOfDGANSSSgnElement_sequence_of,
3412 1, 16, false);
3414 return offset;
3418 static const per_sequence_t SgnTypeElement_sequence[] = {
3419 { &hf_rrlp_ganssSignalID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignalID },
3420 { &hf_rrlp_ganssStatusHealth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
3421 { &hf_rrlp_dganssSgnList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfDGANSSSgnElement },
3422 { NULL, 0, 0, NULL }
3425 static int
3426 dissect_rrlp_SgnTypeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3427 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3428 ett_rrlp_SgnTypeElement, SgnTypeElement_sequence);
3430 return offset;
3434 static const per_sequence_t SeqOfSgnTypeElement_sequence_of[1] = {
3435 { &hf_rrlp_SeqOfSgnTypeElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SgnTypeElement },
3438 static int
3439 dissect_rrlp_SeqOfSgnTypeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3440 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3441 ett_rrlp_SeqOfSgnTypeElement, SeqOfSgnTypeElement_sequence_of,
3442 1, 3, false);
3444 return offset;
3448 static const per_sequence_t GANSSDiffCorrections_sequence[] = {
3449 { &hf_rrlp_dganssRefTime , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_119 },
3450 { &hf_rrlp_sgnTypeList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfSgnTypeElement },
3451 { NULL, 0, 0, NULL }
3454 static int
3455 dissect_rrlp_GANSSDiffCorrections(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3456 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3457 ett_rrlp_GANSSDiffCorrections, GANSSDiffCorrections_sequence);
3459 return offset;
3464 static int
3465 dissect_rrlp_BIT_STRING_SIZE_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3466 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3467 5, 5, false, NULL, 0, NULL, NULL);
3469 return offset;
3474 static int
3475 dissect_rrlp_INTEGER_0_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3476 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3477 0U, 16383U, NULL, false);
3479 return offset;
3484 static int
3485 dissect_rrlp_INTEGER_M32_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3486 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3487 -32, 31U, NULL, false);
3489 return offset;
3494 static int
3495 dissect_rrlp_INTEGER_M512_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3496 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3497 -512, 511U, NULL, false);
3499 return offset;
3503 static const per_sequence_t StandardClockModelElement_sequence[] = {
3504 { &hf_rrlp_stanClockToc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16383 },
3505 { &hf_rrlp_stanClockAF2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32_31 },
3506 { &hf_rrlp_stanClockAF1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1048576_1048575 },
3507 { &hf_rrlp_stanClockAF0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1073741824_1073741823 },
3508 { &hf_rrlp_stanClockTgd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_INTEGER_M512_511 },
3509 { &hf_rrlp_stanModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_1 },
3510 { NULL, 0, 0, NULL }
3513 static int
3514 dissect_rrlp_StandardClockModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3515 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3516 ett_rrlp_StandardClockModelElement, StandardClockModelElement_sequence);
3518 return offset;
3522 static const per_sequence_t SeqOfStandardClockModelElement_sequence_of[1] = {
3523 { &hf_rrlp_SeqOfStandardClockModelElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_StandardClockModelElement },
3526 static int
3527 dissect_rrlp_SeqOfStandardClockModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3528 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3529 ett_rrlp_SeqOfStandardClockModelElement, SeqOfStandardClockModelElement_sequence_of,
3530 1, 2, false);
3532 return offset;
3536 static const per_sequence_t NAVclockModel_sequence[] = {
3537 { &hf_rrlp_navToc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_37799 },
3538 { &hf_rrlp_navaf2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
3539 { &hf_rrlp_navaf1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3540 { &hf_rrlp_navaf0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2097152_2097151 },
3541 { &hf_rrlp_navTgd , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
3542 { NULL, 0, 0, NULL }
3545 static int
3546 dissect_rrlp_NAVclockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3547 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3548 ett_rrlp_NAVclockModel, NAVclockModel_sequence);
3550 return offset;
3555 static int
3556 dissect_rrlp_INTEGER_0_2015(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3557 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3558 0U, 2015U, NULL, false);
3560 return offset;
3565 static int
3566 dissect_rrlp_INTEGER_M16_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3567 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3568 -16, 15U, NULL, false);
3570 return offset;
3575 static int
3576 dissect_rrlp_INTEGER_M524288_524287(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3577 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3578 -524288, 524287U, NULL, false);
3580 return offset;
3585 static int
3586 dissect_rrlp_INTEGER_M33554432_33554431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3587 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3588 -33554432, 33554431U, NULL, false);
3590 return offset;
3595 static int
3596 dissect_rrlp_INTEGER_M4096_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3597 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3598 -4096, 4095U, NULL, false);
3600 return offset;
3604 static const per_sequence_t CNAVclockModel_sequence[] = {
3605 { &hf_rrlp_cnavToc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2015 },
3606 { &hf_rrlp_cnavTop , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2015 },
3607 { &hf_rrlp_cnavURA0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
3608 { &hf_rrlp_cnavURA1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
3609 { &hf_rrlp_cnavURA2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
3610 { &hf_rrlp_cnavAf2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
3611 { &hf_rrlp_cnavAf1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M524288_524287 },
3612 { &hf_rrlp_cnavAf0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M33554432_33554431 },
3613 { &hf_rrlp_cnavTgd , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4096_4095 },
3614 { &hf_rrlp_cnavISCl1cp , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_M4096_4095 },
3615 { &hf_rrlp_cnavISCl1cd , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_M4096_4095 },
3616 { &hf_rrlp_cnavISCl1ca , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_M4096_4095 },
3617 { &hf_rrlp_cnavISCl2c , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_M4096_4095 },
3618 { &hf_rrlp_cnavISCl5i5 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_M4096_4095 },
3619 { &hf_rrlp_cnavISCl5q5 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_M4096_4095 },
3620 { NULL, 0, 0, NULL }
3623 static int
3624 dissect_rrlp_CNAVclockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3625 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3626 ett_rrlp_CNAVclockModel, CNAVclockModel_sequence);
3628 return offset;
3632 static const per_sequence_t GLONASSclockModel_sequence[] = {
3633 { &hf_rrlp_gloTau , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2097152_2097151 },
3634 { &hf_rrlp_gloGamma , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
3635 { &hf_rrlp_gloDeltaTau , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_M16_15 },
3636 { NULL, 0, 0, NULL }
3639 static int
3640 dissect_rrlp_GLONASSclockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3641 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3642 ett_rrlp_GLONASSclockModel, GLONASSclockModel_sequence);
3644 return offset;
3649 static int
3650 dissect_rrlp_INTEGER_0_5399(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3651 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3652 0U, 5399U, NULL, false);
3654 return offset;
3658 static const per_sequence_t SBASclockModel_sequence[] = {
3659 { &hf_rrlp_sbasTo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_5399 },
3660 { &hf_rrlp_sbasAgfo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2048_2047 },
3661 { &hf_rrlp_sbasAgf1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
3662 { NULL, 0, 0, NULL }
3665 static int
3666 dissect_rrlp_SBASclockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3667 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3668 ett_rrlp_SBASclockModel, SBASclockModel_sequence);
3670 return offset;
3675 static int
3676 dissect_rrlp_INTEGER_0_131071(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3677 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3678 0U, 131071U, NULL, false);
3680 return offset;
3684 static const per_sequence_t BDSClockModel_r12_sequence[] = {
3685 { &hf_rrlp_bdsAODC_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
3686 { &hf_rrlp_bdsToc_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_131071 },
3687 { &hf_rrlp_bdsA0_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3688 { &hf_rrlp_bdsA1_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2097152_2097151 },
3689 { &hf_rrlp_bdsA2_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
3690 { &hf_rrlp_bdsTgd1_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
3691 { NULL, 0, 0, NULL }
3694 static int
3695 dissect_rrlp_BDSClockModel_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3696 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3697 ett_rrlp_BDSClockModel_r12, BDSClockModel_r12_sequence);
3699 return offset;
3703 static const value_string rrlp_GANSSClockModel_vals[] = {
3704 { 0, "standardClockModelList" },
3705 { 1, "navClockModel" },
3706 { 2, "cnavClockModel" },
3707 { 3, "glonassClockModel" },
3708 { 4, "sbasClockModel" },
3709 { 5, "bdsClockModel-r12" },
3710 { 0, NULL }
3713 static const per_choice_t GANSSClockModel_choice[] = {
3714 { 0, &hf_rrlp_standardClockModelList, ASN1_EXTENSION_ROOT , dissect_rrlp_SeqOfStandardClockModelElement },
3715 { 1, &hf_rrlp_navClockModel , ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_NAVclockModel },
3716 { 2, &hf_rrlp_cnavClockModel , ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_CNAVclockModel },
3717 { 3, &hf_rrlp_glonassClockModel, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_GLONASSclockModel },
3718 { 4, &hf_rrlp_sbasClockModel , ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_SBASclockModel },
3719 { 5, &hf_rrlp_bdsClockModel_r12, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_BDSClockModel_r12 },
3720 { 0, NULL, 0, NULL }
3723 static int
3724 dissect_rrlp_GANSSClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3725 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3726 ett_rrlp_GANSSClockModel, GANSSClockModel_choice,
3727 NULL);
3729 return offset;
3733 static const per_sequence_t NavModel_KeplerianSet_sequence[] = {
3734 { &hf_rrlp_keplerToe , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16383 },
3735 { &hf_rrlp_keplerW , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3736 { &hf_rrlp_keplerDeltaN , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3737 { &hf_rrlp_keplerM0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3738 { &hf_rrlp_keplerOmegaDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3739 { &hf_rrlp_keplerE , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
3740 { &hf_rrlp_keplerIDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8192_8191 },
3741 { &hf_rrlp_keplerAPowerHalf, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
3742 { &hf_rrlp_keplerI0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3743 { &hf_rrlp_keplerOmega0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3744 { &hf_rrlp_keplerCrs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3745 { &hf_rrlp_keplerCis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3746 { &hf_rrlp_keplerCus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3747 { &hf_rrlp_keplerCrc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3748 { &hf_rrlp_keplerCic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3749 { &hf_rrlp_keplerCuc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3750 { NULL, 0, 0, NULL }
3753 static int
3754 dissect_rrlp_NavModel_KeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3755 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3756 ett_rrlp_NavModel_KeplerianSet, NavModel_KeplerianSet_sequence);
3758 return offset;
3762 static const per_sequence_t NavModel_NAVKeplerianSet_sequence[] = {
3763 { &hf_rrlp_navURA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
3764 { &hf_rrlp_navFitFlag , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
3765 { &hf_rrlp_navToe , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_37799 },
3766 { &hf_rrlp_navOmega , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3767 { &hf_rrlp_navDeltaN , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3768 { &hf_rrlp_navM0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3769 { &hf_rrlp_navOmegaADot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3770 { &hf_rrlp_navE , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
3771 { &hf_rrlp_navIDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8192_8191 },
3772 { &hf_rrlp_navAPowerHalf , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
3773 { &hf_rrlp_navI0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3774 { &hf_rrlp_navOmegaA0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3775 { &hf_rrlp_navCrs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3776 { &hf_rrlp_navCis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3777 { &hf_rrlp_navCus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3778 { &hf_rrlp_navCrc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3779 { &hf_rrlp_navCic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3780 { &hf_rrlp_navCuc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3781 { NULL, 0, 0, NULL }
3784 static int
3785 dissect_rrlp_NavModel_NAVKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3786 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3787 ett_rrlp_NavModel_NAVKeplerianSet, NavModel_NAVKeplerianSet_sequence);
3789 return offset;
3794 static int
3795 dissect_rrlp_INTEGER_M16777216_16777215(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3796 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3797 -16777216, 16777215U, NULL, false);
3799 return offset;
3804 static int
3805 dissect_rrlp_INTEGER_M65536_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3806 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3807 -65536, 65535U, NULL, false);
3809 return offset;
3814 static int
3815 dissect_rrlp_INTEGER_M4194304_4194303(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3816 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3817 -4194304, 4194303U, NULL, false);
3819 return offset;
3824 static int
3825 dissect_rrlp_INTEGER_M4294967296_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3826 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
3827 INT64_C(-4294967296), 4294967295U, NULL, false);
3829 return offset;
3834 static int
3835 dissect_rrlp_INTEGER_0_8589934591(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3836 offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
3837 0U, UINT64_C(8589934591), NULL, false);
3839 return offset;
3843 static const per_sequence_t NavModel_CNAVKeplerianSet_sequence[] = {
3844 { &hf_rrlp_cnavTop , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2015 },
3845 { &hf_rrlp_cnavURAindex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
3846 { &hf_rrlp_cnavDeltaA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M33554432_33554431 },
3847 { &hf_rrlp_cnavAdot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16777216_16777215 },
3848 { &hf_rrlp_cnavDeltaNo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M65536_65535 },
3849 { &hf_rrlp_cnavDeltaNoDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4194304_4194303 },
3850 { &hf_rrlp_cnavMo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4294967296_4294967295 },
3851 { &hf_rrlp_cnavE , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_8589934591 },
3852 { &hf_rrlp_cnavOmega , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4294967296_4294967295 },
3853 { &hf_rrlp_cnavOMEGA0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4294967296_4294967295 },
3854 { &hf_rrlp_cnavDeltaOmegaDot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M65536_65535 },
3855 { &hf_rrlp_cnavIo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4294967296_4294967295 },
3856 { &hf_rrlp_cnavIoDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16384_16383 },
3857 { &hf_rrlp_cnavCis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3858 { &hf_rrlp_cnavCic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3859 { &hf_rrlp_cnavCrs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3860 { &hf_rrlp_cnavCrc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3861 { &hf_rrlp_cnavCus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1048576_1048575 },
3862 { &hf_rrlp_cnavCuc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1048576_1048575 },
3863 { NULL, 0, 0, NULL }
3866 static int
3867 dissect_rrlp_NavModel_CNAVKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3868 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3869 ett_rrlp_NavModel_CNAVKeplerianSet, NavModel_CNAVKeplerianSet_sequence);
3871 return offset;
3876 static int
3877 dissect_rrlp_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3878 offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
3880 return offset;
3885 static int
3886 dissect_rrlp_INTEGER_M67108864_67108863(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3887 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3888 -67108864, 67108863U, NULL, false);
3890 return offset;
3894 static const per_sequence_t NavModel_GLONASSecef_sequence[] = {
3895 { &hf_rrlp_gloEn , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
3896 { &hf_rrlp_gloP1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_2 },
3897 { &hf_rrlp_gloP2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
3898 { &hf_rrlp_gloM , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
3899 { &hf_rrlp_gloX , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M67108864_67108863 },
3900 { &hf_rrlp_gloXdot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3901 { &hf_rrlp_gloXdotdot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
3902 { &hf_rrlp_gloY , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M67108864_67108863 },
3903 { &hf_rrlp_gloYdot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3904 { &hf_rrlp_gloYdotdot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
3905 { &hf_rrlp_gloZ , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M67108864_67108863 },
3906 { &hf_rrlp_gloZdot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3907 { &hf_rrlp_gloZdotdot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
3908 { NULL, 0, 0, NULL }
3911 static int
3912 dissect_rrlp_NavModel_GLONASSecef(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3913 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3914 ett_rrlp_NavModel_GLONASSecef, NavModel_GLONASSecef_sequence);
3916 return offset;
3921 static int
3922 dissect_rrlp_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3923 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3924 4, 4, false, NULL, 0, NULL, NULL);
3926 return offset;
3931 static int
3932 dissect_rrlp_INTEGER_M536870912_536870911(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3933 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3934 -536870912, 536870911U, NULL, false);
3936 return offset;
3941 static int
3942 dissect_rrlp_INTEGER_M131072_131071(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3943 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3944 -131072, 131071U, NULL, false);
3946 return offset;
3950 static const per_sequence_t NavModel_SBASecef_sequence[] = {
3951 { &hf_rrlp_sbasTo , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_5399 },
3952 { &hf_rrlp_sbasAccuracy , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_4 },
3953 { &hf_rrlp_sbasXg , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M536870912_536870911 },
3954 { &hf_rrlp_sbasYg , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M536870912_536870911 },
3955 { &hf_rrlp_sbasZg , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16777216_16777215 },
3956 { &hf_rrlp_sbasXgDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M65536_65535 },
3957 { &hf_rrlp_sbasYgDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M65536_65535 },
3958 { &hf_rrlp_sbasZgDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M131072_131071 },
3959 { &hf_rrlp_sbasXgDotDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
3960 { &hf_rrlp_sbagYgDotDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
3961 { &hf_rrlp_sbasZgDotDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
3962 { NULL, 0, 0, NULL }
3965 static int
3966 dissect_rrlp_NavModel_SBASecef(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3967 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3968 ett_rrlp_NavModel_SBASecef, NavModel_SBASecef_sequence);
3970 return offset;
3974 static const per_sequence_t NavModel_BDSKeplerianSet_r12_sequence[] = {
3975 { &hf_rrlp_bdsAODE_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
3976 { &hf_rrlp_bdsURAI_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
3977 { &hf_rrlp_bdsToe_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_131071 },
3978 { &hf_rrlp_bdsAPowerHalf_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
3979 { &hf_rrlp_bdsE_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
3980 { &hf_rrlp_bdsW_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3981 { &hf_rrlp_bdsDeltaN_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3982 { &hf_rrlp_bdsM0_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3983 { &hf_rrlp_bdsOmega0_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3984 { &hf_rrlp_bdsOmegaDot_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3985 { &hf_rrlp_bdsI0_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3986 { &hf_rrlp_bdsIDot_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8192_8191 },
3987 { &hf_rrlp_bdsCuc_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M131072_131071 },
3988 { &hf_rrlp_bdsCus_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M131072_131071 },
3989 { &hf_rrlp_bdsCrc_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M131072_131071 },
3990 { &hf_rrlp_bdsCrs_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M131072_131071 },
3991 { &hf_rrlp_bdsCic_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M131072_131071 },
3992 { &hf_rrlp_bdsCis_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M131072_131071 },
3993 { NULL, 0, 0, NULL }
3996 static int
3997 dissect_rrlp_NavModel_BDSKeplerianSet_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3998 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3999 ett_rrlp_NavModel_BDSKeplerianSet_r12, NavModel_BDSKeplerianSet_r12_sequence);
4001 return offset;
4005 static const value_string rrlp_GANSSOrbitModel_vals[] = {
4006 { 0, "keplerianSet" },
4007 { 1, "navKeplerianSet" },
4008 { 2, "cnavKeplerianSet" },
4009 { 3, "glonassECEF" },
4010 { 4, "sbasECEF" },
4011 { 5, "bdsKeplerianSet-r12" },
4012 { 0, NULL }
4015 static const per_choice_t GANSSOrbitModel_choice[] = {
4016 { 0, &hf_rrlp_keplerianSet , ASN1_EXTENSION_ROOT , dissect_rrlp_NavModel_KeplerianSet },
4017 { 1, &hf_rrlp_navKeplerianSet, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_NavModel_NAVKeplerianSet },
4018 { 2, &hf_rrlp_cnavKeplerianSet, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_NavModel_CNAVKeplerianSet },
4019 { 3, &hf_rrlp_glonassECEF , ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_NavModel_GLONASSecef },
4020 { 4, &hf_rrlp_sbasECEF , ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_NavModel_SBASecef },
4021 { 5, &hf_rrlp_bdsKeplerianSet_r12, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_NavModel_BDSKeplerianSet_r12 },
4022 { 0, NULL, 0, NULL }
4025 static int
4026 dissect_rrlp_GANSSOrbitModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4027 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4028 ett_rrlp_GANSSOrbitModel, GANSSOrbitModel_choice,
4029 NULL);
4031 return offset;
4036 static int
4037 dissect_rrlp_BIT_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4038 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4039 1, 1, false, NULL, 0, NULL, NULL);
4041 return offset;
4045 static const per_sequence_t GANSSSatelliteElement_sequence[] = {
4046 { &hf_rrlp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4047 { &hf_rrlp_svHealth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_5 },
4048 { &hf_rrlp_iod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1023 },
4049 { &hf_rrlp_ganssClockModel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSClockModel },
4050 { &hf_rrlp_ganssOrbitModel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSOrbitModel },
4051 { &hf_rrlp_svHealthMSB , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_BIT_STRING_SIZE_1 },
4052 { &hf_rrlp_iodMSB , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_1 },
4053 { &hf_rrlp_svHealthExt , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_BIT_STRING_SIZE_4 },
4054 { NULL, 0, 0, NULL }
4057 static int
4058 dissect_rrlp_GANSSSatelliteElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4059 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4060 ett_rrlp_GANSSSatelliteElement, GANSSSatelliteElement_sequence);
4062 return offset;
4066 static const per_sequence_t SeqOfGANSSSatelliteElement_sequence_of[1] = {
4067 { &hf_rrlp_SeqOfGANSSSatelliteElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSatelliteElement },
4070 static int
4071 dissect_rrlp_SeqOfGANSSSatelliteElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4072 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4073 ett_rrlp_SeqOfGANSSSatelliteElement, SeqOfGANSSSatelliteElement_sequence_of,
4074 1, 32, false);
4076 return offset;
4080 static const per_sequence_t GANSSNavModel_sequence[] = {
4081 { &hf_rrlp_nonBroadcastIndFlag, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
4082 { &hf_rrlp_ganssSatelliteList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSSSatelliteElement },
4083 { NULL, 0, 0, NULL }
4086 static int
4087 dissect_rrlp_GANSSNavModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4088 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4089 ett_rrlp_GANSSNavModel, GANSSNavModel_sequence);
4091 return offset;
4095 static int * const GANSSSignals_bits[] = {
4096 &hf_rrlp_GANSSSignals_signal1,
4097 &hf_rrlp_GANSSSignals_signal2,
4098 &hf_rrlp_GANSSSignals_signal3,
4099 &hf_rrlp_GANSSSignals_signal4,
4100 &hf_rrlp_GANSSSignals_signal5,
4101 &hf_rrlp_GANSSSignals_signal6,
4102 &hf_rrlp_GANSSSignals_signal7,
4103 &hf_rrlp_GANSSSignals_signal8,
4104 NULL
4107 static int
4108 dissect_rrlp_GANSSSignals(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4109 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4110 1, 8, false, GANSSSignals_bits, 8, NULL, NULL);
4112 return offset;
4116 static const per_sequence_t BadSignalElement_sequence[] = {
4117 { &hf_rrlp_badSVID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4118 { &hf_rrlp_badSignalID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_GANSSSignals },
4119 { NULL, 0, 0, NULL }
4122 static int
4123 dissect_rrlp_BadSignalElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4124 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4125 ett_rrlp_BadSignalElement, BadSignalElement_sequence);
4127 return offset;
4131 static const per_sequence_t SeqOfBadSignalElement_sequence_of[1] = {
4132 { &hf_rrlp_SeqOfBadSignalElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BadSignalElement },
4135 static int
4136 dissect_rrlp_SeqOfBadSignalElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4137 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4138 ett_rrlp_SeqOfBadSignalElement, SeqOfBadSignalElement_sequence_of,
4139 1, 16, false);
4141 return offset;
4145 static const per_sequence_t GANSSRealTimeIntegrity_sequence[] = {
4146 { &hf_rrlp_ganssBadSignalList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfBadSignalElement },
4147 { NULL, 0, 0, NULL }
4150 static int
4151 dissect_rrlp_GANSSRealTimeIntegrity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4152 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4153 ett_rrlp_GANSSRealTimeIntegrity, GANSSRealTimeIntegrity_sequence);
4155 return offset;
4160 static int
4161 dissect_rrlp_INTEGER_0_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4162 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4163 0U, 59U, NULL, false);
4165 return offset;
4170 static int
4171 dissect_rrlp_GANSSDataBit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4172 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4173 0U, 1U, NULL, false);
4175 return offset;
4179 static const per_sequence_t SeqOf_GANSSDataBits_sequence_of[1] = {
4180 { &hf_rrlp_SeqOf_GANSSDataBits_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSDataBit },
4183 static int
4184 dissect_rrlp_SeqOf_GANSSDataBits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4185 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4186 ett_rrlp_SeqOf_GANSSDataBits, SeqOf_GANSSDataBits_sequence_of,
4187 1, 1024, false);
4189 return offset;
4193 static const per_sequence_t GANSSDataBitsSgnElement_sequence[] = {
4194 { &hf_rrlp_ganssSignalType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignalID },
4195 { &hf_rrlp_ganssDataBits , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOf_GANSSDataBits },
4196 { NULL, 0, 0, NULL }
4199 static int
4200 dissect_rrlp_GANSSDataBitsSgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4201 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4202 ett_rrlp_GANSSDataBitsSgnElement, GANSSDataBitsSgnElement_sequence);
4204 return offset;
4208 static const per_sequence_t Seq_OfGANSSDataBitsSgn_sequence_of[1] = {
4209 { &hf_rrlp_Seq_OfGANSSDataBitsSgn_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSDataBitsSgnElement },
4212 static int
4213 dissect_rrlp_Seq_OfGANSSDataBitsSgn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4214 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4215 ett_rrlp_Seq_OfGANSSDataBitsSgn, Seq_OfGANSSDataBitsSgn_sequence_of,
4216 1, 8, false);
4218 return offset;
4222 static const per_sequence_t GanssDataBitsElement_sequence[] = {
4223 { &hf_rrlp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4224 { &hf_rrlp_ganssDataBitsSgnList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_Seq_OfGANSSDataBitsSgn },
4225 { NULL, 0, 0, NULL }
4228 static int
4229 dissect_rrlp_GanssDataBitsElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4230 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4231 ett_rrlp_GanssDataBitsElement, GanssDataBitsElement_sequence);
4233 return offset;
4237 static const per_sequence_t SeqOfGanssDataBitsElement_sequence_of[1] = {
4238 { &hf_rrlp_SeqOfGanssDataBitsElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GanssDataBitsElement },
4241 static int
4242 dissect_rrlp_SeqOfGanssDataBitsElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4243 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4244 ett_rrlp_SeqOfGanssDataBitsElement, SeqOfGanssDataBitsElement_sequence_of,
4245 1, 32, false);
4247 return offset;
4251 static const per_sequence_t GANSSDataBitAssist_sequence[] = {
4252 { &hf_rrlp_ganssTOD_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_59 },
4253 { &hf_rrlp_ganssDataBitsSatList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGanssDataBitsElement },
4254 { NULL, 0, 0, NULL }
4257 static int
4258 dissect_rrlp_GANSSDataBitAssist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4259 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4260 ett_rrlp_GANSSDataBitAssist, GANSSDataBitAssist_sequence);
4262 return offset;
4267 static int
4268 dissect_rrlp_INTEGER_0_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4269 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4270 0U, 4U, NULL, false);
4272 return offset;
4276 static const per_sequence_t AdditionalDopplerFields_sequence[] = {
4277 { &hf_rrlp_doppler1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
4278 { &hf_rrlp_dopplerUncertainty_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4 },
4279 { NULL, 0, 0, NULL }
4282 static int
4283 dissect_rrlp_AdditionalDopplerFields(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4284 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4285 ett_rrlp_AdditionalDopplerFields, AdditionalDopplerFields_sequence);
4287 return offset;
4292 static int
4293 dissect_rrlp_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4294 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4295 0U, 127U, NULL, false);
4297 return offset;
4301 static const per_sequence_t GANSSRefMeasurementElement_sequence[] = {
4302 { &hf_rrlp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4303 { &hf_rrlp_doppler0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2048_2047 },
4304 { &hf_rrlp_additionalDoppler, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_AdditionalDopplerFields },
4305 { &hf_rrlp_codePhase , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1022 },
4306 { &hf_rrlp_intCodePhase_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_127 },
4307 { &hf_rrlp_codePhaseSearchWindow_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
4308 { &hf_rrlp_additionalAngle, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_AddionalAngleFields },
4309 { &hf_rrlp_codePhase1023 , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_BOOLEAN },
4310 { NULL, 0, 0, NULL }
4313 static int
4314 dissect_rrlp_GANSSRefMeasurementElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4315 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4316 ett_rrlp_GANSSRefMeasurementElement, GANSSRefMeasurementElement_sequence);
4318 return offset;
4322 static const per_sequence_t SeqOfGANSSRefMeasurementElement_sequence_of[1] = {
4323 { &hf_rrlp_SeqOfGANSSRefMeasurementElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSRefMeasurementElement },
4326 static int
4327 dissect_rrlp_SeqOfGANSSRefMeasurementElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4328 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4329 ett_rrlp_SeqOfGANSSRefMeasurementElement, SeqOfGANSSRefMeasurementElement_sequence_of,
4330 1, 16, false);
4332 return offset;
4336 static const per_sequence_t GANSSRefMeasurementAssist_sequence[] = {
4337 { &hf_rrlp_ganssSignalID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignalID },
4338 { &hf_rrlp_ganssRefMeasAssistList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSSRefMeasurementElement },
4339 { NULL, 0, 0, NULL }
4342 static int
4343 dissect_rrlp_GANSSRefMeasurementAssist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4344 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4345 ett_rrlp_GANSSRefMeasurementAssist, GANSSRefMeasurementAssist_sequence);
4347 return offset;
4351 static const per_sequence_t Almanac_KeplerianSet_sequence[] = {
4352 { &hf_rrlp_svID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4353 { &hf_rrlp_kepAlmanacE , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2047 },
4354 { &hf_rrlp_kepAlmanacDeltaI, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4355 { &hf_rrlp_kepAlmanacOmegaDot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4356 { &hf_rrlp_kepSVStatusINAV, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_4 },
4357 { &hf_rrlp_kepSVStatusFNAV, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_BIT_STRING_SIZE_2 },
4358 { &hf_rrlp_kepAlmanacAPowerHalf, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4096_4095 },
4359 { &hf_rrlp_kepAlmanacOmega0, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4360 { &hf_rrlp_kepAlmanacW , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4361 { &hf_rrlp_kepAlmanacM0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4362 { &hf_rrlp_kepAlmanacAF0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4363 { &hf_rrlp_kepAlmanacAF1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4096_4095 },
4364 { NULL, 0, 0, NULL }
4367 static int
4368 dissect_rrlp_Almanac_KeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4369 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4370 ett_rrlp_Almanac_KeplerianSet, Almanac_KeplerianSet_sequence);
4372 return offset;
4376 static const per_sequence_t Almanac_NAVKeplerianSet_sequence[] = {
4377 { &hf_rrlp_svID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4378 { &hf_rrlp_navAlmE , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
4379 { &hf_rrlp_navAlmDeltaI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4380 { &hf_rrlp_navAlmOMEGADOT , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4381 { &hf_rrlp_navAlmSVHealth , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4382 { &hf_rrlp_navAlmSqrtA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16777215 },
4383 { &hf_rrlp_navAlmOMEGAo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4384 { &hf_rrlp_navAlmOmega , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4385 { &hf_rrlp_navAlmMo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4386 { &hf_rrlp_navAlmaf0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4387 { &hf_rrlp_navAlmaf1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4388 { NULL, 0, 0, NULL }
4391 static int
4392 dissect_rrlp_Almanac_NAVKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4393 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4394 ett_rrlp_Almanac_NAVKeplerianSet, Almanac_NAVKeplerianSet_sequence);
4396 return offset;
4401 static int
4402 dissect_rrlp_INTEGER_M64_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4403 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4404 -64, 63U, NULL, false);
4406 return offset;
4410 static const per_sequence_t Almanac_ReducedKeplerianSet_sequence[] = {
4411 { &hf_rrlp_svID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4412 { &hf_rrlp_redAlmDeltaA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4413 { &hf_rrlp_redAlmOmega0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M64_63 },
4414 { &hf_rrlp_redAlmPhi0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M64_63 },
4415 { &hf_rrlp_redAlmL1Health , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
4416 { &hf_rrlp_redAlmL2Health , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
4417 { &hf_rrlp_redAlmL5Health , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
4418 { NULL, 0, 0, NULL }
4421 static int
4422 dissect_rrlp_Almanac_ReducedKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4423 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4424 ett_rrlp_Almanac_ReducedKeplerianSet, Almanac_ReducedKeplerianSet_sequence);
4426 return offset;
4430 static const per_sequence_t Almanac_MidiAlmanacSet_sequence[] = {
4431 { &hf_rrlp_svID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4432 { &hf_rrlp_midiAlmE , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2047 },
4433 { &hf_rrlp_midiAlmDeltaI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4434 { &hf_rrlp_midiAlmOmegaDot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4435 { &hf_rrlp_midiAlmSqrtA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_131071 },
4436 { &hf_rrlp_midiAlmOmega0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4437 { &hf_rrlp_midiAlmOmega , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4438 { &hf_rrlp_midiAlmMo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4439 { &hf_rrlp_midiAlmaf0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4440 { &hf_rrlp_midiAlmaf1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
4441 { &hf_rrlp_midiAlmL1Health, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
4442 { &hf_rrlp_midiAlmL2Health, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
4443 { &hf_rrlp_midiAlmL5Health, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
4444 { NULL, 0, 0, NULL }
4447 static int
4448 dissect_rrlp_Almanac_MidiAlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4449 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4450 ett_rrlp_Almanac_MidiAlmanacSet, Almanac_MidiAlmanacSet_sequence);
4452 return offset;
4457 static int
4458 dissect_rrlp_INTEGER_1_1461(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4459 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4460 1U, 1461U, NULL, false);
4462 return offset;
4467 static int
4468 dissect_rrlp_INTEGER_1_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4469 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4470 1U, 24U, NULL, false);
4472 return offset;
4477 static int
4478 dissect_rrlp_INTEGER_0_2097151(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4479 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4480 0U, 2097151U, NULL, false);
4482 return offset;
4487 static int
4488 dissect_rrlp_INTEGER_0_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4489 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4490 0U, 32767U, NULL, false);
4492 return offset;
4496 static const per_sequence_t Almanac_GlonassAlmanacSet_sequence[] = {
4497 { &hf_rrlp_gloAlmNA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_1461 },
4498 { &hf_rrlp_gloAlmnA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_24 },
4499 { &hf_rrlp_gloAlmHA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
4500 { &hf_rrlp_gloAlmLambdaA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1048576_1048575 },
4501 { &hf_rrlp_gloAlmtlambdaA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2097151 },
4502 { &hf_rrlp_gloAlmDeltaIa , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M131072_131071 },
4503 { &hf_rrlp_gloAlmDeltaTA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2097152_2097151 },
4504 { &hf_rrlp_gloAlmDeltaTdotA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M64_63 },
4505 { &hf_rrlp_gloAlmEpsilonA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_32767 },
4506 { &hf_rrlp_gloAlmOmegaA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4507 { &hf_rrlp_gloAlmTauA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
4508 { &hf_rrlp_gloAlmCA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
4509 { &hf_rrlp_gloAlmMA , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_BIT_STRING_SIZE_2 },
4510 { NULL, 0, 0, NULL }
4513 static int
4514 dissect_rrlp_Almanac_GlonassAlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4515 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4516 ett_rrlp_Almanac_GlonassAlmanacSet, Almanac_GlonassAlmanacSet_sequence);
4518 return offset;
4523 static int
4524 dissect_rrlp_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4525 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4526 8, 8, false, NULL, 0, NULL, NULL);
4528 return offset;
4533 static int
4534 dissect_rrlp_INTEGER_M256_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4535 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4536 -256, 255U, NULL, false);
4538 return offset;
4543 static int
4544 dissect_rrlp_INTEGER_M4_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4545 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4546 -4, 3U, NULL, false);
4548 return offset;
4553 static int
4554 dissect_rrlp_INTEGER_M8_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4555 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4556 -8, 7U, NULL, false);
4558 return offset;
4562 static const per_sequence_t Almanac_ECEFsbasAlmanacSet_sequence[] = {
4563 { &hf_rrlp_sbasAlmDataID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
4564 { &hf_rrlp_svID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4565 { &hf_rrlp_sbasAlmHealth , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_8 },
4566 { &hf_rrlp_sbasAlmXg , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16384_16383 },
4567 { &hf_rrlp_sbasAlmYg , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16384_16383 },
4568 { &hf_rrlp_sbasAlmZg , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M256_255 },
4569 { &hf_rrlp_sbasAlmXgdot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4_3 },
4570 { &hf_rrlp_sbasAlmYgDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4_3 },
4571 { &hf_rrlp_sbasAlmZgDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8_7 },
4572 { &hf_rrlp_sbasAlmTo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2047 },
4573 { NULL, 0, 0, NULL }
4576 static int
4577 dissect_rrlp_Almanac_ECEFsbasAlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4578 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4579 ett_rrlp_Almanac_ECEFsbasAlmanacSet, Almanac_ECEFsbasAlmanacSet_sequence);
4581 return offset;
4586 static int
4587 dissect_rrlp_BIT_STRING_SIZE_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4588 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4589 9, 9, false, NULL, 0, NULL, NULL);
4591 return offset;
4595 static const per_sequence_t Almanac_BDSAlmanacSet_r12_sequence[] = {
4596 { &hf_rrlp_svID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4597 { &hf_rrlp_bdsAlmToa_r12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_255 },
4598 { &hf_rrlp_bdsAlmSqrtA_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16777215 },
4599 { &hf_rrlp_bdsAlmE_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_131071 },
4600 { &hf_rrlp_bdsAlmW_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4601 { &hf_rrlp_bdsAlmM0_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4602 { &hf_rrlp_bdsAlmOmega0_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4603 { &hf_rrlp_bdsAlmOmegaDot_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M65536_65535 },
4604 { &hf_rrlp_bdsAlmDeltaI_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4605 { &hf_rrlp_bdsAlmA0_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4606 { &hf_rrlp_bdsAlmA1_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4607 { &hf_rrlp_bdsSvHealth_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_BIT_STRING_SIZE_9 },
4608 { NULL, 0, 0, NULL }
4611 static int
4612 dissect_rrlp_Almanac_BDSAlmanacSet_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4613 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4614 ett_rrlp_Almanac_BDSAlmanacSet_r12, Almanac_BDSAlmanacSet_r12_sequence);
4616 return offset;
4620 static const value_string rrlp_GANSSAlmanacElement_vals[] = {
4621 { 0, "keplerianAlmanacSet" },
4622 { 1, "keplerianNAVAlmanac" },
4623 { 2, "keplerianReducedAlmanac" },
4624 { 3, "keplerianMidiAlmanac" },
4625 { 4, "keplerianGLONASS" },
4626 { 5, "ecefSBASAlmanac" },
4627 { 6, "keplerianBDSAlmanac-r12" },
4628 { 0, NULL }
4631 static const per_choice_t GANSSAlmanacElement_choice[] = {
4632 { 0, &hf_rrlp_keplerianAlmanacSet, ASN1_EXTENSION_ROOT , dissect_rrlp_Almanac_KeplerianSet },
4633 { 1, &hf_rrlp_keplerianNAVAlmanac, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_Almanac_NAVKeplerianSet },
4634 { 2, &hf_rrlp_keplerianReducedAlmanac, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_Almanac_ReducedKeplerianSet },
4635 { 3, &hf_rrlp_keplerianMidiAlmanac, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_Almanac_MidiAlmanacSet },
4636 { 4, &hf_rrlp_keplerianGLONASS, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_Almanac_GlonassAlmanacSet },
4637 { 5, &hf_rrlp_ecefSBASAlmanac, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_Almanac_ECEFsbasAlmanacSet },
4638 { 6, &hf_rrlp_keplerianBDSAlmanac_r12, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_Almanac_BDSAlmanacSet_r12 },
4639 { 0, NULL, 0, NULL }
4642 static int
4643 dissect_rrlp_GANSSAlmanacElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4644 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4645 ett_rrlp_GANSSAlmanacElement, GANSSAlmanacElement_choice,
4646 NULL);
4648 return offset;
4652 static const per_sequence_t SeqOfGANSSAlmanacElement_sequence_of[1] = {
4653 { &hf_rrlp_SeqOfGANSSAlmanacElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSAlmanacElement },
4656 static int
4657 dissect_rrlp_SeqOfGANSSAlmanacElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4658 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4659 ett_rrlp_SeqOfGANSSAlmanacElement, SeqOfGANSSAlmanacElement_sequence_of,
4660 1, 36, false);
4662 return offset;
4666 static const per_sequence_t GANSSAlmanacModel_sequence[] = {
4667 { &hf_rrlp_weekNumber_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4668 { &hf_rrlp_toa , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_255 },
4669 { &hf_rrlp_ioda , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_3 },
4670 { &hf_rrlp_ganssAlmanacList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSSAlmanacElement },
4671 { NULL, 0, 0, NULL }
4674 static int
4675 dissect_rrlp_GANSSAlmanacModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4676 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4677 ett_rrlp_GANSSAlmanacModel, GANSSAlmanacModel_sequence);
4679 return offset;
4683 static const per_sequence_t GANSSUTCModel_sequence[] = {
4684 { &hf_rrlp_ganssUtcA1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4685 { &hf_rrlp_ganssUtcA0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
4686 { &hf_rrlp_ganssUtcTot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4687 { &hf_rrlp_ganssUtcWNt , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4688 { &hf_rrlp_ganssUtcDeltaTls, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4689 { &hf_rrlp_ganssUtcWNlsf , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4690 { &hf_rrlp_ganssUtcDN , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4691 { &hf_rrlp_ganssUtcDeltaTlsf, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4692 { NULL, 0, 0, NULL }
4695 static int
4696 dissect_rrlp_GANSSUTCModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4697 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4698 ett_rrlp_GANSSUTCModel, GANSSUTCModel_sequence);
4700 return offset;
4704 static const per_sequence_t GANSSEphemerisExtensionTime_sequence[] = {
4705 { &hf_rrlp_ganssEphExtDay , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_8191 },
4706 { &hf_rrlp_ganssEphExtTOD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSTOD },
4707 { NULL, 0, 0, NULL }
4710 static int
4711 dissect_rrlp_GANSSEphemerisExtensionTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4712 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4713 ett_rrlp_GANSSEphemerisExtensionTime, GANSSEphemerisExtensionTime_sequence);
4715 return offset;
4720 static int
4721 dissect_rrlp_INTEGER_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4722 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4723 1U, 8U, NULL, false);
4725 return offset;
4730 static int
4731 dissect_rrlp_INTEGER_1_512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4732 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4733 1U, 512U, NULL, false);
4735 return offset;
4739 static const per_sequence_t GANSSEphemerisExtensionHeader_sequence[] = {
4740 { &hf_rrlp_timeAtEstimation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSEphemerisExtensionTime },
4741 { &hf_rrlp_validityPeriod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_8 },
4742 { &hf_rrlp_ephemerisExtensionDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_512 },
4743 { NULL, 0, 0, NULL }
4746 static int
4747 dissect_rrlp_GANSSEphemerisExtensionHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4748 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4749 ett_rrlp_GANSSEphemerisExtensionHeader, GANSSEphemerisExtensionHeader_sequence);
4751 return offset;
4755 static const per_sequence_t ReferenceNavModel_sequence[] = {
4756 { &hf_rrlp_keplerToe_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_37799 },
4757 { &hf_rrlp_keplerW , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
4758 { &hf_rrlp_keplerDeltaN , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4759 { &hf_rrlp_keplerM0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
4760 { &hf_rrlp_keplerOmegaDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4761 { &hf_rrlp_keplerE , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
4762 { &hf_rrlp_keplerIDot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8192_8191 },
4763 { &hf_rrlp_keplerAPowerHalf, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
4764 { &hf_rrlp_keplerI0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
4765 { &hf_rrlp_keplerOmega0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
4766 { &hf_rrlp_keplerCrs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4767 { &hf_rrlp_keplerCis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4768 { &hf_rrlp_keplerCus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4769 { &hf_rrlp_keplerCrc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4770 { &hf_rrlp_keplerCic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4771 { &hf_rrlp_keplerCuc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4772 { NULL, 0, 0, NULL }
4775 static int
4776 dissect_rrlp_ReferenceNavModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4777 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4778 ett_rrlp_ReferenceNavModel, ReferenceNavModel_sequence);
4780 return offset;
4784 static const per_sequence_t GANSSReferenceOrbit_sequence[] = {
4785 { &hf_rrlp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4786 { &hf_rrlp_ganssOrbitModel_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_ReferenceNavModel },
4787 { &hf_rrlp_ganssClockModel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSClockModel },
4788 { NULL, 0, 0, NULL }
4791 static int
4792 dissect_rrlp_GANSSReferenceOrbit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4793 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4794 ett_rrlp_GANSSReferenceOrbit, GANSSReferenceOrbit_sequence);
4796 return offset;
4800 static const per_sequence_t SeqOfGANSSRefOrbit_sequence_of[1] = {
4801 { &hf_rrlp_SeqOfGANSSRefOrbit_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSReferenceOrbit },
4804 static int
4805 dissect_rrlp_SeqOfGANSSRefOrbit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4806 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4807 ett_rrlp_SeqOfGANSSRefOrbit, SeqOfGANSSRefOrbit_sequence_of,
4808 1, 32, false);
4810 return offset;
4815 static int
4816 dissect_rrlp_INTEGER_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4817 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4818 1U, 32U, NULL, false);
4820 return offset;
4825 static int
4826 dissect_rrlp_INTEGER_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4827 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4828 1U, 16U, NULL, false);
4830 return offset;
4835 static int
4836 dissect_rrlp_INTEGER_1_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4837 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4838 1U, 14U, NULL, false);
4840 return offset;
4845 static int
4846 dissect_rrlp_INTEGER_1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4847 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4848 1U, 10U, NULL, false);
4850 return offset;
4854 static const per_sequence_t GANSSEphemerisDeltaBitSizes_sequence[] = {
4855 { &hf_rrlp_bitsize_delta_omega, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
4856 { &hf_rrlp_bitsize_delta_deltaN, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4857 { &hf_rrlp_bitsize_delta_m0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
4858 { &hf_rrlp_bitsize_delta_omegadot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_24 },
4859 { &hf_rrlp_bitsize_delta_e, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
4860 { &hf_rrlp_bitsize_delta_idot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_14 },
4861 { &hf_rrlp_bitsize_delta_sqrtA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
4862 { &hf_rrlp_bitsize_delta_i0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
4863 { &hf_rrlp_bitsize_delta_omega0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
4864 { &hf_rrlp_bitsize_delta_crs, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4865 { &hf_rrlp_bitsize_delta_cis, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4866 { &hf_rrlp_bitsize_delta_cus, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4867 { &hf_rrlp_bitsize_delta_crc, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4868 { &hf_rrlp_bitsize_delta_cic, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4869 { &hf_rrlp_bitsize_delta_cuc, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4870 { &hf_rrlp_bitsize_delta_tgd1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_10 },
4871 { &hf_rrlp_bitsize_delta_tgd2, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_10 },
4872 { NULL, 0, 0, NULL }
4875 static int
4876 dissect_rrlp_GANSSEphemerisDeltaBitSizes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4877 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4878 ett_rrlp_GANSSEphemerisDeltaBitSizes, GANSSEphemerisDeltaBitSizes_sequence);
4880 return offset;
4884 static const per_sequence_t GANSSEphemerisDeltaScales_sequence[] = {
4885 { &hf_rrlp_scale_delta_omega, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4886 { &hf_rrlp_scale_delta_deltaN, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4887 { &hf_rrlp_scale_delta_m0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4888 { &hf_rrlp_scale_delta_omegadot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4889 { &hf_rrlp_scale_delta_e , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4890 { &hf_rrlp_scale_delta_idot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4891 { &hf_rrlp_scale_delta_sqrtA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4892 { &hf_rrlp_scale_delta_i0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4893 { &hf_rrlp_scale_delta_omega0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4894 { &hf_rrlp_scale_delta_crs, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4895 { &hf_rrlp_scale_delta_cis, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4896 { &hf_rrlp_scale_delta_cus, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4897 { &hf_rrlp_scale_delta_crc, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4898 { &hf_rrlp_scale_delta_cic, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4899 { &hf_rrlp_scale_delta_cuc, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4900 { &hf_rrlp_scale_delta_tgd1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4901 { &hf_rrlp_scale_delta_tgd2, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4902 { NULL, 0, 0, NULL }
4905 static int
4906 dissect_rrlp_GANSSEphemerisDeltaScales(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4907 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4908 ett_rrlp_GANSSEphemerisDeltaScales, GANSSEphemerisDeltaScales_sequence);
4910 return offset;
4914 static const per_sequence_t GANSSDeltaEpochHeader_sequence[] = {
4915 { &hf_rrlp_validityPeriod , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_INTEGER_1_8 },
4916 { &hf_rrlp_ephemerisDeltaSizes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSEphemerisDeltaBitSizes },
4917 { &hf_rrlp_ephemerisDeltaScales, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSEphemerisDeltaScales },
4918 { NULL, 0, 0, NULL }
4921 static int
4922 dissect_rrlp_GANSSDeltaEpochHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4923 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4924 ett_rrlp_GANSSDeltaEpochHeader, GANSSDeltaEpochHeader_sequence);
4926 return offset;
4931 static int
4932 dissect_rrlp_OCTET_STRING_SIZE_1_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4933 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4934 1, 49, false, NULL);
4936 return offset;
4940 static const per_sequence_t GANSSDeltaElementList_sequence_of[1] = {
4941 { &hf_rrlp_GANSSDeltaElementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OCTET_STRING_SIZE_1_49 },
4944 static int
4945 dissect_rrlp_GANSSDeltaElementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4946 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4947 ett_rrlp_GANSSDeltaElementList, GANSSDeltaElementList_sequence_of,
4948 1, 32, false);
4950 return offset;
4954 static const per_sequence_t GANSSEphemerisDeltaEpoch_sequence[] = {
4955 { &hf_rrlp_ganssDeltaEpochHeader, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSDeltaEpochHeader },
4956 { &hf_rrlp_ganssDeltaElementList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSDeltaElementList },
4957 { NULL, 0, 0, NULL }
4960 static int
4961 dissect_rrlp_GANSSEphemerisDeltaEpoch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4962 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4963 ett_rrlp_GANSSEphemerisDeltaEpoch, GANSSEphemerisDeltaEpoch_sequence);
4965 return offset;
4969 static const per_sequence_t GANSSEphemerisDeltaMatrix_sequence_of[1] = {
4970 { &hf_rrlp_GANSSEphemerisDeltaMatrix_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSEphemerisDeltaEpoch },
4973 static int
4974 dissect_rrlp_GANSSEphemerisDeltaMatrix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4975 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4976 ett_rrlp_GANSSEphemerisDeltaMatrix, GANSSEphemerisDeltaMatrix_sequence_of,
4977 1, 128, false);
4979 return offset;
4983 static const per_sequence_t GANSSEphemerisExtension_sequence[] = {
4984 { &hf_rrlp_ganssEphemerisHeader, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSEphemerisExtensionHeader },
4985 { &hf_rrlp_ganssReferenceSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_SeqOfGANSSRefOrbit },
4986 { &hf_rrlp_ganssephemerisDeltasMatrix, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSEphemerisDeltaMatrix },
4987 { NULL, 0, 0, NULL }
4990 static int
4991 dissect_rrlp_GANSSEphemerisExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4992 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4993 ett_rrlp_GANSSEphemerisExtension, GANSSEphemerisExtension_sequence);
4995 return offset;
5000 static int
5001 dissect_rrlp_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5002 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5003 64, 64, false, NULL, 0, NULL, NULL);
5005 return offset;
5009 static const per_sequence_t GANSSSatEventsInfo_sequence[] = {
5010 { &hf_rrlp_eventOccured , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_64 },
5011 { &hf_rrlp_futureEventNoted, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_64 },
5012 { NULL, 0, 0, NULL }
5015 static int
5016 dissect_rrlp_GANSSSatEventsInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5017 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5018 ett_rrlp_GANSSSatEventsInfo, GANSSSatEventsInfo_sequence);
5020 return offset;
5024 static const per_sequence_t GANSSEphemerisExtensionCheck_sequence[] = {
5025 { &hf_rrlp_ganssBeginTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSEphemerisExtensionTime },
5026 { &hf_rrlp_ganssEndTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSEphemerisExtensionTime },
5027 { &hf_rrlp_ganssSatEventsInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSatEventsInfo },
5028 { NULL, 0, 0, NULL }
5031 static int
5032 dissect_rrlp_GANSSEphemerisExtensionCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5033 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5034 ett_rrlp_GANSSEphemerisExtensionCheck, GANSSEphemerisExtensionCheck_sequence);
5036 return offset;
5040 static const per_sequence_t UTCmodelSet2_sequence[] = {
5041 { &hf_rrlp_utcA0_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
5042 { &hf_rrlp_utcA1_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4096_4095 },
5043 { &hf_rrlp_utcA2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M64_63 },
5044 { &hf_rrlp_utcDeltaTls , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
5045 { &hf_rrlp_utcTot_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
5046 { &hf_rrlp_utcWNot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_8191 },
5047 { &hf_rrlp_utcWNlsf , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
5048 { &hf_rrlp_utcDN_bit_str , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_4 },
5049 { &hf_rrlp_utcDeltaTlsf , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
5050 { NULL, 0, 0, NULL }
5053 static int
5054 dissect_rrlp_UTCmodelSet2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5055 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5056 ett_rrlp_UTCmodelSet2, UTCmodelSet2_sequence);
5058 return offset;
5062 static const per_sequence_t UTCmodelSet3_sequence[] = {
5063 { &hf_rrlp_nA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_1461 },
5064 { &hf_rrlp_tauC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
5065 { &hf_rrlp_b1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_M1024_1023 },
5066 { &hf_rrlp_b2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_M512_511 },
5067 { &hf_rrlp_kp , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_BIT_STRING_SIZE_2 },
5068 { NULL, 0, 0, NULL }
5071 static int
5072 dissect_rrlp_UTCmodelSet3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5073 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5074 ett_rrlp_UTCmodelSet3, UTCmodelSet3_sequence);
5076 return offset;
5080 static const per_sequence_t UTCmodelSet4_sequence[] = {
5081 { &hf_rrlp_utcA1wnt , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
5082 { &hf_rrlp_utcA0wnt , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
5083 { &hf_rrlp_utcTot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
5084 { &hf_rrlp_utcWNt , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
5085 { &hf_rrlp_utcDeltaTls , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
5086 { &hf_rrlp_utcWNlsf , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
5087 { &hf_rrlp_utcDN , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
5088 { &hf_rrlp_utcDeltaTlsf , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
5089 { &hf_rrlp_utcStandardID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
5090 { NULL, 0, 0, NULL }
5093 static int
5094 dissect_rrlp_UTCmodelSet4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5095 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5096 ett_rrlp_UTCmodelSet4, UTCmodelSet4_sequence);
5098 return offset;
5102 static const per_sequence_t UTCmodelSet5_r12_sequence[] = {
5103 { &hf_rrlp_utcA0_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
5104 { &hf_rrlp_utcA1_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
5105 { &hf_rrlp_utcDeltaTls_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
5106 { &hf_rrlp_utcWNlsf_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
5107 { &hf_rrlp_utcDN_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
5108 { &hf_rrlp_utcDeltaTlsf_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
5109 { NULL, 0, 0, NULL }
5112 static int
5113 dissect_rrlp_UTCmodelSet5_r12(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_rrlp_UTCmodelSet5_r12, UTCmodelSet5_r12_sequence);
5117 return offset;
5121 static const value_string rrlp_GANSSAddUTCModel_vals[] = {
5122 { 0, "utcModel2" },
5123 { 1, "utcModel3" },
5124 { 2, "utcModel4" },
5125 { 3, "utcModel5-r12" },
5126 { 0, NULL }
5129 static const per_choice_t GANSSAddUTCModel_choice[] = {
5130 { 0, &hf_rrlp_utcModel2 , ASN1_EXTENSION_ROOT , dissect_rrlp_UTCmodelSet2 },
5131 { 1, &hf_rrlp_utcModel3 , ASN1_EXTENSION_ROOT , dissect_rrlp_UTCmodelSet3 },
5132 { 2, &hf_rrlp_utcModel4 , ASN1_EXTENSION_ROOT , dissect_rrlp_UTCmodelSet4 },
5133 { 3, &hf_rrlp_utcModel5_r12 , ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_UTCmodelSet5_r12 },
5134 { 0, NULL, 0, NULL }
5137 static int
5138 dissect_rrlp_GANSSAddUTCModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5139 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5140 ett_rrlp_GANSSAddUTCModel, GANSSAddUTCModel_choice,
5141 NULL);
5143 return offset;
5147 static const per_sequence_t GANSS_ID1_element_sequence[] = {
5148 { &hf_rrlp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
5149 { &hf_rrlp_signalsAvailable, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignals },
5150 { NULL, 0, 0, NULL }
5153 static int
5154 dissect_rrlp_GANSS_ID1_element(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5155 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5156 ett_rrlp_GANSS_ID1_element, GANSS_ID1_element_sequence);
5158 return offset;
5162 static const per_sequence_t GANSS_ID1_sequence_of[1] = {
5163 { &hf_rrlp_GANSS_ID1_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_ID1_element },
5166 static int
5167 dissect_rrlp_GANSS_ID1(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_sequence_of(tvb, offset, actx, tree, hf_index,
5169 ett_rrlp_GANSS_ID1, GANSS_ID1_sequence_of,
5170 1, 64, false);
5172 return offset;
5177 static int
5178 dissect_rrlp_INTEGER_M7_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5179 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5180 -7, 13U, NULL, false);
5182 return offset;
5186 static const per_sequence_t GANSS_ID3_element_sequence[] = {
5187 { &hf_rrlp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
5188 { &hf_rrlp_signalsAvailable, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignals },
5189 { &hf_rrlp_channelNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M7_13 },
5190 { NULL, 0, 0, NULL }
5193 static int
5194 dissect_rrlp_GANSS_ID3_element(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5195 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5196 ett_rrlp_GANSS_ID3_element, GANSS_ID3_element_sequence);
5198 return offset;
5202 static const per_sequence_t GANSS_ID3_sequence_of[1] = {
5203 { &hf_rrlp_GANSS_ID3_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_ID3_element },
5206 static int
5207 dissect_rrlp_GANSS_ID3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5208 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5209 ett_rrlp_GANSS_ID3, GANSS_ID3_sequence_of,
5210 1, 64, false);
5212 return offset;
5216 static const value_string rrlp_GANSSAuxiliaryInformation_vals[] = {
5217 { 0, "ganssID1" },
5218 { 1, "ganssID3" },
5219 { 0, NULL }
5222 static const per_choice_t GANSSAuxiliaryInformation_choice[] = {
5223 { 0, &hf_rrlp_ganssID1 , ASN1_EXTENSION_ROOT , dissect_rrlp_GANSS_ID1 },
5224 { 1, &hf_rrlp_ganssID3 , ASN1_EXTENSION_ROOT , dissect_rrlp_GANSS_ID3 },
5225 { 0, NULL, 0, NULL }
5228 static int
5229 dissect_rrlp_GANSSAuxiliaryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5230 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5231 ett_rrlp_GANSSAuxiliaryInformation, GANSSAuxiliaryInformation_choice,
5232 NULL);
5234 return offset;
5238 static const per_sequence_t DGANSSExtensionSgnElement_sequence[] = {
5239 { &hf_rrlp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
5240 { &hf_rrlp_udreGrowthRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
5241 { &hf_rrlp_udreValidityTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
5242 { NULL, 0, 0, NULL }
5245 static int
5246 dissect_rrlp_DGANSSExtensionSgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5247 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5248 ett_rrlp_DGANSSExtensionSgnElement, DGANSSExtensionSgnElement_sequence);
5250 return offset;
5254 static const per_sequence_t SeqOfDGANSSExtensionSgnElement_sequence_of[1] = {
5255 { &hf_rrlp_SeqOfDGANSSExtensionSgnElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_DGANSSExtensionSgnElement },
5258 static int
5259 dissect_rrlp_SeqOfDGANSSExtensionSgnElement(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_sequence_of(tvb, offset, actx, tree, hf_index,
5261 ett_rrlp_SeqOfDGANSSExtensionSgnElement, SeqOfDGANSSExtensionSgnElement_sequence_of,
5262 1, 16, false);
5264 return offset;
5268 static const per_sequence_t DGANSSExtensionSgnTypeElement_sequence[] = {
5269 { &hf_rrlp_ganssSignalID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignalID },
5270 { &hf_rrlp_dganssExtensionSgnList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfDGANSSExtensionSgnElement },
5271 { NULL, 0, 0, NULL }
5274 static int
5275 dissect_rrlp_DGANSSExtensionSgnTypeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5276 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5277 ett_rrlp_DGANSSExtensionSgnTypeElement, DGANSSExtensionSgnTypeElement_sequence);
5279 return offset;
5283 static const per_sequence_t GANSSDiffCorrectionsValidityPeriod_sequence_of[1] = {
5284 { &hf_rrlp_GANSSDiffCorrectionsValidityPeriod_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_DGANSSExtensionSgnTypeElement },
5287 static int
5288 dissect_rrlp_GANSSDiffCorrectionsValidityPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5289 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5290 ett_rrlp_GANSSDiffCorrectionsValidityPeriod, GANSSDiffCorrectionsValidityPeriod_sequence_of,
5291 1, 3, false);
5293 return offset;
5297 static const per_sequence_t GANSSTimeModelElement_R10_Ext_sequence[] = {
5298 { &hf_rrlp_gnssTOID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
5299 { &hf_rrlp_deltaT , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
5300 { NULL, 0, 0, NULL }
5303 static int
5304 dissect_rrlp_GANSSTimeModelElement_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5305 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5306 ett_rrlp_GANSSTimeModelElement_R10_Ext, GANSSTimeModelElement_R10_Ext_sequence);
5308 return offset;
5312 static const per_sequence_t SeqOfGANSSTimeModel_R10_Ext_sequence_of[1] = {
5313 { &hf_rrlp_SeqOfGANSSTimeModel_R10_Ext_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSTimeModelElement_R10_Ext },
5316 static int
5317 dissect_rrlp_SeqOfGANSSTimeModel_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5318 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5319 ett_rrlp_SeqOfGANSSTimeModel_R10_Ext, SeqOfGANSSTimeModel_R10_Ext_sequence_of,
5320 1, 7, false);
5322 return offset;
5326 static const per_sequence_t GANSSRefMeasurement_R10_Ext_Element_sequence[] = {
5327 { &hf_rrlp_svID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
5328 { &hf_rrlp_azimuthLSB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
5329 { &hf_rrlp_elevationLSB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
5330 { NULL, 0, 0, NULL }
5333 static int
5334 dissect_rrlp_GANSSRefMeasurement_R10_Ext_Element(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5335 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5336 ett_rrlp_GANSSRefMeasurement_R10_Ext_Element, GANSSRefMeasurement_R10_Ext_Element_sequence);
5338 return offset;
5342 static const per_sequence_t GANSSRefMeasurementAssist_R10_Ext_sequence_of[1] = {
5343 { &hf_rrlp_GANSSRefMeasurementAssist_R10_Ext_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSRefMeasurement_R10_Ext_Element },
5346 static int
5347 dissect_rrlp_GANSSRefMeasurementAssist_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5348 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5349 ett_rrlp_GANSSRefMeasurementAssist_R10_Ext, GANSSRefMeasurementAssist_R10_Ext_sequence_of,
5350 1, 16, false);
5352 return offset;
5356 static const per_sequence_t GANSSAlmanacModel_R10_Ext_sequence[] = {
5357 { &hf_rrlp_completeAlmanacProvided, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
5358 { NULL, 0, 0, NULL }
5361 static int
5362 dissect_rrlp_GANSSAlmanacModel_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5363 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5364 ett_rrlp_GANSSAlmanacModel_R10_Ext, GANSSAlmanacModel_R10_Ext_sequence);
5366 return offset;
5371 static int
5372 dissect_rrlp_INTEGER_256_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5373 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5374 256U, 1023U, NULL, false);
5376 return offset;
5381 static int
5382 dissect_rrlp_INTEGER_4_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5383 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5384 4U, 15U, NULL, false);
5386 return offset;
5390 static const per_sequence_t GANSSAlmanacModel_R12_Ext_sequence[] = {
5391 { &hf_rrlp_toa_ext , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_256_1023 },
5392 { &hf_rrlp_ioda_ext , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_4_15 },
5393 { NULL, 0, 0, NULL }
5396 static int
5397 dissect_rrlp_GANSSAlmanacModel_R12_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5398 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5399 ett_rrlp_GANSSAlmanacModel_R12_Ext, GANSSAlmanacModel_R12_Ext_sequence);
5401 return offset;
5406 static int
5407 dissect_rrlp_INTEGER_0_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5408 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5409 0U, 100U, NULL, false);
5411 return offset;
5415 static const value_string rrlp_T_dopplerUncertaintyExt_vals[] = {
5416 { 0, "d60" },
5417 { 1, "d80" },
5418 { 2, "d100" },
5419 { 3, "d120" },
5420 { 4, "noInformation" },
5421 { 0, NULL }
5425 static int
5426 dissect_rrlp_T_dopplerUncertaintyExt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5427 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5428 5, NULL, true, 0, NULL);
5430 return offset;
5434 static const per_sequence_t GANSSRefMeasurement_R12_Ext_Element_sequence[] = {
5435 { &hf_rrlp_svID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
5436 { &hf_rrlp_dopplerUncertaintyExt, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_T_dopplerUncertaintyExt },
5437 { NULL, 0, 0, NULL }
5440 static int
5441 dissect_rrlp_GANSSRefMeasurement_R12_Ext_Element(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5442 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5443 ett_rrlp_GANSSRefMeasurement_R12_Ext_Element, GANSSRefMeasurement_R12_Ext_Element_sequence);
5445 return offset;
5449 static const per_sequence_t SeqOfGANSSRefMeasurementElement_R12_sequence_of[1] = {
5450 { &hf_rrlp_SeqOfGANSSRefMeasurementElement_R12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSRefMeasurement_R12_Ext_Element },
5453 static int
5454 dissect_rrlp_SeqOfGANSSRefMeasurementElement_R12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5455 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5456 ett_rrlp_SeqOfGANSSRefMeasurementElement_R12, SeqOfGANSSRefMeasurementElement_R12_sequence_of,
5457 1, 16, false);
5459 return offset;
5463 static const per_sequence_t GANSSRefMeasurementAssist_R12_Ext_sequence[] = {
5464 { &hf_rrlp_ganssSignalID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignalID },
5465 { &hf_rrlp_confidence , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_100 },
5466 { &hf_rrlp_ganssRefMeasAssistList_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_SeqOfGANSSRefMeasurementElement_R12 },
5467 { NULL, 0, 0, NULL }
5470 static int
5471 dissect_rrlp_GANSSRefMeasurementAssist_R12_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5472 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5473 ett_rrlp_GANSSRefMeasurementAssist_R12_Ext, GANSSRefMeasurementAssist_R12_Ext_sequence);
5475 return offset;
5480 static int
5481 dissect_rrlp_INTEGER_0_3599(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5482 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5483 0U, 3599U, NULL, false);
5485 return offset;
5489 static const per_sequence_t DBDS_CorrectionElement_r12_sequence[] = {
5490 { &hf_rrlp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
5491 { &hf_rrlp_bds_UDREI_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
5492 { &hf_rrlp_bds_RURAI_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
5493 { &hf_rrlp_bds_ECC_DeltaT_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4096_4095 },
5494 { NULL, 0, 0, NULL }
5497 static int
5498 dissect_rrlp_DBDS_CorrectionElement_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5499 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5500 ett_rrlp_DBDS_CorrectionElement_r12, DBDS_CorrectionElement_r12_sequence);
5502 return offset;
5506 static const per_sequence_t DBDS_CorrectionList_r12_sequence_of[1] = {
5507 { &hf_rrlp_DBDS_CorrectionList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_DBDS_CorrectionElement_r12 },
5510 static int
5511 dissect_rrlp_DBDS_CorrectionList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5512 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5513 ett_rrlp_DBDS_CorrectionList_r12, DBDS_CorrectionList_r12_sequence_of,
5514 1, 64, false);
5516 return offset;
5520 static const per_sequence_t BDS_SgnTypeElement_r12_sequence[] = {
5521 { &hf_rrlp_ganssSignalID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSSignalID },
5522 { &hf_rrlp_dbds_CorrectionList_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_DBDS_CorrectionList_r12 },
5523 { NULL, 0, 0, NULL }
5526 static int
5527 dissect_rrlp_BDS_SgnTypeElement_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5528 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5529 ett_rrlp_BDS_SgnTypeElement_r12, BDS_SgnTypeElement_r12_sequence);
5531 return offset;
5535 static const per_sequence_t BDS_SgnTypeList_r12_sequence_of[1] = {
5536 { &hf_rrlp_BDS_SgnTypeList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BDS_SgnTypeElement_r12 },
5539 static int
5540 dissect_rrlp_BDS_SgnTypeList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5541 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5542 ett_rrlp_BDS_SgnTypeList_r12, BDS_SgnTypeList_r12_sequence_of,
5543 1, 3, false);
5545 return offset;
5549 static const per_sequence_t BDS_DiffCorrections_r12_sequence[] = {
5550 { &hf_rrlp_dbds_RefTime_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3599 },
5551 { &hf_rrlp_bds_SgnTypeList_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_BDS_SgnTypeList_r12 },
5552 { NULL, 0, 0, NULL }
5555 static int
5556 dissect_rrlp_BDS_DiffCorrections_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5557 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5558 ett_rrlp_BDS_DiffCorrections_r12, BDS_DiffCorrections_r12_sequence);
5560 return offset;
5565 static int
5566 dissect_rrlp_INTEGER_1_320(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5567 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5568 1U, 320U, NULL, false);
5570 return offset;
5575 static int
5576 dissect_rrlp_INTEGER_0_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5577 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5578 0U, 511U, NULL, false);
5580 return offset;
5584 static const per_sequence_t GridIonElement_r12_sequence[] = {
5585 { &hf_rrlp_igp_ID_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_320 },
5586 { &hf_rrlp_dt_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_511 },
5587 { &hf_rrlp_givei_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
5588 { NULL, 0, 0, NULL }
5591 static int
5592 dissect_rrlp_GridIonElement_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5593 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5594 ett_rrlp_GridIonElement_r12, GridIonElement_r12_sequence);
5596 return offset;
5600 static const per_sequence_t GridIonList_r12_sequence_of[1] = {
5601 { &hf_rrlp_GridIonList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GridIonElement_r12 },
5604 static int
5605 dissect_rrlp_GridIonList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5606 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5607 ett_rrlp_GridIonList_r12, GridIonList_r12_sequence_of,
5608 1, 320, false);
5610 return offset;
5614 static const per_sequence_t BDS_GridModelParameter_r12_sequence[] = {
5615 { &hf_rrlp_bds_RefTime_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3599 },
5616 { &hf_rrlp_gridIonList_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GridIonList_r12 },
5617 { NULL, 0, 0, NULL }
5620 static int
5621 dissect_rrlp_BDS_GridModelParameter_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5622 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5623 ett_rrlp_BDS_GridModelParameter_r12, BDS_GridModelParameter_r12_sequence);
5625 return offset;
5629 static const per_sequence_t GANSSGenericAssistDataElement_sequence[] = {
5630 { &hf_rrlp_ganssID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_7 },
5631 { &hf_rrlp_ganssTimeModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_SeqOfGANSSTimeModel },
5632 { &hf_rrlp_ganssDiffCorrections, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSDiffCorrections },
5633 { &hf_rrlp_ganssNavigationModel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSNavModel },
5634 { &hf_rrlp_ganssRealTimeIntegrity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSRealTimeIntegrity },
5635 { &hf_rrlp_ganssDataBitAssist, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSDataBitAssist },
5636 { &hf_rrlp_ganssRefMeasurementAssist, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSRefMeasurementAssist },
5637 { &hf_rrlp_ganssAlmanacModel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSAlmanacModel },
5638 { &hf_rrlp_ganssUTCModel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSUTCModel },
5639 { &hf_rrlp_ganssEphemerisExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSEphemerisExtension },
5640 { &hf_rrlp_ganssEphemerisExtCheck, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSEphemerisExtensionCheck },
5641 { &hf_rrlp_sbasID_int , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_7 },
5642 { &hf_rrlp_ganssAddUTCModel, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GANSSAddUTCModel },
5643 { &hf_rrlp_ganssAuxiliaryInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GANSSAuxiliaryInformation },
5644 { &hf_rrlp_ganssDiffCorrectionsValidityPeriod, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GANSSDiffCorrectionsValidityPeriod },
5645 { &hf_rrlp_ganssTimeModel_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_SeqOfGANSSTimeModel_R10_Ext },
5646 { &hf_rrlp_ganssRefMeasurementAssist_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GANSSRefMeasurementAssist_R10_Ext },
5647 { &hf_rrlp_ganssAlmanacModel_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GANSSAlmanacModel_R10_Ext },
5648 { &hf_rrlp_ganssAlmanacModel_R12_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GANSSAlmanacModel_R12_Ext },
5649 { &hf_rrlp_ganssRefMeasurementAssist_R12_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GANSSRefMeasurementAssist_R12_Ext },
5650 { &hf_rrlp_bdsDifferentialCorrections_r12, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_BDS_DiffCorrections_r12 },
5651 { &hf_rrlp_bdsGridModel_r12, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_BDS_GridModelParameter_r12 },
5652 { NULL, 0, 0, NULL }
5655 static int
5656 dissect_rrlp_GANSSGenericAssistDataElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5657 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5658 ett_rrlp_GANSSGenericAssistDataElement, GANSSGenericAssistDataElement_sequence);
5660 return offset;
5664 static const per_sequence_t SeqOfGANSSGenericAssistDataElement_sequence_of[1] = {
5665 { &hf_rrlp_SeqOfGANSSGenericAssistDataElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSGenericAssistDataElement },
5668 static int
5669 dissect_rrlp_SeqOfGANSSGenericAssistDataElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5670 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5671 ett_rrlp_SeqOfGANSSGenericAssistDataElement, SeqOfGANSSGenericAssistDataElement_sequence_of,
5672 1, 8, false);
5674 return offset;
5678 static const per_sequence_t GANSS_ControlHeader_sequence[] = {
5679 { &hf_rrlp_ganssCommonAssistData, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_GANSSCommonAssistData },
5680 { &hf_rrlp_ganssGenericAssistDataList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_SeqOfGANSSGenericAssistDataElement },
5681 { NULL, 0, 0, NULL }
5684 static int
5685 dissect_rrlp_GANSS_ControlHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5686 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5687 ett_rrlp_GANSS_ControlHeader, GANSS_ControlHeader_sequence);
5689 return offset;
5693 static const per_sequence_t GANSS_AssistData_sequence[] = {
5694 { &hf_rrlp_ganss_controlHeader, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_ControlHeader },
5695 { NULL, 0, 0, NULL }
5698 static int
5699 dissect_rrlp_GANSS_AssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5700 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5701 ett_rrlp_GANSS_AssistData, GANSS_AssistData_sequence);
5703 return offset;
5708 static int
5709 dissect_rrlp_RequiredResponseTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5710 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5711 1U, 128U, NULL, false);
5713 return offset;
5717 static const per_sequence_t GPSEphemerisExtensionTime_sequence[] = {
5718 { &hf_rrlp_gpsWeek , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSWeek },
5719 { &hf_rrlp_gpsTOW_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_604799 },
5720 { NULL, 0, 0, NULL }
5723 static int
5724 dissect_rrlp_GPSEphemerisExtensionTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5725 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5726 ett_rrlp_GPSEphemerisExtensionTime, GPSEphemerisExtensionTime_sequence);
5728 return offset;
5732 static const per_sequence_t GPSEphemerisExtensionHeader_sequence[] = {
5733 { &hf_rrlp_timeofEstimation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSEphemerisExtensionTime },
5734 { &hf_rrlp_validityPeriod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_8 },
5735 { &hf_rrlp_ephemerisExtensionDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_512 },
5736 { NULL, 0, 0, NULL }
5739 static int
5740 dissect_rrlp_GPSEphemerisExtensionHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5741 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5742 ett_rrlp_GPSEphemerisExtensionHeader, GPSEphemerisExtensionHeader_sequence);
5744 return offset;
5748 static const per_sequence_t GPSClockModel_sequence[] = {
5749 { &hf_rrlp_af2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
5750 { &hf_rrlp_af1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
5751 { &hf_rrlp_af0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2097152_2097151 },
5752 { &hf_rrlp_tgd , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
5753 { NULL, 0, 0, NULL }
5756 static int
5757 dissect_rrlp_GPSClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5758 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5759 ett_rrlp_GPSClockModel, GPSClockModel_sequence);
5761 return offset;
5765 static const per_sequence_t GPSReferenceOrbit_sequence[] = {
5766 { &hf_rrlp_svID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
5767 { &hf_rrlp_gpsOrbitModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_ReferenceNavModel },
5768 { &hf_rrlp_gpsClockModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSClockModel },
5769 { NULL, 0, 0, NULL }
5772 static int
5773 dissect_rrlp_GPSReferenceOrbit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5774 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5775 ett_rrlp_GPSReferenceOrbit, GPSReferenceOrbit_sequence);
5777 return offset;
5781 static const per_sequence_t SeqOfGPSRefOrbit_sequence_of[1] = {
5782 { &hf_rrlp_SeqOfGPSRefOrbit_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSReferenceOrbit },
5785 static int
5786 dissect_rrlp_SeqOfGPSRefOrbit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5787 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5788 ett_rrlp_SeqOfGPSRefOrbit, SeqOfGPSRefOrbit_sequence_of,
5789 1, 32, false);
5791 return offset;
5795 static const per_sequence_t GPSEphemerisDeltaBitSizes_sequence[] = {
5796 { &hf_rrlp_bitsize_delta_omega, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
5797 { &hf_rrlp_bitsize_delta_deltaN, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5798 { &hf_rrlp_bitsize_delta_m0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
5799 { &hf_rrlp_bitsize_delta_omegadot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_24 },
5800 { &hf_rrlp_bitsize_delta_e, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
5801 { &hf_rrlp_bitsize_delta_idot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_14 },
5802 { &hf_rrlp_bitsize_delta_sqrtA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
5803 { &hf_rrlp_bitsize_delta_i0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
5804 { &hf_rrlp_bitsize_delta_omega0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
5805 { &hf_rrlp_bitsize_delta_crs, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5806 { &hf_rrlp_bitsize_delta_cis, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5807 { &hf_rrlp_bitsize_delta_cus, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5808 { &hf_rrlp_bitsize_delta_crc, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5809 { &hf_rrlp_bitsize_delta_cic, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5810 { &hf_rrlp_bitsize_delta_cuc, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5811 { &hf_rrlp_bitsize_delta_tgd, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_10 },
5812 { NULL, 0, 0, NULL }
5815 static int
5816 dissect_rrlp_GPSEphemerisDeltaBitSizes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5817 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5818 ett_rrlp_GPSEphemerisDeltaBitSizes, GPSEphemerisDeltaBitSizes_sequence);
5820 return offset;
5824 static const per_sequence_t GPSEphemerisDeltaScales_sequence[] = {
5825 { &hf_rrlp_scale_delta_omega, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5826 { &hf_rrlp_scale_delta_deltaN, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5827 { &hf_rrlp_scale_delta_m0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5828 { &hf_rrlp_scale_delta_omegadot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5829 { &hf_rrlp_scale_delta_e , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5830 { &hf_rrlp_scale_delta_idot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5831 { &hf_rrlp_scale_delta_sqrtA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5832 { &hf_rrlp_scale_delta_i0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5833 { &hf_rrlp_scale_delta_omega0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5834 { &hf_rrlp_scale_delta_crs, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5835 { &hf_rrlp_scale_delta_cis, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5836 { &hf_rrlp_scale_delta_cus, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5837 { &hf_rrlp_scale_delta_crc, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5838 { &hf_rrlp_scale_delta_cic, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5839 { &hf_rrlp_scale_delta_cuc, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5840 { &hf_rrlp_scale_delta_tgd, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5841 { NULL, 0, 0, NULL }
5844 static int
5845 dissect_rrlp_GPSEphemerisDeltaScales(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5846 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5847 ett_rrlp_GPSEphemerisDeltaScales, GPSEphemerisDeltaScales_sequence);
5849 return offset;
5853 static const per_sequence_t GPSDeltaEpochHeader_sequence[] = {
5854 { &hf_rrlp_validityPeriod , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_INTEGER_1_8 },
5855 { &hf_rrlp_ephemerisDeltaSizes_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPSEphemerisDeltaBitSizes },
5856 { &hf_rrlp_ephemerisDeltaScales_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPSEphemerisDeltaScales },
5857 { NULL, 0, 0, NULL }
5860 static int
5861 dissect_rrlp_GPSDeltaEpochHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5862 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5863 ett_rrlp_GPSDeltaEpochHeader, GPSDeltaEpochHeader_sequence);
5865 return offset;
5870 static int
5871 dissect_rrlp_OCTET_STRING_SIZE_1_47(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5872 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
5873 1, 47, false, NULL);
5875 return offset;
5879 static const per_sequence_t GPSDeltaElementList_sequence_of[1] = {
5880 { &hf_rrlp_GPSDeltaElementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OCTET_STRING_SIZE_1_47 },
5883 static int
5884 dissect_rrlp_GPSDeltaElementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5885 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5886 ett_rrlp_GPSDeltaElementList, GPSDeltaElementList_sequence_of,
5887 1, 32, false);
5889 return offset;
5893 static const per_sequence_t GPSEphemerisDeltaEpoch_sequence[] = {
5894 { &hf_rrlp_gpsDeltaEpochHeader, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPSDeltaEpochHeader },
5895 { &hf_rrlp_gpsDeltaElementList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSDeltaElementList },
5896 { NULL, 0, 0, NULL }
5899 static int
5900 dissect_rrlp_GPSEphemerisDeltaEpoch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5901 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5902 ett_rrlp_GPSEphemerisDeltaEpoch, GPSEphemerisDeltaEpoch_sequence);
5904 return offset;
5908 static const per_sequence_t GPSEphemerisDeltaMatrix_sequence_of[1] = {
5909 { &hf_rrlp_GPSEphemerisDeltaMatrix_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSEphemerisDeltaEpoch },
5912 static int
5913 dissect_rrlp_GPSEphemerisDeltaMatrix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5914 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5915 ett_rrlp_GPSEphemerisDeltaMatrix, GPSEphemerisDeltaMatrix_sequence_of,
5916 1, 128, false);
5918 return offset;
5922 static const per_sequence_t GPSEphemerisExtension_sequence[] = {
5923 { &hf_rrlp_gpsEphemerisHeader, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPSEphemerisExtensionHeader },
5924 { &hf_rrlp_gpsReferenceSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_SeqOfGPSRefOrbit },
5925 { &hf_rrlp_gpsephemerisDeltaMatrix, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPSEphemerisDeltaMatrix },
5926 { NULL, 0, 0, NULL }
5929 static int
5930 dissect_rrlp_GPSEphemerisExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5931 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5932 ett_rrlp_GPSEphemerisExtension, GPSEphemerisExtension_sequence);
5934 return offset;
5939 static int
5940 dissect_rrlp_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5941 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5942 32, 32, false, NULL, 0, NULL, NULL);
5944 return offset;
5948 static const per_sequence_t GPSSatEventsInfo_sequence[] = {
5949 { &hf_rrlp_eventOccured_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_32 },
5950 { &hf_rrlp_futureEventNoted_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_32 },
5951 { NULL, 0, 0, NULL }
5954 static int
5955 dissect_rrlp_GPSSatEventsInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5956 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5957 ett_rrlp_GPSSatEventsInfo, GPSSatEventsInfo_sequence);
5959 return offset;
5963 static const per_sequence_t GPSEphemerisExtensionCheck_sequence[] = {
5964 { &hf_rrlp_gpsBeginTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSEphemerisExtensionTime },
5965 { &hf_rrlp_gpsEndTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSEphemerisExtensionTime },
5966 { &hf_rrlp_gpsSatEventsInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSSatEventsInfo },
5967 { NULL, 0, 0, NULL }
5970 static int
5971 dissect_rrlp_GPSEphemerisExtensionCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5972 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5973 ett_rrlp_GPSEphemerisExtensionCheck, GPSEphemerisExtensionCheck_sequence);
5975 return offset;
5979 static const per_sequence_t DGPSExtensionSatElement_sequence[] = {
5980 { &hf_rrlp_satelliteID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
5981 { &hf_rrlp_udreGrowthRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
5982 { &hf_rrlp_udreValidityTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
5983 { NULL, 0, 0, NULL }
5986 static int
5987 dissect_rrlp_DGPSExtensionSatElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5988 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5989 ett_rrlp_DGPSExtensionSatElement, DGPSExtensionSatElement_sequence);
5991 return offset;
5995 static const per_sequence_t DGPSCorrectionsValidityPeriod_sequence_of[1] = {
5996 { &hf_rrlp_DGPSCorrectionsValidityPeriod_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_DGPSExtensionSatElement },
5999 static int
6000 dissect_rrlp_DGPSCorrectionsValidityPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6001 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6002 ett_rrlp_DGPSCorrectionsValidityPeriod, DGPSCorrectionsValidityPeriod_sequence_of,
6003 1, 16, false);
6005 return offset;
6009 static const per_sequence_t GPSReferenceTime_R10_Ext_sequence[] = {
6010 { &hf_rrlp_gpsWeekCycleNumber, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
6011 { NULL, 0, 0, NULL }
6014 static int
6015 dissect_rrlp_GPSReferenceTime_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6016 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6017 ett_rrlp_GPSReferenceTime_R10_Ext, GPSReferenceTime_R10_Ext_sequence);
6019 return offset;
6023 static const per_sequence_t GPSAcquisAssist_R10_Ext_Element_sequence[] = {
6024 { &hf_rrlp_satelliteID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
6025 { &hf_rrlp_azimuthLSB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
6026 { &hf_rrlp_elevationLSB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
6027 { NULL, 0, 0, NULL }
6030 static int
6031 dissect_rrlp_GPSAcquisAssist_R10_Ext_Element(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6032 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6033 ett_rrlp_GPSAcquisAssist_R10_Ext_Element, GPSAcquisAssist_R10_Ext_Element_sequence);
6035 return offset;
6039 static const per_sequence_t GPSAcquisAssist_R10_Ext_sequence_of[1] = {
6040 { &hf_rrlp_GPSAcquisAssist_R10_Ext_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSAcquisAssist_R10_Ext_Element },
6043 static int
6044 dissect_rrlp_GPSAcquisAssist_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6045 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6046 ett_rrlp_GPSAcquisAssist_R10_Ext, GPSAcquisAssist_R10_Ext_sequence_of,
6047 1, 16, false);
6049 return offset;
6053 static const per_sequence_t GPSAlmanac_R10_Ext_sequence[] = {
6054 { &hf_rrlp_completeAlmanacProvided, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
6055 { NULL, 0, 0, NULL }
6058 static int
6059 dissect_rrlp_GPSAlmanac_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6060 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6061 ett_rrlp_GPSAlmanac_R10_Ext, GPSAlmanac_R10_Ext_sequence);
6063 return offset;
6067 static const value_string rrlp_T_dopplerUncertaintyExt_01_vals[] = {
6068 { 0, "d300" },
6069 { 1, "d400" },
6070 { 2, "d500" },
6071 { 3, "d600" },
6072 { 4, "noInformation" },
6073 { 0, NULL }
6077 static int
6078 dissect_rrlp_T_dopplerUncertaintyExt_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6079 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6080 5, NULL, true, 0, NULL);
6082 return offset;
6086 static const per_sequence_t GPSAcquisAssist_R12_Ext_Element_sequence[] = {
6087 { &hf_rrlp_satelliteID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
6088 { &hf_rrlp_dopplerUncertaintyExt_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_T_dopplerUncertaintyExt_01 },
6089 { NULL, 0, 0, NULL }
6092 static int
6093 dissect_rrlp_GPSAcquisAssist_R12_Ext_Element(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6094 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6095 ett_rrlp_GPSAcquisAssist_R12_Ext_Element, GPSAcquisAssist_R12_Ext_Element_sequence);
6097 return offset;
6101 static const per_sequence_t SeqOfGPSAcquisAssist_R12_Ext_sequence_of[1] = {
6102 { &hf_rrlp_SeqOfGPSAcquisAssist_R12_Ext_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSAcquisAssist_R12_Ext_Element },
6105 static int
6106 dissect_rrlp_SeqOfGPSAcquisAssist_R12_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6107 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6108 ett_rrlp_SeqOfGPSAcquisAssist_R12_Ext, SeqOfGPSAcquisAssist_R12_Ext_sequence_of,
6109 1, 16, false);
6111 return offset;
6115 static const per_sequence_t GPSAcquisAssist_R12_Ext_sequence[] = {
6116 { &hf_rrlp_confidence , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_100 },
6117 { &hf_rrlp_acquisList_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_SeqOfGPSAcquisAssist_R12_Ext },
6118 { NULL, 0, 0, NULL }
6121 static int
6122 dissect_rrlp_GPSAcquisAssist_R12_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6123 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6124 ett_rrlp_GPSAcquisAssist_R12_Ext, GPSAcquisAssist_R12_Ext_sequence);
6126 return offset;
6130 static const per_sequence_t Add_GPS_ControlHeader_sequence[] = {
6131 { &hf_rrlp_gpsEphemerisExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPSEphemerisExtension },
6132 { &hf_rrlp_gpsEphemerisExtensionCheck, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPSEphemerisExtensionCheck },
6133 { &hf_rrlp_dgpsCorrectionsValidityPeriod, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_DGPSCorrectionsValidityPeriod },
6134 { &hf_rrlp_gpsReferenceTime_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GPSReferenceTime_R10_Ext },
6135 { &hf_rrlp_gpsAcquisAssist_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GPSAcquisAssist_R10_Ext },
6136 { &hf_rrlp_gpsAlmanac_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GPSAlmanac_R10_Ext },
6137 { &hf_rrlp_gpsAcquisAssist_R12_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GPSAcquisAssist_R12_Ext },
6138 { NULL, 0, 0, NULL }
6141 static int
6142 dissect_rrlp_Add_GPS_ControlHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6143 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6144 ett_rrlp_Add_GPS_ControlHeader, Add_GPS_ControlHeader_sequence);
6146 return offset;
6150 static const per_sequence_t Add_GPS_AssistData_sequence[] = {
6151 { &hf_rrlp_add_GPS_controlHeader, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_Add_GPS_ControlHeader },
6152 { NULL, 0, 0, NULL }
6155 static int
6156 dissect_rrlp_Add_GPS_AssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6157 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6158 ett_rrlp_Add_GPS_AssistData, Add_GPS_AssistData_sequence);
6160 return offset;
6164 static const per_sequence_t Rel7_MsrPosition_Req_Extension_sequence[] = {
6165 { &hf_rrlp_velocityRequested, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_NULL },
6166 { &hf_rrlp_ganssPositionMethod, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSPositioningMethod },
6167 { &hf_rrlp_ganss_AssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSS_AssistData },
6168 { &hf_rrlp_ganssCarrierPhaseMeasurementRequest, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_NULL },
6169 { &hf_rrlp_ganssTODGSMTimeAssociationMeasurementRequest, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_NULL },
6170 { &hf_rrlp_requiredResponseTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_RequiredResponseTime },
6171 { &hf_rrlp_add_GPS_AssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_Add_GPS_AssistData },
6172 { &hf_rrlp_ganssMultiFreqMeasurementRequest, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_NULL },
6173 { NULL, 0, 0, NULL }
6176 static int
6177 dissect_rrlp_Rel7_MsrPosition_Req_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6178 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6179 ett_rrlp_Rel7_MsrPosition_Req_Extension, Rel7_MsrPosition_Req_Extension_sequence);
6181 return offset;
6185 static const per_sequence_t MsrPosition_Req_sequence[] = {
6186 { &hf_rrlp_positionInstruct, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_PositionInstruct },
6187 { &hf_rrlp_referenceAssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_ReferenceAssistData },
6188 { &hf_rrlp_msrAssistData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_MsrAssistData },
6189 { &hf_rrlp_systemInfoAssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_SystemInfoAssistData },
6190 { &hf_rrlp_gps_AssistData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPS_AssistData },
6191 { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_ExtensionContainer },
6192 { &hf_rrlp_rel98_MsrPosition_Req_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_Rel98_MsrPosition_Req_Extension },
6193 { &hf_rrlp_rel5_MsrPosition_Req_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_Rel5_MsrPosition_Req_Extension },
6194 { &hf_rrlp_rel7_MsrPosition_Req_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_Rel7_MsrPosition_Req_Extension },
6195 { NULL, 0, 0, NULL }
6198 static int
6199 dissect_rrlp_MsrPosition_Req(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6200 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6201 ett_rrlp_MsrPosition_Req, MsrPosition_Req_sequence);
6203 return offset;
6208 static int
6209 dissect_rrlp_INTEGER_2_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6210 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6211 2U, 3U, NULL, false);
6213 return offset;
6218 static int
6219 dissect_rrlp_INTEGER_1_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6220 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6221 1U, 3U, NULL, false);
6223 return offset;
6227 static const value_string rrlp_ReferenceRelation_vals[] = {
6228 { 0, "secondBTSThirdSet" },
6229 { 1, "secondBTSSecondSet" },
6230 { 2, "firstBTSFirstSet" },
6231 { 0, NULL }
6235 static int
6236 dissect_rrlp_ReferenceRelation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6237 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6238 3, NULL, false, 0, NULL);
6240 return offset;
6244 static const per_sequence_t MultipleSets_sequence[] = {
6245 { &hf_rrlp_nbrOfSets , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_2_3 },
6246 { &hf_rrlp_nbrOfReferenceBTSs, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_3 },
6247 { &hf_rrlp_referenceRelation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_ReferenceRelation },
6248 { NULL, 0, 0, NULL }
6251 static int
6252 dissect_rrlp_MultipleSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6253 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6254 ett_rrlp_MultipleSets, MultipleSets_sequence);
6256 return offset;
6260 static const per_sequence_t BSICAndCarrier_sequence[] = {
6261 { &hf_rrlp_carrier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BCCHCarrier },
6262 { &hf_rrlp_bsic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC },
6263 { NULL, 0, 0, NULL }
6266 static int
6267 dissect_rrlp_BSICAndCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6268 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6269 ett_rrlp_BSICAndCarrier, BSICAndCarrier_sequence);
6271 return offset;
6276 static int
6277 dissect_rrlp_CellID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6278 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6279 0U, 65535U, NULL, false);
6281 return offset;
6286 static int
6287 dissect_rrlp_RequestIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6288 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6289 1U, 16U, NULL, false);
6291 return offset;
6296 static int
6297 dissect_rrlp_SystemInfoIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6298 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6299 1U, 32U, NULL, false);
6301 return offset;
6306 static int
6307 dissect_rrlp_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6308 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6309 0U, 65535U, NULL, false);
6311 return offset;
6315 static const per_sequence_t CellIDAndLAC_sequence[] = {
6316 { &hf_rrlp_referenceLAC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_LAC },
6317 { &hf_rrlp_referenceCI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_CellID },
6318 { NULL, 0, 0, NULL }
6321 static int
6322 dissect_rrlp_CellIDAndLAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6323 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6324 ett_rrlp_CellIDAndLAC, CellIDAndLAC_sequence);
6326 return offset;
6330 static const value_string rrlp_ReferenceIdentityType_vals[] = {
6331 { 0, "bsicAndCarrier" },
6332 { 1, "ci" },
6333 { 2, "requestIndex" },
6334 { 3, "systemInfoIndex" },
6335 { 4, "ciAndLAC" },
6336 { 0, NULL }
6339 static const per_choice_t ReferenceIdentityType_choice[] = {
6340 { 0, &hf_rrlp_bsicAndCarrier , ASN1_NO_EXTENSIONS , dissect_rrlp_BSICAndCarrier },
6341 { 1, &hf_rrlp_ci , ASN1_NO_EXTENSIONS , dissect_rrlp_CellID },
6342 { 2, &hf_rrlp_requestIndex , ASN1_NO_EXTENSIONS , dissect_rrlp_RequestIndex },
6343 { 3, &hf_rrlp_systemInfoIndex, ASN1_NO_EXTENSIONS , dissect_rrlp_SystemInfoIndex },
6344 { 4, &hf_rrlp_ciAndLAC , ASN1_NO_EXTENSIONS , dissect_rrlp_CellIDAndLAC },
6345 { 0, NULL, 0, NULL }
6348 static int
6349 dissect_rrlp_ReferenceIdentityType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6350 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6351 ett_rrlp_ReferenceIdentityType, ReferenceIdentityType_choice,
6352 NULL);
6354 return offset;
6358 static const per_sequence_t SeqOfReferenceIdentityType_sequence_of[1] = {
6359 { &hf_rrlp_SeqOfReferenceIdentityType_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_ReferenceIdentityType },
6362 static int
6363 dissect_rrlp_SeqOfReferenceIdentityType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6364 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6365 ett_rrlp_SeqOfReferenceIdentityType, SeqOfReferenceIdentityType_sequence_of,
6366 1, 3, false);
6368 return offset;
6372 static const per_sequence_t ReferenceIdentity_sequence[] = {
6373 { &hf_rrlp_refBTSList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfReferenceIdentityType },
6374 { NULL, 0, 0, NULL }
6377 static int
6378 dissect_rrlp_ReferenceIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6379 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6380 ett_rrlp_ReferenceIdentity, ReferenceIdentity_sequence);
6382 return offset;
6387 static int
6388 dissect_rrlp_INTEGER_0_42431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6389 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6390 0U, 42431U, NULL, false);
6392 return offset;
6397 static int
6398 dissect_rrlp_ModuloTimeSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6399 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6400 0U, 3U, NULL, false);
6402 return offset;
6407 static int
6408 dissect_rrlp_RefQuality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6409 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6410 0U, 31U, NULL, false);
6412 return offset;
6417 static int
6418 dissect_rrlp_NumOfMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6419 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6420 0U, 7U, NULL, false);
6422 return offset;
6426 static const per_sequence_t TOA_MeasurementsOfRef_sequence[] = {
6427 { &hf_rrlp_refQuality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_RefQuality },
6428 { &hf_rrlp_numOfMeasurements, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_NumOfMeasurements },
6429 { NULL, 0, 0, NULL }
6432 static int
6433 dissect_rrlp_TOA_MeasurementsOfRef(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6434 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6435 ett_rrlp_TOA_MeasurementsOfRef, TOA_MeasurementsOfRef_sequence);
6437 return offset;
6442 static int
6443 dissect_rrlp_StdResolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6444 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6445 0U, 3U, NULL, false);
6447 return offset;
6452 static int
6453 dissect_rrlp_INTEGER_0_960(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6454 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6455 0U, 960U, NULL, false);
6457 return offset;
6461 static const per_sequence_t MultiFrameCarrier_sequence[] = {
6462 { &hf_rrlp_bcchCarrier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BCCHCarrier },
6463 { &hf_rrlp_multiFrameOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_MultiFrameOffset },
6464 { NULL, 0, 0, NULL }
6467 static int
6468 dissect_rrlp_MultiFrameCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6469 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6470 ett_rrlp_MultiFrameCarrier, MultiFrameCarrier_sequence);
6472 return offset;
6476 static const value_string rrlp_NeighborIdentity_vals[] = {
6477 { 0, "bsicAndCarrier" },
6478 { 1, "ci" },
6479 { 2, "multiFrameCarrier" },
6480 { 3, "requestIndex" },
6481 { 4, "systemInfoIndex" },
6482 { 5, "ciAndLAC" },
6483 { 0, NULL }
6486 static const per_choice_t NeighborIdentity_choice[] = {
6487 { 0, &hf_rrlp_bsicAndCarrier , ASN1_NO_EXTENSIONS , dissect_rrlp_BSICAndCarrier },
6488 { 1, &hf_rrlp_ci , ASN1_NO_EXTENSIONS , dissect_rrlp_CellID },
6489 { 2, &hf_rrlp_multiFrameCarrier, ASN1_NO_EXTENSIONS , dissect_rrlp_MultiFrameCarrier },
6490 { 3, &hf_rrlp_requestIndex , ASN1_NO_EXTENSIONS , dissect_rrlp_RequestIndex },
6491 { 4, &hf_rrlp_systemInfoIndex, ASN1_NO_EXTENSIONS , dissect_rrlp_SystemInfoIndex },
6492 { 5, &hf_rrlp_ciAndLAC , ASN1_NO_EXTENSIONS , dissect_rrlp_CellIDAndLAC },
6493 { 0, NULL, 0, NULL }
6496 static int
6497 dissect_rrlp_NeighborIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6498 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6499 ett_rrlp_NeighborIdentity, NeighborIdentity_choice,
6500 NULL);
6502 return offset;
6506 static const per_sequence_t EOTDQuality_sequence[] = {
6507 { &hf_rrlp_nbrOfMeasurements, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
6508 { &hf_rrlp_stdOfEOTD , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
6509 { NULL, 0, 0, NULL }
6512 static int
6513 dissect_rrlp_EOTDQuality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6514 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6515 ett_rrlp_EOTDQuality, EOTDQuality_sequence);
6517 return offset;
6522 static int
6523 dissect_rrlp_OTDValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6524 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6525 0U, 39999U, NULL, false);
6527 return offset;
6531 static const per_sequence_t OTD_MeasurementWithID_sequence[] = {
6532 { &hf_rrlp_neighborIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_NeighborIdentity },
6533 { &hf_rrlp_nborTimeSlot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_ModuloTimeSlot },
6534 { &hf_rrlp_eotdQuality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_EOTDQuality },
6535 { &hf_rrlp_otdValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OTDValue },
6536 { NULL, 0, 0, NULL }
6539 static int
6540 dissect_rrlp_OTD_MeasurementWithID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6541 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6542 ett_rrlp_OTD_MeasurementWithID, OTD_MeasurementWithID_sequence);
6544 return offset;
6549 static int
6550 dissect_rrlp_OTD_FirstSetMsrs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6551 offset = dissect_rrlp_OTD_MeasurementWithID(tvb, offset, actx, tree, hf_index);
6553 return offset;
6557 static const per_sequence_t SeqOfOTD_FirstSetMsrs_sequence_of[1] = {
6558 { &hf_rrlp_SeqOfOTD_FirstSetMsrs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OTD_FirstSetMsrs },
6561 static int
6562 dissect_rrlp_SeqOfOTD_FirstSetMsrs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6563 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6564 ett_rrlp_SeqOfOTD_FirstSetMsrs, SeqOfOTD_FirstSetMsrs_sequence_of,
6565 1, 10, false);
6567 return offset;
6571 static const per_sequence_t OTD_MsrElementFirst_sequence[] = {
6572 { &hf_rrlp_refFrameNumber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_42431 },
6573 { &hf_rrlp_referenceTimeSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_ModuloTimeSlot },
6574 { &hf_rrlp_toaMeasurementsOfRef, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_TOA_MeasurementsOfRef },
6575 { &hf_rrlp_stdResolution , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_StdResolution },
6576 { &hf_rrlp_taCorrection , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_960 },
6577 { &hf_rrlp_otd_FirstSetMsrs, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_SeqOfOTD_FirstSetMsrs },
6578 { NULL, 0, 0, NULL }
6581 static int
6582 dissect_rrlp_OTD_MsrElementFirst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6583 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6584 ett_rrlp_OTD_MsrElementFirst, OTD_MsrElementFirst_sequence);
6586 return offset;
6590 static const per_sequence_t OTD_Measurement_sequence[] = {
6591 { &hf_rrlp_nborTimeSlot , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_ModuloTimeSlot },
6592 { &hf_rrlp_eotdQuality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_EOTDQuality },
6593 { &hf_rrlp_otdValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OTDValue },
6594 { NULL, 0, 0, NULL }
6597 static int
6598 dissect_rrlp_OTD_Measurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6599 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6600 ett_rrlp_OTD_Measurement, OTD_Measurement_sequence);
6602 return offset;
6606 static const value_string rrlp_OTD_MsrsOfOtherSets_vals[] = {
6607 { 0, "identityNotPresent" },
6608 { 1, "identityPresent" },
6609 { 0, NULL }
6612 static const per_choice_t OTD_MsrsOfOtherSets_choice[] = {
6613 { 0, &hf_rrlp_identityNotPresent, ASN1_NO_EXTENSIONS , dissect_rrlp_OTD_Measurement },
6614 { 1, &hf_rrlp_identityPresent, ASN1_NO_EXTENSIONS , dissect_rrlp_OTD_MeasurementWithID },
6615 { 0, NULL, 0, NULL }
6618 static int
6619 dissect_rrlp_OTD_MsrsOfOtherSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6620 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6621 ett_rrlp_OTD_MsrsOfOtherSets, OTD_MsrsOfOtherSets_choice,
6622 NULL);
6624 return offset;
6628 static const per_sequence_t SeqOfOTD_MsrsOfOtherSets_sequence_of[1] = {
6629 { &hf_rrlp_SeqOfOTD_MsrsOfOtherSets_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OTD_MsrsOfOtherSets },
6632 static int
6633 dissect_rrlp_SeqOfOTD_MsrsOfOtherSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6634 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6635 ett_rrlp_SeqOfOTD_MsrsOfOtherSets, SeqOfOTD_MsrsOfOtherSets_sequence_of,
6636 1, 10, false);
6638 return offset;
6642 static const per_sequence_t OTD_MsrElementRest_sequence[] = {
6643 { &hf_rrlp_refFrameNumber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_42431 },
6644 { &hf_rrlp_referenceTimeSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_ModuloTimeSlot },
6645 { &hf_rrlp_toaMeasurementsOfRef, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_TOA_MeasurementsOfRef },
6646 { &hf_rrlp_stdResolution , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_StdResolution },
6647 { &hf_rrlp_taCorrection , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_960 },
6648 { &hf_rrlp_otd_MsrsOfOtherSets, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_SeqOfOTD_MsrsOfOtherSets },
6649 { NULL, 0, 0, NULL }
6652 static int
6653 dissect_rrlp_OTD_MsrElementRest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6654 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6655 ett_rrlp_OTD_MsrElementRest, OTD_MsrElementRest_sequence);
6657 return offset;
6661 static const per_sequence_t SeqOfOTD_MsrElementRest_sequence_of[1] = {
6662 { &hf_rrlp_SeqOfOTD_MsrElementRest_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OTD_MsrElementRest },
6665 static int
6666 dissect_rrlp_SeqOfOTD_MsrElementRest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6667 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6668 ett_rrlp_SeqOfOTD_MsrElementRest, SeqOfOTD_MsrElementRest_sequence_of,
6669 1, 2, false);
6671 return offset;
6675 static const per_sequence_t OTD_MeasureInfo_sequence[] = {
6676 { &hf_rrlp_otdMsrFirstSets, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OTD_MsrElementFirst },
6677 { &hf_rrlp_otdMsrRestSets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_SeqOfOTD_MsrElementRest },
6678 { NULL, 0, 0, NULL }
6681 static int
6682 dissect_rrlp_OTD_MeasureInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6683 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6684 ett_rrlp_OTD_MeasureInfo, OTD_MeasureInfo_sequence);
6686 return offset;
6691 static int
6692 dissect_rrlp_INTEGER_0_14399999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6693 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6694 0U, 14399999U, NULL, false);
6696 return offset;
6700 static const value_string rrlp_FixType_vals[] = {
6701 { 0, "twoDFix" },
6702 { 1, "threeDFix" },
6703 { 0, NULL }
6707 static int
6708 dissect_rrlp_FixType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6709 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6710 0U, 1U, NULL, false);
6712 return offset;
6716 static const per_sequence_t LocationInfo_sequence[] = {
6717 { &hf_rrlp_refFrame , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
6718 { &hf_rrlp_gpsTOW , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_14399999 },
6719 { &hf_rrlp_fixType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_FixType },
6720 { &hf_rrlp_posEstimate , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_Ext_GeographicalInformation },
6721 { NULL, 0, 0, NULL }
6724 static int
6725 dissect_rrlp_LocationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6726 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6727 ett_rrlp_LocationInfo, LocationInfo_sequence);
6729 return offset;
6734 static int
6735 dissect_rrlp_GPSTOW24b(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6736 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6737 0U, 14399999U, NULL, false);
6739 return offset;
6744 static int
6745 dissect_rrlp_INTEGER_0_1024(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6746 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6747 0U, 1024U, NULL, false);
6749 return offset;
6753 static const value_string rrlp_MpathIndic_vals[] = {
6754 { 0, "notMeasured" },
6755 { 1, "low" },
6756 { 2, "medium" },
6757 { 3, "high" },
6758 { 0, NULL }
6762 static int
6763 dissect_rrlp_MpathIndic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6764 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6765 4, NULL, false, 0, NULL);
6767 return offset;
6771 static const per_sequence_t GPS_MsrElement_sequence[] = {
6772 { &hf_rrlp_satelliteID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
6773 { &hf_rrlp_cNo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
6774 { &hf_rrlp_doppler , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
6775 { &hf_rrlp_wholeChips , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1022 },
6776 { &hf_rrlp_fracChips , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1024 },
6777 { &hf_rrlp_mpathIndic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_MpathIndic },
6778 { &hf_rrlp_pseuRangeRMSErr, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
6779 { NULL, 0, 0, NULL }
6782 static int
6783 dissect_rrlp_GPS_MsrElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6784 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6785 ett_rrlp_GPS_MsrElement, GPS_MsrElement_sequence);
6787 return offset;
6791 static const per_sequence_t SeqOfGPS_MsrElement_sequence_of[1] = {
6792 { &hf_rrlp_SeqOfGPS_MsrElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GPS_MsrElement },
6795 static int
6796 dissect_rrlp_SeqOfGPS_MsrElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6797 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6798 ett_rrlp_SeqOfGPS_MsrElement, SeqOfGPS_MsrElement_sequence_of,
6799 1, 16, false);
6801 return offset;
6805 static const per_sequence_t GPS_MsrSetElement_sequence[] = {
6806 { &hf_rrlp_refFrame , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_65535 },
6807 { &hf_rrlp_gpsTOW_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSTOW24b },
6808 { &hf_rrlp_gps_msrList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGPS_MsrElement },
6809 { NULL, 0, 0, NULL }
6812 static int
6813 dissect_rrlp_GPS_MsrSetElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6814 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6815 ett_rrlp_GPS_MsrSetElement, GPS_MsrSetElement_sequence);
6817 return offset;
6821 static const per_sequence_t SeqOfGPS_MsrSetElement_sequence_of[1] = {
6822 { &hf_rrlp_SeqOfGPS_MsrSetElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GPS_MsrSetElement },
6825 static int
6826 dissect_rrlp_SeqOfGPS_MsrSetElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6827 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6828 ett_rrlp_SeqOfGPS_MsrSetElement, SeqOfGPS_MsrSetElement_sequence_of,
6829 1, 3, false);
6831 return offset;
6835 static const per_sequence_t GPS_MeasureInfo_sequence[] = {
6836 { &hf_rrlp_gpsMsrSetList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGPS_MsrSetElement },
6837 { NULL, 0, 0, NULL }
6840 static int
6841 dissect_rrlp_GPS_MeasureInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6842 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6843 ett_rrlp_GPS_MeasureInfo, GPS_MeasureInfo_sequence);
6845 return offset;
6849 static const value_string rrlp_LocErrorReason_vals[] = {
6850 { 0, "unDefined" },
6851 { 1, "notEnoughBTSs" },
6852 { 2, "notEnoughSats" },
6853 { 3, "eotdLocCalAssDataMissing" },
6854 { 4, "eotdAssDataMissing" },
6855 { 5, "gpsLocCalAssDataMissing" },
6856 { 6, "gpsAssDataMissing" },
6857 { 7, "methodNotSupported" },
6858 { 8, "notProcessed" },
6859 { 9, "refBTSForGPSNotServingBTS" },
6860 { 10, "refBTSForEOTDNotServingBTS" },
6861 { 11, "notEnoughGANSSSats" },
6862 { 12, "ganssAssDataMissing" },
6863 { 13, "refBTSForGANSSNotServingBTS" },
6864 { 0, NULL }
6868 static int
6869 dissect_rrlp_LocErrorReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6870 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6871 11, NULL, true, 3, NULL);
6873 return offset;
6878 static int
6879 dissect_rrlp_GPSAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6880 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6881 1, maxGPSAssistanceData, false, NULL);
6883 return offset;
6888 static int
6889 dissect_rrlp_GANSSAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6890 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6891 1, maxGANSSAssistanceData, false, NULL);
6893 return offset;
6897 static const per_sequence_t AdditionalAssistanceData_sequence[] = {
6898 { &hf_rrlp_gpsAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPSAssistanceData },
6899 { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_ExtensionContainer },
6900 { &hf_rrlp_ganssAssistanceData, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GANSSAssistanceData },
6901 { NULL, 0, 0, NULL }
6904 static int
6905 dissect_rrlp_AdditionalAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6906 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6907 ett_rrlp_AdditionalAssistanceData, AdditionalAssistanceData_sequence);
6909 return offset;
6913 static const per_sequence_t LocationError_sequence[] = {
6914 { &hf_rrlp_locErrorReason , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_LocErrorReason },
6915 { &hf_rrlp_additionalAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_AdditionalAssistanceData },
6916 { NULL, 0, 0, NULL }
6919 static int
6920 dissect_rrlp_LocationError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6921 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6922 ett_rrlp_LocationError, LocationError_sequence);
6924 return offset;
6928 static const per_sequence_t SeqOfOTD_FirstSetMsrs_R98_Ext_sequence_of[1] = {
6929 { &hf_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OTD_FirstSetMsrs },
6932 static int
6933 dissect_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6934 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6935 ett_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext, SeqOfOTD_FirstSetMsrs_R98_Ext_sequence_of,
6936 1, 5, false);
6938 return offset;
6942 static const per_sequence_t OTD_MsrElementFirst_R98_Ext_sequence[] = {
6943 { &hf_rrlp_otd_FirstSetMsrs_R98_Ext, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext },
6944 { NULL, 0, 0, NULL }
6947 static int
6948 dissect_rrlp_OTD_MsrElementFirst_R98_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6949 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6950 ett_rrlp_OTD_MsrElementFirst_R98_Ext, OTD_MsrElementFirst_R98_Ext_sequence);
6952 return offset;
6956 static const per_sequence_t OTD_MeasureInfo_R98_Ext_sequence[] = {
6957 { &hf_rrlp_otdMsrFirstSets_R98_Ext, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OTD_MsrElementFirst_R98_Ext },
6958 { NULL, 0, 0, NULL }
6961 static int
6962 dissect_rrlp_OTD_MeasureInfo_R98_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6963 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6964 ett_rrlp_OTD_MeasureInfo_R98_Ext, OTD_MeasureInfo_R98_Ext_sequence);
6966 return offset;
6970 static const per_sequence_t T_rel_98_Ext_MeasureInfo_sequence[] = {
6971 { &hf_rrlp_otd_MeasureInfo_R98_Ext, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_OTD_MeasureInfo_R98_Ext },
6972 { NULL, 0, 0, NULL }
6975 static int
6976 dissect_rrlp_T_rel_98_Ext_MeasureInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6977 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6978 ett_rrlp_T_rel_98_Ext_MeasureInfo, T_rel_98_Ext_MeasureInfo_sequence);
6980 return offset;
6985 static int
6986 dissect_rrlp_INTEGER_0_9999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6987 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6988 0U, 9999U, NULL, false);
6990 return offset;
6994 static const per_sequence_t GPSTimeAssistanceMeasurements_sequence[] = {
6995 { &hf_rrlp_referenceFrameMSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_63 },
6996 { &hf_rrlp_gpsTowSubms , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_9999 },
6997 { &hf_rrlp_deltaTow , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_127 },
6998 { &hf_rrlp_gpsReferenceTimeUncertainty, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_GPSReferenceTimeUncertainty },
6999 { NULL, 0, 0, NULL }
7002 static int
7003 dissect_rrlp_GPSTimeAssistanceMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7004 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7005 ett_rrlp_GPSTimeAssistanceMeasurements, GPSTimeAssistanceMeasurements_sequence);
7007 return offset;
7011 static const per_sequence_t Rel_98_MsrPosition_Rsp_Extension_sequence[] = {
7012 { &hf_rrlp_rel_98_Ext_MeasureInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_T_rel_98_Ext_MeasureInfo },
7013 { &hf_rrlp_timeAssistanceMeasurements, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GPSTimeAssistanceMeasurements },
7014 { NULL, 0, 0, NULL }
7017 static int
7018 dissect_rrlp_Rel_98_MsrPosition_Rsp_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7019 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7020 ett_rrlp_Rel_98_MsrPosition_Rsp_Extension, Rel_98_MsrPosition_Rsp_Extension_sequence);
7022 return offset;
7027 static int
7028 dissect_rrlp_OTD_MeasureInfo_5_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7029 offset = dissect_rrlp_SeqOfOTD_MsrElementRest(tvb, offset, actx, tree, hf_index);
7031 return offset;
7035 static const value_string rrlp_UlPseudoSegInd_vals[] = {
7036 { 0, "firstOfMany" },
7037 { 1, "secondOfMany" },
7038 { 0, NULL }
7042 static int
7043 dissect_rrlp_UlPseudoSegInd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7044 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7045 2, NULL, false, 0, NULL);
7047 return offset;
7051 static const per_sequence_t Rel_5_MsrPosition_Rsp_Extension_sequence[] = {
7052 { &hf_rrlp_extended_reference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_Extended_reference },
7053 { &hf_rrlp_otd_MeasureInfo_5_Ext, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_OTD_MeasureInfo_5_Ext },
7054 { &hf_rrlp_ulPseudoSegInd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_UlPseudoSegInd },
7055 { NULL, 0, 0, NULL }
7058 static int
7059 dissect_rrlp_Rel_5_MsrPosition_Rsp_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7060 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7061 ett_rrlp_Rel_5_MsrPosition_Rsp_Extension, Rel_5_MsrPosition_Rsp_Extension_sequence);
7063 return offset;
7067 static const per_sequence_t ReferenceFrame_sequence[] = {
7068 { &hf_rrlp_referenceFN , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
7069 { &hf_rrlp_referenceFNMSB , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_63 },
7070 { NULL, 0, 0, NULL }
7073 static int
7074 dissect_rrlp_ReferenceFrame(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7075 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7076 ett_rrlp_ReferenceFrame, ReferenceFrame_sequence);
7078 return offset;
7083 static int
7084 dissect_rrlp_GANSSTODm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7085 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7086 0U, 3599999U, NULL, false);
7088 return offset;
7093 static int
7094 dissect_rrlp_INTEGER_0_16384(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7095 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7096 0U, 16384U, NULL, false);
7098 return offset;
7102 static int * const PositionData_bits[] = {
7103 &hf_rrlp_PositionData_e_otd,
7104 &hf_rrlp_PositionData_gps,
7105 &hf_rrlp_PositionData_galileo,
7106 &hf_rrlp_PositionData_sbas,
7107 &hf_rrlp_PositionData_modernizedGPS,
7108 &hf_rrlp_PositionData_qzss,
7109 &hf_rrlp_PositionData_glonass,
7110 &hf_rrlp_PositionData_bds,
7111 NULL
7114 static int
7115 dissect_rrlp_PositionData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7116 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7117 3, 16, false, PositionData_bits, 8, NULL, NULL);
7119 return offset;
7123 static const per_sequence_t GANSSLocationInfo_sequence[] = {
7124 { &hf_rrlp_referenceFrame , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_ReferenceFrame },
7125 { &hf_rrlp_ganssTODm , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSTODm },
7126 { &hf_rrlp_ganssTODFrac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_16384 },
7127 { &hf_rrlp_ganssTODUncertainty, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSTODUncertainty },
7128 { &hf_rrlp_ganssTimeID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_7 },
7129 { &hf_rrlp_fixType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_FixType },
7130 { &hf_rrlp_posData , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_PositionData },
7131 { &hf_rrlp_stationaryIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_1 },
7132 { &hf_rrlp_posEstimate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_Ext_GeographicalInformation },
7133 { NULL, 0, 0, NULL }
7136 static int
7137 dissect_rrlp_GANSSLocationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7138 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7139 ett_rrlp_GANSSLocationInfo, GANSSLocationInfo_sequence);
7141 return offset;
7146 static int
7147 dissect_rrlp_INTEGER_0_33554431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7148 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7149 0U, 33554431U, NULL, false);
7151 return offset;
7155 static const per_sequence_t GANSS_SgnElement_sequence[] = {
7156 { &hf_rrlp_svID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
7157 { &hf_rrlp_cNo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
7158 { &hf_rrlp_mpathDet , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_MpathIndic },
7159 { &hf_rrlp_carrierQualityInd, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_3 },
7160 { &hf_rrlp_codePhase_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2097151 },
7161 { &hf_rrlp_integerCodePhase, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_127 },
7162 { &hf_rrlp_codePhaseRMSError, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
7163 { &hf_rrlp_doppler , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_M32768_32767 },
7164 { &hf_rrlp_adr , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_33554431 },
7165 { NULL, 0, 0, NULL }
7168 static int
7169 dissect_rrlp_GANSS_SgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7170 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7171 ett_rrlp_GANSS_SgnElement, GANSS_SgnElement_sequence);
7173 return offset;
7177 static const per_sequence_t SeqOfGANSS_SgnElement_sequence_of[1] = {
7178 { &hf_rrlp_SeqOfGANSS_SgnElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_SgnElement },
7181 static int
7182 dissect_rrlp_SeqOfGANSS_SgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7183 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7184 ett_rrlp_SeqOfGANSS_SgnElement, SeqOfGANSS_SgnElement_sequence_of,
7185 1, 16, false);
7187 return offset;
7191 static const per_sequence_t GANSS_SgnTypeElement_sequence[] = {
7192 { &hf_rrlp_ganssSignalID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignalID },
7193 { &hf_rrlp_ganssCodePhaseAmbiguity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_127 },
7194 { &hf_rrlp_ganss_SgnList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSS_SgnElement },
7195 { NULL, 0, 0, NULL }
7198 static int
7199 dissect_rrlp_GANSS_SgnTypeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7200 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7201 ett_rrlp_GANSS_SgnTypeElement, GANSS_SgnTypeElement_sequence);
7203 return offset;
7207 static const per_sequence_t SeqOfGANSS_SgnTypeElement_sequence_of[1] = {
7208 { &hf_rrlp_SeqOfGANSS_SgnTypeElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_SgnTypeElement },
7211 static int
7212 dissect_rrlp_SeqOfGANSS_SgnTypeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7213 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7214 ett_rrlp_SeqOfGANSS_SgnTypeElement, SeqOfGANSS_SgnTypeElement_sequence_of,
7215 1, 8, false);
7217 return offset;
7221 static const per_sequence_t GANSS_MsrElement_sequence[] = {
7222 { &hf_rrlp_ganssID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_7 },
7223 { &hf_rrlp_ganss_SgnTypeList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSS_SgnTypeElement },
7224 { NULL, 0, 0, NULL }
7227 static int
7228 dissect_rrlp_GANSS_MsrElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7229 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7230 ett_rrlp_GANSS_MsrElement, GANSS_MsrElement_sequence);
7232 return offset;
7236 static const per_sequence_t SeqOfGANSS_MsrElement_sequence_of[1] = {
7237 { &hf_rrlp_SeqOfGANSS_MsrElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_MsrElement },
7240 static int
7241 dissect_rrlp_SeqOfGANSS_MsrElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7242 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7243 ett_rrlp_SeqOfGANSS_MsrElement, SeqOfGANSS_MsrElement_sequence_of,
7244 1, 8, false);
7246 return offset;
7250 static const per_sequence_t GANSS_MsrSetElement_sequence[] = {
7251 { &hf_rrlp_referenceFrame , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_ReferenceFrame },
7252 { &hf_rrlp_ganssTODm , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_GANSSTODm },
7253 { &hf_rrlp_deltaGANSSTOD , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_127 },
7254 { &hf_rrlp_ganssTODUncertainty, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_GANSSTODUncertainty },
7255 { &hf_rrlp_ganss_MsrElementList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSS_MsrElement },
7256 { NULL, 0, 0, NULL }
7259 static int
7260 dissect_rrlp_GANSS_MsrSetElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7261 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7262 ett_rrlp_GANSS_MsrSetElement, GANSS_MsrSetElement_sequence);
7264 return offset;
7268 static const per_sequence_t SeqOfGANSS_MsrSetElement_sequence_of[1] = {
7269 { &hf_rrlp_SeqOfGANSS_MsrSetElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_MsrSetElement },
7272 static int
7273 dissect_rrlp_SeqOfGANSS_MsrSetElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7274 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7275 ett_rrlp_SeqOfGANSS_MsrSetElement, SeqOfGANSS_MsrSetElement_sequence_of,
7276 1, 3, false);
7278 return offset;
7282 static const per_sequence_t GANSSMeasureInfo_sequence[] = {
7283 { &hf_rrlp_ganssMsrSetList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSS_MsrSetElement },
7284 { NULL, 0, 0, NULL }
7287 static int
7288 dissect_rrlp_GANSSMeasureInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7289 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7290 ett_rrlp_GANSSMeasureInfo, GANSSMeasureInfo_sequence);
7292 return offset;
7296 static const per_sequence_t Rel_7_MsrPosition_Rsp_Extension_sequence[] = {
7297 { &hf_rrlp_velEstimate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_VelocityEstimate },
7298 { &hf_rrlp_ganssLocationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSLocationInfo },
7299 { &hf_rrlp_ganssMeasureInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSMeasureInfo },
7300 { NULL, 0, 0, NULL }
7303 static int
7304 dissect_rrlp_Rel_7_MsrPosition_Rsp_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7305 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7306 ett_rrlp_Rel_7_MsrPosition_Rsp_Extension, Rel_7_MsrPosition_Rsp_Extension_sequence);
7308 return offset;
7312 static const per_sequence_t MsrPosition_Rsp_sequence[] = {
7313 { &hf_rrlp_multipleSets , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_MultipleSets },
7314 { &hf_rrlp_referenceIdentity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_ReferenceIdentity },
7315 { &hf_rrlp_otd_MeasureInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_OTD_MeasureInfo },
7316 { &hf_rrlp_locationInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_LocationInfo },
7317 { &hf_rrlp_gps_MeasureInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPS_MeasureInfo },
7318 { &hf_rrlp_locationError , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_LocationError },
7319 { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_ExtensionContainer },
7320 { &hf_rrlp_rel_98_MsrPosition_Rsp_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_Rel_98_MsrPosition_Rsp_Extension },
7321 { &hf_rrlp_rel_5_MsrPosition_Rsp_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_Rel_5_MsrPosition_Rsp_Extension },
7322 { &hf_rrlp_rel_7_MsrPosition_Rsp_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_Rel_7_MsrPosition_Rsp_Extension },
7323 { NULL, 0, 0, NULL }
7326 static int
7327 dissect_rrlp_MsrPosition_Rsp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7328 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7329 ett_rrlp_MsrPosition_Rsp, MsrPosition_Rsp_sequence);
7331 return offset;
7335 static const value_string rrlp_MoreAssDataToBeSent_vals[] = {
7336 { 0, "noMoreMessages" },
7337 { 1, "moreMessagesOnTheWay" },
7338 { 0, NULL }
7342 static int
7343 dissect_rrlp_MoreAssDataToBeSent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7344 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7345 2, NULL, false, 0, NULL);
7347 return offset;
7351 static const per_sequence_t Rel98_AssistanceData_Extension_sequence[] = {
7352 { &hf_rrlp_rel98_Ext_ExpOTD, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_Rel98_Ext_ExpOTD },
7353 { &hf_rrlp_gpsTimeAssistanceMeasurementRequest, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_NULL },
7354 { &hf_rrlp_gpsReferenceTimeUncertainty, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GPSReferenceTimeUncertainty },
7355 { NULL, 0, 0, NULL }
7358 static int
7359 dissect_rrlp_Rel98_AssistanceData_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7360 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7361 ett_rrlp_Rel98_AssistanceData_Extension, Rel98_AssistanceData_Extension_sequence);
7363 return offset;
7367 static const per_sequence_t Rel5_AssistanceData_Extension_sequence[] = {
7368 { &hf_rrlp_extended_reference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_Extended_reference },
7369 { NULL, 0, 0, NULL }
7372 static int
7373 dissect_rrlp_Rel5_AssistanceData_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7374 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7375 ett_rrlp_Rel5_AssistanceData_Extension, Rel5_AssistanceData_Extension_sequence);
7377 return offset;
7381 static const per_sequence_t Rel7_AssistanceData_Extension_sequence[] = {
7382 { &hf_rrlp_ganss_AssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSS_AssistData },
7383 { &hf_rrlp_ganssCarrierPhaseMeasurementRequest, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_NULL },
7384 { &hf_rrlp_ganssTODGSMTimeAssociationMeasurementRequest, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_NULL },
7385 { &hf_rrlp_add_GPS_AssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_Add_GPS_AssistData },
7386 { NULL, 0, 0, NULL }
7389 static int
7390 dissect_rrlp_Rel7_AssistanceData_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7391 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7392 ett_rrlp_Rel7_AssistanceData_Extension, Rel7_AssistanceData_Extension_sequence);
7394 return offset;
7398 static const per_sequence_t AssistanceData_sequence[] = {
7399 { &hf_rrlp_referenceAssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_ReferenceAssistData },
7400 { &hf_rrlp_msrAssistData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_MsrAssistData },
7401 { &hf_rrlp_systemInfoAssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_SystemInfoAssistData },
7402 { &hf_rrlp_gps_AssistData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPS_AssistData },
7403 { &hf_rrlp_moreAssDataToBeSent, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_MoreAssDataToBeSent },
7404 { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_ExtensionContainer },
7405 { &hf_rrlp_rel98_AssistanceData_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_Rel98_AssistanceData_Extension },
7406 { &hf_rrlp_rel5_AssistanceData_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_Rel5_AssistanceData_Extension },
7407 { &hf_rrlp_rel7_AssistanceData_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_Rel7_AssistanceData_Extension },
7408 { NULL, 0, 0, NULL }
7411 static int
7412 dissect_rrlp_AssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7413 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7414 ett_rrlp_AssistanceData, AssistanceData_sequence);
7416 return offset;
7420 static const value_string rrlp_ErrorCodes_vals[] = {
7421 { 0, "unDefined" },
7422 { 1, "missingComponet" },
7423 { 2, "incorrectData" },
7424 { 3, "missingIEorComponentElement" },
7425 { 4, "messageTooShort" },
7426 { 5, "unknowReferenceNumber" },
7427 { 0, NULL }
7431 static int
7432 dissect_rrlp_ErrorCodes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7433 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7434 6, NULL, true, 0, NULL);
7436 return offset;
7440 static const per_sequence_t Rel_5_ProtocolError_Extension_sequence[] = {
7441 { &hf_rrlp_extended_reference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_Extended_reference },
7442 { NULL, 0, 0, NULL }
7445 static int
7446 dissect_rrlp_Rel_5_ProtocolError_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7447 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7448 ett_rrlp_Rel_5_ProtocolError_Extension, Rel_5_ProtocolError_Extension_sequence);
7450 return offset;
7454 static const per_sequence_t ProtocolError_sequence[] = {
7455 { &hf_rrlp_errorCause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_ErrorCodes },
7456 { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_ExtensionContainer },
7457 { &hf_rrlp_rel_5_ProtocolError_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_Rel_5_ProtocolError_Extension },
7458 { NULL, 0, 0, NULL }
7461 static int
7462 dissect_rrlp_ProtocolError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7463 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7464 ett_rrlp_ProtocolError, ProtocolError_sequence);
7466 return offset;
7470 static int * const GANSSPositioningMethodTypes_bits[] = {
7471 &hf_rrlp_GANSSPositioningMethodTypes_msAssisted,
7472 &hf_rrlp_GANSSPositioningMethodTypes_msBased,
7473 &hf_rrlp_GANSSPositioningMethodTypes_standalone,
7474 NULL
7477 static int
7478 dissect_rrlp_GANSSPositioningMethodTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7479 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7480 1, 8, false, GANSSPositioningMethodTypes_bits, 3, NULL, NULL);
7482 return offset;
7486 static int * const SBASID_bits[] = {
7487 &hf_rrlp_SBASID_waas,
7488 &hf_rrlp_SBASID_egnos,
7489 &hf_rrlp_SBASID_masas,
7490 &hf_rrlp_SBASID_gagan,
7491 NULL
7494 static int
7495 dissect_rrlp_SBASID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7496 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7497 1, 8, false, SBASID_bits, 4, NULL, NULL);
7499 return offset;
7503 static const per_sequence_t GANSSPositionMethod_sequence[] = {
7504 { &hf_rrlp_ganssID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_7 },
7505 { &hf_rrlp_gANSSPositioningMethodTypes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSPositioningMethodTypes },
7506 { &hf_rrlp_gANSSSignals , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignals },
7507 { &hf_rrlp_sbasID , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_SBASID },
7508 { NULL, 0, 0, NULL }
7511 static int
7512 dissect_rrlp_GANSSPositionMethod(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_rrlp_GANSSPositionMethod, GANSSPositionMethod_sequence);
7516 return offset;
7520 static const per_sequence_t GANSSPositionMethods_sequence_of[1] = {
7521 { &hf_rrlp_GANSSPositionMethods_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSPositionMethod },
7524 static int
7525 dissect_rrlp_GANSSPositionMethods(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7526 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7527 ett_rrlp_GANSSPositionMethods, GANSSPositionMethods_sequence_of,
7528 1, 16, false);
7530 return offset;
7534 static const per_sequence_t PosCapability_Req_sequence[] = {
7535 { &hf_rrlp_extended_reference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_Extended_reference },
7536 { &hf_rrlp_gANSSPositionMethods, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSPositionMethods },
7537 { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_ExtensionContainer },
7538 { NULL, 0, 0, NULL }
7541 static int
7542 dissect_rrlp_PosCapability_Req(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7543 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7544 ett_rrlp_PosCapability_Req, PosCapability_Req_sequence);
7546 return offset;
7550 static int * const NonGANSSPositionMethods_bits[] = {
7551 &hf_rrlp_NonGANSSPositionMethods_msAssistedEOTD,
7552 &hf_rrlp_NonGANSSPositionMethods_msBasedEOTD,
7553 &hf_rrlp_NonGANSSPositionMethods_msAssistedGPS,
7554 &hf_rrlp_NonGANSSPositionMethods_msBasedGPS,
7555 &hf_rrlp_NonGANSSPositionMethods_standaloneGPS,
7556 NULL
7559 static int
7560 dissect_rrlp_NonGANSSPositionMethods(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7561 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7562 1, 16, false, NonGANSSPositionMethods_bits, 5, NULL, NULL);
7564 return offset;
7568 static int * const MultipleMeasurementSets_bits[] = {
7569 &hf_rrlp_MultipleMeasurementSets_eotd,
7570 &hf_rrlp_MultipleMeasurementSets_gps,
7571 &hf_rrlp_MultipleMeasurementSets_ganss,
7572 NULL
7575 static int
7576 dissect_rrlp_MultipleMeasurementSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7577 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7578 1, 8, false, MultipleMeasurementSets_bits, 3, NULL, NULL);
7580 return offset;
7584 static const per_sequence_t PosCapabilities_sequence[] = {
7585 { &hf_rrlp_nonGANSSpositionMethods, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_NonGANSSPositionMethods },
7586 { &hf_rrlp_gANSSPositionMethods, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSPositionMethods },
7587 { &hf_rrlp_multipleMeasurementSets, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_MultipleMeasurementSets },
7588 { NULL, 0, 0, NULL }
7591 static int
7592 dissect_rrlp_PosCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7593 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7594 ett_rrlp_PosCapabilities, PosCapabilities_sequence);
7596 return offset;
7600 static int * const GPSAssistance_bits[] = {
7601 &hf_rrlp_GPSAssistance_almanac,
7602 &hf_rrlp_GPSAssistance_uTCmodel,
7603 &hf_rrlp_GPSAssistance_ionosphericModel,
7604 &hf_rrlp_GPSAssistance_navigationmodel,
7605 &hf_rrlp_GPSAssistance_dGPScorrections,
7606 &hf_rrlp_GPSAssistance_referenceLocation,
7607 &hf_rrlp_GPSAssistance_referenceTime,
7608 &hf_rrlp_GPSAssistance_acquisitionAssistance,
7609 &hf_rrlp_GPSAssistance_realTimeIntegrity,
7610 &hf_rrlp_GPSAssistance_ephemerisExtension,
7611 &hf_rrlp_GPSAssistance_ephemerisExtensionCheck,
7612 &hf_rrlp_GPSAssistance_gPSAcquisAssist_R12_Ext,
7613 NULL
7616 static int
7617 dissect_rrlp_GPSAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7618 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7619 1, 16, false, GPSAssistance_bits, 12, NULL, NULL);
7621 return offset;
7625 static int * const CommonGANSSAssistance_bits[] = {
7626 &hf_rrlp_CommonGANSSAssistance_referenceTime,
7627 &hf_rrlp_CommonGANSSAssistance_referenceLocation,
7628 &hf_rrlp_CommonGANSSAssistance_spare_bit2,
7629 &hf_rrlp_CommonGANSSAssistance_ionosphericModel,
7630 &hf_rrlp_CommonGANSSAssistance_addIonosphericModel,
7631 &hf_rrlp_CommonGANSSAssistance_earthOrientationParam,
7632 NULL
7635 static int
7636 dissect_rrlp_CommonGANSSAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7637 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7638 1, 8, false, CommonGANSSAssistance_bits, 6, NULL, NULL);
7640 return offset;
7644 static int * const GANSSAssistance_bits[] = {
7645 &hf_rrlp_GANSSAssistance_realTimeIntegrity,
7646 &hf_rrlp_GANSSAssistance_differentialCorrections,
7647 &hf_rrlp_GANSSAssistance_almanac,
7648 &hf_rrlp_GANSSAssistance_referenceMeasurementInformation,
7649 &hf_rrlp_GANSSAssistance_navigationModel,
7650 &hf_rrlp_GANSSAssistance_timeModelGNSS_UTC,
7651 &hf_rrlp_GANSSAssistance_timeModelGNSS_GNSS,
7652 &hf_rrlp_GANSSAssistance_databitassistance,
7653 &hf_rrlp_GANSSAssistance_ephemerisExtension,
7654 &hf_rrlp_GANSSAssistance_ephemerisExtensionCheck,
7655 &hf_rrlp_GANSSAssistance_addUTCmodel,
7656 &hf_rrlp_GANSSAssistance_auxiliaryInformation,
7657 &hf_rrlp_GANSSAssistance_gANSSRefMeasurementAssist_R12_Ext,
7658 &hf_rrlp_GANSSAssistance_bdsDifferentialCorrections_r12,
7659 &hf_rrlp_GANSSAssistance_bdsGridModel_r12,
7660 NULL
7663 static int
7664 dissect_rrlp_GANSSAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7665 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7666 1, 16, false, GANSSAssistance_bits, 15, NULL, NULL);
7668 return offset;
7672 static const per_sequence_t GANSSAssistanceForOneGANSS_sequence[] = {
7673 { &hf_rrlp_ganssID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_7 },
7674 { &hf_rrlp_gANSSAssistance, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSAssistance },
7675 { NULL, 0, 0, NULL }
7678 static int
7679 dissect_rrlp_GANSSAssistanceForOneGANSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7680 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7681 ett_rrlp_GANSSAssistanceForOneGANSS, GANSSAssistanceForOneGANSS_sequence);
7683 return offset;
7687 static const per_sequence_t SpecificGANSSAssistance_sequence_of[1] = {
7688 { &hf_rrlp_SpecificGANSSAssistance_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSAssistanceForOneGANSS },
7691 static int
7692 dissect_rrlp_SpecificGANSSAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7693 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7694 ett_rrlp_SpecificGANSSAssistance, SpecificGANSSAssistance_sequence_of,
7695 1, 16, false);
7697 return offset;
7701 static const per_sequence_t GANSSAssistanceSet_sequence[] = {
7702 { &hf_rrlp_commonGANSSAssistance, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_CommonGANSSAssistance },
7703 { &hf_rrlp_specificGANSSAssistance, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_SpecificGANSSAssistance },
7704 { NULL, 0, 0, NULL }
7707 static int
7708 dissect_rrlp_GANSSAssistanceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7709 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7710 ett_rrlp_GANSSAssistanceSet, GANSSAssistanceSet_sequence);
7712 return offset;
7716 static int * const GANSSModelID_bits[] = {
7717 &hf_rrlp_GANSSModelID_model1,
7718 &hf_rrlp_GANSSModelID_model2,
7719 &hf_rrlp_GANSSModelID_model3,
7720 &hf_rrlp_GANSSModelID_model4,
7721 &hf_rrlp_GANSSModelID_model5,
7722 &hf_rrlp_GANSSModelID_model6,
7723 &hf_rrlp_GANSSModelID_model7,
7724 &hf_rrlp_GANSSModelID_model8,
7725 NULL
7728 static int
7729 dissect_rrlp_GANSSModelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7730 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7731 1, 8, false, GANSSModelID_bits, 8, NULL, NULL);
7733 return offset;
7737 static const per_sequence_t GANSSAdditionalAssistanceChoicesForOneGANSS_sequence[] = {
7738 { &hf_rrlp_ganssID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_7 },
7739 { &hf_rrlp_ganssClockModelChoice, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSModelID },
7740 { &hf_rrlp_gannsOrbitModelChoice, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSModelID },
7741 { &hf_rrlp_ganssAlmanacModelChoice, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSModelID },
7742 { &hf_rrlp_ganssAdditionalUTCModelChoice, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSModelID },
7743 { NULL, 0, 0, NULL }
7746 static int
7747 dissect_rrlp_GANSSAdditionalAssistanceChoicesForOneGANSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7748 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7749 ett_rrlp_GANSSAdditionalAssistanceChoicesForOneGANSS, GANSSAdditionalAssistanceChoicesForOneGANSS_sequence);
7751 return offset;
7755 static const per_sequence_t GANSSAdditionalAssistanceChoices_sequence_of[1] = {
7756 { &hf_rrlp_GANSSAdditionalAssistanceChoices_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSAdditionalAssistanceChoicesForOneGANSS },
7759 static int
7760 dissect_rrlp_GANSSAdditionalAssistanceChoices(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7761 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7762 ett_rrlp_GANSSAdditionalAssistanceChoices, GANSSAdditionalAssistanceChoices_sequence_of,
7763 1, 16, false);
7765 return offset;
7769 static const per_sequence_t AssistanceSupported_sequence[] = {
7770 { &hf_rrlp_gpsAssistance , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPSAssistance },
7771 { &hf_rrlp_gANSSAssistanceSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSAssistanceSet },
7772 { &hf_rrlp_gANSSAdditionalAssistanceChoices, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rrlp_GANSSAdditionalAssistanceChoices },
7773 { NULL, 0, 0, NULL }
7776 static int
7777 dissect_rrlp_AssistanceSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7778 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7779 ett_rrlp_AssistanceSupported, AssistanceSupported_sequence);
7781 return offset;
7785 static const per_sequence_t AssistanceNeeded_sequence[] = {
7786 { &hf_rrlp_gpsAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GPSAssistanceData },
7787 { &hf_rrlp_ganssAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_GANSSAssistanceData },
7788 { NULL, 0, 0, NULL }
7791 static int
7792 dissect_rrlp_AssistanceNeeded(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7793 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7794 ett_rrlp_AssistanceNeeded, AssistanceNeeded_sequence);
7796 return offset;
7800 static const per_sequence_t PosCapability_Rsp_sequence[] = {
7801 { &hf_rrlp_extended_reference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_Extended_reference },
7802 { &hf_rrlp_posCapabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_rrlp_PosCapabilities },
7803 { &hf_rrlp_assistanceSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_AssistanceSupported },
7804 { &hf_rrlp_assistanceNeeded, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_AssistanceNeeded },
7805 { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rrlp_ExtensionContainer },
7806 { NULL, 0, 0, NULL }
7809 static int
7810 dissect_rrlp_PosCapability_Rsp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7811 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7812 ett_rrlp_PosCapability_Rsp, PosCapability_Rsp_sequence);
7814 return offset;
7819 static int
7820 dissect_rrlp_INTEGER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7821 offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
7823 return offset;
7827 static const per_sequence_t CellInfo_sequence[] = {
7828 { &hf_rrlp_bsic_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_511 },
7829 { &hf_rrlp_arfcn , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_1023 },
7830 { NULL, 0, 0, NULL }
7833 static int
7834 dissect_rrlp_CellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7835 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7836 ett_rrlp_CellInfo, CellInfo_sequence);
7838 return offset;
7842 static const per_sequence_t CellSet_sequence[] = {
7843 { &hf_rrlp_cell1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_CellInfo },
7844 { &hf_rrlp_cell2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CellInfo },
7845 { &hf_rrlp_cell3 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CellInfo },
7846 { &hf_rrlp_cell4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CellInfo },
7847 { &hf_rrlp_cell5 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CellInfo },
7848 { &hf_rrlp_cell6 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CellInfo },
7849 { NULL, 0, 0, NULL }
7852 static int
7853 dissect_rrlp_CellSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7854 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7855 ett_rrlp_CellSet, CellSet_sequence);
7857 return offset;
7861 static const per_sequence_t CellSets_sequence[] = {
7862 { &hf_rrlp_cellSet1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_CellSet },
7863 { &hf_rrlp_cellSet2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CellSet },
7864 { &hf_rrlp_cellSet3 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CellSet },
7865 { &hf_rrlp_cellSet4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CellSet },
7866 { &hf_rrlp_cellSet5 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CellSet },
7867 { &hf_rrlp_cellSet6 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CellSet },
7868 { &hf_rrlp_cellSet7 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CellSet },
7869 { &hf_rrlp_cellSet8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_CellSet },
7870 { NULL, 0, 0, NULL }
7873 static int
7874 dissect_rrlp_CellSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7875 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7876 ett_rrlp_CellSets, CellSets_sequence);
7878 return offset;
7882 static const per_sequence_t MultilaterationOTD_Req_sequence[] = {
7883 { &hf_rrlp_targetNumOTDMeasurements, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER },
7884 { &hf_rrlp_requiredDLSyncAccuracy, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER },
7885 { &hf_rrlp_neighbourCellSets, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_CellSets },
7886 { &hf_rrlp_servingCellSet , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_CellSet },
7887 { NULL, 0, 0, NULL }
7890 static int
7891 dissect_rrlp_MultilaterationOTD_Req(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7892 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7893 ett_rrlp_MultilaterationOTD_Req, MultilaterationOTD_Req_sequence);
7895 return offset;
7900 static int
7901 dissect_rrlp_INTEGER_1_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7902 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7903 1U, 48U, NULL, false);
7905 return offset;
7909 static const value_string rrlp_CellType_vals[] = {
7910 { 0, "configuredNeighbourCellIdx" },
7911 { 1, "detectedNeighbourCell" },
7912 { 0, NULL }
7915 static const per_choice_t CellType_choice[] = {
7916 { 0, &hf_rrlp_configuredNeighbourCellIdx, ASN1_NO_EXTENSIONS , dissect_rrlp_INTEGER_1_48 },
7917 { 1, &hf_rrlp_detectedNeighbourCell, ASN1_NO_EXTENSIONS , dissect_rrlp_CellInfo },
7918 { 0, NULL, 0, NULL }
7921 static int
7922 dissect_rrlp_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7923 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7924 ett_rrlp_CellType, CellType_choice,
7925 NULL);
7927 return offset;
7932 static int
7933 dissect_rrlp_INTEGER_0_999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7934 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7935 0U, 999U, NULL, false);
7937 return offset;
7941 static const per_sequence_t OTDMeasurementInfo_sequence[] = {
7942 { &hf_rrlp_reportedCell , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_CellType },
7943 { &hf_rrlp_msSyncAccuracy , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
7944 { &hf_rrlp_observedTimeDiff, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_999 },
7945 { NULL, 0, 0, NULL }
7948 static int
7949 dissect_rrlp_OTDMeasurementInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7950 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7951 ett_rrlp_OTDMeasurementInfo, OTDMeasurementInfo_sequence);
7953 return offset;
7957 static const per_sequence_t OTDMeasurementResults_sequence[] = {
7958 { &hf_rrlp_oTDMeasurementInfo1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OTDMeasurementInfo },
7959 { &hf_rrlp_oTDMeasurementInfo2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_OTDMeasurementInfo },
7960 { &hf_rrlp_oTDMeasurementInfo3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_OTDMeasurementInfo },
7961 { &hf_rrlp_oTDMeasurementInfo4, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_OTDMeasurementInfo },
7962 { &hf_rrlp_oTDMeasurementInfo5, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_OTDMeasurementInfo },
7963 { &hf_rrlp_oTDMeasurementInfo6, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_OTDMeasurementInfo },
7964 { &hf_rrlp_oTDMeasurementInfo7, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_OTDMeasurementInfo },
7965 { NULL, 0, 0, NULL }
7968 static int
7969 dissect_rrlp_OTDMeasurementResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7970 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7971 ett_rrlp_OTDMeasurementResults, OTDMeasurementResults_sequence);
7973 return offset;
7977 static const per_sequence_t RXLEVMeasurementInfo_sequence[] = {
7978 { &hf_rrlp_reportedCell , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_CellType },
7979 { &hf_rrlp_rxLEV , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
7980 { NULL, 0, 0, NULL }
7983 static int
7984 dissect_rrlp_RXLEVMeasurementInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7985 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7986 ett_rrlp_RXLEVMeasurementInfo, RXLEVMeasurementInfo_sequence);
7988 return offset;
7992 static const per_sequence_t RXLEVMeasurementResults_sequence[] = {
7993 { &hf_rrlp_rxLEVMeasurementInfo1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_RXLEVMeasurementInfo },
7994 { &hf_rrlp_rxLEVMeasurementInfo2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_RXLEVMeasurementInfo },
7995 { &hf_rrlp_rxLEVMeasurementInfo3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_RXLEVMeasurementInfo },
7996 { &hf_rrlp_rxLEVMeasurementInfo4, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_RXLEVMeasurementInfo },
7997 { &hf_rrlp_rxLEVMeasurementInfo5, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_RXLEVMeasurementInfo },
7998 { &hf_rrlp_rxLEVMeasurementInfo6, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_RXLEVMeasurementInfo },
7999 { NULL, 0, 0, NULL }
8002 static int
8003 dissect_rrlp_RXLEVMeasurementResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8004 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8005 ett_rrlp_RXLEVMeasurementResults, RXLEVMeasurementResults_sequence);
8007 return offset;
8011 static const per_sequence_t MultilaterationOTD_Rsp_sequence[] = {
8012 { &hf_rrlp_servingCellDLAccuracy, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
8013 { &hf_rrlp_oTDMeasurementResults, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_OTDMeasurementResults },
8014 { &hf_rrlp_rXLEVMeasurementResults, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_RXLEVMeasurementResults },
8015 { NULL, 0, 0, NULL }
8018 static int
8019 dissect_rrlp_MultilaterationOTD_Rsp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8020 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8021 ett_rrlp_MultilaterationOTD_Rsp, MultilaterationOTD_Rsp_sequence);
8023 return offset;
8027 static const per_sequence_t Extended_Access_Burst_sequence[] = {
8028 { &hf_rrlp_short_BSS_ID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
8029 { NULL, 0, 0, NULL }
8032 static int
8033 dissect_rrlp_Extended_Access_Burst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8034 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8035 ett_rrlp_Extended_Access_Burst, Extended_Access_Burst_sequence);
8037 return offset;
8041 static const value_string rrlp_MTA_Method_vals[] = {
8042 { 0, "rlc-Data-Block" },
8043 { 1, "access-Burst" },
8044 { 2, "extended-Access-Burst" },
8045 { 3, "spare" },
8046 { 0, NULL }
8049 static const per_choice_t MTA_Method_choice[] = {
8050 { 0, &hf_rrlp_rlc_Data_Block , ASN1_NO_EXTENSIONS , dissect_rrlp_NULL },
8051 { 1, &hf_rrlp_access_Burst , ASN1_NO_EXTENSIONS , dissect_rrlp_NULL },
8052 { 2, &hf_rrlp_extended_Access_Burst, ASN1_NO_EXTENSIONS , dissect_rrlp_Extended_Access_Burst },
8053 { 3, &hf_rrlp_spare , ASN1_NO_EXTENSIONS , dissect_rrlp_NULL },
8054 { 0, NULL, 0, NULL }
8057 static int
8058 dissect_rrlp_MTA_Method(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8059 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8060 ett_rrlp_MTA_Method, MTA_Method_choice,
8061 NULL);
8063 return offset;
8067 static const per_sequence_t Random_ID_Set_sequence[] = {
8068 { &hf_rrlp_random_ID1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
8069 { &hf_rrlp_random_ID2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
8070 { &hf_rrlp_random_ID3 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_65535 },
8071 { &hf_rrlp_random_ID4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_65535 },
8072 { &hf_rrlp_random_ID5 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_65535 },
8073 { &hf_rrlp_random_ID6 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_65535 },
8074 { &hf_rrlp_random_ID7 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_65535 },
8075 { &hf_rrlp_random_ID8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_65535 },
8076 { &hf_rrlp_random_ID9 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_65535 },
8077 { NULL, 0, 0, NULL }
8080 static int
8081 dissect_rrlp_Random_ID_Set(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8082 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8083 ett_rrlp_Random_ID_Set, Random_ID_Set_sequence);
8085 return offset;
8089 static const per_sequence_t BSIC_Info_sequence[] = {
8090 { &hf_rrlp_radio_Frequency_Colour_Code, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
8091 { &hf_rrlp_network_Colour_Code, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
8092 { &hf_rrlp_base_station_Colour_Code, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
8093 { NULL, 0, 0, NULL }
8096 static int
8097 dissect_rrlp_BSIC_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8098 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8099 ett_rrlp_BSIC_Info, BSIC_Info_sequence);
8101 return offset;
8105 static const per_sequence_t Co_Sited_Cell_Set_Member_sequence[] = {
8106 { &hf_rrlp_arfcn , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1023 },
8107 { &hf_rrlp_bsic_Info , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC_Info },
8108 { NULL, 0, 0, NULL }
8111 static int
8112 dissect_rrlp_Co_Sited_Cell_Set_Member(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8113 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8114 ett_rrlp_Co_Sited_Cell_Set_Member, Co_Sited_Cell_Set_Member_sequence);
8116 return offset;
8120 static const per_sequence_t Co_Sited_Cells_sequence[] = {
8121 { &hf_rrlp_co_sited_cell_Set_Member1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Co_Sited_Cell_Set_Member },
8122 { &hf_rrlp_co_sited_cell_set_Member2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Co_Sited_Cell_Set_Member },
8123 { &hf_rrlp_co_sited_cell_set_Member3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Co_Sited_Cell_Set_Member },
8124 { &hf_rrlp_co_sited_cell_set_Member4, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Co_Sited_Cell_Set_Member },
8125 { &hf_rrlp_co_sited_cell_set_Member5, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Co_Sited_Cell_Set_Member },
8126 { &hf_rrlp_co_sited_cell_set_Member6, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Co_Sited_Cell_Set_Member },
8127 { NULL, 0, 0, NULL }
8130 static int
8131 dissect_rrlp_Co_Sited_Cells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8132 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8133 ett_rrlp_Co_Sited_Cells, Co_Sited_Cells_sequence);
8135 return offset;
8139 static const per_sequence_t MTA_BITMAP_sequence[] = {
8140 { &hf_rrlp_mta_RLC_Data_Block_method, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
8141 { &hf_rrlp_mta_Access_Burst_method, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
8142 { &hf_rrlp_mta_Extended_Access_Burst_method, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
8143 { &hf_rrlp_mta_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
8144 { NULL, 0, 0, NULL }
8147 static int
8148 dissect_rrlp_MTA_BITMAP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8149 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8150 ett_rrlp_MTA_BITMAP, MTA_BITMAP_sequence);
8152 return offset;
8156 static const per_sequence_t EC_RACH_Control_Parameters_sequence[] = {
8157 { &hf_rrlp_ec_BS_CC_CHANS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
8158 { &hf_rrlp_ec_RXLEV_ACCESS_MIN, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
8159 { &hf_rrlp_ms_TXPWR_MAX_CCH, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
8160 { &hf_rrlp_lb_MS_TXPWR_MAX_CCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_31 },
8161 { &hf_rrlp_cell_SELECTION_RLA_MARGIN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_7 },
8162 { &hf_rrlp_dl_CC_Selection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
8163 { &hf_rrlp_bt_Threshold_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
8164 { &hf_rrlp_cc2_Range_DL , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_31 },
8165 { &hf_rrlp_cc3_Range_DL , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_31 },
8166 { &hf_rrlp_bt_Threshold_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
8167 { &hf_rrlp_cc2_Range_UL , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_31 },
8168 { &hf_rrlp_cc3_Range_UL , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_31 },
8169 { &hf_rrlp_cc4_Range_UL , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_31 },
8170 { &hf_rrlp_bsPWR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
8171 { &hf_rrlp_dl_Signal_Strength_Step_Size, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_3 },
8172 { &hf_rrlp_ec_Reduced_PDCH_Allocation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
8173 { &hf_rrlp_ec_Max_Retrans , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER },
8174 { &hf_rrlp_sm , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
8175 { &hf_rrlp_tm , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
8176 { &hf_rrlp_access_Timeslots, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
8177 { &hf_rrlp_alpha , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_15 },
8178 { &hf_rrlp_t3168 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_7 },
8179 { &hf_rrlp_t3192 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_7 },
8180 { &hf_rrlp_t3226 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_7 },
8181 { &hf_rrlp_t3248 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
8182 { &hf_rrlp_mta_BITMAP , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_MTA_BITMAP },
8183 { NULL, 0, 0, NULL }
8186 static int
8187 dissect_rrlp_EC_RACH_Control_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8188 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8189 ett_rrlp_EC_RACH_Control_Parameters, EC_RACH_Control_Parameters_sequence);
8191 return offset;
8195 static const value_string rrlp_T_ec_cell_information_vals[] = {
8196 { 0, "ec-RACH-Control-Parameters" },
8197 { 1, "default-ec-RACH-Control-Parameters" },
8198 { 0, NULL }
8201 static const per_choice_t T_ec_cell_information_choice[] = {
8202 { 0, &hf_rrlp_ec_RACH_Control_Parameters, ASN1_NO_EXTENSIONS , dissect_rrlp_EC_RACH_Control_Parameters },
8203 { 1, &hf_rrlp_default_ec_RACH_Control_Parameters, ASN1_NO_EXTENSIONS , dissect_rrlp_NULL },
8204 { 0, NULL, 0, NULL }
8207 static int
8208 dissect_rrlp_T_ec_cell_information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8209 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8210 ett_rrlp_T_ec_cell_information, T_ec_cell_information_choice,
8211 NULL);
8213 return offset;
8217 static const per_sequence_t RACH_Control_Parameters_sequence[] = {
8218 { &hf_rrlp_rxlev_ACCESS_MIN, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
8219 { &hf_rrlp_ms_TXPWR_MAX_CCH, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
8220 { &hf_rrlp_max_Retrans , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
8221 { &hf_rrlp_tx_integer , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
8222 { &hf_rrlp_mta_BITMAP , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_MTA_BITMAP },
8223 { NULL, 0, 0, NULL }
8226 static int
8227 dissect_rrlp_RACH_Control_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8228 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8229 ett_rrlp_RACH_Control_Parameters, RACH_Control_Parameters_sequence);
8231 return offset;
8235 static const value_string rrlp_T_peo_cell_information_vals[] = {
8236 { 0, "rach-Control-Parameters" },
8237 { 1, "default-rach-Control-Parameters" },
8238 { 0, NULL }
8241 static const per_choice_t T_peo_cell_information_choice[] = {
8242 { 0, &hf_rrlp_rach_Control_Parameters, ASN1_NO_EXTENSIONS , dissect_rrlp_RACH_Control_Parameters },
8243 { 1, &hf_rrlp_default_rach_Control_Parameters, ASN1_NO_EXTENSIONS , dissect_rrlp_NULL },
8244 { 0, NULL, 0, NULL }
8247 static int
8248 dissect_rrlp_T_peo_cell_information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8249 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8250 ett_rrlp_T_peo_cell_information, T_peo_cell_information_choice,
8251 NULL);
8253 return offset;
8257 static const per_sequence_t Cell_Set_Member_sequence[] = {
8258 { &hf_rrlp_arfcn , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1023 },
8259 { &hf_rrlp_bsic_Info , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC_Info },
8260 { &hf_rrlp_short_ID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_INTEGER_0_255 },
8261 { &hf_rrlp_ec_cell_information, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_T_ec_cell_information },
8262 { &hf_rrlp_peo_cell_information, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_T_peo_cell_information },
8263 { NULL, 0, 0, NULL }
8266 static int
8267 dissect_rrlp_Cell_Set_Member(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8268 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8269 ett_rrlp_Cell_Set_Member, Cell_Set_Member_sequence);
8271 return offset;
8275 static const per_sequence_t Cell_Set_sequence[] = {
8276 { &hf_rrlp_cell_Set_Member1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_Cell_Set_Member },
8277 { &hf_rrlp_cell_set_Member2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Cell_Set_Member },
8278 { &hf_rrlp_cell_set_Member3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Cell_Set_Member },
8279 { &hf_rrlp_cell_set_Member4, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Cell_Set_Member },
8280 { &hf_rrlp_cell_set_Member5, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Cell_Set_Member },
8281 { &hf_rrlp_cell_set_Member6, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Cell_Set_Member },
8282 { NULL, 0, 0, NULL }
8285 static int
8286 dissect_rrlp_Cell_Set(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8287 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8288 ett_rrlp_Cell_Set, Cell_Set_sequence);
8290 return offset;
8294 static const value_string rrlp_MTA_Security_vals[] = {
8295 { 0, "mta-access-security-method" },
8296 { 1, "bss-duplication-detection-method" },
8297 { 2, "spare" },
8298 { 0, NULL }
8301 static const per_choice_t MTA_Security_choice[] = {
8302 { 0, &hf_rrlp_mta_access_security_method, ASN1_NO_EXTENSIONS , dissect_rrlp_NULL },
8303 { 1, &hf_rrlp_bss_duplication_detection_method, ASN1_NO_EXTENSIONS , dissect_rrlp_NULL },
8304 { 2, &hf_rrlp_spare , ASN1_NO_EXTENSIONS , dissect_rrlp_NULL },
8305 { 0, NULL, 0, NULL }
8308 static int
8309 dissect_rrlp_MTA_Security(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8310 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8311 ett_rrlp_MTA_Security, MTA_Security_choice,
8312 NULL);
8314 return offset;
8318 static const per_sequence_t PosMTA_Req_sequence[] = {
8319 { &hf_rrlp_target_Number_of_Cells, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
8320 { &hf_rrlp_requested_MS_Synchronization_Accuracy, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
8321 { &hf_rrlp_mta_Method , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_MTA_Method },
8322 { &hf_rrlp_random_ID_Set , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_Random_ID_Set },
8323 { &hf_rrlp_mpm_Timer , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
8324 { &hf_rrlp_serving_cell , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
8325 { &hf_rrlp_co_sited_cells , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Co_Sited_Cells },
8326 { &hf_rrlp_cell_Set1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_Cell_Set },
8327 { &hf_rrlp_cell_Set2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Cell_Set },
8328 { &hf_rrlp_cell_Set3 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Cell_Set },
8329 { &hf_rrlp_cell_Set4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Cell_Set },
8330 { &hf_rrlp_cell_Set5 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Cell_Set },
8331 { &hf_rrlp_cell_Set6 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Cell_Set },
8332 { &hf_rrlp_cell_Set7 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Cell_Set },
8333 { &hf_rrlp_cell_Set8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_Cell_Set },
8334 { &hf_rrlp_mta_security , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_rrlp_MTA_Security },
8335 { NULL, 0, 0, NULL }
8338 static int
8339 dissect_rrlp_PosMTA_Req(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8340 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8341 ett_rrlp_PosMTA_Req, PosMTA_Req_sequence);
8343 return offset;
8347 static const value_string rrlp_RRLP_Component_vals[] = {
8348 { 0, "msrPositionReq" },
8349 { 1, "msrPositionRsp" },
8350 { 2, "assistanceData" },
8351 { 3, "assistanceDataAck" },
8352 { 4, "protocolError" },
8353 { 5, "posCapabilityReq" },
8354 { 6, "posCapabilityRsp" },
8355 { 7, "multilaterationOTDReq" },
8356 { 8, "multilaterationOTDRsp" },
8357 { 9, "posMTAReq" },
8358 { 0, NULL }
8361 static const per_choice_t RRLP_Component_choice[] = {
8362 { 0, &hf_rrlp_msrPositionReq , ASN1_EXTENSION_ROOT , dissect_rrlp_MsrPosition_Req },
8363 { 1, &hf_rrlp_msrPositionRsp , ASN1_EXTENSION_ROOT , dissect_rrlp_MsrPosition_Rsp },
8364 { 2, &hf_rrlp_assistanceData , ASN1_EXTENSION_ROOT , dissect_rrlp_AssistanceData },
8365 { 3, &hf_rrlp_assistanceDataAck, ASN1_EXTENSION_ROOT , dissect_rrlp_NULL },
8366 { 4, &hf_rrlp_protocolError , ASN1_EXTENSION_ROOT , dissect_rrlp_ProtocolError },
8367 { 5, &hf_rrlp_posCapabilityReq, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_PosCapability_Req },
8368 { 6, &hf_rrlp_posCapabilityRsp, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_PosCapability_Rsp },
8369 { 7, &hf_rrlp_multilaterationOTDReq, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_MultilaterationOTD_Req },
8370 { 8, &hf_rrlp_multilaterationOTDRsp, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_MultilaterationOTD_Rsp },
8371 { 9, &hf_rrlp_posMTAReq , ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_PosMTA_Req },
8372 { 0, NULL, 0, NULL }
8375 static int
8376 dissect_rrlp_RRLP_Component(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8377 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8378 ett_rrlp_RRLP_Component, RRLP_Component_choice,
8379 NULL);
8381 return offset;
8385 static const per_sequence_t PDU_sequence[] = {
8386 { &hf_rrlp_referenceNumber, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
8387 { &hf_rrlp_component , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_rrlp_RRLP_Component },
8388 { NULL, 0, 0, NULL }
8391 static int
8392 dissect_rrlp_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8394 proto_tree_add_item(tree, proto_rrlp, tvb, 0, -1, ENC_NA);
8396 col_append_sep_str(actx->pinfo->cinfo, COL_PROTOCOL, "/", "RRLP");
8397 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8398 ett_rrlp_PDU, PDU_sequence);
8400 return offset;
8403 /*--- PDUs ---*/
8405 static int dissect_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8406 int offset = 0;
8407 asn1_ctx_t asn1_ctx;
8408 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, false, pinfo);
8409 offset = dissect_rrlp_PDU(tvb, offset, &asn1_ctx, tree, hf_rrlp_PDU_PDU);
8410 offset += 7; offset >>= 3;
8411 return offset;
8416 /*--- proto_register_rrlp -------------------------------------------*/
8417 void proto_register_rrlp(void) {
8419 /* List of fields */
8420 static hf_register_info hf[] = {
8422 { &hf_rrlp_PDU_PDU,
8423 { "PDU", "rrlp.PDU_element",
8424 FT_NONE, BASE_NONE, NULL, 0,
8425 NULL, HFILL }},
8426 { &hf_rrlp_privateExtensionList,
8427 { "privateExtensionList", "rrlp.privateExtensionList",
8428 FT_UINT32, BASE_DEC, NULL, 0,
8429 NULL, HFILL }},
8430 { &hf_rrlp_pcs_Extensions,
8431 { "pcs-Extensions", "rrlp.pcs_Extensions_element",
8432 FT_NONE, BASE_NONE, NULL, 0,
8433 NULL, HFILL }},
8434 { &hf_rrlp_PrivateExtensionList_item,
8435 { "PrivateExtension", "rrlp.PrivateExtension_element",
8436 FT_NONE, BASE_NONE, NULL, 0,
8437 NULL, HFILL }},
8438 { &hf_rrlp_extId,
8439 { "extId", "rrlp.extId",
8440 FT_OID, BASE_NONE, NULL, 0,
8441 "OBJECT_IDENTIFIER", HFILL }},
8442 { &hf_rrlp_extType,
8443 { "extType", "rrlp.extType_element",
8444 FT_NONE, BASE_NONE, NULL, 0,
8445 NULL, HFILL }},
8446 { &hf_rrlp_referenceNumber,
8447 { "referenceNumber", "rrlp.referenceNumber",
8448 FT_UINT32, BASE_DEC, NULL, 0,
8449 "INTEGER_0_7", HFILL }},
8450 { &hf_rrlp_component,
8451 { "component", "rrlp.component",
8452 FT_UINT32, BASE_DEC, VALS(rrlp_RRLP_Component_vals), 0,
8453 "RRLP_Component", HFILL }},
8454 { &hf_rrlp_msrPositionReq,
8455 { "msrPositionReq", "rrlp.msrPositionReq_element",
8456 FT_NONE, BASE_NONE, NULL, 0,
8457 "MsrPosition_Req", HFILL }},
8458 { &hf_rrlp_msrPositionRsp,
8459 { "msrPositionRsp", "rrlp.msrPositionRsp_element",
8460 FT_NONE, BASE_NONE, NULL, 0,
8461 "MsrPosition_Rsp", HFILL }},
8462 { &hf_rrlp_assistanceData,
8463 { "assistanceData", "rrlp.assistanceData_element",
8464 FT_NONE, BASE_NONE, NULL, 0,
8465 NULL, HFILL }},
8466 { &hf_rrlp_assistanceDataAck,
8467 { "assistanceDataAck", "rrlp.assistanceDataAck_element",
8468 FT_NONE, BASE_NONE, NULL, 0,
8469 NULL, HFILL }},
8470 { &hf_rrlp_protocolError,
8471 { "protocolError", "rrlp.protocolError_element",
8472 FT_NONE, BASE_NONE, NULL, 0,
8473 NULL, HFILL }},
8474 { &hf_rrlp_posCapabilityReq,
8475 { "posCapabilityReq", "rrlp.posCapabilityReq_element",
8476 FT_NONE, BASE_NONE, NULL, 0,
8477 "PosCapability_Req", HFILL }},
8478 { &hf_rrlp_posCapabilityRsp,
8479 { "posCapabilityRsp", "rrlp.posCapabilityRsp_element",
8480 FT_NONE, BASE_NONE, NULL, 0,
8481 "PosCapability_Rsp", HFILL }},
8482 { &hf_rrlp_multilaterationOTDReq,
8483 { "multilaterationOTDReq", "rrlp.multilaterationOTDReq_element",
8484 FT_NONE, BASE_NONE, NULL, 0,
8485 "MultilaterationOTD_Req", HFILL }},
8486 { &hf_rrlp_multilaterationOTDRsp,
8487 { "multilaterationOTDRsp", "rrlp.multilaterationOTDRsp_element",
8488 FT_NONE, BASE_NONE, NULL, 0,
8489 "MultilaterationOTD_Rsp", HFILL }},
8490 { &hf_rrlp_posMTAReq,
8491 { "posMTAReq", "rrlp.posMTAReq_element",
8492 FT_NONE, BASE_NONE, NULL, 0,
8493 "PosMTA_Req", HFILL }},
8494 { &hf_rrlp_positionInstruct,
8495 { "positionInstruct", "rrlp.positionInstruct_element",
8496 FT_NONE, BASE_NONE, NULL, 0,
8497 NULL, HFILL }},
8498 { &hf_rrlp_referenceAssistData,
8499 { "referenceAssistData", "rrlp.referenceAssistData_element",
8500 FT_NONE, BASE_NONE, NULL, 0,
8501 NULL, HFILL }},
8502 { &hf_rrlp_msrAssistData,
8503 { "msrAssistData", "rrlp.msrAssistData_element",
8504 FT_NONE, BASE_NONE, NULL, 0,
8505 NULL, HFILL }},
8506 { &hf_rrlp_systemInfoAssistData,
8507 { "systemInfoAssistData", "rrlp.systemInfoAssistData_element",
8508 FT_NONE, BASE_NONE, NULL, 0,
8509 NULL, HFILL }},
8510 { &hf_rrlp_gps_AssistData,
8511 { "gps-AssistData", "rrlp.gps_AssistData_element",
8512 FT_NONE, BASE_NONE, NULL, 0,
8513 NULL, HFILL }},
8514 { &hf_rrlp_extensionContainer,
8515 { "extensionContainer", "rrlp.extensionContainer_element",
8516 FT_NONE, BASE_NONE, NULL, 0,
8517 NULL, HFILL }},
8518 { &hf_rrlp_rel98_MsrPosition_Req_extension,
8519 { "rel98-MsrPosition-Req-extension", "rrlp.rel98_MsrPosition_Req_extension_element",
8520 FT_NONE, BASE_NONE, NULL, 0,
8521 NULL, HFILL }},
8522 { &hf_rrlp_rel5_MsrPosition_Req_extension,
8523 { "rel5-MsrPosition-Req-extension", "rrlp.rel5_MsrPosition_Req_extension_element",
8524 FT_NONE, BASE_NONE, NULL, 0,
8525 NULL, HFILL }},
8526 { &hf_rrlp_rel7_MsrPosition_Req_extension,
8527 { "rel7-MsrPosition-Req-extension", "rrlp.rel7_MsrPosition_Req_extension_element",
8528 FT_NONE, BASE_NONE, NULL, 0,
8529 NULL, HFILL }},
8530 { &hf_rrlp_multipleSets,
8531 { "multipleSets", "rrlp.multipleSets_element",
8532 FT_NONE, BASE_NONE, NULL, 0,
8533 NULL, HFILL }},
8534 { &hf_rrlp_referenceIdentity,
8535 { "referenceIdentity", "rrlp.referenceIdentity_element",
8536 FT_NONE, BASE_NONE, NULL, 0,
8537 NULL, HFILL }},
8538 { &hf_rrlp_otd_MeasureInfo,
8539 { "otd-MeasureInfo", "rrlp.otd_MeasureInfo_element",
8540 FT_NONE, BASE_NONE, NULL, 0,
8541 NULL, HFILL }},
8542 { &hf_rrlp_locationInfo,
8543 { "locationInfo", "rrlp.locationInfo_element",
8544 FT_NONE, BASE_NONE, NULL, 0,
8545 NULL, HFILL }},
8546 { &hf_rrlp_gps_MeasureInfo,
8547 { "gps-MeasureInfo", "rrlp.gps_MeasureInfo_element",
8548 FT_NONE, BASE_NONE, NULL, 0,
8549 NULL, HFILL }},
8550 { &hf_rrlp_locationError,
8551 { "locationError", "rrlp.locationError_element",
8552 FT_NONE, BASE_NONE, NULL, 0,
8553 NULL, HFILL }},
8554 { &hf_rrlp_rel_98_MsrPosition_Rsp_Extension,
8555 { "rel-98-MsrPosition-Rsp-Extension", "rrlp.rel_98_MsrPosition_Rsp_Extension_element",
8556 FT_NONE, BASE_NONE, NULL, 0,
8557 NULL, HFILL }},
8558 { &hf_rrlp_rel_5_MsrPosition_Rsp_Extension,
8559 { "rel-5-MsrPosition-Rsp-Extension", "rrlp.rel_5_MsrPosition_Rsp_Extension_element",
8560 FT_NONE, BASE_NONE, NULL, 0,
8561 NULL, HFILL }},
8562 { &hf_rrlp_rel_7_MsrPosition_Rsp_Extension,
8563 { "rel-7-MsrPosition-Rsp-Extension", "rrlp.rel_7_MsrPosition_Rsp_Extension_element",
8564 FT_NONE, BASE_NONE, NULL, 0,
8565 NULL, HFILL }},
8566 { &hf_rrlp_moreAssDataToBeSent,
8567 { "moreAssDataToBeSent", "rrlp.moreAssDataToBeSent",
8568 FT_UINT32, BASE_DEC, VALS(rrlp_MoreAssDataToBeSent_vals), 0,
8569 NULL, HFILL }},
8570 { &hf_rrlp_rel98_AssistanceData_Extension,
8571 { "rel98-AssistanceData-Extension", "rrlp.rel98_AssistanceData_Extension_element",
8572 FT_NONE, BASE_NONE, NULL, 0,
8573 NULL, HFILL }},
8574 { &hf_rrlp_rel5_AssistanceData_Extension,
8575 { "rel5-AssistanceData-Extension", "rrlp.rel5_AssistanceData_Extension_element",
8576 FT_NONE, BASE_NONE, NULL, 0,
8577 NULL, HFILL }},
8578 { &hf_rrlp_rel7_AssistanceData_Extension,
8579 { "rel7-AssistanceData-Extension", "rrlp.rel7_AssistanceData_Extension_element",
8580 FT_NONE, BASE_NONE, NULL, 0,
8581 NULL, HFILL }},
8582 { &hf_rrlp_errorCause,
8583 { "errorCause", "rrlp.errorCause",
8584 FT_UINT32, BASE_DEC, VALS(rrlp_ErrorCodes_vals), 0,
8585 "ErrorCodes", HFILL }},
8586 { &hf_rrlp_rel_5_ProtocolError_Extension,
8587 { "rel-5-ProtocolError-Extension", "rrlp.rel_5_ProtocolError_Extension_element",
8588 FT_NONE, BASE_NONE, NULL, 0,
8589 NULL, HFILL }},
8590 { &hf_rrlp_extended_reference,
8591 { "extended-reference", "rrlp.extended_reference_element",
8592 FT_NONE, BASE_NONE, NULL, 0,
8593 NULL, HFILL }},
8594 { &hf_rrlp_gANSSPositionMethods,
8595 { "gANSSPositionMethods", "rrlp.gANSSPositionMethods",
8596 FT_UINT32, BASE_DEC, NULL, 0,
8597 NULL, HFILL }},
8598 { &hf_rrlp_posCapabilities,
8599 { "posCapabilities", "rrlp.posCapabilities_element",
8600 FT_NONE, BASE_NONE, NULL, 0,
8601 NULL, HFILL }},
8602 { &hf_rrlp_assistanceSupported,
8603 { "assistanceSupported", "rrlp.assistanceSupported_element",
8604 FT_NONE, BASE_NONE, NULL, 0,
8605 NULL, HFILL }},
8606 { &hf_rrlp_assistanceNeeded,
8607 { "assistanceNeeded", "rrlp.assistanceNeeded_element",
8608 FT_NONE, BASE_NONE, NULL, 0,
8609 NULL, HFILL }},
8610 { &hf_rrlp_target_Number_of_Cells,
8611 { "target-Number-of-Cells", "rrlp.target_Number_of_Cells",
8612 FT_UINT32, BASE_DEC, NULL, 0,
8613 "INTEGER_0_7", HFILL }},
8614 { &hf_rrlp_requested_MS_Synchronization_Accuracy,
8615 { "requested-MS-Synchronization-Accuracy", "rrlp.requested_MS_Synchronization_Accuracy",
8616 FT_UINT32, BASE_DEC, NULL, 0,
8617 "INTEGER_0_15", HFILL }},
8618 { &hf_rrlp_mta_Method,
8619 { "mta-Method", "rrlp.mta_Method",
8620 FT_UINT32, BASE_DEC, VALS(rrlp_MTA_Method_vals), 0,
8621 NULL, HFILL }},
8622 { &hf_rrlp_random_ID_Set,
8623 { "random-ID-Set", "rrlp.random_ID_Set_element",
8624 FT_NONE, BASE_NONE, NULL, 0,
8625 NULL, HFILL }},
8626 { &hf_rrlp_mpm_Timer,
8627 { "mpm-Timer", "rrlp.mpm_Timer",
8628 FT_UINT32, BASE_DEC, NULL, 0,
8629 "INTEGER_0_7", HFILL }},
8630 { &hf_rrlp_serving_cell,
8631 { "serving-cell", "rrlp.serving_cell",
8632 FT_BOOLEAN, BASE_NONE, NULL, 0,
8633 "BOOLEAN", HFILL }},
8634 { &hf_rrlp_co_sited_cells,
8635 { "co-sited-cells", "rrlp.co_sited_cells_element",
8636 FT_NONE, BASE_NONE, NULL, 0,
8637 NULL, HFILL }},
8638 { &hf_rrlp_cell_Set1,
8639 { "cell-Set1", "rrlp.cell_Set1_element",
8640 FT_NONE, BASE_NONE, NULL, 0,
8641 "Cell_Set", HFILL }},
8642 { &hf_rrlp_cell_Set2,
8643 { "cell-Set2", "rrlp.cell_Set2_element",
8644 FT_NONE, BASE_NONE, NULL, 0,
8645 "Cell_Set", HFILL }},
8646 { &hf_rrlp_cell_Set3,
8647 { "cell-Set3", "rrlp.cell_Set3_element",
8648 FT_NONE, BASE_NONE, NULL, 0,
8649 "Cell_Set", HFILL }},
8650 { &hf_rrlp_cell_Set4,
8651 { "cell-Set4", "rrlp.cell_Set4_element",
8652 FT_NONE, BASE_NONE, NULL, 0,
8653 "Cell_Set", HFILL }},
8654 { &hf_rrlp_cell_Set5,
8655 { "cell-Set5", "rrlp.cell_Set5_element",
8656 FT_NONE, BASE_NONE, NULL, 0,
8657 "Cell_Set", HFILL }},
8658 { &hf_rrlp_cell_Set6,
8659 { "cell-Set6", "rrlp.cell_Set6_element",
8660 FT_NONE, BASE_NONE, NULL, 0,
8661 "Cell_Set", HFILL }},
8662 { &hf_rrlp_cell_Set7,
8663 { "cell-Set7", "rrlp.cell_Set7_element",
8664 FT_NONE, BASE_NONE, NULL, 0,
8665 "Cell_Set", HFILL }},
8666 { &hf_rrlp_cell_Set8,
8667 { "cell-Set8", "rrlp.cell_Set8_element",
8668 FT_NONE, BASE_NONE, NULL, 0,
8669 "Cell_Set", HFILL }},
8670 { &hf_rrlp_mta_security,
8671 { "mta-security", "rrlp.mta_security",
8672 FT_UINT32, BASE_DEC, VALS(rrlp_MTA_Security_vals), 0,
8673 NULL, HFILL }},
8674 { &hf_rrlp_targetNumOTDMeasurements,
8675 { "targetNumOTDMeasurements", "rrlp.targetNumOTDMeasurements",
8676 FT_INT32, BASE_DEC, NULL, 0,
8677 "INTEGER", HFILL }},
8678 { &hf_rrlp_requiredDLSyncAccuracy,
8679 { "requiredDLSyncAccuracy", "rrlp.requiredDLSyncAccuracy",
8680 FT_INT32, BASE_DEC, NULL, 0,
8681 "INTEGER", HFILL }},
8682 { &hf_rrlp_neighbourCellSets,
8683 { "neighbourCellSets", "rrlp.neighbourCellSets_element",
8684 FT_NONE, BASE_NONE, NULL, 0,
8685 "CellSets", HFILL }},
8686 { &hf_rrlp_servingCellSet,
8687 { "servingCellSet", "rrlp.servingCellSet_element",
8688 FT_NONE, BASE_NONE, NULL, 0,
8689 "CellSet", HFILL }},
8690 { &hf_rrlp_servingCellDLAccuracy,
8691 { "servingCellDLAccuracy", "rrlp.servingCellDLAccuracy",
8692 FT_UINT32, BASE_DEC, NULL, 0,
8693 "INTEGER_1_16", HFILL }},
8694 { &hf_rrlp_oTDMeasurementResults,
8695 { "oTDMeasurementResults", "rrlp.oTDMeasurementResults_element",
8696 FT_NONE, BASE_NONE, NULL, 0,
8697 NULL, HFILL }},
8698 { &hf_rrlp_rXLEVMeasurementResults,
8699 { "rXLEVMeasurementResults", "rrlp.rXLEVMeasurementResults_element",
8700 FT_NONE, BASE_NONE, NULL, 0,
8701 NULL, HFILL }},
8702 { &hf_rrlp_methodType,
8703 { "methodType", "rrlp.methodType",
8704 FT_UINT32, BASE_DEC, VALS(rrlp_MethodType_vals), 0,
8705 NULL, HFILL }},
8706 { &hf_rrlp_positionMethod,
8707 { "positionMethod", "rrlp.positionMethod",
8708 FT_UINT32, BASE_DEC, VALS(rrlp_PositionMethod_vals), 0,
8709 NULL, HFILL }},
8710 { &hf_rrlp_measureResponseTime,
8711 { "measureResponseTime", "rrlp.measureResponseTime",
8712 FT_UINT32, BASE_DEC, NULL, 0,
8713 NULL, HFILL }},
8714 { &hf_rrlp_useMultipleSets,
8715 { "useMultipleSets", "rrlp.useMultipleSets",
8716 FT_UINT32, BASE_DEC, VALS(rrlp_UseMultipleSets_vals), 0,
8717 NULL, HFILL }},
8718 { &hf_rrlp_environmentCharacter,
8719 { "environmentCharacter", "rrlp.environmentCharacter",
8720 FT_UINT32, BASE_DEC, VALS(rrlp_EnvironmentCharacter_vals), 0,
8721 NULL, HFILL }},
8722 { &hf_rrlp_msAssisted,
8723 { "msAssisted", "rrlp.msAssisted_element",
8724 FT_NONE, BASE_NONE, NULL, 0,
8725 "AccuracyOpt", HFILL }},
8726 { &hf_rrlp_msBased,
8727 { "msBased", "rrlp.msBased",
8728 FT_UINT32, BASE_DEC, NULL, 0,
8729 "Accuracy", HFILL }},
8730 { &hf_rrlp_msBasedPref,
8731 { "msBasedPref", "rrlp.msBasedPref",
8732 FT_UINT32, BASE_DEC, NULL, 0,
8733 "Accuracy", HFILL }},
8734 { &hf_rrlp_msAssistedPref,
8735 { "msAssistedPref", "rrlp.msAssistedPref",
8736 FT_UINT32, BASE_DEC, NULL, 0,
8737 "Accuracy", HFILL }},
8738 { &hf_rrlp_accuracy,
8739 { "accuracy", "rrlp.accuracy",
8740 FT_UINT32, BASE_DEC, NULL, 0,
8741 NULL, HFILL }},
8742 { &hf_rrlp_bcchCarrier,
8743 { "bcchCarrier", "rrlp.bcchCarrier",
8744 FT_UINT32, BASE_DEC, NULL, 0,
8745 NULL, HFILL }},
8746 { &hf_rrlp_bsic,
8747 { "bsic", "rrlp.bsic",
8748 FT_UINT32, BASE_DEC, NULL, 0,
8749 NULL, HFILL }},
8750 { &hf_rrlp_timeSlotScheme,
8751 { "timeSlotScheme", "rrlp.timeSlotScheme",
8752 FT_UINT32, BASE_DEC, VALS(rrlp_TimeSlotScheme_vals), 0,
8753 NULL, HFILL }},
8754 { &hf_rrlp_btsPosition,
8755 { "btsPosition", "rrlp.btsPosition",
8756 FT_BYTES, BASE_NONE, NULL, 0,
8757 NULL, HFILL }},
8758 { &hf_rrlp_msrAssistList,
8759 { "msrAssistList", "rrlp.msrAssistList",
8760 FT_UINT32, BASE_DEC, NULL, 0,
8761 "SeqOfMsrAssistBTS", HFILL }},
8762 { &hf_rrlp_SeqOfMsrAssistBTS_item,
8763 { "MsrAssistBTS", "rrlp.MsrAssistBTS_element",
8764 FT_NONE, BASE_NONE, NULL, 0,
8765 NULL, HFILL }},
8766 { &hf_rrlp_multiFrameOffset,
8767 { "multiFrameOffset", "rrlp.multiFrameOffset",
8768 FT_UINT32, BASE_DEC, NULL, 0,
8769 NULL, HFILL }},
8770 { &hf_rrlp_roughRTD,
8771 { "roughRTD", "rrlp.roughRTD",
8772 FT_UINT32, BASE_DEC, NULL, 0,
8773 NULL, HFILL }},
8774 { &hf_rrlp_calcAssistanceBTS,
8775 { "calcAssistanceBTS", "rrlp.calcAssistanceBTS_element",
8776 FT_NONE, BASE_NONE, NULL, 0,
8777 NULL, HFILL }},
8778 { &hf_rrlp_systemInfoAssistList,
8779 { "systemInfoAssistList", "rrlp.systemInfoAssistList",
8780 FT_UINT32, BASE_DEC, NULL, 0,
8781 "SeqOfSystemInfoAssistBTS", HFILL }},
8782 { &hf_rrlp_SeqOfSystemInfoAssistBTS_item,
8783 { "SystemInfoAssistBTS", "rrlp.SystemInfoAssistBTS",
8784 FT_UINT32, BASE_DEC, VALS(rrlp_SystemInfoAssistBTS_vals), 0,
8785 NULL, HFILL }},
8786 { &hf_rrlp_notPresent,
8787 { "notPresent", "rrlp.notPresent_element",
8788 FT_NONE, BASE_NONE, NULL, 0,
8789 NULL, HFILL }},
8790 { &hf_rrlp_present,
8791 { "present", "rrlp.present_element",
8792 FT_NONE, BASE_NONE, NULL, 0,
8793 "AssistBTSData", HFILL }},
8794 { &hf_rrlp_fineRTD,
8795 { "fineRTD", "rrlp.fineRTD",
8796 FT_UINT32, BASE_DEC, NULL, 0,
8797 NULL, HFILL }},
8798 { &hf_rrlp_referenceWGS84,
8799 { "referenceWGS84", "rrlp.referenceWGS84_element",
8800 FT_NONE, BASE_NONE, NULL, 0,
8801 NULL, HFILL }},
8802 { &hf_rrlp_relativeNorth,
8803 { "relativeNorth", "rrlp.relativeNorth",
8804 FT_INT32, BASE_DEC, NULL, 0,
8805 "RelDistance", HFILL }},
8806 { &hf_rrlp_relativeEast,
8807 { "relativeEast", "rrlp.relativeEast",
8808 FT_INT32, BASE_DEC, NULL, 0,
8809 "RelDistance", HFILL }},
8810 { &hf_rrlp_relativeAlt,
8811 { "relativeAlt", "rrlp.relativeAlt",
8812 FT_INT32, BASE_DEC, NULL, 0,
8813 NULL, HFILL }},
8814 { &hf_rrlp_nbrOfSets,
8815 { "nbrOfSets", "rrlp.nbrOfSets",
8816 FT_UINT32, BASE_DEC, NULL, 0,
8817 "INTEGER_2_3", HFILL }},
8818 { &hf_rrlp_nbrOfReferenceBTSs,
8819 { "nbrOfReferenceBTSs", "rrlp.nbrOfReferenceBTSs",
8820 FT_UINT32, BASE_DEC, NULL, 0,
8821 "INTEGER_1_3", HFILL }},
8822 { &hf_rrlp_referenceRelation,
8823 { "referenceRelation", "rrlp.referenceRelation",
8824 FT_UINT32, BASE_DEC, VALS(rrlp_ReferenceRelation_vals), 0,
8825 NULL, HFILL }},
8826 { &hf_rrlp_refBTSList,
8827 { "refBTSList", "rrlp.refBTSList",
8828 FT_UINT32, BASE_DEC, NULL, 0,
8829 "SeqOfReferenceIdentityType", HFILL }},
8830 { &hf_rrlp_SeqOfReferenceIdentityType_item,
8831 { "ReferenceIdentityType", "rrlp.ReferenceIdentityType",
8832 FT_UINT32, BASE_DEC, VALS(rrlp_ReferenceIdentityType_vals), 0,
8833 NULL, HFILL }},
8834 { &hf_rrlp_bsicAndCarrier,
8835 { "bsicAndCarrier", "rrlp.bsicAndCarrier_element",
8836 FT_NONE, BASE_NONE, NULL, 0,
8837 NULL, HFILL }},
8838 { &hf_rrlp_ci,
8839 { "ci", "rrlp.ci",
8840 FT_UINT32, BASE_DEC, NULL, 0,
8841 "CellID", HFILL }},
8842 { &hf_rrlp_requestIndex,
8843 { "requestIndex", "rrlp.requestIndex",
8844 FT_UINT32, BASE_DEC, NULL, 0,
8845 NULL, HFILL }},
8846 { &hf_rrlp_systemInfoIndex,
8847 { "systemInfoIndex", "rrlp.systemInfoIndex",
8848 FT_UINT32, BASE_DEC, NULL, 0,
8849 NULL, HFILL }},
8850 { &hf_rrlp_ciAndLAC,
8851 { "ciAndLAC", "rrlp.ciAndLAC_element",
8852 FT_NONE, BASE_NONE, NULL, 0,
8853 "CellIDAndLAC", HFILL }},
8854 { &hf_rrlp_carrier,
8855 { "carrier", "rrlp.carrier",
8856 FT_UINT32, BASE_DEC, NULL, 0,
8857 "BCCHCarrier", HFILL }},
8858 { &hf_rrlp_referenceLAC,
8859 { "referenceLAC", "rrlp.referenceLAC",
8860 FT_UINT32, BASE_DEC, NULL, 0,
8861 "LAC", HFILL }},
8862 { &hf_rrlp_referenceCI,
8863 { "referenceCI", "rrlp.referenceCI",
8864 FT_UINT32, BASE_DEC, NULL, 0,
8865 "CellID", HFILL }},
8866 { &hf_rrlp_otdMsrFirstSets,
8867 { "otdMsrFirstSets", "rrlp.otdMsrFirstSets_element",
8868 FT_NONE, BASE_NONE, NULL, 0,
8869 "OTD_MsrElementFirst", HFILL }},
8870 { &hf_rrlp_otdMsrRestSets,
8871 { "otdMsrRestSets", "rrlp.otdMsrRestSets",
8872 FT_UINT32, BASE_DEC, NULL, 0,
8873 "SeqOfOTD_MsrElementRest", HFILL }},
8874 { &hf_rrlp_SeqOfOTD_MsrElementRest_item,
8875 { "OTD-MsrElementRest", "rrlp.OTD_MsrElementRest_element",
8876 FT_NONE, BASE_NONE, NULL, 0,
8877 NULL, HFILL }},
8878 { &hf_rrlp_refFrameNumber,
8879 { "refFrameNumber", "rrlp.refFrameNumber",
8880 FT_UINT32, BASE_DEC, NULL, 0,
8881 "INTEGER_0_42431", HFILL }},
8882 { &hf_rrlp_referenceTimeSlot,
8883 { "referenceTimeSlot", "rrlp.referenceTimeSlot",
8884 FT_UINT32, BASE_DEC, NULL, 0,
8885 "ModuloTimeSlot", HFILL }},
8886 { &hf_rrlp_toaMeasurementsOfRef,
8887 { "toaMeasurementsOfRef", "rrlp.toaMeasurementsOfRef_element",
8888 FT_NONE, BASE_NONE, NULL, 0,
8889 "TOA_MeasurementsOfRef", HFILL }},
8890 { &hf_rrlp_stdResolution,
8891 { "stdResolution", "rrlp.stdResolution",
8892 FT_UINT32, BASE_DEC, NULL, 0,
8893 NULL, HFILL }},
8894 { &hf_rrlp_taCorrection,
8895 { "taCorrection", "rrlp.taCorrection",
8896 FT_UINT32, BASE_DEC, NULL, 0,
8897 "INTEGER_0_960", HFILL }},
8898 { &hf_rrlp_otd_FirstSetMsrs,
8899 { "otd-FirstSetMsrs", "rrlp.otd_FirstSetMsrs",
8900 FT_UINT32, BASE_DEC, NULL, 0,
8901 "SeqOfOTD_FirstSetMsrs", HFILL }},
8902 { &hf_rrlp_SeqOfOTD_FirstSetMsrs_item,
8903 { "OTD-FirstSetMsrs", "rrlp.OTD_FirstSetMsrs_element",
8904 FT_NONE, BASE_NONE, NULL, 0,
8905 NULL, HFILL }},
8906 { &hf_rrlp_otd_MsrsOfOtherSets,
8907 { "otd-MsrsOfOtherSets", "rrlp.otd_MsrsOfOtherSets",
8908 FT_UINT32, BASE_DEC, NULL, 0,
8909 "SeqOfOTD_MsrsOfOtherSets", HFILL }},
8910 { &hf_rrlp_SeqOfOTD_MsrsOfOtherSets_item,
8911 { "OTD-MsrsOfOtherSets", "rrlp.OTD_MsrsOfOtherSets",
8912 FT_UINT32, BASE_DEC, VALS(rrlp_OTD_MsrsOfOtherSets_vals), 0,
8913 NULL, HFILL }},
8914 { &hf_rrlp_refQuality,
8915 { "refQuality", "rrlp.refQuality",
8916 FT_UINT32, BASE_DEC, NULL, 0,
8917 NULL, HFILL }},
8918 { &hf_rrlp_numOfMeasurements,
8919 { "numOfMeasurements", "rrlp.numOfMeasurements",
8920 FT_UINT32, BASE_DEC, NULL, 0,
8921 NULL, HFILL }},
8922 { &hf_rrlp_identityNotPresent,
8923 { "identityNotPresent", "rrlp.identityNotPresent_element",
8924 FT_NONE, BASE_NONE, NULL, 0,
8925 "OTD_Measurement", HFILL }},
8926 { &hf_rrlp_identityPresent,
8927 { "identityPresent", "rrlp.identityPresent_element",
8928 FT_NONE, BASE_NONE, NULL, 0,
8929 "OTD_MeasurementWithID", HFILL }},
8930 { &hf_rrlp_nborTimeSlot,
8931 { "nborTimeSlot", "rrlp.nborTimeSlot",
8932 FT_UINT32, BASE_DEC, NULL, 0,
8933 "ModuloTimeSlot", HFILL }},
8934 { &hf_rrlp_eotdQuality,
8935 { "eotdQuality", "rrlp.eotdQuality_element",
8936 FT_NONE, BASE_NONE, NULL, 0,
8937 NULL, HFILL }},
8938 { &hf_rrlp_otdValue,
8939 { "otdValue", "rrlp.otdValue",
8940 FT_UINT32, BASE_DEC, NULL, 0,
8941 NULL, HFILL }},
8942 { &hf_rrlp_neighborIdentity,
8943 { "neighborIdentity", "rrlp.neighborIdentity",
8944 FT_UINT32, BASE_DEC, VALS(rrlp_NeighborIdentity_vals), 0,
8945 NULL, HFILL }},
8946 { &hf_rrlp_nbrOfMeasurements,
8947 { "nbrOfMeasurements", "rrlp.nbrOfMeasurements",
8948 FT_UINT32, BASE_DEC, NULL, 0,
8949 "INTEGER_0_7", HFILL }},
8950 { &hf_rrlp_stdOfEOTD,
8951 { "stdOfEOTD", "rrlp.stdOfEOTD",
8952 FT_UINT32, BASE_DEC, NULL, 0,
8953 "INTEGER_0_31", HFILL }},
8954 { &hf_rrlp_multiFrameCarrier,
8955 { "multiFrameCarrier", "rrlp.multiFrameCarrier_element",
8956 FT_NONE, BASE_NONE, NULL, 0,
8957 NULL, HFILL }},
8958 { &hf_rrlp_refFrame,
8959 { "refFrame", "rrlp.refFrame",
8960 FT_UINT32, BASE_DEC, NULL, 0,
8961 "INTEGER_0_65535", HFILL }},
8962 { &hf_rrlp_gpsTOW,
8963 { "gpsTOW", "rrlp.gpsTOW",
8964 FT_UINT32, BASE_DEC, NULL, 0,
8965 "INTEGER_0_14399999", HFILL }},
8966 { &hf_rrlp_fixType,
8967 { "fixType", "rrlp.fixType",
8968 FT_UINT32, BASE_DEC, VALS(rrlp_FixType_vals), 0,
8969 NULL, HFILL }},
8970 { &hf_rrlp_posEstimate,
8971 { "posEstimate", "rrlp.posEstimate",
8972 FT_BYTES, BASE_NONE, NULL, 0,
8973 "Ext_GeographicalInformation", HFILL }},
8974 { &hf_rrlp_gpsMsrSetList,
8975 { "gpsMsrSetList", "rrlp.gpsMsrSetList",
8976 FT_UINT32, BASE_DEC, NULL, 0,
8977 "SeqOfGPS_MsrSetElement", HFILL }},
8978 { &hf_rrlp_SeqOfGPS_MsrSetElement_item,
8979 { "GPS-MsrSetElement", "rrlp.GPS_MsrSetElement_element",
8980 FT_NONE, BASE_NONE, NULL, 0,
8981 NULL, HFILL }},
8982 { &hf_rrlp_gpsTOW_01,
8983 { "gpsTOW", "rrlp.gpsTOW",
8984 FT_UINT32, BASE_DEC, NULL, 0,
8985 "GPSTOW24b", HFILL }},
8986 { &hf_rrlp_gps_msrList,
8987 { "gps-msrList", "rrlp.gps_msrList",
8988 FT_UINT32, BASE_DEC, NULL, 0,
8989 "SeqOfGPS_MsrElement", HFILL }},
8990 { &hf_rrlp_SeqOfGPS_MsrElement_item,
8991 { "GPS-MsrElement", "rrlp.GPS_MsrElement_element",
8992 FT_NONE, BASE_NONE, NULL, 0,
8993 NULL, HFILL }},
8994 { &hf_rrlp_satelliteID,
8995 { "satelliteID", "rrlp.satelliteID",
8996 FT_UINT32, BASE_DEC, NULL, 0,
8997 NULL, HFILL }},
8998 { &hf_rrlp_cNo,
8999 { "cNo", "rrlp.cNo",
9000 FT_UINT32, BASE_DEC, NULL, 0,
9001 "INTEGER_0_63", HFILL }},
9002 { &hf_rrlp_doppler,
9003 { "doppler", "rrlp.doppler",
9004 FT_INT32, BASE_DEC, NULL, 0,
9005 "INTEGER_M32768_32767", HFILL }},
9006 { &hf_rrlp_wholeChips,
9007 { "wholeChips", "rrlp.wholeChips",
9008 FT_UINT32, BASE_DEC, NULL, 0,
9009 "INTEGER_0_1022", HFILL }},
9010 { &hf_rrlp_fracChips,
9011 { "fracChips", "rrlp.fracChips",
9012 FT_UINT32, BASE_DEC, NULL, 0,
9013 "INTEGER_0_1024", HFILL }},
9014 { &hf_rrlp_mpathIndic,
9015 { "mpathIndic", "rrlp.mpathIndic",
9016 FT_UINT32, BASE_DEC, VALS(rrlp_MpathIndic_vals), 0,
9017 NULL, HFILL }},
9018 { &hf_rrlp_pseuRangeRMSErr,
9019 { "pseuRangeRMSErr", "rrlp.pseuRangeRMSErr",
9020 FT_UINT32, BASE_DEC, NULL, 0,
9021 "INTEGER_0_63", HFILL }},
9022 { &hf_rrlp_locErrorReason,
9023 { "locErrorReason", "rrlp.locErrorReason",
9024 FT_UINT32, BASE_DEC, VALS(rrlp_LocErrorReason_vals), 0,
9025 NULL, HFILL }},
9026 { &hf_rrlp_additionalAssistanceData,
9027 { "additionalAssistanceData", "rrlp.additionalAssistanceData_element",
9028 FT_NONE, BASE_NONE, NULL, 0,
9029 NULL, HFILL }},
9030 { &hf_rrlp_gpsAssistanceData,
9031 { "gpsAssistanceData", "rrlp.gpsAssistanceData",
9032 FT_BYTES, BASE_NONE, NULL, 0,
9033 NULL, HFILL }},
9034 { &hf_rrlp_ganssAssistanceData,
9035 { "ganssAssistanceData", "rrlp.ganssAssistanceData",
9036 FT_BYTES, BASE_NONE, NULL, 0,
9037 NULL, HFILL }},
9038 { &hf_rrlp_controlHeader,
9039 { "controlHeader", "rrlp.controlHeader_element",
9040 FT_NONE, BASE_NONE, NULL, 0,
9041 NULL, HFILL }},
9042 { &hf_rrlp_referenceTime,
9043 { "referenceTime", "rrlp.referenceTime_element",
9044 FT_NONE, BASE_NONE, NULL, 0,
9045 NULL, HFILL }},
9046 { &hf_rrlp_refLocation,
9047 { "refLocation", "rrlp.refLocation_element",
9048 FT_NONE, BASE_NONE, NULL, 0,
9049 NULL, HFILL }},
9050 { &hf_rrlp_dgpsCorrections,
9051 { "dgpsCorrections", "rrlp.dgpsCorrections_element",
9052 FT_NONE, BASE_NONE, NULL, 0,
9053 NULL, HFILL }},
9054 { &hf_rrlp_navigationModel,
9055 { "navigationModel", "rrlp.navigationModel_element",
9056 FT_NONE, BASE_NONE, NULL, 0,
9057 NULL, HFILL }},
9058 { &hf_rrlp_ionosphericModel,
9059 { "ionosphericModel", "rrlp.ionosphericModel_element",
9060 FT_NONE, BASE_NONE, NULL, 0,
9061 NULL, HFILL }},
9062 { &hf_rrlp_utcModel,
9063 { "utcModel", "rrlp.utcModel_element",
9064 FT_NONE, BASE_NONE, NULL, 0,
9065 NULL, HFILL }},
9066 { &hf_rrlp_almanac,
9067 { "almanac", "rrlp.almanac_element",
9068 FT_NONE, BASE_NONE, NULL, 0,
9069 NULL, HFILL }},
9070 { &hf_rrlp_acquisAssist,
9071 { "acquisAssist", "rrlp.acquisAssist_element",
9072 FT_NONE, BASE_NONE, NULL, 0,
9073 NULL, HFILL }},
9074 { &hf_rrlp_realTimeIntegrity,
9075 { "realTimeIntegrity", "rrlp.realTimeIntegrity",
9076 FT_UINT32, BASE_DEC, NULL, 0,
9077 "SeqOf_BadSatelliteSet", HFILL }},
9078 { &hf_rrlp_gpsTime,
9079 { "gpsTime", "rrlp.gpsTime_element",
9080 FT_NONE, BASE_NONE, NULL, 0,
9081 NULL, HFILL }},
9082 { &hf_rrlp_gsmTime,
9083 { "gsmTime", "rrlp.gsmTime_element",
9084 FT_NONE, BASE_NONE, NULL, 0,
9085 NULL, HFILL }},
9086 { &hf_rrlp_gpsTowAssist,
9087 { "gpsTowAssist", "rrlp.gpsTowAssist",
9088 FT_UINT32, BASE_DEC, NULL, 0,
9089 NULL, HFILL }},
9090 { &hf_rrlp_gpsTOW23b,
9091 { "gpsTOW23b", "rrlp.gpsTOW23b",
9092 FT_UINT32, BASE_DEC, NULL, 0,
9093 NULL, HFILL }},
9094 { &hf_rrlp_gpsWeek,
9095 { "gpsWeek", "rrlp.gpsWeek",
9096 FT_UINT32, BASE_DEC, NULL, 0,
9097 NULL, HFILL }},
9098 { &hf_rrlp_GPSTOWAssist_item,
9099 { "GPSTOWAssistElement", "rrlp.GPSTOWAssistElement_element",
9100 FT_NONE, BASE_NONE, NULL, 0,
9101 NULL, HFILL }},
9102 { &hf_rrlp_tlmWord,
9103 { "tlmWord", "rrlp.tlmWord",
9104 FT_UINT32, BASE_DEC, NULL, 0,
9105 NULL, HFILL }},
9106 { &hf_rrlp_antiSpoof,
9107 { "antiSpoof", "rrlp.antiSpoof",
9108 FT_UINT32, BASE_DEC, NULL, 0,
9109 "AntiSpoofFlag", HFILL }},
9110 { &hf_rrlp_alert,
9111 { "alert", "rrlp.alert",
9112 FT_UINT32, BASE_DEC, NULL, 0,
9113 "AlertFlag", HFILL }},
9114 { &hf_rrlp_tlmRsvdBits,
9115 { "tlmRsvdBits", "rrlp.tlmRsvdBits",
9116 FT_UINT32, BASE_DEC, NULL, 0,
9117 "TLMReservedBits", HFILL }},
9118 { &hf_rrlp_frameNumber,
9119 { "frameNumber", "rrlp.frameNumber",
9120 FT_UINT32, BASE_DEC, NULL, 0,
9121 NULL, HFILL }},
9122 { &hf_rrlp_timeSlot,
9123 { "timeSlot", "rrlp.timeSlot",
9124 FT_UINT32, BASE_DEC, NULL, 0,
9125 NULL, HFILL }},
9126 { &hf_rrlp_bitNumber,
9127 { "bitNumber", "rrlp.bitNumber",
9128 FT_UINT32, BASE_DEC, NULL, 0,
9129 NULL, HFILL }},
9130 { &hf_rrlp_threeDLocation,
9131 { "threeDLocation", "rrlp.threeDLocation",
9132 FT_BYTES, BASE_NONE, NULL, 0,
9133 "Ext_GeographicalInformation", HFILL }},
9134 { &hf_rrlp_gpsTOW_02,
9135 { "gpsTOW", "rrlp.gpsTOW",
9136 FT_UINT32, BASE_DEC, NULL, 0,
9137 "INTEGER_0_604799", HFILL }},
9138 { &hf_rrlp_status,
9139 { "status", "rrlp.status",
9140 FT_UINT32, BASE_DEC, NULL, 0,
9141 "INTEGER_0_7", HFILL }},
9142 { &hf_rrlp_satList,
9143 { "satList", "rrlp.satList",
9144 FT_UINT32, BASE_DEC, NULL, 0,
9145 "SeqOfSatElement", HFILL }},
9146 { &hf_rrlp_SeqOfSatElement_item,
9147 { "SatElement", "rrlp.SatElement_element",
9148 FT_NONE, BASE_NONE, NULL, 0,
9149 NULL, HFILL }},
9150 { &hf_rrlp_iode,
9151 { "iode", "rrlp.iode",
9152 FT_UINT32, BASE_DEC, NULL, 0,
9153 "INTEGER_0_239", HFILL }},
9154 { &hf_rrlp_udre,
9155 { "udre", "rrlp.udre",
9156 FT_UINT32, BASE_DEC, NULL, 0,
9157 "INTEGER_0_3", HFILL }},
9158 { &hf_rrlp_pseudoRangeCor,
9159 { "pseudoRangeCor", "rrlp.pseudoRangeCor",
9160 FT_INT32, BASE_DEC, NULL, 0,
9161 "INTEGER_M2047_2047", HFILL }},
9162 { &hf_rrlp_rangeRateCor,
9163 { "rangeRateCor", "rrlp.rangeRateCor",
9164 FT_INT32, BASE_DEC, NULL, 0,
9165 "INTEGER_M127_127", HFILL }},
9166 { &hf_rrlp_deltaPseudoRangeCor2,
9167 { "deltaPseudoRangeCor2", "rrlp.deltaPseudoRangeCor2",
9168 FT_INT32, BASE_DEC, NULL, 0,
9169 "INTEGER_M127_127", HFILL }},
9170 { &hf_rrlp_deltaRangeRateCor2,
9171 { "deltaRangeRateCor2", "rrlp.deltaRangeRateCor2",
9172 FT_INT32, BASE_DEC, NULL, 0,
9173 "INTEGER_M7_7", HFILL }},
9174 { &hf_rrlp_deltaPseudoRangeCor3,
9175 { "deltaPseudoRangeCor3", "rrlp.deltaPseudoRangeCor3",
9176 FT_INT32, BASE_DEC, NULL, 0,
9177 "INTEGER_M127_127", HFILL }},
9178 { &hf_rrlp_deltaRangeRateCor3,
9179 { "deltaRangeRateCor3", "rrlp.deltaRangeRateCor3",
9180 FT_INT32, BASE_DEC, NULL, 0,
9181 "INTEGER_M7_7", HFILL }},
9182 { &hf_rrlp_navModelList,
9183 { "navModelList", "rrlp.navModelList",
9184 FT_UINT32, BASE_DEC, NULL, 0,
9185 "SeqOfNavModelElement", HFILL }},
9186 { &hf_rrlp_SeqOfNavModelElement_item,
9187 { "NavModelElement", "rrlp.NavModelElement_element",
9188 FT_NONE, BASE_NONE, NULL, 0,
9189 NULL, HFILL }},
9190 { &hf_rrlp_satStatus,
9191 { "satStatus", "rrlp.satStatus",
9192 FT_UINT32, BASE_DEC, VALS(rrlp_SatStatus_vals), 0,
9193 NULL, HFILL }},
9194 { &hf_rrlp_newSatelliteAndModelUC,
9195 { "newSatelliteAndModelUC", "rrlp.newSatelliteAndModelUC_element",
9196 FT_NONE, BASE_NONE, NULL, 0,
9197 "UncompressedEphemeris", HFILL }},
9198 { &hf_rrlp_oldSatelliteAndModel,
9199 { "oldSatelliteAndModel", "rrlp.oldSatelliteAndModel_element",
9200 FT_NONE, BASE_NONE, NULL, 0,
9201 NULL, HFILL }},
9202 { &hf_rrlp_newNaviModelUC,
9203 { "newNaviModelUC", "rrlp.newNaviModelUC_element",
9204 FT_NONE, BASE_NONE, NULL, 0,
9205 "UncompressedEphemeris", HFILL }},
9206 { &hf_rrlp_ephemCodeOnL2,
9207 { "ephemCodeOnL2", "rrlp.ephemCodeOnL2",
9208 FT_UINT32, BASE_DEC, NULL, 0,
9209 "INTEGER_0_3", HFILL }},
9210 { &hf_rrlp_ephemURA,
9211 { "ephemURA", "rrlp.ephemURA",
9212 FT_UINT32, BASE_DEC, NULL, 0,
9213 "INTEGER_0_15", HFILL }},
9214 { &hf_rrlp_ephemSVhealth,
9215 { "ephemSVhealth", "rrlp.ephemSVhealth",
9216 FT_UINT32, BASE_DEC, NULL, 0,
9217 "INTEGER_0_63", HFILL }},
9218 { &hf_rrlp_ephemIODC,
9219 { "ephemIODC", "rrlp.ephemIODC",
9220 FT_UINT32, BASE_DEC, NULL, 0,
9221 "INTEGER_0_1023", HFILL }},
9222 { &hf_rrlp_ephemL2Pflag,
9223 { "ephemL2Pflag", "rrlp.ephemL2Pflag",
9224 FT_UINT32, BASE_DEC, NULL, 0,
9225 "INTEGER_0_1", HFILL }},
9226 { &hf_rrlp_ephemSF1Rsvd,
9227 { "ephemSF1Rsvd", "rrlp.ephemSF1Rsvd_element",
9228 FT_NONE, BASE_NONE, NULL, 0,
9229 "EphemerisSubframe1Reserved", HFILL }},
9230 { &hf_rrlp_ephemTgd,
9231 { "ephemTgd", "rrlp.ephemTgd",
9232 FT_INT32, BASE_DEC, NULL, 0,
9233 "INTEGER_M128_127", HFILL }},
9234 { &hf_rrlp_ephemToc,
9235 { "ephemToc", "rrlp.ephemToc",
9236 FT_UINT32, BASE_DEC, NULL, 0,
9237 "INTEGER_0_37799", HFILL }},
9238 { &hf_rrlp_ephemAF2,
9239 { "ephemAF2", "rrlp.ephemAF2",
9240 FT_INT32, BASE_DEC, NULL, 0,
9241 "INTEGER_M128_127", HFILL }},
9242 { &hf_rrlp_ephemAF1,
9243 { "ephemAF1", "rrlp.ephemAF1",
9244 FT_INT32, BASE_DEC, NULL, 0,
9245 "INTEGER_M32768_32767", HFILL }},
9246 { &hf_rrlp_ephemAF0,
9247 { "ephemAF0", "rrlp.ephemAF0",
9248 FT_INT32, BASE_DEC, NULL, 0,
9249 "INTEGER_M2097152_2097151", HFILL }},
9250 { &hf_rrlp_ephemCrs,
9251 { "ephemCrs", "rrlp.ephemCrs",
9252 FT_INT32, BASE_DEC, NULL, 0,
9253 "INTEGER_M32768_32767", HFILL }},
9254 { &hf_rrlp_ephemDeltaN,
9255 { "ephemDeltaN", "rrlp.ephemDeltaN",
9256 FT_INT32, BASE_DEC, NULL, 0,
9257 "INTEGER_M32768_32767", HFILL }},
9258 { &hf_rrlp_ephemM0,
9259 { "ephemM0", "rrlp.ephemM0",
9260 FT_INT32, BASE_DEC, NULL, 0,
9261 "INTEGER_M2147483648_2147483647", HFILL }},
9262 { &hf_rrlp_ephemCuc,
9263 { "ephemCuc", "rrlp.ephemCuc",
9264 FT_INT32, BASE_DEC, NULL, 0,
9265 "INTEGER_M32768_32767", HFILL }},
9266 { &hf_rrlp_ephemE,
9267 { "ephemE", "rrlp.ephemE",
9268 FT_UINT32, BASE_DEC, NULL, 0,
9269 "INTEGER_0_4294967295", HFILL }},
9270 { &hf_rrlp_ephemCus,
9271 { "ephemCus", "rrlp.ephemCus",
9272 FT_INT32, BASE_DEC, NULL, 0,
9273 "INTEGER_M32768_32767", HFILL }},
9274 { &hf_rrlp_ephemAPowerHalf,
9275 { "ephemAPowerHalf", "rrlp.ephemAPowerHalf",
9276 FT_UINT32, BASE_DEC, NULL, 0,
9277 "INTEGER_0_4294967295", HFILL }},
9278 { &hf_rrlp_ephemToe,
9279 { "ephemToe", "rrlp.ephemToe",
9280 FT_UINT32, BASE_DEC, NULL, 0,
9281 "INTEGER_0_37799", HFILL }},
9282 { &hf_rrlp_ephemFitFlag,
9283 { "ephemFitFlag", "rrlp.ephemFitFlag",
9284 FT_UINT32, BASE_DEC, NULL, 0,
9285 "INTEGER_0_1", HFILL }},
9286 { &hf_rrlp_ephemAODA,
9287 { "ephemAODA", "rrlp.ephemAODA",
9288 FT_UINT32, BASE_DEC, NULL, 0,
9289 "INTEGER_0_31", HFILL }},
9290 { &hf_rrlp_ephemCic,
9291 { "ephemCic", "rrlp.ephemCic",
9292 FT_INT32, BASE_DEC, NULL, 0,
9293 "INTEGER_M32768_32767", HFILL }},
9294 { &hf_rrlp_ephemOmegaA0,
9295 { "ephemOmegaA0", "rrlp.ephemOmegaA0",
9296 FT_INT32, BASE_DEC, NULL, 0,
9297 "INTEGER_M2147483648_2147483647", HFILL }},
9298 { &hf_rrlp_ephemCis,
9299 { "ephemCis", "rrlp.ephemCis",
9300 FT_INT32, BASE_DEC, NULL, 0,
9301 "INTEGER_M32768_32767", HFILL }},
9302 { &hf_rrlp_ephemI0,
9303 { "ephemI0", "rrlp.ephemI0",
9304 FT_INT32, BASE_DEC, NULL, 0,
9305 "INTEGER_M2147483648_2147483647", HFILL }},
9306 { &hf_rrlp_ephemCrc,
9307 { "ephemCrc", "rrlp.ephemCrc",
9308 FT_INT32, BASE_DEC, NULL, 0,
9309 "INTEGER_M32768_32767", HFILL }},
9310 { &hf_rrlp_ephemW,
9311 { "ephemW", "rrlp.ephemW",
9312 FT_INT32, BASE_DEC, NULL, 0,
9313 "INTEGER_M2147483648_2147483647", HFILL }},
9314 { &hf_rrlp_ephemOmegaADot,
9315 { "ephemOmegaADot", "rrlp.ephemOmegaADot",
9316 FT_INT32, BASE_DEC, NULL, 0,
9317 "INTEGER_M8388608_8388607", HFILL }},
9318 { &hf_rrlp_ephemIDot,
9319 { "ephemIDot", "rrlp.ephemIDot",
9320 FT_INT32, BASE_DEC, NULL, 0,
9321 "INTEGER_M8192_8191", HFILL }},
9322 { &hf_rrlp_reserved1,
9323 { "reserved1", "rrlp.reserved1",
9324 FT_UINT32, BASE_DEC, NULL, 0,
9325 "INTEGER_0_8388607", HFILL }},
9326 { &hf_rrlp_reserved2,
9327 { "reserved2", "rrlp.reserved2",
9328 FT_UINT32, BASE_DEC, NULL, 0,
9329 "INTEGER_0_16777215", HFILL }},
9330 { &hf_rrlp_reserved3,
9331 { "reserved3", "rrlp.reserved3",
9332 FT_UINT32, BASE_DEC, NULL, 0,
9333 "INTEGER_0_16777215", HFILL }},
9334 { &hf_rrlp_reserved4,
9335 { "reserved4", "rrlp.reserved4",
9336 FT_UINT32, BASE_DEC, NULL, 0,
9337 "INTEGER_0_65535", HFILL }},
9338 { &hf_rrlp_alfa0,
9339 { "alfa0", "rrlp.alfa0",
9340 FT_INT32, BASE_DEC, NULL, 0,
9341 "INTEGER_M128_127", HFILL }},
9342 { &hf_rrlp_alfa1,
9343 { "alfa1", "rrlp.alfa1",
9344 FT_INT32, BASE_DEC, NULL, 0,
9345 "INTEGER_M128_127", HFILL }},
9346 { &hf_rrlp_alfa2,
9347 { "alfa2", "rrlp.alfa2",
9348 FT_INT32, BASE_DEC, NULL, 0,
9349 "INTEGER_M128_127", HFILL }},
9350 { &hf_rrlp_alfa3,
9351 { "alfa3", "rrlp.alfa3",
9352 FT_INT32, BASE_DEC, NULL, 0,
9353 "INTEGER_M128_127", HFILL }},
9354 { &hf_rrlp_beta0,
9355 { "beta0", "rrlp.beta0",
9356 FT_INT32, BASE_DEC, NULL, 0,
9357 "INTEGER_M128_127", HFILL }},
9358 { &hf_rrlp_beta1,
9359 { "beta1", "rrlp.beta1",
9360 FT_INT32, BASE_DEC, NULL, 0,
9361 "INTEGER_M128_127", HFILL }},
9362 { &hf_rrlp_beta2,
9363 { "beta2", "rrlp.beta2",
9364 FT_INT32, BASE_DEC, NULL, 0,
9365 "INTEGER_M128_127", HFILL }},
9366 { &hf_rrlp_beta3,
9367 { "beta3", "rrlp.beta3",
9368 FT_INT32, BASE_DEC, NULL, 0,
9369 "INTEGER_M128_127", HFILL }},
9370 { &hf_rrlp_utcA1,
9371 { "utcA1", "rrlp.utcA1",
9372 FT_INT32, BASE_DEC, NULL, 0,
9373 "INTEGER_M8388608_8388607", HFILL }},
9374 { &hf_rrlp_utcA0,
9375 { "utcA0", "rrlp.utcA0",
9376 FT_INT32, BASE_DEC, NULL, 0,
9377 "INTEGER_M2147483648_2147483647", HFILL }},
9378 { &hf_rrlp_utcTot,
9379 { "utcTot", "rrlp.utcTot",
9380 FT_UINT32, BASE_DEC, NULL, 0,
9381 "INTEGER_0_255", HFILL }},
9382 { &hf_rrlp_utcWNt,
9383 { "utcWNt", "rrlp.utcWNt",
9384 FT_UINT32, BASE_DEC, NULL, 0,
9385 "INTEGER_0_255", HFILL }},
9386 { &hf_rrlp_utcDeltaTls,
9387 { "utcDeltaTls", "rrlp.utcDeltaTls",
9388 FT_INT32, BASE_DEC, NULL, 0,
9389 "INTEGER_M128_127", HFILL }},
9390 { &hf_rrlp_utcWNlsf,
9391 { "utcWNlsf", "rrlp.utcWNlsf",
9392 FT_UINT32, BASE_DEC, NULL, 0,
9393 "INTEGER_0_255", HFILL }},
9394 { &hf_rrlp_utcDN,
9395 { "utcDN", "rrlp.utcDN",
9396 FT_INT32, BASE_DEC, NULL, 0,
9397 "INTEGER_M128_127", HFILL }},
9398 { &hf_rrlp_utcDeltaTlsf,
9399 { "utcDeltaTlsf", "rrlp.utcDeltaTlsf",
9400 FT_INT32, BASE_DEC, NULL, 0,
9401 "INTEGER_M128_127", HFILL }},
9402 { &hf_rrlp_alamanacWNa,
9403 { "alamanacWNa", "rrlp.alamanacWNa",
9404 FT_UINT32, BASE_DEC, NULL, 0,
9405 "INTEGER_0_255", HFILL }},
9406 { &hf_rrlp_almanacList,
9407 { "almanacList", "rrlp.almanacList",
9408 FT_UINT32, BASE_DEC, NULL, 0,
9409 "SeqOfAlmanacElement", HFILL }},
9410 { &hf_rrlp_SeqOfAlmanacElement_item,
9411 { "AlmanacElement", "rrlp.AlmanacElement_element",
9412 FT_NONE, BASE_NONE, NULL, 0,
9413 NULL, HFILL }},
9414 { &hf_rrlp_almanacE,
9415 { "almanacE", "rrlp.almanacE",
9416 FT_UINT32, BASE_DEC, NULL, 0,
9417 "INTEGER_0_65535", HFILL }},
9418 { &hf_rrlp_alamanacToa,
9419 { "alamanacToa", "rrlp.alamanacToa",
9420 FT_UINT32, BASE_DEC, NULL, 0,
9421 "INTEGER_0_255", HFILL }},
9422 { &hf_rrlp_almanacKsii,
9423 { "almanacKsii", "rrlp.almanacKsii",
9424 FT_INT32, BASE_DEC, NULL, 0,
9425 "INTEGER_M32768_32767", HFILL }},
9426 { &hf_rrlp_almanacOmegaDot,
9427 { "almanacOmegaDot", "rrlp.almanacOmegaDot",
9428 FT_INT32, BASE_DEC, NULL, 0,
9429 "INTEGER_M32768_32767", HFILL }},
9430 { &hf_rrlp_almanacSVhealth,
9431 { "almanacSVhealth", "rrlp.almanacSVhealth",
9432 FT_UINT32, BASE_DEC, NULL, 0,
9433 "INTEGER_0_255", HFILL }},
9434 { &hf_rrlp_almanacAPowerHalf,
9435 { "almanacAPowerHalf", "rrlp.almanacAPowerHalf",
9436 FT_UINT32, BASE_DEC, NULL, 0,
9437 "INTEGER_0_16777215", HFILL }},
9438 { &hf_rrlp_almanacOmega0,
9439 { "almanacOmega0", "rrlp.almanacOmega0",
9440 FT_INT32, BASE_DEC, NULL, 0,
9441 "INTEGER_M8388608_8388607", HFILL }},
9442 { &hf_rrlp_almanacW,
9443 { "almanacW", "rrlp.almanacW",
9444 FT_INT32, BASE_DEC, NULL, 0,
9445 "INTEGER_M8388608_8388607", HFILL }},
9446 { &hf_rrlp_almanacM0,
9447 { "almanacM0", "rrlp.almanacM0",
9448 FT_INT32, BASE_DEC, NULL, 0,
9449 "INTEGER_M8388608_8388607", HFILL }},
9450 { &hf_rrlp_almanacAF0,
9451 { "almanacAF0", "rrlp.almanacAF0",
9452 FT_INT32, BASE_DEC, NULL, 0,
9453 "INTEGER_M1024_1023", HFILL }},
9454 { &hf_rrlp_almanacAF1,
9455 { "almanacAF1", "rrlp.almanacAF1",
9456 FT_INT32, BASE_DEC, NULL, 0,
9457 "INTEGER_M1024_1023", HFILL }},
9458 { &hf_rrlp_timeRelation,
9459 { "timeRelation", "rrlp.timeRelation_element",
9460 FT_NONE, BASE_NONE, NULL, 0,
9461 NULL, HFILL }},
9462 { &hf_rrlp_acquisList,
9463 { "acquisList", "rrlp.acquisList",
9464 FT_UINT32, BASE_DEC, NULL, 0,
9465 "SeqOfAcquisElement", HFILL }},
9466 { &hf_rrlp_SeqOfAcquisElement_item,
9467 { "AcquisElement", "rrlp.AcquisElement_element",
9468 FT_NONE, BASE_NONE, NULL, 0,
9469 NULL, HFILL }},
9470 { &hf_rrlp_gpsTOW_03,
9471 { "gpsTOW", "rrlp.gpsTOW",
9472 FT_UINT32, BASE_DEC, NULL, 0,
9473 "GPSTOW23b", HFILL }},
9474 { &hf_rrlp_svid,
9475 { "svid", "rrlp.svid",
9476 FT_UINT32, BASE_DEC, NULL, 0,
9477 "SatelliteID", HFILL }},
9478 { &hf_rrlp_doppler0,
9479 { "doppler0", "rrlp.doppler0",
9480 FT_INT32, BASE_DEC, NULL, 0,
9481 "INTEGER_M2048_2047", HFILL }},
9482 { &hf_rrlp_addionalDoppler,
9483 { "addionalDoppler", "rrlp.addionalDoppler_element",
9484 FT_NONE, BASE_NONE, NULL, 0,
9485 "AddionalDopplerFields", HFILL }},
9486 { &hf_rrlp_codePhase,
9487 { "codePhase", "rrlp.codePhase",
9488 FT_UINT32, BASE_DEC, NULL, 0,
9489 "INTEGER_0_1022", HFILL }},
9490 { &hf_rrlp_intCodePhase,
9491 { "intCodePhase", "rrlp.intCodePhase",
9492 FT_UINT32, BASE_DEC, NULL, 0,
9493 "INTEGER_0_19", HFILL }},
9494 { &hf_rrlp_gpsBitNumber,
9495 { "gpsBitNumber", "rrlp.gpsBitNumber",
9496 FT_UINT32, BASE_DEC, NULL, 0,
9497 "INTEGER_0_3", HFILL }},
9498 { &hf_rrlp_codePhaseSearchWindow,
9499 { "codePhaseSearchWindow", "rrlp.codePhaseSearchWindow",
9500 FT_UINT32, BASE_DEC, NULL, 0,
9501 "INTEGER_0_15", HFILL }},
9502 { &hf_rrlp_addionalAngle,
9503 { "addionalAngle", "rrlp.addionalAngle_element",
9504 FT_NONE, BASE_NONE, NULL, 0,
9505 "AddionalAngleFields", HFILL }},
9506 { &hf_rrlp_doppler1,
9507 { "doppler1", "rrlp.doppler1",
9508 FT_UINT32, BASE_DEC, NULL, 0,
9509 "INTEGER_0_63", HFILL }},
9510 { &hf_rrlp_dopplerUncertainty,
9511 { "dopplerUncertainty", "rrlp.dopplerUncertainty",
9512 FT_UINT32, BASE_DEC, NULL, 0,
9513 "INTEGER_0_7", HFILL }},
9514 { &hf_rrlp_azimuth,
9515 { "azimuth", "rrlp.azimuth",
9516 FT_UINT32, BASE_DEC, NULL, 0,
9517 "INTEGER_0_31", HFILL }},
9518 { &hf_rrlp_elevation,
9519 { "elevation", "rrlp.elevation",
9520 FT_UINT32, BASE_DEC, NULL, 0,
9521 "INTEGER_0_7", HFILL }},
9522 { &hf_rrlp_SeqOf_BadSatelliteSet_item,
9523 { "SatelliteID", "rrlp.SatelliteID",
9524 FT_UINT32, BASE_DEC, NULL, 0,
9525 NULL, HFILL }},
9526 { &hf_rrlp_rel98_Ext_ExpOTD,
9527 { "rel98-Ext-ExpOTD", "rrlp.rel98_Ext_ExpOTD_element",
9528 FT_NONE, BASE_NONE, NULL, 0,
9529 NULL, HFILL }},
9530 { &hf_rrlp_gpsTimeAssistanceMeasurementRequest,
9531 { "gpsTimeAssistanceMeasurementRequest", "rrlp.gpsTimeAssistanceMeasurementRequest_element",
9532 FT_NONE, BASE_NONE, NULL, 0,
9533 NULL, HFILL }},
9534 { &hf_rrlp_gpsReferenceTimeUncertainty,
9535 { "gpsReferenceTimeUncertainty", "rrlp.gpsReferenceTimeUncertainty",
9536 FT_UINT32, BASE_DEC, NULL, 0,
9537 NULL, HFILL }},
9538 { &hf_rrlp_msrAssistData_R98_ExpOTD,
9539 { "msrAssistData-R98-ExpOTD", "rrlp.msrAssistData_R98_ExpOTD_element",
9540 FT_NONE, BASE_NONE, NULL, 0,
9541 NULL, HFILL }},
9542 { &hf_rrlp_systemInfoAssistData_R98_ExpOTD,
9543 { "systemInfoAssistData-R98-ExpOTD", "rrlp.systemInfoAssistData_R98_ExpOTD_element",
9544 FT_NONE, BASE_NONE, NULL, 0,
9545 NULL, HFILL }},
9546 { &hf_rrlp_msrAssistList_R98_ExpOTD,
9547 { "msrAssistList-R98-ExpOTD", "rrlp.msrAssistList_R98_ExpOTD",
9548 FT_UINT32, BASE_DEC, NULL, 0,
9549 "SeqOfMsrAssistBTS_R98_ExpOTD", HFILL }},
9550 { &hf_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD_item,
9551 { "MsrAssistBTS-R98-ExpOTD", "rrlp.MsrAssistBTS_R98_ExpOTD_element",
9552 FT_NONE, BASE_NONE, NULL, 0,
9553 NULL, HFILL }},
9554 { &hf_rrlp_expectedOTD,
9555 { "expectedOTD", "rrlp.expectedOTD",
9556 FT_UINT32, BASE_DEC, NULL, 0,
9557 NULL, HFILL }},
9558 { &hf_rrlp_expOTDUncertainty,
9559 { "expOTDUncertainty", "rrlp.expOTDUncertainty",
9560 FT_UINT32, BASE_DEC, NULL, 0,
9561 NULL, HFILL }},
9562 { &hf_rrlp_systemInfoAssistListR98_ExpOTD,
9563 { "systemInfoAssistListR98-ExpOTD", "rrlp.systemInfoAssistListR98_ExpOTD",
9564 FT_UINT32, BASE_DEC, NULL, 0,
9565 "SeqOfSystemInfoAssistBTS_R98_ExpOTD", HFILL }},
9566 { &hf_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD_item,
9567 { "SystemInfoAssistBTS-R98-ExpOTD", "rrlp.SystemInfoAssistBTS_R98_ExpOTD",
9568 FT_UINT32, BASE_DEC, VALS(rrlp_SystemInfoAssistBTS_R98_ExpOTD_vals), 0,
9569 NULL, HFILL }},
9570 { &hf_rrlp_present_01,
9571 { "present", "rrlp.present_element",
9572 FT_NONE, BASE_NONE, NULL, 0,
9573 "AssistBTSData_R98_ExpOTD", HFILL }},
9574 { &hf_rrlp_expOTDuncertainty,
9575 { "expOTDuncertainty", "rrlp.expOTDuncertainty",
9576 FT_UINT32, BASE_DEC, NULL, 0,
9577 NULL, HFILL }},
9578 { &hf_rrlp_referenceFrameMSB,
9579 { "referenceFrameMSB", "rrlp.referenceFrameMSB",
9580 FT_UINT32, BASE_DEC, NULL, 0,
9581 "INTEGER_0_63", HFILL }},
9582 { &hf_rrlp_gpsTowSubms,
9583 { "gpsTowSubms", "rrlp.gpsTowSubms",
9584 FT_UINT32, BASE_DEC, NULL, 0,
9585 "INTEGER_0_9999", HFILL }},
9586 { &hf_rrlp_deltaTow,
9587 { "deltaTow", "rrlp.deltaTow",
9588 FT_UINT32, BASE_DEC, NULL, 0,
9589 "INTEGER_0_127", HFILL }},
9590 { &hf_rrlp_rel_98_Ext_MeasureInfo,
9591 { "rel-98-Ext-MeasureInfo", "rrlp.rel_98_Ext_MeasureInfo_element",
9592 FT_NONE, BASE_NONE, NULL, 0,
9593 "T_rel_98_Ext_MeasureInfo", HFILL }},
9594 { &hf_rrlp_otd_MeasureInfo_R98_Ext,
9595 { "otd-MeasureInfo-R98-Ext", "rrlp.otd_MeasureInfo_R98_Ext_element",
9596 FT_NONE, BASE_NONE, NULL, 0,
9597 NULL, HFILL }},
9598 { &hf_rrlp_timeAssistanceMeasurements,
9599 { "timeAssistanceMeasurements", "rrlp.timeAssistanceMeasurements_element",
9600 FT_NONE, BASE_NONE, NULL, 0,
9601 "GPSTimeAssistanceMeasurements", HFILL }},
9602 { &hf_rrlp_otdMsrFirstSets_R98_Ext,
9603 { "otdMsrFirstSets-R98-Ext", "rrlp.otdMsrFirstSets_R98_Ext_element",
9604 FT_NONE, BASE_NONE, NULL, 0,
9605 "OTD_MsrElementFirst_R98_Ext", HFILL }},
9606 { &hf_rrlp_otd_FirstSetMsrs_R98_Ext,
9607 { "otd-FirstSetMsrs-R98-Ext", "rrlp.otd_FirstSetMsrs_R98_Ext",
9608 FT_UINT32, BASE_DEC, NULL, 0,
9609 "SeqOfOTD_FirstSetMsrs_R98_Ext", HFILL }},
9610 { &hf_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext_item,
9611 { "OTD-FirstSetMsrs", "rrlp.OTD_FirstSetMsrs_element",
9612 FT_NONE, BASE_NONE, NULL, 0,
9613 NULL, HFILL }},
9614 { &hf_rrlp_otd_MeasureInfo_5_Ext,
9615 { "otd-MeasureInfo-5-Ext", "rrlp.otd_MeasureInfo_5_Ext",
9616 FT_UINT32, BASE_DEC, NULL, 0,
9617 NULL, HFILL }},
9618 { &hf_rrlp_ulPseudoSegInd,
9619 { "ulPseudoSegInd", "rrlp.ulPseudoSegInd",
9620 FT_UINT32, BASE_DEC, VALS(rrlp_UlPseudoSegInd_vals), 0,
9621 NULL, HFILL }},
9622 { &hf_rrlp_smlc_code,
9623 { "smlc-code", "rrlp.smlc_code",
9624 FT_UINT32, BASE_DEC, NULL, 0,
9625 "INTEGER_0_63", HFILL }},
9626 { &hf_rrlp_transaction_ID,
9627 { "transaction-ID", "rrlp.transaction_ID",
9628 FT_UINT32, BASE_DEC, NULL, 0,
9629 "INTEGER_0_262143", HFILL }},
9630 { &hf_rrlp_velocityRequested,
9631 { "velocityRequested", "rrlp.velocityRequested_element",
9632 FT_NONE, BASE_NONE, NULL, 0,
9633 NULL, HFILL }},
9634 { &hf_rrlp_ganssPositionMethod,
9635 { "ganssPositionMethod", "rrlp.ganssPositionMethod",
9636 FT_BYTES, BASE_NONE, NULL, 0,
9637 "GANSSPositioningMethod", HFILL }},
9638 { &hf_rrlp_ganss_AssistData,
9639 { "ganss-AssistData", "rrlp.ganss_AssistData_element",
9640 FT_NONE, BASE_NONE, NULL, 0,
9641 NULL, HFILL }},
9642 { &hf_rrlp_ganssCarrierPhaseMeasurementRequest,
9643 { "ganssCarrierPhaseMeasurementRequest", "rrlp.ganssCarrierPhaseMeasurementRequest_element",
9644 FT_NONE, BASE_NONE, NULL, 0,
9645 NULL, HFILL }},
9646 { &hf_rrlp_ganssTODGSMTimeAssociationMeasurementRequest,
9647 { "ganssTODGSMTimeAssociationMeasurementRequest", "rrlp.ganssTODGSMTimeAssociationMeasurementRequest_element",
9648 FT_NONE, BASE_NONE, NULL, 0,
9649 NULL, HFILL }},
9650 { &hf_rrlp_requiredResponseTime,
9651 { "requiredResponseTime", "rrlp.requiredResponseTime",
9652 FT_UINT32, BASE_DEC, NULL, 0,
9653 NULL, HFILL }},
9654 { &hf_rrlp_add_GPS_AssistData,
9655 { "add-GPS-AssistData", "rrlp.add_GPS_AssistData_element",
9656 FT_NONE, BASE_NONE, NULL, 0,
9657 NULL, HFILL }},
9658 { &hf_rrlp_ganssMultiFreqMeasurementRequest,
9659 { "ganssMultiFreqMeasurementRequest", "rrlp.ganssMultiFreqMeasurementRequest_element",
9660 FT_NONE, BASE_NONE, NULL, 0,
9661 NULL, HFILL }},
9662 { &hf_rrlp_ganss_controlHeader,
9663 { "ganss-controlHeader", "rrlp.ganss_controlHeader_element",
9664 FT_NONE, BASE_NONE, NULL, 0,
9665 NULL, HFILL }},
9666 { &hf_rrlp_ganssCommonAssistData,
9667 { "ganssCommonAssistData", "rrlp.ganssCommonAssistData_element",
9668 FT_NONE, BASE_NONE, NULL, 0,
9669 NULL, HFILL }},
9670 { &hf_rrlp_ganssGenericAssistDataList,
9671 { "ganssGenericAssistDataList", "rrlp.ganssGenericAssistDataList",
9672 FT_UINT32, BASE_DEC, NULL, 0,
9673 "SeqOfGANSSGenericAssistDataElement", HFILL }},
9674 { &hf_rrlp_ganssReferenceTime,
9675 { "ganssReferenceTime", "rrlp.ganssReferenceTime_element",
9676 FT_NONE, BASE_NONE, NULL, 0,
9677 NULL, HFILL }},
9678 { &hf_rrlp_ganssRefLocation,
9679 { "ganssRefLocation", "rrlp.ganssRefLocation_element",
9680 FT_NONE, BASE_NONE, NULL, 0,
9681 NULL, HFILL }},
9682 { &hf_rrlp_ganssIonosphericModel,
9683 { "ganssIonosphericModel", "rrlp.ganssIonosphericModel_element",
9684 FT_NONE, BASE_NONE, NULL, 0,
9685 NULL, HFILL }},
9686 { &hf_rrlp_ganssAddIonosphericModel,
9687 { "ganssAddIonosphericModel", "rrlp.ganssAddIonosphericModel_element",
9688 FT_NONE, BASE_NONE, NULL, 0,
9689 NULL, HFILL }},
9690 { &hf_rrlp_ganssEarthOrientParam,
9691 { "ganssEarthOrientParam", "rrlp.ganssEarthOrientParam_element",
9692 FT_NONE, BASE_NONE, NULL, 0,
9693 NULL, HFILL }},
9694 { &hf_rrlp_ganssReferenceTime_R10_Ext,
9695 { "ganssReferenceTime-R10-Ext", "rrlp.ganssReferenceTime_R10_Ext_element",
9696 FT_NONE, BASE_NONE, NULL, 0,
9697 NULL, HFILL }},
9698 { &hf_rrlp_SeqOfGANSSGenericAssistDataElement_item,
9699 { "GANSSGenericAssistDataElement", "rrlp.GANSSGenericAssistDataElement_element",
9700 FT_NONE, BASE_NONE, NULL, 0,
9701 NULL, HFILL }},
9702 { &hf_rrlp_ganssID,
9703 { "ganssID", "rrlp.ganssID",
9704 FT_UINT32, BASE_DEC, NULL, 0,
9705 "INTEGER_0_7", HFILL }},
9706 { &hf_rrlp_ganssTimeModel,
9707 { "ganssTimeModel", "rrlp.ganssTimeModel",
9708 FT_UINT32, BASE_DEC, NULL, 0,
9709 "SeqOfGANSSTimeModel", HFILL }},
9710 { &hf_rrlp_ganssDiffCorrections,
9711 { "ganssDiffCorrections", "rrlp.ganssDiffCorrections_element",
9712 FT_NONE, BASE_NONE, NULL, 0,
9713 NULL, HFILL }},
9714 { &hf_rrlp_ganssNavigationModel,
9715 { "ganssNavigationModel", "rrlp.ganssNavigationModel_element",
9716 FT_NONE, BASE_NONE, NULL, 0,
9717 "GANSSNavModel", HFILL }},
9718 { &hf_rrlp_ganssRealTimeIntegrity,
9719 { "ganssRealTimeIntegrity", "rrlp.ganssRealTimeIntegrity_element",
9720 FT_NONE, BASE_NONE, NULL, 0,
9721 NULL, HFILL }},
9722 { &hf_rrlp_ganssDataBitAssist,
9723 { "ganssDataBitAssist", "rrlp.ganssDataBitAssist_element",
9724 FT_NONE, BASE_NONE, NULL, 0,
9725 NULL, HFILL }},
9726 { &hf_rrlp_ganssRefMeasurementAssist,
9727 { "ganssRefMeasurementAssist", "rrlp.ganssRefMeasurementAssist_element",
9728 FT_NONE, BASE_NONE, NULL, 0,
9729 NULL, HFILL }},
9730 { &hf_rrlp_ganssAlmanacModel,
9731 { "ganssAlmanacModel", "rrlp.ganssAlmanacModel_element",
9732 FT_NONE, BASE_NONE, NULL, 0,
9733 NULL, HFILL }},
9734 { &hf_rrlp_ganssUTCModel,
9735 { "ganssUTCModel", "rrlp.ganssUTCModel_element",
9736 FT_NONE, BASE_NONE, NULL, 0,
9737 NULL, HFILL }},
9738 { &hf_rrlp_ganssEphemerisExtension,
9739 { "ganssEphemerisExtension", "rrlp.ganssEphemerisExtension_element",
9740 FT_NONE, BASE_NONE, NULL, 0,
9741 NULL, HFILL }},
9742 { &hf_rrlp_ganssEphemerisExtCheck,
9743 { "ganssEphemerisExtCheck", "rrlp.ganssEphemerisExtCheck_element",
9744 FT_NONE, BASE_NONE, NULL, 0,
9745 "GANSSEphemerisExtensionCheck", HFILL }},
9746 { &hf_rrlp_sbasID_int,
9747 { "sbasID", "rrlp.sbasID_int",
9748 FT_UINT32, BASE_DEC, NULL, 0,
9749 "INTEGER_0_7", HFILL }},
9750 { &hf_rrlp_ganssAddUTCModel,
9751 { "ganssAddUTCModel", "rrlp.ganssAddUTCModel",
9752 FT_UINT32, BASE_DEC, VALS(rrlp_GANSSAddUTCModel_vals), 0,
9753 NULL, HFILL }},
9754 { &hf_rrlp_ganssAuxiliaryInfo,
9755 { "ganssAuxiliaryInfo", "rrlp.ganssAuxiliaryInfo",
9756 FT_UINT32, BASE_DEC, VALS(rrlp_GANSSAuxiliaryInformation_vals), 0,
9757 "GANSSAuxiliaryInformation", HFILL }},
9758 { &hf_rrlp_ganssDiffCorrectionsValidityPeriod,
9759 { "ganssDiffCorrectionsValidityPeriod", "rrlp.ganssDiffCorrectionsValidityPeriod",
9760 FT_UINT32, BASE_DEC, NULL, 0,
9761 NULL, HFILL }},
9762 { &hf_rrlp_ganssTimeModel_R10_Ext,
9763 { "ganssTimeModel-R10-Ext", "rrlp.ganssTimeModel_R10_Ext",
9764 FT_UINT32, BASE_DEC, NULL, 0,
9765 "SeqOfGANSSTimeModel_R10_Ext", HFILL }},
9766 { &hf_rrlp_ganssRefMeasurementAssist_R10_Ext,
9767 { "ganssRefMeasurementAssist-R10-Ext", "rrlp.ganssRefMeasurementAssist_R10_Ext",
9768 FT_UINT32, BASE_DEC, NULL, 0,
9769 NULL, HFILL }},
9770 { &hf_rrlp_ganssAlmanacModel_R10_Ext,
9771 { "ganssAlmanacModel-R10-Ext", "rrlp.ganssAlmanacModel_R10_Ext_element",
9772 FT_NONE, BASE_NONE, NULL, 0,
9773 NULL, HFILL }},
9774 { &hf_rrlp_ganssAlmanacModel_R12_Ext,
9775 { "ganssAlmanacModel-R12-Ext", "rrlp.ganssAlmanacModel_R12_Ext_element",
9776 FT_NONE, BASE_NONE, NULL, 0,
9777 NULL, HFILL }},
9778 { &hf_rrlp_ganssRefMeasurementAssist_R12_Ext,
9779 { "ganssRefMeasurementAssist-R12-Ext", "rrlp.ganssRefMeasurementAssist_R12_Ext_element",
9780 FT_NONE, BASE_NONE, NULL, 0,
9781 NULL, HFILL }},
9782 { &hf_rrlp_bdsDifferentialCorrections_r12,
9783 { "bdsDifferentialCorrections-r12", "rrlp.bdsDifferentialCorrections_r12_element",
9784 FT_NONE, BASE_NONE, NULL, 0,
9785 "BDS_DiffCorrections_r12", HFILL }},
9786 { &hf_rrlp_bdsGridModel_r12,
9787 { "bdsGridModel-r12", "rrlp.bdsGridModel_r12_element",
9788 FT_NONE, BASE_NONE, NULL, 0,
9789 "BDS_GridModelParameter_r12", HFILL }},
9790 { &hf_rrlp_ganssRefTimeInfo,
9791 { "ganssRefTimeInfo", "rrlp.ganssRefTimeInfo_element",
9792 FT_NONE, BASE_NONE, NULL, 0,
9793 NULL, HFILL }},
9794 { &hf_rrlp_ganssTOD_GSMTimeAssociation,
9795 { "ganssTOD-GSMTimeAssociation", "rrlp.ganssTOD_GSMTimeAssociation_element",
9796 FT_NONE, BASE_NONE, NULL, 0,
9797 NULL, HFILL }},
9798 { &hf_rrlp_ganssDay,
9799 { "ganssDay", "rrlp.ganssDay",
9800 FT_UINT32, BASE_DEC, NULL, 0,
9801 "INTEGER_0_8191", HFILL }},
9802 { &hf_rrlp_ganssTOD,
9803 { "ganssTOD", "rrlp.ganssTOD",
9804 FT_UINT32, BASE_DEC, NULL, 0,
9805 NULL, HFILL }},
9806 { &hf_rrlp_ganssTODUncertainty,
9807 { "ganssTODUncertainty", "rrlp.ganssTODUncertainty",
9808 FT_UINT32, BASE_DEC, NULL, 0,
9809 NULL, HFILL }},
9810 { &hf_rrlp_ganssTimeID,
9811 { "ganssTimeID", "rrlp.ganssTimeID",
9812 FT_UINT32, BASE_DEC, NULL, 0,
9813 "INTEGER_0_7", HFILL }},
9814 { &hf_rrlp_ganssDayCycleNumber,
9815 { "ganssDayCycleNumber", "rrlp.ganssDayCycleNumber",
9816 FT_UINT32, BASE_DEC, NULL, 0,
9817 "INTEGER_0_7", HFILL }},
9818 { &hf_rrlp_frameDrift,
9819 { "frameDrift", "rrlp.frameDrift",
9820 FT_INT32, BASE_DEC, NULL, 0,
9821 NULL, HFILL }},
9822 { &hf_rrlp_ganssIonoModel,
9823 { "ganssIonoModel", "rrlp.ganssIonoModel_element",
9824 FT_NONE, BASE_NONE, NULL, 0,
9825 "GANSSIonosphereModel", HFILL }},
9826 { &hf_rrlp_ganssIonoStormFlags,
9827 { "ganssIonoStormFlags", "rrlp.ganssIonoStormFlags_element",
9828 FT_NONE, BASE_NONE, NULL, 0,
9829 NULL, HFILL }},
9830 { &hf_rrlp_ai0,
9831 { "ai0", "rrlp.ai0",
9832 FT_UINT32, BASE_DEC, NULL, 0,
9833 "INTEGER_0_2047", HFILL }},
9834 { &hf_rrlp_ai1,
9835 { "ai1", "rrlp.ai1",
9836 FT_INT32, BASE_DEC, NULL, 0,
9837 "INTEGER_M1024_1023", HFILL }},
9838 { &hf_rrlp_ai2,
9839 { "ai2", "rrlp.ai2",
9840 FT_INT32, BASE_DEC, NULL, 0,
9841 "INTEGER_M8192_8191", HFILL }},
9842 { &hf_rrlp_ionoStormFlag1,
9843 { "ionoStormFlag1", "rrlp.ionoStormFlag1",
9844 FT_UINT32, BASE_DEC, NULL, 0,
9845 "INTEGER_0_1", HFILL }},
9846 { &hf_rrlp_ionoStormFlag2,
9847 { "ionoStormFlag2", "rrlp.ionoStormFlag2",
9848 FT_UINT32, BASE_DEC, NULL, 0,
9849 "INTEGER_0_1", HFILL }},
9850 { &hf_rrlp_ionoStormFlag3,
9851 { "ionoStormFlag3", "rrlp.ionoStormFlag3",
9852 FT_UINT32, BASE_DEC, NULL, 0,
9853 "INTEGER_0_1", HFILL }},
9854 { &hf_rrlp_ionoStormFlag4,
9855 { "ionoStormFlag4", "rrlp.ionoStormFlag4",
9856 FT_UINT32, BASE_DEC, NULL, 0,
9857 "INTEGER_0_1", HFILL }},
9858 { &hf_rrlp_ionoStormFlag5,
9859 { "ionoStormFlag5", "rrlp.ionoStormFlag5",
9860 FT_UINT32, BASE_DEC, NULL, 0,
9861 "INTEGER_0_1", HFILL }},
9862 { &hf_rrlp_dataID,
9863 { "dataID", "rrlp.dataID",
9864 FT_BYTES, BASE_NONE, NULL, 0,
9865 "BIT_STRING_SIZE_2", HFILL }},
9866 { &hf_rrlp_ionoModel,
9867 { "ionoModel", "rrlp.ionoModel_element",
9868 FT_NONE, BASE_NONE, NULL, 0,
9869 "IonosphericModel", HFILL }},
9870 { &hf_rrlp_teop,
9871 { "teop", "rrlp.teop",
9872 FT_UINT32, BASE_DEC, NULL, 0,
9873 "INTEGER_0_65535", HFILL }},
9874 { &hf_rrlp_pmX,
9875 { "pmX", "rrlp.pmX",
9876 FT_INT32, BASE_DEC, NULL, 0,
9877 "INTEGER_M1048576_1048575", HFILL }},
9878 { &hf_rrlp_pmXdot,
9879 { "pmXdot", "rrlp.pmXdot",
9880 FT_INT32, BASE_DEC, NULL, 0,
9881 "INTEGER_M16384_16383", HFILL }},
9882 { &hf_rrlp_pmY,
9883 { "pmY", "rrlp.pmY",
9884 FT_INT32, BASE_DEC, NULL, 0,
9885 "INTEGER_M1048576_1048575", HFILL }},
9886 { &hf_rrlp_pmYdot,
9887 { "pmYdot", "rrlp.pmYdot",
9888 FT_INT32, BASE_DEC, NULL, 0,
9889 "INTEGER_M16384_16383", HFILL }},
9890 { &hf_rrlp_deltaUT1,
9891 { "deltaUT1", "rrlp.deltaUT1",
9892 FT_INT32, BASE_DEC, NULL, 0,
9893 "INTEGER_M1073741824_1073741823", HFILL }},
9894 { &hf_rrlp_deltaUT1dot,
9895 { "deltaUT1dot", "rrlp.deltaUT1dot",
9896 FT_INT32, BASE_DEC, NULL, 0,
9897 "INTEGER_M262144_262143", HFILL }},
9898 { &hf_rrlp_SeqOfGANSSTimeModel_item,
9899 { "GANSSTimeModelElement", "rrlp.GANSSTimeModelElement_element",
9900 FT_NONE, BASE_NONE, NULL, 0,
9901 NULL, HFILL }},
9902 { &hf_rrlp_ganssTimeModelRefTime,
9903 { "ganssTimeModelRefTime", "rrlp.ganssTimeModelRefTime",
9904 FT_UINT32, BASE_DEC, NULL, 0,
9905 "INTEGER_0_65535", HFILL }},
9906 { &hf_rrlp_tA0,
9907 { "tA0", "rrlp.tA0",
9908 FT_INT32, BASE_DEC, NULL, 0,
9909 NULL, HFILL }},
9910 { &hf_rrlp_tA1,
9911 { "tA1", "rrlp.tA1",
9912 FT_INT32, BASE_DEC, NULL, 0,
9913 NULL, HFILL }},
9914 { &hf_rrlp_tA2,
9915 { "tA2", "rrlp.tA2",
9916 FT_INT32, BASE_DEC, NULL, 0,
9917 NULL, HFILL }},
9918 { &hf_rrlp_gnssTOID,
9919 { "gnssTOID", "rrlp.gnssTOID",
9920 FT_UINT32, BASE_DEC, NULL, 0,
9921 "INTEGER_0_7", HFILL }},
9922 { &hf_rrlp_weekNumber,
9923 { "weekNumber", "rrlp.weekNumber",
9924 FT_UINT32, BASE_DEC, NULL, 0,
9925 "INTEGER_0_8191", HFILL }},
9926 { &hf_rrlp_SeqOfGANSSTimeModel_R10_Ext_item,
9927 { "GANSSTimeModelElement-R10-Ext", "rrlp.GANSSTimeModelElement_R10_Ext_element",
9928 FT_NONE, BASE_NONE, NULL, 0,
9929 NULL, HFILL }},
9930 { &hf_rrlp_deltaT,
9931 { "deltaT", "rrlp.deltaT",
9932 FT_INT32, BASE_DEC, NULL, 0,
9933 "INTEGER_M128_127", HFILL }},
9934 { &hf_rrlp_dganssRefTime,
9935 { "dganssRefTime", "rrlp.dganssRefTime",
9936 FT_UINT32, BASE_DEC, NULL, 0,
9937 "INTEGER_0_119", HFILL }},
9938 { &hf_rrlp_sgnTypeList,
9939 { "sgnTypeList", "rrlp.sgnTypeList",
9940 FT_UINT32, BASE_DEC, NULL, 0,
9941 "SeqOfSgnTypeElement", HFILL }},
9942 { &hf_rrlp_SeqOfSgnTypeElement_item,
9943 { "SgnTypeElement", "rrlp.SgnTypeElement_element",
9944 FT_NONE, BASE_NONE, NULL, 0,
9945 NULL, HFILL }},
9946 { &hf_rrlp_ganssSignalID,
9947 { "ganssSignalID", "rrlp.ganssSignalID",
9948 FT_UINT32, BASE_DEC, NULL, 0,
9949 NULL, HFILL }},
9950 { &hf_rrlp_ganssStatusHealth,
9951 { "ganssStatusHealth", "rrlp.ganssStatusHealth",
9952 FT_UINT32, BASE_DEC, NULL, 0,
9953 "INTEGER_0_7", HFILL }},
9954 { &hf_rrlp_dganssSgnList,
9955 { "dganssSgnList", "rrlp.dganssSgnList",
9956 FT_UINT32, BASE_DEC, NULL, 0,
9957 "SeqOfDGANSSSgnElement", HFILL }},
9958 { &hf_rrlp_SeqOfDGANSSSgnElement_item,
9959 { "DGANSSSgnElement", "rrlp.DGANSSSgnElement_element",
9960 FT_NONE, BASE_NONE, NULL, 0,
9961 NULL, HFILL }},
9962 { &hf_rrlp_svID,
9963 { "svID", "rrlp.svID",
9964 FT_UINT32, BASE_DEC, NULL, 0,
9965 NULL, HFILL }},
9966 { &hf_rrlp_iod,
9967 { "iod", "rrlp.iod",
9968 FT_UINT32, BASE_DEC, NULL, 0,
9969 "INTEGER_0_1023", HFILL }},
9970 { &hf_rrlp_nonBroadcastIndFlag,
9971 { "nonBroadcastIndFlag", "rrlp.nonBroadcastIndFlag",
9972 FT_UINT32, BASE_DEC, NULL, 0,
9973 "INTEGER_0_1", HFILL }},
9974 { &hf_rrlp_ganssSatelliteList,
9975 { "ganssSatelliteList", "rrlp.ganssSatelliteList",
9976 FT_UINT32, BASE_DEC, NULL, 0,
9977 "SeqOfGANSSSatelliteElement", HFILL }},
9978 { &hf_rrlp_SeqOfGANSSSatelliteElement_item,
9979 { "GANSSSatelliteElement", "rrlp.GANSSSatelliteElement_element",
9980 FT_NONE, BASE_NONE, NULL, 0,
9981 NULL, HFILL }},
9982 { &hf_rrlp_svHealth,
9983 { "svHealth", "rrlp.svHealth",
9984 FT_BYTES, BASE_NONE, NULL, 0,
9985 "BIT_STRING_SIZE_5", HFILL }},
9986 { &hf_rrlp_ganssClockModel,
9987 { "ganssClockModel", "rrlp.ganssClockModel",
9988 FT_UINT32, BASE_DEC, VALS(rrlp_GANSSClockModel_vals), 0,
9989 NULL, HFILL }},
9990 { &hf_rrlp_ganssOrbitModel,
9991 { "ganssOrbitModel", "rrlp.ganssOrbitModel",
9992 FT_UINT32, BASE_DEC, VALS(rrlp_GANSSOrbitModel_vals), 0,
9993 NULL, HFILL }},
9994 { &hf_rrlp_svHealthMSB,
9995 { "svHealthMSB", "rrlp.svHealthMSB",
9996 FT_BYTES, BASE_NONE, NULL, 0,
9997 "BIT_STRING_SIZE_1", HFILL }},
9998 { &hf_rrlp_iodMSB,
9999 { "iodMSB", "rrlp.iodMSB",
10000 FT_UINT32, BASE_DEC, NULL, 0,
10001 "INTEGER_0_1", HFILL }},
10002 { &hf_rrlp_svHealthExt,
10003 { "svHealthExt", "rrlp.svHealthExt",
10004 FT_BYTES, BASE_NONE, NULL, 0,
10005 "BIT_STRING_SIZE_4", HFILL }},
10006 { &hf_rrlp_keplerianSet,
10007 { "keplerianSet", "rrlp.keplerianSet_element",
10008 FT_NONE, BASE_NONE, NULL, 0,
10009 "NavModel_KeplerianSet", HFILL }},
10010 { &hf_rrlp_navKeplerianSet,
10011 { "navKeplerianSet", "rrlp.navKeplerianSet_element",
10012 FT_NONE, BASE_NONE, NULL, 0,
10013 "NavModel_NAVKeplerianSet", HFILL }},
10014 { &hf_rrlp_cnavKeplerianSet,
10015 { "cnavKeplerianSet", "rrlp.cnavKeplerianSet_element",
10016 FT_NONE, BASE_NONE, NULL, 0,
10017 "NavModel_CNAVKeplerianSet", HFILL }},
10018 { &hf_rrlp_glonassECEF,
10019 { "glonassECEF", "rrlp.glonassECEF_element",
10020 FT_NONE, BASE_NONE, NULL, 0,
10021 "NavModel_GLONASSecef", HFILL }},
10022 { &hf_rrlp_sbasECEF,
10023 { "sbasECEF", "rrlp.sbasECEF_element",
10024 FT_NONE, BASE_NONE, NULL, 0,
10025 "NavModel_SBASecef", HFILL }},
10026 { &hf_rrlp_bdsKeplerianSet_r12,
10027 { "bdsKeplerianSet-r12", "rrlp.bdsKeplerianSet_r12_element",
10028 FT_NONE, BASE_NONE, NULL, 0,
10029 "NavModel_BDSKeplerianSet_r12", HFILL }},
10030 { &hf_rrlp_keplerToe,
10031 { "keplerToe", "rrlp.keplerToe",
10032 FT_UINT32, BASE_DEC, NULL, 0,
10033 "INTEGER_0_16383", HFILL }},
10034 { &hf_rrlp_keplerW,
10035 { "keplerW", "rrlp.keplerW",
10036 FT_INT32, BASE_DEC, NULL, 0,
10037 "INTEGER_M2147483648_2147483647", HFILL }},
10038 { &hf_rrlp_keplerDeltaN,
10039 { "keplerDeltaN", "rrlp.keplerDeltaN",
10040 FT_INT32, BASE_DEC, NULL, 0,
10041 "INTEGER_M32768_32767", HFILL }},
10042 { &hf_rrlp_keplerM0,
10043 { "keplerM0", "rrlp.keplerM0",
10044 FT_INT32, BASE_DEC, NULL, 0,
10045 "INTEGER_M2147483648_2147483647", HFILL }},
10046 { &hf_rrlp_keplerOmegaDot,
10047 { "keplerOmegaDot", "rrlp.keplerOmegaDot",
10048 FT_INT32, BASE_DEC, NULL, 0,
10049 "INTEGER_M8388608_8388607", HFILL }},
10050 { &hf_rrlp_keplerE,
10051 { "keplerE", "rrlp.keplerE",
10052 FT_UINT32, BASE_DEC, NULL, 0,
10053 "INTEGER_0_4294967295", HFILL }},
10054 { &hf_rrlp_keplerIDot,
10055 { "keplerIDot", "rrlp.keplerIDot",
10056 FT_INT32, BASE_DEC, NULL, 0,
10057 "INTEGER_M8192_8191", HFILL }},
10058 { &hf_rrlp_keplerAPowerHalf,
10059 { "keplerAPowerHalf", "rrlp.keplerAPowerHalf",
10060 FT_UINT32, BASE_DEC, NULL, 0,
10061 "INTEGER_0_4294967295", HFILL }},
10062 { &hf_rrlp_keplerI0,
10063 { "keplerI0", "rrlp.keplerI0",
10064 FT_INT32, BASE_DEC, NULL, 0,
10065 "INTEGER_M2147483648_2147483647", HFILL }},
10066 { &hf_rrlp_keplerOmega0,
10067 { "keplerOmega0", "rrlp.keplerOmega0",
10068 FT_INT32, BASE_DEC, NULL, 0,
10069 "INTEGER_M2147483648_2147483647", HFILL }},
10070 { &hf_rrlp_keplerCrs,
10071 { "keplerCrs", "rrlp.keplerCrs",
10072 FT_INT32, BASE_DEC, NULL, 0,
10073 "INTEGER_M32768_32767", HFILL }},
10074 { &hf_rrlp_keplerCis,
10075 { "keplerCis", "rrlp.keplerCis",
10076 FT_INT32, BASE_DEC, NULL, 0,
10077 "INTEGER_M32768_32767", HFILL }},
10078 { &hf_rrlp_keplerCus,
10079 { "keplerCus", "rrlp.keplerCus",
10080 FT_INT32, BASE_DEC, NULL, 0,
10081 "INTEGER_M32768_32767", HFILL }},
10082 { &hf_rrlp_keplerCrc,
10083 { "keplerCrc", "rrlp.keplerCrc",
10084 FT_INT32, BASE_DEC, NULL, 0,
10085 "INTEGER_M32768_32767", HFILL }},
10086 { &hf_rrlp_keplerCic,
10087 { "keplerCic", "rrlp.keplerCic",
10088 FT_INT32, BASE_DEC, NULL, 0,
10089 "INTEGER_M32768_32767", HFILL }},
10090 { &hf_rrlp_keplerCuc,
10091 { "keplerCuc", "rrlp.keplerCuc",
10092 FT_INT32, BASE_DEC, NULL, 0,
10093 "INTEGER_M32768_32767", HFILL }},
10094 { &hf_rrlp_navURA,
10095 { "navURA", "rrlp.navURA",
10096 FT_UINT32, BASE_DEC, NULL, 0,
10097 "INTEGER_0_15", HFILL }},
10098 { &hf_rrlp_navFitFlag,
10099 { "navFitFlag", "rrlp.navFitFlag",
10100 FT_UINT32, BASE_DEC, NULL, 0,
10101 "INTEGER_0_1", HFILL }},
10102 { &hf_rrlp_navToe,
10103 { "navToe", "rrlp.navToe",
10104 FT_UINT32, BASE_DEC, NULL, 0,
10105 "INTEGER_0_37799", HFILL }},
10106 { &hf_rrlp_navOmega,
10107 { "navOmega", "rrlp.navOmega",
10108 FT_INT32, BASE_DEC, NULL, 0,
10109 "INTEGER_M2147483648_2147483647", HFILL }},
10110 { &hf_rrlp_navDeltaN,
10111 { "navDeltaN", "rrlp.navDeltaN",
10112 FT_INT32, BASE_DEC, NULL, 0,
10113 "INTEGER_M32768_32767", HFILL }},
10114 { &hf_rrlp_navM0,
10115 { "navM0", "rrlp.navM0",
10116 FT_INT32, BASE_DEC, NULL, 0,
10117 "INTEGER_M2147483648_2147483647", HFILL }},
10118 { &hf_rrlp_navOmegaADot,
10119 { "navOmegaADot", "rrlp.navOmegaADot",
10120 FT_INT32, BASE_DEC, NULL, 0,
10121 "INTEGER_M8388608_8388607", HFILL }},
10122 { &hf_rrlp_navE,
10123 { "navE", "rrlp.navE",
10124 FT_UINT32, BASE_DEC, NULL, 0,
10125 "INTEGER_0_4294967295", HFILL }},
10126 { &hf_rrlp_navIDot,
10127 { "navIDot", "rrlp.navIDot",
10128 FT_INT32, BASE_DEC, NULL, 0,
10129 "INTEGER_M8192_8191", HFILL }},
10130 { &hf_rrlp_navAPowerHalf,
10131 { "navAPowerHalf", "rrlp.navAPowerHalf",
10132 FT_UINT32, BASE_DEC, NULL, 0,
10133 "INTEGER_0_4294967295", HFILL }},
10134 { &hf_rrlp_navI0,
10135 { "navI0", "rrlp.navI0",
10136 FT_INT32, BASE_DEC, NULL, 0,
10137 "INTEGER_M2147483648_2147483647", HFILL }},
10138 { &hf_rrlp_navOmegaA0,
10139 { "navOmegaA0", "rrlp.navOmegaA0",
10140 FT_INT32, BASE_DEC, NULL, 0,
10141 "INTEGER_M2147483648_2147483647", HFILL }},
10142 { &hf_rrlp_navCrs,
10143 { "navCrs", "rrlp.navCrs",
10144 FT_INT32, BASE_DEC, NULL, 0,
10145 "INTEGER_M32768_32767", HFILL }},
10146 { &hf_rrlp_navCis,
10147 { "navCis", "rrlp.navCis",
10148 FT_INT32, BASE_DEC, NULL, 0,
10149 "INTEGER_M32768_32767", HFILL }},
10150 { &hf_rrlp_navCus,
10151 { "navCus", "rrlp.navCus",
10152 FT_INT32, BASE_DEC, NULL, 0,
10153 "INTEGER_M32768_32767", HFILL }},
10154 { &hf_rrlp_navCrc,
10155 { "navCrc", "rrlp.navCrc",
10156 FT_INT32, BASE_DEC, NULL, 0,
10157 "INTEGER_M32768_32767", HFILL }},
10158 { &hf_rrlp_navCic,
10159 { "navCic", "rrlp.navCic",
10160 FT_INT32, BASE_DEC, NULL, 0,
10161 "INTEGER_M32768_32767", HFILL }},
10162 { &hf_rrlp_navCuc,
10163 { "navCuc", "rrlp.navCuc",
10164 FT_INT32, BASE_DEC, NULL, 0,
10165 "INTEGER_M32768_32767", HFILL }},
10166 { &hf_rrlp_cnavTop,
10167 { "cnavTop", "rrlp.cnavTop",
10168 FT_UINT32, BASE_DEC, NULL, 0,
10169 "INTEGER_0_2015", HFILL }},
10170 { &hf_rrlp_cnavURAindex,
10171 { "cnavURAindex", "rrlp.cnavURAindex",
10172 FT_INT32, BASE_DEC, NULL, 0,
10173 "INTEGER_M16_15", HFILL }},
10174 { &hf_rrlp_cnavDeltaA,
10175 { "cnavDeltaA", "rrlp.cnavDeltaA",
10176 FT_INT32, BASE_DEC, NULL, 0,
10177 "INTEGER_M33554432_33554431", HFILL }},
10178 { &hf_rrlp_cnavAdot,
10179 { "cnavAdot", "rrlp.cnavAdot",
10180 FT_INT32, BASE_DEC, NULL, 0,
10181 "INTEGER_M16777216_16777215", HFILL }},
10182 { &hf_rrlp_cnavDeltaNo,
10183 { "cnavDeltaNo", "rrlp.cnavDeltaNo",
10184 FT_INT32, BASE_DEC, NULL, 0,
10185 "INTEGER_M65536_65535", HFILL }},
10186 { &hf_rrlp_cnavDeltaNoDot,
10187 { "cnavDeltaNoDot", "rrlp.cnavDeltaNoDot",
10188 FT_INT32, BASE_DEC, NULL, 0,
10189 "INTEGER_M4194304_4194303", HFILL }},
10190 { &hf_rrlp_cnavMo,
10191 { "cnavMo", "rrlp.cnavMo",
10192 FT_INT64, BASE_DEC, NULL, 0,
10193 "INTEGER_M4294967296_4294967295", HFILL }},
10194 { &hf_rrlp_cnavE,
10195 { "cnavE", "rrlp.cnavE",
10196 FT_UINT64, BASE_DEC, NULL, 0,
10197 "INTEGER_0_8589934591", HFILL }},
10198 { &hf_rrlp_cnavOmega,
10199 { "cnavOmega", "rrlp.cnavOmega",
10200 FT_INT64, BASE_DEC, NULL, 0,
10201 "INTEGER_M4294967296_4294967295", HFILL }},
10202 { &hf_rrlp_cnavOMEGA0,
10203 { "cnavOMEGA0", "rrlp.cnavOMEGA0",
10204 FT_INT64, BASE_DEC, NULL, 0,
10205 "INTEGER_M4294967296_4294967295", HFILL }},
10206 { &hf_rrlp_cnavDeltaOmegaDot,
10207 { "cnavDeltaOmegaDot", "rrlp.cnavDeltaOmegaDot",
10208 FT_INT32, BASE_DEC, NULL, 0,
10209 "INTEGER_M65536_65535", HFILL }},
10210 { &hf_rrlp_cnavIo,
10211 { "cnavIo", "rrlp.cnavIo",
10212 FT_INT64, BASE_DEC, NULL, 0,
10213 "INTEGER_M4294967296_4294967295", HFILL }},
10214 { &hf_rrlp_cnavIoDot,
10215 { "cnavIoDot", "rrlp.cnavIoDot",
10216 FT_INT32, BASE_DEC, NULL, 0,
10217 "INTEGER_M16384_16383", HFILL }},
10218 { &hf_rrlp_cnavCis,
10219 { "cnavCis", "rrlp.cnavCis",
10220 FT_INT32, BASE_DEC, NULL, 0,
10221 "INTEGER_M32768_32767", HFILL }},
10222 { &hf_rrlp_cnavCic,
10223 { "cnavCic", "rrlp.cnavCic",
10224 FT_INT32, BASE_DEC, NULL, 0,
10225 "INTEGER_M32768_32767", HFILL }},
10226 { &hf_rrlp_cnavCrs,
10227 { "cnavCrs", "rrlp.cnavCrs",
10228 FT_INT32, BASE_DEC, NULL, 0,
10229 "INTEGER_M8388608_8388607", HFILL }},
10230 { &hf_rrlp_cnavCrc,
10231 { "cnavCrc", "rrlp.cnavCrc",
10232 FT_INT32, BASE_DEC, NULL, 0,
10233 "INTEGER_M8388608_8388607", HFILL }},
10234 { &hf_rrlp_cnavCus,
10235 { "cnavCus", "rrlp.cnavCus",
10236 FT_INT32, BASE_DEC, NULL, 0,
10237 "INTEGER_M1048576_1048575", HFILL }},
10238 { &hf_rrlp_cnavCuc,
10239 { "cnavCuc", "rrlp.cnavCuc",
10240 FT_INT32, BASE_DEC, NULL, 0,
10241 "INTEGER_M1048576_1048575", HFILL }},
10242 { &hf_rrlp_gloEn,
10243 { "gloEn", "rrlp.gloEn",
10244 FT_UINT32, BASE_DEC, NULL, 0,
10245 "INTEGER_0_31", HFILL }},
10246 { &hf_rrlp_gloP1,
10247 { "gloP1", "rrlp.gloP1",
10248 FT_BYTES, BASE_NONE, NULL, 0,
10249 "BIT_STRING_SIZE_2", HFILL }},
10250 { &hf_rrlp_gloP2,
10251 { "gloP2", "rrlp.gloP2",
10252 FT_BOOLEAN, BASE_NONE, NULL, 0,
10253 "BOOLEAN", HFILL }},
10254 { &hf_rrlp_gloM,
10255 { "gloM", "rrlp.gloM",
10256 FT_UINT32, BASE_DEC, NULL, 0,
10257 "INTEGER_0_3", HFILL }},
10258 { &hf_rrlp_gloX,
10259 { "gloX", "rrlp.gloX",
10260 FT_INT32, BASE_DEC, NULL, 0,
10261 "INTEGER_M67108864_67108863", HFILL }},
10262 { &hf_rrlp_gloXdot,
10263 { "gloXdot", "rrlp.gloXdot",
10264 FT_INT32, BASE_DEC, NULL, 0,
10265 "INTEGER_M8388608_8388607", HFILL }},
10266 { &hf_rrlp_gloXdotdot,
10267 { "gloXdotdot", "rrlp.gloXdotdot",
10268 FT_INT32, BASE_DEC, NULL, 0,
10269 "INTEGER_M16_15", HFILL }},
10270 { &hf_rrlp_gloY,
10271 { "gloY", "rrlp.gloY",
10272 FT_INT32, BASE_DEC, NULL, 0,
10273 "INTEGER_M67108864_67108863", HFILL }},
10274 { &hf_rrlp_gloYdot,
10275 { "gloYdot", "rrlp.gloYdot",
10276 FT_INT32, BASE_DEC, NULL, 0,
10277 "INTEGER_M8388608_8388607", HFILL }},
10278 { &hf_rrlp_gloYdotdot,
10279 { "gloYdotdot", "rrlp.gloYdotdot",
10280 FT_INT32, BASE_DEC, NULL, 0,
10281 "INTEGER_M16_15", HFILL }},
10282 { &hf_rrlp_gloZ,
10283 { "gloZ", "rrlp.gloZ",
10284 FT_INT32, BASE_DEC, NULL, 0,
10285 "INTEGER_M67108864_67108863", HFILL }},
10286 { &hf_rrlp_gloZdot,
10287 { "gloZdot", "rrlp.gloZdot",
10288 FT_INT32, BASE_DEC, NULL, 0,
10289 "INTEGER_M8388608_8388607", HFILL }},
10290 { &hf_rrlp_gloZdotdot,
10291 { "gloZdotdot", "rrlp.gloZdotdot",
10292 FT_INT32, BASE_DEC, NULL, 0,
10293 "INTEGER_M16_15", HFILL }},
10294 { &hf_rrlp_sbasTo,
10295 { "sbasTo", "rrlp.sbasTo",
10296 FT_UINT32, BASE_DEC, NULL, 0,
10297 "INTEGER_0_5399", HFILL }},
10298 { &hf_rrlp_sbasAccuracy,
10299 { "sbasAccuracy", "rrlp.sbasAccuracy",
10300 FT_BYTES, BASE_NONE, NULL, 0,
10301 "BIT_STRING_SIZE_4", HFILL }},
10302 { &hf_rrlp_sbasXg,
10303 { "sbasXg", "rrlp.sbasXg",
10304 FT_INT32, BASE_DEC, NULL, 0,
10305 "INTEGER_M536870912_536870911", HFILL }},
10306 { &hf_rrlp_sbasYg,
10307 { "sbasYg", "rrlp.sbasYg",
10308 FT_INT32, BASE_DEC, NULL, 0,
10309 "INTEGER_M536870912_536870911", HFILL }},
10310 { &hf_rrlp_sbasZg,
10311 { "sbasZg", "rrlp.sbasZg",
10312 FT_INT32, BASE_DEC, NULL, 0,
10313 "INTEGER_M16777216_16777215", HFILL }},
10314 { &hf_rrlp_sbasXgDot,
10315 { "sbasXgDot", "rrlp.sbasXgDot",
10316 FT_INT32, BASE_DEC, NULL, 0,
10317 "INTEGER_M65536_65535", HFILL }},
10318 { &hf_rrlp_sbasYgDot,
10319 { "sbasYgDot", "rrlp.sbasYgDot",
10320 FT_INT32, BASE_DEC, NULL, 0,
10321 "INTEGER_M65536_65535", HFILL }},
10322 { &hf_rrlp_sbasZgDot,
10323 { "sbasZgDot", "rrlp.sbasZgDot",
10324 FT_INT32, BASE_DEC, NULL, 0,
10325 "INTEGER_M131072_131071", HFILL }},
10326 { &hf_rrlp_sbasXgDotDot,
10327 { "sbasXgDotDot", "rrlp.sbasXgDotDot",
10328 FT_INT32, BASE_DEC, NULL, 0,
10329 "INTEGER_M512_511", HFILL }},
10330 { &hf_rrlp_sbagYgDotDot,
10331 { "sbagYgDotDot", "rrlp.sbagYgDotDot",
10332 FT_INT32, BASE_DEC, NULL, 0,
10333 "INTEGER_M512_511", HFILL }},
10334 { &hf_rrlp_sbasZgDotDot,
10335 { "sbasZgDotDot", "rrlp.sbasZgDotDot",
10336 FT_INT32, BASE_DEC, NULL, 0,
10337 "INTEGER_M512_511", HFILL }},
10338 { &hf_rrlp_bdsAODE_r12,
10339 { "bdsAODE-r12", "rrlp.bdsAODE_r12",
10340 FT_UINT32, BASE_DEC, NULL, 0,
10341 "INTEGER_0_31", HFILL }},
10342 { &hf_rrlp_bdsURAI_r12,
10343 { "bdsURAI-r12", "rrlp.bdsURAI_r12",
10344 FT_UINT32, BASE_DEC, NULL, 0,
10345 "INTEGER_0_15", HFILL }},
10346 { &hf_rrlp_bdsToe_r12,
10347 { "bdsToe-r12", "rrlp.bdsToe_r12",
10348 FT_UINT32, BASE_DEC, NULL, 0,
10349 "INTEGER_0_131071", HFILL }},
10350 { &hf_rrlp_bdsAPowerHalf_r12,
10351 { "bdsAPowerHalf-r12", "rrlp.bdsAPowerHalf_r12",
10352 FT_UINT32, BASE_DEC, NULL, 0,
10353 "INTEGER_0_4294967295", HFILL }},
10354 { &hf_rrlp_bdsE_r12,
10355 { "bdsE-r12", "rrlp.bdsE_r12",
10356 FT_UINT32, BASE_DEC, NULL, 0,
10357 "INTEGER_0_4294967295", HFILL }},
10358 { &hf_rrlp_bdsW_r12,
10359 { "bdsW-r12", "rrlp.bdsW_r12",
10360 FT_INT32, BASE_DEC, NULL, 0,
10361 "INTEGER_M2147483648_2147483647", HFILL }},
10362 { &hf_rrlp_bdsDeltaN_r12,
10363 { "bdsDeltaN-r12", "rrlp.bdsDeltaN_r12",
10364 FT_INT32, BASE_DEC, NULL, 0,
10365 "INTEGER_M32768_32767", HFILL }},
10366 { &hf_rrlp_bdsM0_r12,
10367 { "bdsM0-r12", "rrlp.bdsM0_r12",
10368 FT_INT32, BASE_DEC, NULL, 0,
10369 "INTEGER_M2147483648_2147483647", HFILL }},
10370 { &hf_rrlp_bdsOmega0_r12,
10371 { "bdsOmega0-r12", "rrlp.bdsOmega0_r12",
10372 FT_INT32, BASE_DEC, NULL, 0,
10373 "INTEGER_M2147483648_2147483647", HFILL }},
10374 { &hf_rrlp_bdsOmegaDot_r12,
10375 { "bdsOmegaDot-r12", "rrlp.bdsOmegaDot_r12",
10376 FT_INT32, BASE_DEC, NULL, 0,
10377 "INTEGER_M8388608_8388607", HFILL }},
10378 { &hf_rrlp_bdsI0_r12,
10379 { "bdsI0-r12", "rrlp.bdsI0_r12",
10380 FT_INT32, BASE_DEC, NULL, 0,
10381 "INTEGER_M2147483648_2147483647", HFILL }},
10382 { &hf_rrlp_bdsIDot_r12,
10383 { "bdsIDot-r12", "rrlp.bdsIDot_r12",
10384 FT_INT32, BASE_DEC, NULL, 0,
10385 "INTEGER_M8192_8191", HFILL }},
10386 { &hf_rrlp_bdsCuc_r12,
10387 { "bdsCuc-r12", "rrlp.bdsCuc_r12",
10388 FT_INT32, BASE_DEC, NULL, 0,
10389 "INTEGER_M131072_131071", HFILL }},
10390 { &hf_rrlp_bdsCus_r12,
10391 { "bdsCus-r12", "rrlp.bdsCus_r12",
10392 FT_INT32, BASE_DEC, NULL, 0,
10393 "INTEGER_M131072_131071", HFILL }},
10394 { &hf_rrlp_bdsCrc_r12,
10395 { "bdsCrc-r12", "rrlp.bdsCrc_r12",
10396 FT_INT32, BASE_DEC, NULL, 0,
10397 "INTEGER_M131072_131071", HFILL }},
10398 { &hf_rrlp_bdsCrs_r12,
10399 { "bdsCrs-r12", "rrlp.bdsCrs_r12",
10400 FT_INT32, BASE_DEC, NULL, 0,
10401 "INTEGER_M131072_131071", HFILL }},
10402 { &hf_rrlp_bdsCic_r12,
10403 { "bdsCic-r12", "rrlp.bdsCic_r12",
10404 FT_INT32, BASE_DEC, NULL, 0,
10405 "INTEGER_M131072_131071", HFILL }},
10406 { &hf_rrlp_bdsCis_r12,
10407 { "bdsCis-r12", "rrlp.bdsCis_r12",
10408 FT_INT32, BASE_DEC, NULL, 0,
10409 "INTEGER_M131072_131071", HFILL }},
10410 { &hf_rrlp_standardClockModelList,
10411 { "standardClockModelList", "rrlp.standardClockModelList",
10412 FT_UINT32, BASE_DEC, NULL, 0,
10413 "SeqOfStandardClockModelElement", HFILL }},
10414 { &hf_rrlp_navClockModel,
10415 { "navClockModel", "rrlp.navClockModel_element",
10416 FT_NONE, BASE_NONE, NULL, 0,
10417 NULL, HFILL }},
10418 { &hf_rrlp_cnavClockModel,
10419 { "cnavClockModel", "rrlp.cnavClockModel_element",
10420 FT_NONE, BASE_NONE, NULL, 0,
10421 NULL, HFILL }},
10422 { &hf_rrlp_glonassClockModel,
10423 { "glonassClockModel", "rrlp.glonassClockModel_element",
10424 FT_NONE, BASE_NONE, NULL, 0,
10425 NULL, HFILL }},
10426 { &hf_rrlp_sbasClockModel,
10427 { "sbasClockModel", "rrlp.sbasClockModel_element",
10428 FT_NONE, BASE_NONE, NULL, 0,
10429 NULL, HFILL }},
10430 { &hf_rrlp_bdsClockModel_r12,
10431 { "bdsClockModel-r12", "rrlp.bdsClockModel_r12_element",
10432 FT_NONE, BASE_NONE, NULL, 0,
10433 NULL, HFILL }},
10434 { &hf_rrlp_SeqOfStandardClockModelElement_item,
10435 { "StandardClockModelElement", "rrlp.StandardClockModelElement_element",
10436 FT_NONE, BASE_NONE, NULL, 0,
10437 NULL, HFILL }},
10438 { &hf_rrlp_stanClockToc,
10439 { "stanClockToc", "rrlp.stanClockToc",
10440 FT_UINT32, BASE_DEC, NULL, 0,
10441 "INTEGER_0_16383", HFILL }},
10442 { &hf_rrlp_stanClockAF2,
10443 { "stanClockAF2", "rrlp.stanClockAF2",
10444 FT_INT32, BASE_DEC, NULL, 0,
10445 "INTEGER_M32_31", HFILL }},
10446 { &hf_rrlp_stanClockAF1,
10447 { "stanClockAF1", "rrlp.stanClockAF1",
10448 FT_INT32, BASE_DEC, NULL, 0,
10449 "INTEGER_M1048576_1048575", HFILL }},
10450 { &hf_rrlp_stanClockAF0,
10451 { "stanClockAF0", "rrlp.stanClockAF0",
10452 FT_INT32, BASE_DEC, NULL, 0,
10453 "INTEGER_M1073741824_1073741823", HFILL }},
10454 { &hf_rrlp_stanClockTgd,
10455 { "stanClockTgd", "rrlp.stanClockTgd",
10456 FT_INT32, BASE_DEC, NULL, 0,
10457 "INTEGER_M512_511", HFILL }},
10458 { &hf_rrlp_stanModelID,
10459 { "stanModelID", "rrlp.stanModelID",
10460 FT_UINT32, BASE_DEC, NULL, 0,
10461 "INTEGER_0_1", HFILL }},
10462 { &hf_rrlp_navToc,
10463 { "navToc", "rrlp.navToc",
10464 FT_UINT32, BASE_DEC, NULL, 0,
10465 "INTEGER_0_37799", HFILL }},
10466 { &hf_rrlp_navaf2,
10467 { "navaf2", "rrlp.navaf2",
10468 FT_INT32, BASE_DEC, NULL, 0,
10469 "INTEGER_M128_127", HFILL }},
10470 { &hf_rrlp_navaf1,
10471 { "navaf1", "rrlp.navaf1",
10472 FT_INT32, BASE_DEC, NULL, 0,
10473 "INTEGER_M32768_32767", HFILL }},
10474 { &hf_rrlp_navaf0,
10475 { "navaf0", "rrlp.navaf0",
10476 FT_INT32, BASE_DEC, NULL, 0,
10477 "INTEGER_M2097152_2097151", HFILL }},
10478 { &hf_rrlp_navTgd,
10479 { "navTgd", "rrlp.navTgd",
10480 FT_INT32, BASE_DEC, NULL, 0,
10481 "INTEGER_M128_127", HFILL }},
10482 { &hf_rrlp_cnavToc,
10483 { "cnavToc", "rrlp.cnavToc",
10484 FT_UINT32, BASE_DEC, NULL, 0,
10485 "INTEGER_0_2015", HFILL }},
10486 { &hf_rrlp_cnavURA0,
10487 { "cnavURA0", "rrlp.cnavURA0",
10488 FT_INT32, BASE_DEC, NULL, 0,
10489 "INTEGER_M16_15", HFILL }},
10490 { &hf_rrlp_cnavURA1,
10491 { "cnavURA1", "rrlp.cnavURA1",
10492 FT_UINT32, BASE_DEC, NULL, 0,
10493 "INTEGER_0_7", HFILL }},
10494 { &hf_rrlp_cnavURA2,
10495 { "cnavURA2", "rrlp.cnavURA2",
10496 FT_UINT32, BASE_DEC, NULL, 0,
10497 "INTEGER_0_7", HFILL }},
10498 { &hf_rrlp_cnavAf2,
10499 { "cnavAf2", "rrlp.cnavAf2",
10500 FT_INT32, BASE_DEC, NULL, 0,
10501 "INTEGER_M512_511", HFILL }},
10502 { &hf_rrlp_cnavAf1,
10503 { "cnavAf1", "rrlp.cnavAf1",
10504 FT_INT32, BASE_DEC, NULL, 0,
10505 "INTEGER_M524288_524287", HFILL }},
10506 { &hf_rrlp_cnavAf0,
10507 { "cnavAf0", "rrlp.cnavAf0",
10508 FT_INT32, BASE_DEC, NULL, 0,
10509 "INTEGER_M33554432_33554431", HFILL }},
10510 { &hf_rrlp_cnavTgd,
10511 { "cnavTgd", "rrlp.cnavTgd",
10512 FT_INT32, BASE_DEC, NULL, 0,
10513 "INTEGER_M4096_4095", HFILL }},
10514 { &hf_rrlp_cnavISCl1cp,
10515 { "cnavISCl1cp", "rrlp.cnavISCl1cp",
10516 FT_INT32, BASE_DEC, NULL, 0,
10517 "INTEGER_M4096_4095", HFILL }},
10518 { &hf_rrlp_cnavISCl1cd,
10519 { "cnavISCl1cd", "rrlp.cnavISCl1cd",
10520 FT_INT32, BASE_DEC, NULL, 0,
10521 "INTEGER_M4096_4095", HFILL }},
10522 { &hf_rrlp_cnavISCl1ca,
10523 { "cnavISCl1ca", "rrlp.cnavISCl1ca",
10524 FT_INT32, BASE_DEC, NULL, 0,
10525 "INTEGER_M4096_4095", HFILL }},
10526 { &hf_rrlp_cnavISCl2c,
10527 { "cnavISCl2c", "rrlp.cnavISCl2c",
10528 FT_INT32, BASE_DEC, NULL, 0,
10529 "INTEGER_M4096_4095", HFILL }},
10530 { &hf_rrlp_cnavISCl5i5,
10531 { "cnavISCl5i5", "rrlp.cnavISCl5i5",
10532 FT_INT32, BASE_DEC, NULL, 0,
10533 "INTEGER_M4096_4095", HFILL }},
10534 { &hf_rrlp_cnavISCl5q5,
10535 { "cnavISCl5q5", "rrlp.cnavISCl5q5",
10536 FT_INT32, BASE_DEC, NULL, 0,
10537 "INTEGER_M4096_4095", HFILL }},
10538 { &hf_rrlp_gloTau,
10539 { "gloTau", "rrlp.gloTau",
10540 FT_INT32, BASE_DEC, NULL, 0,
10541 "INTEGER_M2097152_2097151", HFILL }},
10542 { &hf_rrlp_gloGamma,
10543 { "gloGamma", "rrlp.gloGamma",
10544 FT_INT32, BASE_DEC, NULL, 0,
10545 "INTEGER_M1024_1023", HFILL }},
10546 { &hf_rrlp_gloDeltaTau,
10547 { "gloDeltaTau", "rrlp.gloDeltaTau",
10548 FT_INT32, BASE_DEC, NULL, 0,
10549 "INTEGER_M16_15", HFILL }},
10550 { &hf_rrlp_sbasAgfo,
10551 { "sbasAgfo", "rrlp.sbasAgfo",
10552 FT_INT32, BASE_DEC, NULL, 0,
10553 "INTEGER_M2048_2047", HFILL }},
10554 { &hf_rrlp_sbasAgf1,
10555 { "sbasAgf1", "rrlp.sbasAgf1",
10556 FT_INT32, BASE_DEC, NULL, 0,
10557 "INTEGER_M128_127", HFILL }},
10558 { &hf_rrlp_bdsAODC_r12,
10559 { "bdsAODC-r12", "rrlp.bdsAODC_r12",
10560 FT_UINT32, BASE_DEC, NULL, 0,
10561 "INTEGER_0_31", HFILL }},
10562 { &hf_rrlp_bdsToc_r12,
10563 { "bdsToc-r12", "rrlp.bdsToc_r12",
10564 FT_UINT32, BASE_DEC, NULL, 0,
10565 "INTEGER_0_131071", HFILL }},
10566 { &hf_rrlp_bdsA0_r12,
10567 { "bdsA0-r12", "rrlp.bdsA0_r12",
10568 FT_INT32, BASE_DEC, NULL, 0,
10569 "INTEGER_M8388608_8388607", HFILL }},
10570 { &hf_rrlp_bdsA1_r12,
10571 { "bdsA1-r12", "rrlp.bdsA1_r12",
10572 FT_INT32, BASE_DEC, NULL, 0,
10573 "INTEGER_M2097152_2097151", HFILL }},
10574 { &hf_rrlp_bdsA2_r12,
10575 { "bdsA2-r12", "rrlp.bdsA2_r12",
10576 FT_INT32, BASE_DEC, NULL, 0,
10577 "INTEGER_M1024_1023", HFILL }},
10578 { &hf_rrlp_bdsTgd1_r12,
10579 { "bdsTgd1-r12", "rrlp.bdsTgd1_r12",
10580 FT_INT32, BASE_DEC, NULL, 0,
10581 "INTEGER_M512_511", HFILL }},
10582 { &hf_rrlp_ganssBadSignalList,
10583 { "ganssBadSignalList", "rrlp.ganssBadSignalList",
10584 FT_UINT32, BASE_DEC, NULL, 0,
10585 "SeqOfBadSignalElement", HFILL }},
10586 { &hf_rrlp_SeqOfBadSignalElement_item,
10587 { "BadSignalElement", "rrlp.BadSignalElement_element",
10588 FT_NONE, BASE_NONE, NULL, 0,
10589 NULL, HFILL }},
10590 { &hf_rrlp_badSVID,
10591 { "badSVID", "rrlp.badSVID",
10592 FT_UINT32, BASE_DEC, NULL, 0,
10593 "SVID", HFILL }},
10594 { &hf_rrlp_badSignalID,
10595 { "badSignalID", "rrlp.badSignalID",
10596 FT_BYTES, BASE_NONE, NULL, 0,
10597 "GANSSSignals", HFILL }},
10598 { &hf_rrlp_ganssTOD_01,
10599 { "ganssTOD", "rrlp.ganssTOD",
10600 FT_UINT32, BASE_DEC, NULL, 0,
10601 "INTEGER_0_59", HFILL }},
10602 { &hf_rrlp_ganssDataBitsSatList,
10603 { "ganssDataBitsSatList", "rrlp.ganssDataBitsSatList",
10604 FT_UINT32, BASE_DEC, NULL, 0,
10605 "SeqOfGanssDataBitsElement", HFILL }},
10606 { &hf_rrlp_SeqOfGanssDataBitsElement_item,
10607 { "GanssDataBitsElement", "rrlp.GanssDataBitsElement_element",
10608 FT_NONE, BASE_NONE, NULL, 0,
10609 NULL, HFILL }},
10610 { &hf_rrlp_ganssDataBitsSgnList,
10611 { "ganssDataBitsSgnList", "rrlp.ganssDataBitsSgnList",
10612 FT_UINT32, BASE_DEC, NULL, 0,
10613 "Seq_OfGANSSDataBitsSgn", HFILL }},
10614 { &hf_rrlp_Seq_OfGANSSDataBitsSgn_item,
10615 { "GANSSDataBitsSgnElement", "rrlp.GANSSDataBitsSgnElement_element",
10616 FT_NONE, BASE_NONE, NULL, 0,
10617 NULL, HFILL }},
10618 { &hf_rrlp_ganssSignalType,
10619 { "ganssSignalType", "rrlp.ganssSignalType",
10620 FT_UINT32, BASE_DEC, NULL, 0,
10621 "GANSSSignalID", HFILL }},
10622 { &hf_rrlp_ganssDataBits,
10623 { "ganssDataBits", "rrlp.ganssDataBits",
10624 FT_UINT32, BASE_DEC, NULL, 0,
10625 "SeqOf_GANSSDataBits", HFILL }},
10626 { &hf_rrlp_SeqOf_GANSSDataBits_item,
10627 { "GANSSDataBit", "rrlp.GANSSDataBit",
10628 FT_UINT32, BASE_DEC, NULL, 0,
10629 NULL, HFILL }},
10630 { &hf_rrlp_ganssRefMeasAssistList,
10631 { "ganssRefMeasAssistList", "rrlp.ganssRefMeasAssistList",
10632 FT_UINT32, BASE_DEC, NULL, 0,
10633 "SeqOfGANSSRefMeasurementElement", HFILL }},
10634 { &hf_rrlp_SeqOfGANSSRefMeasurementElement_item,
10635 { "GANSSRefMeasurementElement", "rrlp.GANSSRefMeasurementElement_element",
10636 FT_NONE, BASE_NONE, NULL, 0,
10637 NULL, HFILL }},
10638 { &hf_rrlp_additionalDoppler,
10639 { "additionalDoppler", "rrlp.additionalDoppler_element",
10640 FT_NONE, BASE_NONE, NULL, 0,
10641 "AdditionalDopplerFields", HFILL }},
10642 { &hf_rrlp_intCodePhase_01,
10643 { "intCodePhase", "rrlp.intCodePhase",
10644 FT_UINT32, BASE_DEC, NULL, 0,
10645 "INTEGER_0_127", HFILL }},
10646 { &hf_rrlp_codePhaseSearchWindow_01,
10647 { "codePhaseSearchWindow", "rrlp.codePhaseSearchWindow",
10648 FT_UINT32, BASE_DEC, NULL, 0,
10649 "INTEGER_0_31", HFILL }},
10650 { &hf_rrlp_additionalAngle,
10651 { "additionalAngle", "rrlp.additionalAngle_element",
10652 FT_NONE, BASE_NONE, NULL, 0,
10653 "AddionalAngleFields", HFILL }},
10654 { &hf_rrlp_codePhase1023,
10655 { "codePhase1023", "rrlp.codePhase1023",
10656 FT_BOOLEAN, BASE_NONE, NULL, 0,
10657 "BOOLEAN", HFILL }},
10658 { &hf_rrlp_dopplerUncertainty_01,
10659 { "dopplerUncertainty", "rrlp.dopplerUncertainty",
10660 FT_UINT32, BASE_DEC, NULL, 0,
10661 "INTEGER_0_4", HFILL }},
10662 { &hf_rrlp_GANSSRefMeasurementAssist_R10_Ext_item,
10663 { "GANSSRefMeasurement-R10-Ext-Element", "rrlp.GANSSRefMeasurement_R10_Ext_Element_element",
10664 FT_NONE, BASE_NONE, NULL, 0,
10665 NULL, HFILL }},
10666 { &hf_rrlp_azimuthLSB,
10667 { "azimuthLSB", "rrlp.azimuthLSB",
10668 FT_UINT32, BASE_DEC, NULL, 0,
10669 "INTEGER_0_15", HFILL }},
10670 { &hf_rrlp_elevationLSB,
10671 { "elevationLSB", "rrlp.elevationLSB",
10672 FT_UINT32, BASE_DEC, NULL, 0,
10673 "INTEGER_0_15", HFILL }},
10674 { &hf_rrlp_confidence,
10675 { "confidence", "rrlp.confidence",
10676 FT_UINT32, BASE_DEC, NULL, 0,
10677 "INTEGER_0_100", HFILL }},
10678 { &hf_rrlp_ganssRefMeasAssistList_01,
10679 { "ganssRefMeasAssistList", "rrlp.ganssRefMeasAssistList",
10680 FT_UINT32, BASE_DEC, NULL, 0,
10681 "SeqOfGANSSRefMeasurementElement_R12", HFILL }},
10682 { &hf_rrlp_SeqOfGANSSRefMeasurementElement_R12_item,
10683 { "GANSSRefMeasurement-R12-Ext-Element", "rrlp.GANSSRefMeasurement_R12_Ext_Element_element",
10684 FT_NONE, BASE_NONE, NULL, 0,
10685 NULL, HFILL }},
10686 { &hf_rrlp_dopplerUncertaintyExt,
10687 { "dopplerUncertaintyExt", "rrlp.dopplerUncertaintyExt",
10688 FT_UINT32, BASE_DEC, VALS(rrlp_T_dopplerUncertaintyExt_vals), 0,
10689 NULL, HFILL }},
10690 { &hf_rrlp_weekNumber_01,
10691 { "weekNumber", "rrlp.weekNumber",
10692 FT_UINT32, BASE_DEC, NULL, 0,
10693 "INTEGER_0_255", HFILL }},
10694 { &hf_rrlp_toa,
10695 { "toa", "rrlp.toa",
10696 FT_UINT32, BASE_DEC, NULL, 0,
10697 "INTEGER_0_255", HFILL }},
10698 { &hf_rrlp_ioda,
10699 { "ioda", "rrlp.ioda",
10700 FT_UINT32, BASE_DEC, NULL, 0,
10701 "INTEGER_0_3", HFILL }},
10702 { &hf_rrlp_ganssAlmanacList,
10703 { "ganssAlmanacList", "rrlp.ganssAlmanacList",
10704 FT_UINT32, BASE_DEC, NULL, 0,
10705 "SeqOfGANSSAlmanacElement", HFILL }},
10706 { &hf_rrlp_SeqOfGANSSAlmanacElement_item,
10707 { "GANSSAlmanacElement", "rrlp.GANSSAlmanacElement",
10708 FT_UINT32, BASE_DEC, VALS(rrlp_GANSSAlmanacElement_vals), 0,
10709 NULL, HFILL }},
10710 { &hf_rrlp_keplerianAlmanacSet,
10711 { "keplerianAlmanacSet", "rrlp.keplerianAlmanacSet_element",
10712 FT_NONE, BASE_NONE, NULL, 0,
10713 "Almanac_KeplerianSet", HFILL }},
10714 { &hf_rrlp_keplerianNAVAlmanac,
10715 { "keplerianNAVAlmanac", "rrlp.keplerianNAVAlmanac_element",
10716 FT_NONE, BASE_NONE, NULL, 0,
10717 "Almanac_NAVKeplerianSet", HFILL }},
10718 { &hf_rrlp_keplerianReducedAlmanac,
10719 { "keplerianReducedAlmanac", "rrlp.keplerianReducedAlmanac_element",
10720 FT_NONE, BASE_NONE, NULL, 0,
10721 "Almanac_ReducedKeplerianSet", HFILL }},
10722 { &hf_rrlp_keplerianMidiAlmanac,
10723 { "keplerianMidiAlmanac", "rrlp.keplerianMidiAlmanac_element",
10724 FT_NONE, BASE_NONE, NULL, 0,
10725 "Almanac_MidiAlmanacSet", HFILL }},
10726 { &hf_rrlp_keplerianGLONASS,
10727 { "keplerianGLONASS", "rrlp.keplerianGLONASS_element",
10728 FT_NONE, BASE_NONE, NULL, 0,
10729 "Almanac_GlonassAlmanacSet", HFILL }},
10730 { &hf_rrlp_ecefSBASAlmanac,
10731 { "ecefSBASAlmanac", "rrlp.ecefSBASAlmanac_element",
10732 FT_NONE, BASE_NONE, NULL, 0,
10733 "Almanac_ECEFsbasAlmanacSet", HFILL }},
10734 { &hf_rrlp_keplerianBDSAlmanac_r12,
10735 { "keplerianBDSAlmanac-r12", "rrlp.keplerianBDSAlmanac_r12_element",
10736 FT_NONE, BASE_NONE, NULL, 0,
10737 "Almanac_BDSAlmanacSet_r12", HFILL }},
10738 { &hf_rrlp_kepAlmanacE,
10739 { "kepAlmanacE", "rrlp.kepAlmanacE",
10740 FT_UINT32, BASE_DEC, NULL, 0,
10741 "INTEGER_0_2047", HFILL }},
10742 { &hf_rrlp_kepAlmanacDeltaI,
10743 { "kepAlmanacDeltaI", "rrlp.kepAlmanacDeltaI",
10744 FT_INT32, BASE_DEC, NULL, 0,
10745 "INTEGER_M1024_1023", HFILL }},
10746 { &hf_rrlp_kepAlmanacOmegaDot,
10747 { "kepAlmanacOmegaDot", "rrlp.kepAlmanacOmegaDot",
10748 FT_INT32, BASE_DEC, NULL, 0,
10749 "INTEGER_M1024_1023", HFILL }},
10750 { &hf_rrlp_kepSVStatusINAV,
10751 { "kepSVStatusINAV", "rrlp.kepSVStatusINAV",
10752 FT_BYTES, BASE_NONE, NULL, 0,
10753 "BIT_STRING_SIZE_4", HFILL }},
10754 { &hf_rrlp_kepSVStatusFNAV,
10755 { "kepSVStatusFNAV", "rrlp.kepSVStatusFNAV",
10756 FT_BYTES, BASE_NONE, NULL, 0,
10757 "BIT_STRING_SIZE_2", HFILL }},
10758 { &hf_rrlp_kepAlmanacAPowerHalf,
10759 { "kepAlmanacAPowerHalf", "rrlp.kepAlmanacAPowerHalf",
10760 FT_INT32, BASE_DEC, NULL, 0,
10761 "INTEGER_M4096_4095", HFILL }},
10762 { &hf_rrlp_kepAlmanacOmega0,
10763 { "kepAlmanacOmega0", "rrlp.kepAlmanacOmega0",
10764 FT_INT32, BASE_DEC, NULL, 0,
10765 "INTEGER_M32768_32767", HFILL }},
10766 { &hf_rrlp_kepAlmanacW,
10767 { "kepAlmanacW", "rrlp.kepAlmanacW",
10768 FT_INT32, BASE_DEC, NULL, 0,
10769 "INTEGER_M32768_32767", HFILL }},
10770 { &hf_rrlp_kepAlmanacM0,
10771 { "kepAlmanacM0", "rrlp.kepAlmanacM0",
10772 FT_INT32, BASE_DEC, NULL, 0,
10773 "INTEGER_M32768_32767", HFILL }},
10774 { &hf_rrlp_kepAlmanacAF0,
10775 { "kepAlmanacAF0", "rrlp.kepAlmanacAF0",
10776 FT_INT32, BASE_DEC, NULL, 0,
10777 "INTEGER_M32768_32767", HFILL }},
10778 { &hf_rrlp_kepAlmanacAF1,
10779 { "kepAlmanacAF1", "rrlp.kepAlmanacAF1",
10780 FT_INT32, BASE_DEC, NULL, 0,
10781 "INTEGER_M4096_4095", HFILL }},
10782 { &hf_rrlp_navAlmE,
10783 { "navAlmE", "rrlp.navAlmE",
10784 FT_UINT32, BASE_DEC, NULL, 0,
10785 "INTEGER_0_65535", HFILL }},
10786 { &hf_rrlp_navAlmDeltaI,
10787 { "navAlmDeltaI", "rrlp.navAlmDeltaI",
10788 FT_INT32, BASE_DEC, NULL, 0,
10789 "INTEGER_M32768_32767", HFILL }},
10790 { &hf_rrlp_navAlmOMEGADOT,
10791 { "navAlmOMEGADOT", "rrlp.navAlmOMEGADOT",
10792 FT_INT32, BASE_DEC, NULL, 0,
10793 "INTEGER_M32768_32767", HFILL }},
10794 { &hf_rrlp_navAlmSVHealth,
10795 { "navAlmSVHealth", "rrlp.navAlmSVHealth",
10796 FT_UINT32, BASE_DEC, NULL, 0,
10797 "INTEGER_0_255", HFILL }},
10798 { &hf_rrlp_navAlmSqrtA,
10799 { "navAlmSqrtA", "rrlp.navAlmSqrtA",
10800 FT_UINT32, BASE_DEC, NULL, 0,
10801 "INTEGER_0_16777215", HFILL }},
10802 { &hf_rrlp_navAlmOMEGAo,
10803 { "navAlmOMEGAo", "rrlp.navAlmOMEGAo",
10804 FT_INT32, BASE_DEC, NULL, 0,
10805 "INTEGER_M8388608_8388607", HFILL }},
10806 { &hf_rrlp_navAlmOmega,
10807 { "navAlmOmega", "rrlp.navAlmOmega",
10808 FT_INT32, BASE_DEC, NULL, 0,
10809 "INTEGER_M8388608_8388607", HFILL }},
10810 { &hf_rrlp_navAlmMo,
10811 { "navAlmMo", "rrlp.navAlmMo",
10812 FT_INT32, BASE_DEC, NULL, 0,
10813 "INTEGER_M8388608_8388607", HFILL }},
10814 { &hf_rrlp_navAlmaf0,
10815 { "navAlmaf0", "rrlp.navAlmaf0",
10816 FT_INT32, BASE_DEC, NULL, 0,
10817 "INTEGER_M1024_1023", HFILL }},
10818 { &hf_rrlp_navAlmaf1,
10819 { "navAlmaf1", "rrlp.navAlmaf1",
10820 FT_INT32, BASE_DEC, NULL, 0,
10821 "INTEGER_M1024_1023", HFILL }},
10822 { &hf_rrlp_redAlmDeltaA,
10823 { "redAlmDeltaA", "rrlp.redAlmDeltaA",
10824 FT_INT32, BASE_DEC, NULL, 0,
10825 "INTEGER_M128_127", HFILL }},
10826 { &hf_rrlp_redAlmOmega0,
10827 { "redAlmOmega0", "rrlp.redAlmOmega0",
10828 FT_INT32, BASE_DEC, NULL, 0,
10829 "INTEGER_M64_63", HFILL }},
10830 { &hf_rrlp_redAlmPhi0,
10831 { "redAlmPhi0", "rrlp.redAlmPhi0",
10832 FT_INT32, BASE_DEC, NULL, 0,
10833 "INTEGER_M64_63", HFILL }},
10834 { &hf_rrlp_redAlmL1Health,
10835 { "redAlmL1Health", "rrlp.redAlmL1Health",
10836 FT_BOOLEAN, BASE_NONE, NULL, 0,
10837 "BOOLEAN", HFILL }},
10838 { &hf_rrlp_redAlmL2Health,
10839 { "redAlmL2Health", "rrlp.redAlmL2Health",
10840 FT_BOOLEAN, BASE_NONE, NULL, 0,
10841 "BOOLEAN", HFILL }},
10842 { &hf_rrlp_redAlmL5Health,
10843 { "redAlmL5Health", "rrlp.redAlmL5Health",
10844 FT_BOOLEAN, BASE_NONE, NULL, 0,
10845 "BOOLEAN", HFILL }},
10846 { &hf_rrlp_midiAlmE,
10847 { "midiAlmE", "rrlp.midiAlmE",
10848 FT_UINT32, BASE_DEC, NULL, 0,
10849 "INTEGER_0_2047", HFILL }},
10850 { &hf_rrlp_midiAlmDeltaI,
10851 { "midiAlmDeltaI", "rrlp.midiAlmDeltaI",
10852 FT_INT32, BASE_DEC, NULL, 0,
10853 "INTEGER_M1024_1023", HFILL }},
10854 { &hf_rrlp_midiAlmOmegaDot,
10855 { "midiAlmOmegaDot", "rrlp.midiAlmOmegaDot",
10856 FT_INT32, BASE_DEC, NULL, 0,
10857 "INTEGER_M1024_1023", HFILL }},
10858 { &hf_rrlp_midiAlmSqrtA,
10859 { "midiAlmSqrtA", "rrlp.midiAlmSqrtA",
10860 FT_UINT32, BASE_DEC, NULL, 0,
10861 "INTEGER_0_131071", HFILL }},
10862 { &hf_rrlp_midiAlmOmega0,
10863 { "midiAlmOmega0", "rrlp.midiAlmOmega0",
10864 FT_INT32, BASE_DEC, NULL, 0,
10865 "INTEGER_M32768_32767", HFILL }},
10866 { &hf_rrlp_midiAlmOmega,
10867 { "midiAlmOmega", "rrlp.midiAlmOmega",
10868 FT_INT32, BASE_DEC, NULL, 0,
10869 "INTEGER_M32768_32767", HFILL }},
10870 { &hf_rrlp_midiAlmMo,
10871 { "midiAlmMo", "rrlp.midiAlmMo",
10872 FT_INT32, BASE_DEC, NULL, 0,
10873 "INTEGER_M32768_32767", HFILL }},
10874 { &hf_rrlp_midiAlmaf0,
10875 { "midiAlmaf0", "rrlp.midiAlmaf0",
10876 FT_INT32, BASE_DEC, NULL, 0,
10877 "INTEGER_M1024_1023", HFILL }},
10878 { &hf_rrlp_midiAlmaf1,
10879 { "midiAlmaf1", "rrlp.midiAlmaf1",
10880 FT_INT32, BASE_DEC, NULL, 0,
10881 "INTEGER_M512_511", HFILL }},
10882 { &hf_rrlp_midiAlmL1Health,
10883 { "midiAlmL1Health", "rrlp.midiAlmL1Health",
10884 FT_BOOLEAN, BASE_NONE, NULL, 0,
10885 "BOOLEAN", HFILL }},
10886 { &hf_rrlp_midiAlmL2Health,
10887 { "midiAlmL2Health", "rrlp.midiAlmL2Health",
10888 FT_BOOLEAN, BASE_NONE, NULL, 0,
10889 "BOOLEAN", HFILL }},
10890 { &hf_rrlp_midiAlmL5Health,
10891 { "midiAlmL5Health", "rrlp.midiAlmL5Health",
10892 FT_BOOLEAN, BASE_NONE, NULL, 0,
10893 "BOOLEAN", HFILL }},
10894 { &hf_rrlp_gloAlmNA,
10895 { "gloAlmNA", "rrlp.gloAlmNA",
10896 FT_UINT32, BASE_DEC, NULL, 0,
10897 "INTEGER_1_1461", HFILL }},
10898 { &hf_rrlp_gloAlmnA,
10899 { "gloAlmnA", "rrlp.gloAlmnA",
10900 FT_UINT32, BASE_DEC, NULL, 0,
10901 "INTEGER_1_24", HFILL }},
10902 { &hf_rrlp_gloAlmHA,
10903 { "gloAlmHA", "rrlp.gloAlmHA",
10904 FT_UINT32, BASE_DEC, NULL, 0,
10905 "INTEGER_0_31", HFILL }},
10906 { &hf_rrlp_gloAlmLambdaA,
10907 { "gloAlmLambdaA", "rrlp.gloAlmLambdaA",
10908 FT_INT32, BASE_DEC, NULL, 0,
10909 "INTEGER_M1048576_1048575", HFILL }},
10910 { &hf_rrlp_gloAlmtlambdaA,
10911 { "gloAlmtlambdaA", "rrlp.gloAlmtlambdaA",
10912 FT_UINT32, BASE_DEC, NULL, 0,
10913 "INTEGER_0_2097151", HFILL }},
10914 { &hf_rrlp_gloAlmDeltaIa,
10915 { "gloAlmDeltaIa", "rrlp.gloAlmDeltaIa",
10916 FT_INT32, BASE_DEC, NULL, 0,
10917 "INTEGER_M131072_131071", HFILL }},
10918 { &hf_rrlp_gloAlmDeltaTA,
10919 { "gloAlmDeltaTA", "rrlp.gloAlmDeltaTA",
10920 FT_INT32, BASE_DEC, NULL, 0,
10921 "INTEGER_M2097152_2097151", HFILL }},
10922 { &hf_rrlp_gloAlmDeltaTdotA,
10923 { "gloAlmDeltaTdotA", "rrlp.gloAlmDeltaTdotA",
10924 FT_INT32, BASE_DEC, NULL, 0,
10925 "INTEGER_M64_63", HFILL }},
10926 { &hf_rrlp_gloAlmEpsilonA,
10927 { "gloAlmEpsilonA", "rrlp.gloAlmEpsilonA",
10928 FT_UINT32, BASE_DEC, NULL, 0,
10929 "INTEGER_0_32767", HFILL }},
10930 { &hf_rrlp_gloAlmOmegaA,
10931 { "gloAlmOmegaA", "rrlp.gloAlmOmegaA",
10932 FT_INT32, BASE_DEC, NULL, 0,
10933 "INTEGER_M32768_32767", HFILL }},
10934 { &hf_rrlp_gloAlmTauA,
10935 { "gloAlmTauA", "rrlp.gloAlmTauA",
10936 FT_INT32, BASE_DEC, NULL, 0,
10937 "INTEGER_M512_511", HFILL }},
10938 { &hf_rrlp_gloAlmCA,
10939 { "gloAlmCA", "rrlp.gloAlmCA",
10940 FT_UINT32, BASE_DEC, NULL, 0,
10941 "INTEGER_0_1", HFILL }},
10942 { &hf_rrlp_gloAlmMA,
10943 { "gloAlmMA", "rrlp.gloAlmMA",
10944 FT_BYTES, BASE_NONE, NULL, 0,
10945 "BIT_STRING_SIZE_2", HFILL }},
10946 { &hf_rrlp_sbasAlmDataID,
10947 { "sbasAlmDataID", "rrlp.sbasAlmDataID",
10948 FT_UINT32, BASE_DEC, NULL, 0,
10949 "INTEGER_0_3", HFILL }},
10950 { &hf_rrlp_sbasAlmHealth,
10951 { "sbasAlmHealth", "rrlp.sbasAlmHealth",
10952 FT_BYTES, BASE_NONE, NULL, 0,
10953 "BIT_STRING_SIZE_8", HFILL }},
10954 { &hf_rrlp_sbasAlmXg,
10955 { "sbasAlmXg", "rrlp.sbasAlmXg",
10956 FT_INT32, BASE_DEC, NULL, 0,
10957 "INTEGER_M16384_16383", HFILL }},
10958 { &hf_rrlp_sbasAlmYg,
10959 { "sbasAlmYg", "rrlp.sbasAlmYg",
10960 FT_INT32, BASE_DEC, NULL, 0,
10961 "INTEGER_M16384_16383", HFILL }},
10962 { &hf_rrlp_sbasAlmZg,
10963 { "sbasAlmZg", "rrlp.sbasAlmZg",
10964 FT_INT32, BASE_DEC, NULL, 0,
10965 "INTEGER_M256_255", HFILL }},
10966 { &hf_rrlp_sbasAlmXgdot,
10967 { "sbasAlmXgdot", "rrlp.sbasAlmXgdot",
10968 FT_INT32, BASE_DEC, NULL, 0,
10969 "INTEGER_M4_3", HFILL }},
10970 { &hf_rrlp_sbasAlmYgDot,
10971 { "sbasAlmYgDot", "rrlp.sbasAlmYgDot",
10972 FT_INT32, BASE_DEC, NULL, 0,
10973 "INTEGER_M4_3", HFILL }},
10974 { &hf_rrlp_sbasAlmZgDot,
10975 { "sbasAlmZgDot", "rrlp.sbasAlmZgDot",
10976 FT_INT32, BASE_DEC, NULL, 0,
10977 "INTEGER_M8_7", HFILL }},
10978 { &hf_rrlp_sbasAlmTo,
10979 { "sbasAlmTo", "rrlp.sbasAlmTo",
10980 FT_UINT32, BASE_DEC, NULL, 0,
10981 "INTEGER_0_2047", HFILL }},
10982 { &hf_rrlp_bdsAlmToa_r12,
10983 { "bdsAlmToa-r12", "rrlp.bdsAlmToa_r12",
10984 FT_UINT32, BASE_DEC, NULL, 0,
10985 "INTEGER_0_255", HFILL }},
10986 { &hf_rrlp_bdsAlmSqrtA_r12,
10987 { "bdsAlmSqrtA-r12", "rrlp.bdsAlmSqrtA_r12",
10988 FT_UINT32, BASE_DEC, NULL, 0,
10989 "INTEGER_0_16777215", HFILL }},
10990 { &hf_rrlp_bdsAlmE_r12,
10991 { "bdsAlmE-r12", "rrlp.bdsAlmE_r12",
10992 FT_UINT32, BASE_DEC, NULL, 0,
10993 "INTEGER_0_131071", HFILL }},
10994 { &hf_rrlp_bdsAlmW_r12,
10995 { "bdsAlmW-r12", "rrlp.bdsAlmW_r12",
10996 FT_INT32, BASE_DEC, NULL, 0,
10997 "INTEGER_M8388608_8388607", HFILL }},
10998 { &hf_rrlp_bdsAlmM0_r12,
10999 { "bdsAlmM0-r12", "rrlp.bdsAlmM0_r12",
11000 FT_INT32, BASE_DEC, NULL, 0,
11001 "INTEGER_M8388608_8388607", HFILL }},
11002 { &hf_rrlp_bdsAlmOmega0_r12,
11003 { "bdsAlmOmega0-r12", "rrlp.bdsAlmOmega0_r12",
11004 FT_INT32, BASE_DEC, NULL, 0,
11005 "INTEGER_M8388608_8388607", HFILL }},
11006 { &hf_rrlp_bdsAlmOmegaDot_r12,
11007 { "bdsAlmOmegaDot-r12", "rrlp.bdsAlmOmegaDot_r12",
11008 FT_INT32, BASE_DEC, NULL, 0,
11009 "INTEGER_M65536_65535", HFILL }},
11010 { &hf_rrlp_bdsAlmDeltaI_r12,
11011 { "bdsAlmDeltaI-r12", "rrlp.bdsAlmDeltaI_r12",
11012 FT_INT32, BASE_DEC, NULL, 0,
11013 "INTEGER_M32768_32767", HFILL }},
11014 { &hf_rrlp_bdsAlmA0_r12,
11015 { "bdsAlmA0-r12", "rrlp.bdsAlmA0_r12",
11016 FT_INT32, BASE_DEC, NULL, 0,
11017 "INTEGER_M1024_1023", HFILL }},
11018 { &hf_rrlp_bdsAlmA1_r12,
11019 { "bdsAlmA1-r12", "rrlp.bdsAlmA1_r12",
11020 FT_INT32, BASE_DEC, NULL, 0,
11021 "INTEGER_M1024_1023", HFILL }},
11022 { &hf_rrlp_bdsSvHealth_r12,
11023 { "bdsSvHealth-r12", "rrlp.bdsSvHealth_r12",
11024 FT_BYTES, BASE_NONE, NULL, 0,
11025 "BIT_STRING_SIZE_9", HFILL }},
11026 { &hf_rrlp_completeAlmanacProvided,
11027 { "completeAlmanacProvided", "rrlp.completeAlmanacProvided",
11028 FT_BOOLEAN, BASE_NONE, NULL, 0,
11029 "BOOLEAN", HFILL }},
11030 { &hf_rrlp_toa_ext,
11031 { "toa-ext", "rrlp.toa_ext",
11032 FT_UINT32, BASE_DEC, NULL, 0,
11033 "INTEGER_256_1023", HFILL }},
11034 { &hf_rrlp_ioda_ext,
11035 { "ioda-ext", "rrlp.ioda_ext",
11036 FT_UINT32, BASE_DEC, NULL, 0,
11037 "INTEGER_4_15", HFILL }},
11038 { &hf_rrlp_ganssUtcA1,
11039 { "ganssUtcA1", "rrlp.ganssUtcA1",
11040 FT_INT32, BASE_DEC, NULL, 0,
11041 "INTEGER_M8388608_8388607", HFILL }},
11042 { &hf_rrlp_ganssUtcA0,
11043 { "ganssUtcA0", "rrlp.ganssUtcA0",
11044 FT_INT32, BASE_DEC, NULL, 0,
11045 "INTEGER_M2147483648_2147483647", HFILL }},
11046 { &hf_rrlp_ganssUtcTot,
11047 { "ganssUtcTot", "rrlp.ganssUtcTot",
11048 FT_UINT32, BASE_DEC, NULL, 0,
11049 "INTEGER_0_255", HFILL }},
11050 { &hf_rrlp_ganssUtcWNt,
11051 { "ganssUtcWNt", "rrlp.ganssUtcWNt",
11052 FT_UINT32, BASE_DEC, NULL, 0,
11053 "INTEGER_0_255", HFILL }},
11054 { &hf_rrlp_ganssUtcDeltaTls,
11055 { "ganssUtcDeltaTls", "rrlp.ganssUtcDeltaTls",
11056 FT_INT32, BASE_DEC, NULL, 0,
11057 "INTEGER_M128_127", HFILL }},
11058 { &hf_rrlp_ganssUtcWNlsf,
11059 { "ganssUtcWNlsf", "rrlp.ganssUtcWNlsf",
11060 FT_UINT32, BASE_DEC, NULL, 0,
11061 "INTEGER_0_255", HFILL }},
11062 { &hf_rrlp_ganssUtcDN,
11063 { "ganssUtcDN", "rrlp.ganssUtcDN",
11064 FT_INT32, BASE_DEC, NULL, 0,
11065 "INTEGER_M128_127", HFILL }},
11066 { &hf_rrlp_ganssUtcDeltaTlsf,
11067 { "ganssUtcDeltaTlsf", "rrlp.ganssUtcDeltaTlsf",
11068 FT_INT32, BASE_DEC, NULL, 0,
11069 "INTEGER_M128_127", HFILL }},
11070 { &hf_rrlp_ganssEphemerisHeader,
11071 { "ganssEphemerisHeader", "rrlp.ganssEphemerisHeader_element",
11072 FT_NONE, BASE_NONE, NULL, 0,
11073 "GANSSEphemerisExtensionHeader", HFILL }},
11074 { &hf_rrlp_ganssReferenceSet,
11075 { "ganssReferenceSet", "rrlp.ganssReferenceSet",
11076 FT_UINT32, BASE_DEC, NULL, 0,
11077 "SeqOfGANSSRefOrbit", HFILL }},
11078 { &hf_rrlp_ganssephemerisDeltasMatrix,
11079 { "ganssephemerisDeltasMatrix", "rrlp.ganssephemerisDeltasMatrix",
11080 FT_UINT32, BASE_DEC, NULL, 0,
11081 "GANSSEphemerisDeltaMatrix", HFILL }},
11082 { &hf_rrlp_timeAtEstimation,
11083 { "timeAtEstimation", "rrlp.timeAtEstimation_element",
11084 FT_NONE, BASE_NONE, NULL, 0,
11085 "GANSSEphemerisExtensionTime", HFILL }},
11086 { &hf_rrlp_validityPeriod,
11087 { "validityPeriod", "rrlp.validityPeriod",
11088 FT_UINT32, BASE_DEC, NULL, 0,
11089 "INTEGER_1_8", HFILL }},
11090 { &hf_rrlp_ephemerisExtensionDuration,
11091 { "ephemerisExtensionDuration", "rrlp.ephemerisExtensionDuration",
11092 FT_UINT32, BASE_DEC, NULL, 0,
11093 "INTEGER_1_512", HFILL }},
11094 { &hf_rrlp_ganssEphExtDay,
11095 { "ganssEphExtDay", "rrlp.ganssEphExtDay",
11096 FT_UINT32, BASE_DEC, NULL, 0,
11097 "INTEGER_0_8191", HFILL }},
11098 { &hf_rrlp_ganssEphExtTOD,
11099 { "ganssEphExtTOD", "rrlp.ganssEphExtTOD",
11100 FT_UINT32, BASE_DEC, NULL, 0,
11101 "GANSSTOD", HFILL }},
11102 { &hf_rrlp_keplerToe_01,
11103 { "keplerToe", "rrlp.keplerToe",
11104 FT_UINT32, BASE_DEC, NULL, 0,
11105 "INTEGER_0_37799", HFILL }},
11106 { &hf_rrlp_SeqOfGANSSRefOrbit_item,
11107 { "GANSSReferenceOrbit", "rrlp.GANSSReferenceOrbit_element",
11108 FT_NONE, BASE_NONE, NULL, 0,
11109 NULL, HFILL }},
11110 { &hf_rrlp_ganssOrbitModel_01,
11111 { "ganssOrbitModel", "rrlp.ganssOrbitModel_element",
11112 FT_NONE, BASE_NONE, NULL, 0,
11113 "ReferenceNavModel", HFILL }},
11114 { &hf_rrlp_GANSSEphemerisDeltaMatrix_item,
11115 { "GANSSEphemerisDeltaEpoch", "rrlp.GANSSEphemerisDeltaEpoch_element",
11116 FT_NONE, BASE_NONE, NULL, 0,
11117 NULL, HFILL }},
11118 { &hf_rrlp_ganssDeltaEpochHeader,
11119 { "ganssDeltaEpochHeader", "rrlp.ganssDeltaEpochHeader_element",
11120 FT_NONE, BASE_NONE, NULL, 0,
11121 NULL, HFILL }},
11122 { &hf_rrlp_ganssDeltaElementList,
11123 { "ganssDeltaElementList", "rrlp.ganssDeltaElementList",
11124 FT_UINT32, BASE_DEC, NULL, 0,
11125 NULL, HFILL }},
11126 { &hf_rrlp_ephemerisDeltaSizes,
11127 { "ephemerisDeltaSizes", "rrlp.ephemerisDeltaSizes_element",
11128 FT_NONE, BASE_NONE, NULL, 0,
11129 "GANSSEphemerisDeltaBitSizes", HFILL }},
11130 { &hf_rrlp_ephemerisDeltaScales,
11131 { "ephemerisDeltaScales", "rrlp.ephemerisDeltaScales_element",
11132 FT_NONE, BASE_NONE, NULL, 0,
11133 "GANSSEphemerisDeltaScales", HFILL }},
11134 { &hf_rrlp_GANSSDeltaElementList_item,
11135 { "GANSSDeltaElementList item", "rrlp.GANSSDeltaElementList_item",
11136 FT_BYTES, BASE_NONE, NULL, 0,
11137 "OCTET_STRING_SIZE_1_49", HFILL }},
11138 { &hf_rrlp_bitsize_delta_omega,
11139 { "bitsize-delta-omega", "rrlp.bitsize_delta_omega",
11140 FT_UINT32, BASE_DEC, NULL, 0,
11141 "INTEGER_1_32", HFILL }},
11142 { &hf_rrlp_bitsize_delta_deltaN,
11143 { "bitsize-delta-deltaN", "rrlp.bitsize_delta_deltaN",
11144 FT_UINT32, BASE_DEC, NULL, 0,
11145 "INTEGER_1_16", HFILL }},
11146 { &hf_rrlp_bitsize_delta_m0,
11147 { "bitsize-delta-m0", "rrlp.bitsize_delta_m0",
11148 FT_UINT32, BASE_DEC, NULL, 0,
11149 "INTEGER_1_32", HFILL }},
11150 { &hf_rrlp_bitsize_delta_omegadot,
11151 { "bitsize-delta-omegadot", "rrlp.bitsize_delta_omegadot",
11152 FT_UINT32, BASE_DEC, NULL, 0,
11153 "INTEGER_1_24", HFILL }},
11154 { &hf_rrlp_bitsize_delta_e,
11155 { "bitsize-delta-e", "rrlp.bitsize_delta_e",
11156 FT_UINT32, BASE_DEC, NULL, 0,
11157 "INTEGER_1_32", HFILL }},
11158 { &hf_rrlp_bitsize_delta_idot,
11159 { "bitsize-delta-idot", "rrlp.bitsize_delta_idot",
11160 FT_UINT32, BASE_DEC, NULL, 0,
11161 "INTEGER_1_14", HFILL }},
11162 { &hf_rrlp_bitsize_delta_sqrtA,
11163 { "bitsize-delta-sqrtA", "rrlp.bitsize_delta_sqrtA",
11164 FT_UINT32, BASE_DEC, NULL, 0,
11165 "INTEGER_1_32", HFILL }},
11166 { &hf_rrlp_bitsize_delta_i0,
11167 { "bitsize-delta-i0", "rrlp.bitsize_delta_i0",
11168 FT_UINT32, BASE_DEC, NULL, 0,
11169 "INTEGER_1_32", HFILL }},
11170 { &hf_rrlp_bitsize_delta_omega0,
11171 { "bitsize-delta-omega0", "rrlp.bitsize_delta_omega0",
11172 FT_UINT32, BASE_DEC, NULL, 0,
11173 "INTEGER_1_32", HFILL }},
11174 { &hf_rrlp_bitsize_delta_crs,
11175 { "bitsize-delta-crs", "rrlp.bitsize_delta_crs",
11176 FT_UINT32, BASE_DEC, NULL, 0,
11177 "INTEGER_1_16", HFILL }},
11178 { &hf_rrlp_bitsize_delta_cis,
11179 { "bitsize-delta-cis", "rrlp.bitsize_delta_cis",
11180 FT_UINT32, BASE_DEC, NULL, 0,
11181 "INTEGER_1_16", HFILL }},
11182 { &hf_rrlp_bitsize_delta_cus,
11183 { "bitsize-delta-cus", "rrlp.bitsize_delta_cus",
11184 FT_UINT32, BASE_DEC, NULL, 0,
11185 "INTEGER_1_16", HFILL }},
11186 { &hf_rrlp_bitsize_delta_crc,
11187 { "bitsize-delta-crc", "rrlp.bitsize_delta_crc",
11188 FT_UINT32, BASE_DEC, NULL, 0,
11189 "INTEGER_1_16", HFILL }},
11190 { &hf_rrlp_bitsize_delta_cic,
11191 { "bitsize-delta-cic", "rrlp.bitsize_delta_cic",
11192 FT_UINT32, BASE_DEC, NULL, 0,
11193 "INTEGER_1_16", HFILL }},
11194 { &hf_rrlp_bitsize_delta_cuc,
11195 { "bitsize-delta-cuc", "rrlp.bitsize_delta_cuc",
11196 FT_UINT32, BASE_DEC, NULL, 0,
11197 "INTEGER_1_16", HFILL }},
11198 { &hf_rrlp_bitsize_delta_tgd1,
11199 { "bitsize-delta-tgd1", "rrlp.bitsize_delta_tgd1",
11200 FT_UINT32, BASE_DEC, NULL, 0,
11201 "INTEGER_1_10", HFILL }},
11202 { &hf_rrlp_bitsize_delta_tgd2,
11203 { "bitsize-delta-tgd2", "rrlp.bitsize_delta_tgd2",
11204 FT_UINT32, BASE_DEC, NULL, 0,
11205 "INTEGER_1_10", HFILL }},
11206 { &hf_rrlp_scale_delta_omega,
11207 { "scale-delta-omega", "rrlp.scale_delta_omega",
11208 FT_INT32, BASE_DEC, NULL, 0,
11209 "INTEGER_M16_15", HFILL }},
11210 { &hf_rrlp_scale_delta_deltaN,
11211 { "scale-delta-deltaN", "rrlp.scale_delta_deltaN",
11212 FT_INT32, BASE_DEC, NULL, 0,
11213 "INTEGER_M16_15", HFILL }},
11214 { &hf_rrlp_scale_delta_m0,
11215 { "scale-delta-m0", "rrlp.scale_delta_m0",
11216 FT_INT32, BASE_DEC, NULL, 0,
11217 "INTEGER_M16_15", HFILL }},
11218 { &hf_rrlp_scale_delta_omegadot,
11219 { "scale-delta-omegadot", "rrlp.scale_delta_omegadot",
11220 FT_INT32, BASE_DEC, NULL, 0,
11221 "INTEGER_M16_15", HFILL }},
11222 { &hf_rrlp_scale_delta_e,
11223 { "scale-delta-e", "rrlp.scale_delta_e",
11224 FT_INT32, BASE_DEC, NULL, 0,
11225 "INTEGER_M16_15", HFILL }},
11226 { &hf_rrlp_scale_delta_idot,
11227 { "scale-delta-idot", "rrlp.scale_delta_idot",
11228 FT_INT32, BASE_DEC, NULL, 0,
11229 "INTEGER_M16_15", HFILL }},
11230 { &hf_rrlp_scale_delta_sqrtA,
11231 { "scale-delta-sqrtA", "rrlp.scale_delta_sqrtA",
11232 FT_INT32, BASE_DEC, NULL, 0,
11233 "INTEGER_M16_15", HFILL }},
11234 { &hf_rrlp_scale_delta_i0,
11235 { "scale-delta-i0", "rrlp.scale_delta_i0",
11236 FT_INT32, BASE_DEC, NULL, 0,
11237 "INTEGER_M16_15", HFILL }},
11238 { &hf_rrlp_scale_delta_omega0,
11239 { "scale-delta-omega0", "rrlp.scale_delta_omega0",
11240 FT_INT32, BASE_DEC, NULL, 0,
11241 "INTEGER_M16_15", HFILL }},
11242 { &hf_rrlp_scale_delta_crs,
11243 { "scale-delta-crs", "rrlp.scale_delta_crs",
11244 FT_INT32, BASE_DEC, NULL, 0,
11245 "INTEGER_M16_15", HFILL }},
11246 { &hf_rrlp_scale_delta_cis,
11247 { "scale-delta-cis", "rrlp.scale_delta_cis",
11248 FT_INT32, BASE_DEC, NULL, 0,
11249 "INTEGER_M16_15", HFILL }},
11250 { &hf_rrlp_scale_delta_cus,
11251 { "scale-delta-cus", "rrlp.scale_delta_cus",
11252 FT_INT32, BASE_DEC, NULL, 0,
11253 "INTEGER_M16_15", HFILL }},
11254 { &hf_rrlp_scale_delta_crc,
11255 { "scale-delta-crc", "rrlp.scale_delta_crc",
11256 FT_INT32, BASE_DEC, NULL, 0,
11257 "INTEGER_M16_15", HFILL }},
11258 { &hf_rrlp_scale_delta_cic,
11259 { "scale-delta-cic", "rrlp.scale_delta_cic",
11260 FT_INT32, BASE_DEC, NULL, 0,
11261 "INTEGER_M16_15", HFILL }},
11262 { &hf_rrlp_scale_delta_cuc,
11263 { "scale-delta-cuc", "rrlp.scale_delta_cuc",
11264 FT_INT32, BASE_DEC, NULL, 0,
11265 "INTEGER_M16_15", HFILL }},
11266 { &hf_rrlp_scale_delta_tgd1,
11267 { "scale-delta-tgd1", "rrlp.scale_delta_tgd1",
11268 FT_INT32, BASE_DEC, NULL, 0,
11269 "INTEGER_M16_15", HFILL }},
11270 { &hf_rrlp_scale_delta_tgd2,
11271 { "scale-delta-tgd2", "rrlp.scale_delta_tgd2",
11272 FT_INT32, BASE_DEC, NULL, 0,
11273 "INTEGER_M16_15", HFILL }},
11274 { &hf_rrlp_ganssBeginTime,
11275 { "ganssBeginTime", "rrlp.ganssBeginTime_element",
11276 FT_NONE, BASE_NONE, NULL, 0,
11277 "GANSSEphemerisExtensionTime", HFILL }},
11278 { &hf_rrlp_ganssEndTime,
11279 { "ganssEndTime", "rrlp.ganssEndTime_element",
11280 FT_NONE, BASE_NONE, NULL, 0,
11281 "GANSSEphemerisExtensionTime", HFILL }},
11282 { &hf_rrlp_ganssSatEventsInfo,
11283 { "ganssSatEventsInfo", "rrlp.ganssSatEventsInfo_element",
11284 FT_NONE, BASE_NONE, NULL, 0,
11285 NULL, HFILL }},
11286 { &hf_rrlp_eventOccured,
11287 { "eventOccured", "rrlp.eventOccured",
11288 FT_BYTES, BASE_NONE, NULL, 0,
11289 "BIT_STRING_SIZE_64", HFILL }},
11290 { &hf_rrlp_futureEventNoted,
11291 { "futureEventNoted", "rrlp.futureEventNoted",
11292 FT_BYTES, BASE_NONE, NULL, 0,
11293 "BIT_STRING_SIZE_64", HFILL }},
11294 { &hf_rrlp_utcModel2,
11295 { "utcModel2", "rrlp.utcModel2_element",
11296 FT_NONE, BASE_NONE, NULL, 0,
11297 "UTCmodelSet2", HFILL }},
11298 { &hf_rrlp_utcModel3,
11299 { "utcModel3", "rrlp.utcModel3_element",
11300 FT_NONE, BASE_NONE, NULL, 0,
11301 "UTCmodelSet3", HFILL }},
11302 { &hf_rrlp_utcModel4,
11303 { "utcModel4", "rrlp.utcModel4_element",
11304 FT_NONE, BASE_NONE, NULL, 0,
11305 "UTCmodelSet4", HFILL }},
11306 { &hf_rrlp_utcModel5_r12,
11307 { "utcModel5-r12", "rrlp.utcModel5_r12_element",
11308 FT_NONE, BASE_NONE, NULL, 0,
11309 "UTCmodelSet5_r12", HFILL }},
11310 { &hf_rrlp_utcA0_01,
11311 { "utcA0", "rrlp.utcA0",
11312 FT_INT32, BASE_DEC, NULL, 0,
11313 "INTEGER_M32768_32767", HFILL }},
11314 { &hf_rrlp_utcA1_01,
11315 { "utcA1", "rrlp.utcA1",
11316 FT_INT32, BASE_DEC, NULL, 0,
11317 "INTEGER_M4096_4095", HFILL }},
11318 { &hf_rrlp_utcA2,
11319 { "utcA2", "rrlp.utcA2",
11320 FT_INT32, BASE_DEC, NULL, 0,
11321 "INTEGER_M64_63", HFILL }},
11322 { &hf_rrlp_utcTot_01,
11323 { "utcTot", "rrlp.utcTot",
11324 FT_UINT32, BASE_DEC, NULL, 0,
11325 "INTEGER_0_65535", HFILL }},
11326 { &hf_rrlp_utcWNot,
11327 { "utcWNot", "rrlp.utcWNot",
11328 FT_UINT32, BASE_DEC, NULL, 0,
11329 "INTEGER_0_8191", HFILL }},
11330 { &hf_rrlp_utcDN_bit_str,
11331 { "utcDN", "rrlp.utcDN_bit_str",
11332 FT_BYTES, BASE_NONE, NULL, 0,
11333 "BIT_STRING_SIZE_4", HFILL }},
11334 { &hf_rrlp_nA,
11335 { "nA", "rrlp.nA",
11336 FT_UINT32, BASE_DEC, NULL, 0,
11337 "INTEGER_1_1461", HFILL }},
11338 { &hf_rrlp_tauC,
11339 { "tauC", "rrlp.tauC",
11340 FT_INT32, BASE_DEC, NULL, 0,
11341 "INTEGER_M2147483648_2147483647", HFILL }},
11342 { &hf_rrlp_b1,
11343 { "b1", "rrlp.b1",
11344 FT_INT32, BASE_DEC, NULL, 0,
11345 "INTEGER_M1024_1023", HFILL }},
11346 { &hf_rrlp_b2,
11347 { "b2", "rrlp.b2",
11348 FT_INT32, BASE_DEC, NULL, 0,
11349 "INTEGER_M512_511", HFILL }},
11350 { &hf_rrlp_kp,
11351 { "kp", "rrlp.kp",
11352 FT_BYTES, BASE_NONE, NULL, 0,
11353 "BIT_STRING_SIZE_2", HFILL }},
11354 { &hf_rrlp_utcA1wnt,
11355 { "utcA1wnt", "rrlp.utcA1wnt",
11356 FT_INT32, BASE_DEC, NULL, 0,
11357 "INTEGER_M8388608_8388607", HFILL }},
11358 { &hf_rrlp_utcA0wnt,
11359 { "utcA0wnt", "rrlp.utcA0wnt",
11360 FT_INT32, BASE_DEC, NULL, 0,
11361 "INTEGER_M2147483648_2147483647", HFILL }},
11362 { &hf_rrlp_utcStandardID,
11363 { "utcStandardID", "rrlp.utcStandardID",
11364 FT_UINT32, BASE_DEC, NULL, 0,
11365 "INTEGER_0_7", HFILL }},
11366 { &hf_rrlp_utcA0_r12,
11367 { "utcA0-r12", "rrlp.utcA0_r12",
11368 FT_INT32, BASE_DEC, NULL, 0,
11369 "INTEGER_M2147483648_2147483647", HFILL }},
11370 { &hf_rrlp_utcA1_r12,
11371 { "utcA1-r12", "rrlp.utcA1_r12",
11372 FT_INT32, BASE_DEC, NULL, 0,
11373 "INTEGER_M8388608_8388607", HFILL }},
11374 { &hf_rrlp_utcDeltaTls_r12,
11375 { "utcDeltaTls-r12", "rrlp.utcDeltaTls_r12",
11376 FT_INT32, BASE_DEC, NULL, 0,
11377 "INTEGER_M128_127", HFILL }},
11378 { &hf_rrlp_utcWNlsf_r12,
11379 { "utcWNlsf-r12", "rrlp.utcWNlsf_r12",
11380 FT_UINT32, BASE_DEC, NULL, 0,
11381 "INTEGER_0_255", HFILL }},
11382 { &hf_rrlp_utcDN_r12,
11383 { "utcDN-r12", "rrlp.utcDN_r12",
11384 FT_UINT32, BASE_DEC, NULL, 0,
11385 "INTEGER_0_255", HFILL }},
11386 { &hf_rrlp_utcDeltaTlsf_r12,
11387 { "utcDeltaTlsf-r12", "rrlp.utcDeltaTlsf_r12",
11388 FT_INT32, BASE_DEC, NULL, 0,
11389 "INTEGER_M128_127", HFILL }},
11390 { &hf_rrlp_ganssID1,
11391 { "ganssID1", "rrlp.ganssID1",
11392 FT_UINT32, BASE_DEC, NULL, 0,
11393 "GANSS_ID1", HFILL }},
11394 { &hf_rrlp_ganssID3,
11395 { "ganssID3", "rrlp.ganssID3",
11396 FT_UINT32, BASE_DEC, NULL, 0,
11397 "GANSS_ID3", HFILL }},
11398 { &hf_rrlp_GANSS_ID1_item,
11399 { "GANSS-ID1-element", "rrlp.GANSS_ID1_element_element",
11400 FT_NONE, BASE_NONE, NULL, 0,
11401 NULL, HFILL }},
11402 { &hf_rrlp_signalsAvailable,
11403 { "signalsAvailable", "rrlp.signalsAvailable",
11404 FT_BYTES, BASE_NONE, NULL, 0,
11405 "GANSSSignals", HFILL }},
11406 { &hf_rrlp_GANSS_ID3_item,
11407 { "GANSS-ID3-element", "rrlp.GANSS_ID3_element_element",
11408 FT_NONE, BASE_NONE, NULL, 0,
11409 NULL, HFILL }},
11410 { &hf_rrlp_channelNumber,
11411 { "channelNumber", "rrlp.channelNumber",
11412 FT_INT32, BASE_DEC, NULL, 0,
11413 "INTEGER_M7_13", HFILL }},
11414 { &hf_rrlp_GANSSDiffCorrectionsValidityPeriod_item,
11415 { "DGANSSExtensionSgnTypeElement", "rrlp.DGANSSExtensionSgnTypeElement_element",
11416 FT_NONE, BASE_NONE, NULL, 0,
11417 NULL, HFILL }},
11418 { &hf_rrlp_dganssExtensionSgnList,
11419 { "dganssExtensionSgnList", "rrlp.dganssExtensionSgnList",
11420 FT_UINT32, BASE_DEC, NULL, 0,
11421 "SeqOfDGANSSExtensionSgnElement", HFILL }},
11422 { &hf_rrlp_SeqOfDGANSSExtensionSgnElement_item,
11423 { "DGANSSExtensionSgnElement", "rrlp.DGANSSExtensionSgnElement_element",
11424 FT_NONE, BASE_NONE, NULL, 0,
11425 NULL, HFILL }},
11426 { &hf_rrlp_udreGrowthRate,
11427 { "udreGrowthRate", "rrlp.udreGrowthRate",
11428 FT_UINT32, BASE_DEC, NULL, 0,
11429 "INTEGER_0_7", HFILL }},
11430 { &hf_rrlp_udreValidityTime,
11431 { "udreValidityTime", "rrlp.udreValidityTime",
11432 FT_UINT32, BASE_DEC, NULL, 0,
11433 "INTEGER_0_7", HFILL }},
11434 { &hf_rrlp_add_GPS_controlHeader,
11435 { "add-GPS-controlHeader", "rrlp.add_GPS_controlHeader_element",
11436 FT_NONE, BASE_NONE, NULL, 0,
11437 NULL, HFILL }},
11438 { &hf_rrlp_gpsEphemerisExtension,
11439 { "gpsEphemerisExtension", "rrlp.gpsEphemerisExtension_element",
11440 FT_NONE, BASE_NONE, NULL, 0,
11441 NULL, HFILL }},
11442 { &hf_rrlp_gpsEphemerisExtensionCheck,
11443 { "gpsEphemerisExtensionCheck", "rrlp.gpsEphemerisExtensionCheck_element",
11444 FT_NONE, BASE_NONE, NULL, 0,
11445 NULL, HFILL }},
11446 { &hf_rrlp_dgpsCorrectionsValidityPeriod,
11447 { "dgpsCorrectionsValidityPeriod", "rrlp.dgpsCorrectionsValidityPeriod",
11448 FT_UINT32, BASE_DEC, NULL, 0,
11449 NULL, HFILL }},
11450 { &hf_rrlp_gpsReferenceTime_R10_Ext,
11451 { "gpsReferenceTime-R10-Ext", "rrlp.gpsReferenceTime_R10_Ext_element",
11452 FT_NONE, BASE_NONE, NULL, 0,
11453 NULL, HFILL }},
11454 { &hf_rrlp_gpsAcquisAssist_R10_Ext,
11455 { "gpsAcquisAssist-R10-Ext", "rrlp.gpsAcquisAssist_R10_Ext",
11456 FT_UINT32, BASE_DEC, NULL, 0,
11457 NULL, HFILL }},
11458 { &hf_rrlp_gpsAlmanac_R10_Ext,
11459 { "gpsAlmanac-R10-Ext", "rrlp.gpsAlmanac_R10_Ext_element",
11460 FT_NONE, BASE_NONE, NULL, 0,
11461 NULL, HFILL }},
11462 { &hf_rrlp_gpsAcquisAssist_R12_Ext,
11463 { "gpsAcquisAssist-R12-Ext", "rrlp.gpsAcquisAssist_R12_Ext_element",
11464 FT_NONE, BASE_NONE, NULL, 0,
11465 NULL, HFILL }},
11466 { &hf_rrlp_af2,
11467 { "af2", "rrlp.af2",
11468 FT_INT32, BASE_DEC, NULL, 0,
11469 "INTEGER_M128_127", HFILL }},
11470 { &hf_rrlp_af1,
11471 { "af1", "rrlp.af1",
11472 FT_INT32, BASE_DEC, NULL, 0,
11473 "INTEGER_M32768_32767", HFILL }},
11474 { &hf_rrlp_af0,
11475 { "af0", "rrlp.af0",
11476 FT_INT32, BASE_DEC, NULL, 0,
11477 "INTEGER_M2097152_2097151", HFILL }},
11478 { &hf_rrlp_tgd,
11479 { "tgd", "rrlp.tgd",
11480 FT_INT32, BASE_DEC, NULL, 0,
11481 "INTEGER_M128_127", HFILL }},
11482 { &hf_rrlp_gpsEphemerisHeader,
11483 { "gpsEphemerisHeader", "rrlp.gpsEphemerisHeader_element",
11484 FT_NONE, BASE_NONE, NULL, 0,
11485 "GPSEphemerisExtensionHeader", HFILL }},
11486 { &hf_rrlp_gpsReferenceSet,
11487 { "gpsReferenceSet", "rrlp.gpsReferenceSet",
11488 FT_UINT32, BASE_DEC, NULL, 0,
11489 "SeqOfGPSRefOrbit", HFILL }},
11490 { &hf_rrlp_gpsephemerisDeltaMatrix,
11491 { "gpsephemerisDeltaMatrix", "rrlp.gpsephemerisDeltaMatrix",
11492 FT_UINT32, BASE_DEC, NULL, 0,
11493 NULL, HFILL }},
11494 { &hf_rrlp_timeofEstimation,
11495 { "timeofEstimation", "rrlp.timeofEstimation_element",
11496 FT_NONE, BASE_NONE, NULL, 0,
11497 "GPSEphemerisExtensionTime", HFILL }},
11498 { &hf_rrlp_SeqOfGPSRefOrbit_item,
11499 { "GPSReferenceOrbit", "rrlp.GPSReferenceOrbit_element",
11500 FT_NONE, BASE_NONE, NULL, 0,
11501 NULL, HFILL }},
11502 { &hf_rrlp_gpsOrbitModel,
11503 { "gpsOrbitModel", "rrlp.gpsOrbitModel_element",
11504 FT_NONE, BASE_NONE, NULL, 0,
11505 "ReferenceNavModel", HFILL }},
11506 { &hf_rrlp_gpsClockModel,
11507 { "gpsClockModel", "rrlp.gpsClockModel_element",
11508 FT_NONE, BASE_NONE, NULL, 0,
11509 NULL, HFILL }},
11510 { &hf_rrlp_GPSEphemerisDeltaMatrix_item,
11511 { "GPSEphemerisDeltaEpoch", "rrlp.GPSEphemerisDeltaEpoch_element",
11512 FT_NONE, BASE_NONE, NULL, 0,
11513 NULL, HFILL }},
11514 { &hf_rrlp_gpsDeltaEpochHeader,
11515 { "gpsDeltaEpochHeader", "rrlp.gpsDeltaEpochHeader_element",
11516 FT_NONE, BASE_NONE, NULL, 0,
11517 NULL, HFILL }},
11518 { &hf_rrlp_gpsDeltaElementList,
11519 { "gpsDeltaElementList", "rrlp.gpsDeltaElementList",
11520 FT_UINT32, BASE_DEC, NULL, 0,
11521 NULL, HFILL }},
11522 { &hf_rrlp_ephemerisDeltaSizes_01,
11523 { "ephemerisDeltaSizes", "rrlp.ephemerisDeltaSizes_element",
11524 FT_NONE, BASE_NONE, NULL, 0,
11525 "GPSEphemerisDeltaBitSizes", HFILL }},
11526 { &hf_rrlp_ephemerisDeltaScales_01,
11527 { "ephemerisDeltaScales", "rrlp.ephemerisDeltaScales_element",
11528 FT_NONE, BASE_NONE, NULL, 0,
11529 "GPSEphemerisDeltaScales", HFILL }},
11530 { &hf_rrlp_GPSDeltaElementList_item,
11531 { "GPSDeltaElementList item", "rrlp.GPSDeltaElementList_item",
11532 FT_BYTES, BASE_NONE, NULL, 0,
11533 "OCTET_STRING_SIZE_1_47", HFILL }},
11534 { &hf_rrlp_bitsize_delta_tgd,
11535 { "bitsize-delta-tgd", "rrlp.bitsize_delta_tgd",
11536 FT_UINT32, BASE_DEC, NULL, 0,
11537 "INTEGER_1_10", HFILL }},
11538 { &hf_rrlp_scale_delta_tgd,
11539 { "scale-delta-tgd", "rrlp.scale_delta_tgd",
11540 FT_INT32, BASE_DEC, NULL, 0,
11541 "INTEGER_M16_15", HFILL }},
11542 { &hf_rrlp_gpsBeginTime,
11543 { "gpsBeginTime", "rrlp.gpsBeginTime_element",
11544 FT_NONE, BASE_NONE, NULL, 0,
11545 "GPSEphemerisExtensionTime", HFILL }},
11546 { &hf_rrlp_gpsEndTime,
11547 { "gpsEndTime", "rrlp.gpsEndTime_element",
11548 FT_NONE, BASE_NONE, NULL, 0,
11549 "GPSEphemerisExtensionTime", HFILL }},
11550 { &hf_rrlp_gpsSatEventsInfo,
11551 { "gpsSatEventsInfo", "rrlp.gpsSatEventsInfo_element",
11552 FT_NONE, BASE_NONE, NULL, 0,
11553 NULL, HFILL }},
11554 { &hf_rrlp_eventOccured_01,
11555 { "eventOccured", "rrlp.eventOccured",
11556 FT_BYTES, BASE_NONE, NULL, 0,
11557 "BIT_STRING_SIZE_32", HFILL }},
11558 { &hf_rrlp_futureEventNoted_01,
11559 { "futureEventNoted", "rrlp.futureEventNoted",
11560 FT_BYTES, BASE_NONE, NULL, 0,
11561 "BIT_STRING_SIZE_32", HFILL }},
11562 { &hf_rrlp_DGPSCorrectionsValidityPeriod_item,
11563 { "DGPSExtensionSatElement", "rrlp.DGPSExtensionSatElement_element",
11564 FT_NONE, BASE_NONE, NULL, 0,
11565 NULL, HFILL }},
11566 { &hf_rrlp_gpsWeekCycleNumber,
11567 { "gpsWeekCycleNumber", "rrlp.gpsWeekCycleNumber",
11568 FT_UINT32, BASE_DEC, NULL, 0,
11569 "INTEGER_0_7", HFILL }},
11570 { &hf_rrlp_GPSAcquisAssist_R10_Ext_item,
11571 { "GPSAcquisAssist-R10-Ext-Element", "rrlp.GPSAcquisAssist_R10_Ext_Element_element",
11572 FT_NONE, BASE_NONE, NULL, 0,
11573 NULL, HFILL }},
11574 { &hf_rrlp_acquisList_01,
11575 { "acquisList", "rrlp.acquisList",
11576 FT_UINT32, BASE_DEC, NULL, 0,
11577 "SeqOfGPSAcquisAssist_R12_Ext", HFILL }},
11578 { &hf_rrlp_SeqOfGPSAcquisAssist_R12_Ext_item,
11579 { "GPSAcquisAssist-R12-Ext-Element", "rrlp.GPSAcquisAssist_R12_Ext_Element_element",
11580 FT_NONE, BASE_NONE, NULL, 0,
11581 NULL, HFILL }},
11582 { &hf_rrlp_dopplerUncertaintyExt_01,
11583 { "dopplerUncertaintyExt", "rrlp.dopplerUncertaintyExt",
11584 FT_UINT32, BASE_DEC, VALS(rrlp_T_dopplerUncertaintyExt_01_vals), 0,
11585 "T_dopplerUncertaintyExt_01", HFILL }},
11586 { &hf_rrlp_velEstimate,
11587 { "velEstimate", "rrlp.velEstimate",
11588 FT_BYTES, BASE_NONE, NULL, 0,
11589 "VelocityEstimate", HFILL }},
11590 { &hf_rrlp_ganssLocationInfo,
11591 { "ganssLocationInfo", "rrlp.ganssLocationInfo_element",
11592 FT_NONE, BASE_NONE, NULL, 0,
11593 NULL, HFILL }},
11594 { &hf_rrlp_ganssMeasureInfo,
11595 { "ganssMeasureInfo", "rrlp.ganssMeasureInfo_element",
11596 FT_NONE, BASE_NONE, NULL, 0,
11597 NULL, HFILL }},
11598 { &hf_rrlp_referenceFrame,
11599 { "referenceFrame", "rrlp.referenceFrame_element",
11600 FT_NONE, BASE_NONE, NULL, 0,
11601 NULL, HFILL }},
11602 { &hf_rrlp_ganssTODm,
11603 { "ganssTODm", "rrlp.ganssTODm",
11604 FT_UINT32, BASE_DEC, NULL, 0,
11605 NULL, HFILL }},
11606 { &hf_rrlp_ganssTODFrac,
11607 { "ganssTODFrac", "rrlp.ganssTODFrac",
11608 FT_UINT32, BASE_DEC, NULL, 0,
11609 "INTEGER_0_16384", HFILL }},
11610 { &hf_rrlp_posData,
11611 { "posData", "rrlp.posData",
11612 FT_BYTES, BASE_NONE, NULL, 0,
11613 "PositionData", HFILL }},
11614 { &hf_rrlp_stationaryIndication,
11615 { "stationaryIndication", "rrlp.stationaryIndication",
11616 FT_UINT32, BASE_DEC, NULL, 0,
11617 "INTEGER_0_1", HFILL }},
11618 { &hf_rrlp_referenceFN,
11619 { "referenceFN", "rrlp.referenceFN",
11620 FT_UINT32, BASE_DEC, NULL, 0,
11621 "INTEGER_0_65535", HFILL }},
11622 { &hf_rrlp_referenceFNMSB,
11623 { "referenceFNMSB", "rrlp.referenceFNMSB",
11624 FT_UINT32, BASE_DEC, NULL, 0,
11625 "INTEGER_0_63", HFILL }},
11626 { &hf_rrlp_ganssMsrSetList,
11627 { "ganssMsrSetList", "rrlp.ganssMsrSetList",
11628 FT_UINT32, BASE_DEC, NULL, 0,
11629 "SeqOfGANSS_MsrSetElement", HFILL }},
11630 { &hf_rrlp_SeqOfGANSS_MsrSetElement_item,
11631 { "GANSS-MsrSetElement", "rrlp.GANSS_MsrSetElement_element",
11632 FT_NONE, BASE_NONE, NULL, 0,
11633 NULL, HFILL }},
11634 { &hf_rrlp_deltaGANSSTOD,
11635 { "deltaGANSSTOD", "rrlp.deltaGANSSTOD",
11636 FT_UINT32, BASE_DEC, NULL, 0,
11637 "INTEGER_0_127", HFILL }},
11638 { &hf_rrlp_ganss_MsrElementList,
11639 { "ganss-MsrElementList", "rrlp.ganss_MsrElementList",
11640 FT_UINT32, BASE_DEC, NULL, 0,
11641 "SeqOfGANSS_MsrElement", HFILL }},
11642 { &hf_rrlp_SeqOfGANSS_MsrElement_item,
11643 { "GANSS-MsrElement", "rrlp.GANSS_MsrElement_element",
11644 FT_NONE, BASE_NONE, NULL, 0,
11645 NULL, HFILL }},
11646 { &hf_rrlp_ganss_SgnTypeList,
11647 { "ganss-SgnTypeList", "rrlp.ganss_SgnTypeList",
11648 FT_UINT32, BASE_DEC, NULL, 0,
11649 "SeqOfGANSS_SgnTypeElement", HFILL }},
11650 { &hf_rrlp_SeqOfGANSS_SgnTypeElement_item,
11651 { "GANSS-SgnTypeElement", "rrlp.GANSS_SgnTypeElement_element",
11652 FT_NONE, BASE_NONE, NULL, 0,
11653 NULL, HFILL }},
11654 { &hf_rrlp_ganssCodePhaseAmbiguity,
11655 { "ganssCodePhaseAmbiguity", "rrlp.ganssCodePhaseAmbiguity",
11656 FT_UINT32, BASE_DEC, NULL, 0,
11657 "INTEGER_0_127", HFILL }},
11658 { &hf_rrlp_ganss_SgnList,
11659 { "ganss-SgnList", "rrlp.ganss_SgnList",
11660 FT_UINT32, BASE_DEC, NULL, 0,
11661 "SeqOfGANSS_SgnElement", HFILL }},
11662 { &hf_rrlp_SeqOfGANSS_SgnElement_item,
11663 { "GANSS-SgnElement", "rrlp.GANSS_SgnElement_element",
11664 FT_NONE, BASE_NONE, NULL, 0,
11665 NULL, HFILL }},
11666 { &hf_rrlp_mpathDet,
11667 { "mpathDet", "rrlp.mpathDet",
11668 FT_UINT32, BASE_DEC, VALS(rrlp_MpathIndic_vals), 0,
11669 "MpathIndic", HFILL }},
11670 { &hf_rrlp_carrierQualityInd,
11671 { "carrierQualityInd", "rrlp.carrierQualityInd",
11672 FT_UINT32, BASE_DEC, NULL, 0,
11673 "INTEGER_0_3", HFILL }},
11674 { &hf_rrlp_codePhase_01,
11675 { "codePhase", "rrlp.codePhase",
11676 FT_UINT32, BASE_DEC, NULL, 0,
11677 "INTEGER_0_2097151", HFILL }},
11678 { &hf_rrlp_integerCodePhase,
11679 { "integerCodePhase", "rrlp.integerCodePhase",
11680 FT_UINT32, BASE_DEC, NULL, 0,
11681 "INTEGER_0_127", HFILL }},
11682 { &hf_rrlp_codePhaseRMSError,
11683 { "codePhaseRMSError", "rrlp.codePhaseRMSError",
11684 FT_UINT32, BASE_DEC, NULL, 0,
11685 "INTEGER_0_63", HFILL }},
11686 { &hf_rrlp_adr,
11687 { "adr", "rrlp.adr",
11688 FT_UINT32, BASE_DEC, NULL, 0,
11689 "INTEGER_0_33554431", HFILL }},
11690 { &hf_rrlp_dbds_RefTime_r12,
11691 { "dbds-RefTime-r12", "rrlp.dbds_RefTime_r12",
11692 FT_UINT32, BASE_DEC, NULL, 0,
11693 "INTEGER_0_3599", HFILL }},
11694 { &hf_rrlp_bds_SgnTypeList_r12,
11695 { "bds-SgnTypeList-r12", "rrlp.bds_SgnTypeList_r12",
11696 FT_UINT32, BASE_DEC, NULL, 0,
11697 NULL, HFILL }},
11698 { &hf_rrlp_BDS_SgnTypeList_r12_item,
11699 { "BDS-SgnTypeElement-r12", "rrlp.BDS_SgnTypeElement_r12_element",
11700 FT_NONE, BASE_NONE, NULL, 0,
11701 NULL, HFILL }},
11702 { &hf_rrlp_dbds_CorrectionList_r12,
11703 { "dbds-CorrectionList-r12", "rrlp.dbds_CorrectionList_r12",
11704 FT_UINT32, BASE_DEC, NULL, 0,
11705 NULL, HFILL }},
11706 { &hf_rrlp_DBDS_CorrectionList_r12_item,
11707 { "DBDS-CorrectionElement-r12", "rrlp.DBDS_CorrectionElement_r12_element",
11708 FT_NONE, BASE_NONE, NULL, 0,
11709 NULL, HFILL }},
11710 { &hf_rrlp_bds_UDREI_r12,
11711 { "bds-UDREI-r12", "rrlp.bds_UDREI_r12",
11712 FT_UINT32, BASE_DEC, NULL, 0,
11713 "INTEGER_0_15", HFILL }},
11714 { &hf_rrlp_bds_RURAI_r12,
11715 { "bds-RURAI-r12", "rrlp.bds_RURAI_r12",
11716 FT_UINT32, BASE_DEC, NULL, 0,
11717 "INTEGER_0_15", HFILL }},
11718 { &hf_rrlp_bds_ECC_DeltaT_r12,
11719 { "bds-ECC-DeltaT-r12", "rrlp.bds_ECC_DeltaT_r12",
11720 FT_INT32, BASE_DEC, NULL, 0,
11721 "INTEGER_M4096_4095", HFILL }},
11722 { &hf_rrlp_bds_RefTime_r12,
11723 { "bds-RefTime-r12", "rrlp.bds_RefTime_r12",
11724 FT_UINT32, BASE_DEC, NULL, 0,
11725 "INTEGER_0_3599", HFILL }},
11726 { &hf_rrlp_gridIonList_r12,
11727 { "gridIonList-r12", "rrlp.gridIonList_r12",
11728 FT_UINT32, BASE_DEC, NULL, 0,
11729 NULL, HFILL }},
11730 { &hf_rrlp_GridIonList_r12_item,
11731 { "GridIonElement-r12", "rrlp.GridIonElement_r12_element",
11732 FT_NONE, BASE_NONE, NULL, 0,
11733 NULL, HFILL }},
11734 { &hf_rrlp_igp_ID_r12,
11735 { "igp-ID-r12", "rrlp.igp_ID_r12",
11736 FT_UINT32, BASE_DEC, NULL, 0,
11737 "INTEGER_1_320", HFILL }},
11738 { &hf_rrlp_dt_r12,
11739 { "dt-r12", "rrlp.dt_r12",
11740 FT_UINT32, BASE_DEC, NULL, 0,
11741 "INTEGER_0_511", HFILL }},
11742 { &hf_rrlp_givei_r12,
11743 { "givei-r12", "rrlp.givei_r12",
11744 FT_UINT32, BASE_DEC, NULL, 0,
11745 "INTEGER_0_15", HFILL }},
11746 { &hf_rrlp_nonGANSSpositionMethods,
11747 { "nonGANSSpositionMethods", "rrlp.nonGANSSpositionMethods",
11748 FT_BYTES, BASE_NONE, NULL, 0,
11749 NULL, HFILL }},
11750 { &hf_rrlp_multipleMeasurementSets,
11751 { "multipleMeasurementSets", "rrlp.multipleMeasurementSets",
11752 FT_BYTES, BASE_NONE, NULL, 0,
11753 NULL, HFILL }},
11754 { &hf_rrlp_GANSSPositionMethods_item,
11755 { "GANSSPositionMethod", "rrlp.GANSSPositionMethod_element",
11756 FT_NONE, BASE_NONE, NULL, 0,
11757 NULL, HFILL }},
11758 { &hf_rrlp_gANSSPositioningMethodTypes,
11759 { "gANSSPositioningMethodTypes", "rrlp.gANSSPositioningMethodTypes",
11760 FT_BYTES, BASE_NONE, NULL, 0,
11761 NULL, HFILL }},
11762 { &hf_rrlp_gANSSSignals,
11763 { "gANSSSignals", "rrlp.gANSSSignals",
11764 FT_BYTES, BASE_NONE, NULL, 0,
11765 NULL, HFILL }},
11766 { &hf_rrlp_sbasID,
11767 { "sbasID", "rrlp.sbasID",
11768 FT_BYTES, BASE_NONE, NULL, 0,
11769 NULL, HFILL }},
11770 { &hf_rrlp_gpsAssistance,
11771 { "gpsAssistance", "rrlp.gpsAssistance",
11772 FT_BYTES, BASE_NONE, NULL, 0,
11773 NULL, HFILL }},
11774 { &hf_rrlp_gANSSAssistanceSet,
11775 { "gANSSAssistanceSet", "rrlp.gANSSAssistanceSet_element",
11776 FT_NONE, BASE_NONE, NULL, 0,
11777 NULL, HFILL }},
11778 { &hf_rrlp_gANSSAdditionalAssistanceChoices,
11779 { "gANSSAdditionalAssistanceChoices", "rrlp.gANSSAdditionalAssistanceChoices",
11780 FT_UINT32, BASE_DEC, NULL, 0,
11781 NULL, HFILL }},
11782 { &hf_rrlp_commonGANSSAssistance,
11783 { "commonGANSSAssistance", "rrlp.commonGANSSAssistance",
11784 FT_BYTES, BASE_NONE, NULL, 0,
11785 NULL, HFILL }},
11786 { &hf_rrlp_specificGANSSAssistance,
11787 { "specificGANSSAssistance", "rrlp.specificGANSSAssistance",
11788 FT_UINT32, BASE_DEC, NULL, 0,
11789 NULL, HFILL }},
11790 { &hf_rrlp_SpecificGANSSAssistance_item,
11791 { "GANSSAssistanceForOneGANSS", "rrlp.GANSSAssistanceForOneGANSS_element",
11792 FT_NONE, BASE_NONE, NULL, 0,
11793 NULL, HFILL }},
11794 { &hf_rrlp_gANSSAssistance,
11795 { "gANSSAssistance", "rrlp.gANSSAssistance",
11796 FT_BYTES, BASE_NONE, NULL, 0,
11797 NULL, HFILL }},
11798 { &hf_rrlp_GANSSAdditionalAssistanceChoices_item,
11799 { "GANSSAdditionalAssistanceChoicesForOneGANSS", "rrlp.GANSSAdditionalAssistanceChoicesForOneGANSS_element",
11800 FT_NONE, BASE_NONE, NULL, 0,
11801 NULL, HFILL }},
11802 { &hf_rrlp_ganssClockModelChoice,
11803 { "ganssClockModelChoice", "rrlp.ganssClockModelChoice",
11804 FT_BYTES, BASE_NONE, NULL, 0,
11805 "GANSSModelID", HFILL }},
11806 { &hf_rrlp_gannsOrbitModelChoice,
11807 { "gannsOrbitModelChoice", "rrlp.gannsOrbitModelChoice",
11808 FT_BYTES, BASE_NONE, NULL, 0,
11809 "GANSSModelID", HFILL }},
11810 { &hf_rrlp_ganssAlmanacModelChoice,
11811 { "ganssAlmanacModelChoice", "rrlp.ganssAlmanacModelChoice",
11812 FT_BYTES, BASE_NONE, NULL, 0,
11813 "GANSSModelID", HFILL }},
11814 { &hf_rrlp_ganssAdditionalUTCModelChoice,
11815 { "ganssAdditionalUTCModelChoice", "rrlp.ganssAdditionalUTCModelChoice",
11816 FT_BYTES, BASE_NONE, NULL, 0,
11817 "GANSSModelID", HFILL }},
11818 { &hf_rrlp_cellSet1,
11819 { "cellSet1", "rrlp.cellSet1_element",
11820 FT_NONE, BASE_NONE, NULL, 0,
11821 "CellSet", HFILL }},
11822 { &hf_rrlp_cellSet2,
11823 { "cellSet2", "rrlp.cellSet2_element",
11824 FT_NONE, BASE_NONE, NULL, 0,
11825 "CellSet", HFILL }},
11826 { &hf_rrlp_cellSet3,
11827 { "cellSet3", "rrlp.cellSet3_element",
11828 FT_NONE, BASE_NONE, NULL, 0,
11829 "CellSet", HFILL }},
11830 { &hf_rrlp_cellSet4,
11831 { "cellSet4", "rrlp.cellSet4_element",
11832 FT_NONE, BASE_NONE, NULL, 0,
11833 "CellSet", HFILL }},
11834 { &hf_rrlp_cellSet5,
11835 { "cellSet5", "rrlp.cellSet5_element",
11836 FT_NONE, BASE_NONE, NULL, 0,
11837 "CellSet", HFILL }},
11838 { &hf_rrlp_cellSet6,
11839 { "cellSet6", "rrlp.cellSet6_element",
11840 FT_NONE, BASE_NONE, NULL, 0,
11841 "CellSet", HFILL }},
11842 { &hf_rrlp_cellSet7,
11843 { "cellSet7", "rrlp.cellSet7_element",
11844 FT_NONE, BASE_NONE, NULL, 0,
11845 "CellSet", HFILL }},
11846 { &hf_rrlp_cellSet8,
11847 { "cellSet8", "rrlp.cellSet8_element",
11848 FT_NONE, BASE_NONE, NULL, 0,
11849 "CellSet", HFILL }},
11850 { &hf_rrlp_cell1,
11851 { "cell1", "rrlp.cell1_element",
11852 FT_NONE, BASE_NONE, NULL, 0,
11853 "CellInfo", HFILL }},
11854 { &hf_rrlp_cell2,
11855 { "cell2", "rrlp.cell2_element",
11856 FT_NONE, BASE_NONE, NULL, 0,
11857 "CellInfo", HFILL }},
11858 { &hf_rrlp_cell3,
11859 { "cell3", "rrlp.cell3_element",
11860 FT_NONE, BASE_NONE, NULL, 0,
11861 "CellInfo", HFILL }},
11862 { &hf_rrlp_cell4,
11863 { "cell4", "rrlp.cell4_element",
11864 FT_NONE, BASE_NONE, NULL, 0,
11865 "CellInfo", HFILL }},
11866 { &hf_rrlp_cell5,
11867 { "cell5", "rrlp.cell5_element",
11868 FT_NONE, BASE_NONE, NULL, 0,
11869 "CellInfo", HFILL }},
11870 { &hf_rrlp_cell6,
11871 { "cell6", "rrlp.cell6_element",
11872 FT_NONE, BASE_NONE, NULL, 0,
11873 "CellInfo", HFILL }},
11874 { &hf_rrlp_bsic_01,
11875 { "bsic", "rrlp.bsic",
11876 FT_UINT32, BASE_DEC, NULL, 0,
11877 "INTEGER_0_511", HFILL }},
11878 { &hf_rrlp_arfcn,
11879 { "arfcn", "rrlp.arfcn",
11880 FT_UINT32, BASE_DEC, NULL, 0,
11881 "INTEGER_0_1023", HFILL }},
11882 { &hf_rrlp_oTDMeasurementInfo1,
11883 { "oTDMeasurementInfo1", "rrlp.oTDMeasurementInfo1_element",
11884 FT_NONE, BASE_NONE, NULL, 0,
11885 "OTDMeasurementInfo", HFILL }},
11886 { &hf_rrlp_oTDMeasurementInfo2,
11887 { "oTDMeasurementInfo2", "rrlp.oTDMeasurementInfo2_element",
11888 FT_NONE, BASE_NONE, NULL, 0,
11889 "OTDMeasurementInfo", HFILL }},
11890 { &hf_rrlp_oTDMeasurementInfo3,
11891 { "oTDMeasurementInfo3", "rrlp.oTDMeasurementInfo3_element",
11892 FT_NONE, BASE_NONE, NULL, 0,
11893 "OTDMeasurementInfo", HFILL }},
11894 { &hf_rrlp_oTDMeasurementInfo4,
11895 { "oTDMeasurementInfo4", "rrlp.oTDMeasurementInfo4_element",
11896 FT_NONE, BASE_NONE, NULL, 0,
11897 "OTDMeasurementInfo", HFILL }},
11898 { &hf_rrlp_oTDMeasurementInfo5,
11899 { "oTDMeasurementInfo5", "rrlp.oTDMeasurementInfo5_element",
11900 FT_NONE, BASE_NONE, NULL, 0,
11901 "OTDMeasurementInfo", HFILL }},
11902 { &hf_rrlp_oTDMeasurementInfo6,
11903 { "oTDMeasurementInfo6", "rrlp.oTDMeasurementInfo6_element",
11904 FT_NONE, BASE_NONE, NULL, 0,
11905 "OTDMeasurementInfo", HFILL }},
11906 { &hf_rrlp_oTDMeasurementInfo7,
11907 { "oTDMeasurementInfo7", "rrlp.oTDMeasurementInfo7_element",
11908 FT_NONE, BASE_NONE, NULL, 0,
11909 "OTDMeasurementInfo", HFILL }},
11910 { &hf_rrlp_reportedCell,
11911 { "reportedCell", "rrlp.reportedCell",
11912 FT_UINT32, BASE_DEC, VALS(rrlp_CellType_vals), 0,
11913 "CellType", HFILL }},
11914 { &hf_rrlp_msSyncAccuracy,
11915 { "msSyncAccuracy", "rrlp.msSyncAccuracy",
11916 FT_UINT32, BASE_DEC, NULL, 0,
11917 "INTEGER_0_15", HFILL }},
11918 { &hf_rrlp_observedTimeDiff,
11919 { "observedTimeDiff", "rrlp.observedTimeDiff",
11920 FT_UINT32, BASE_DEC, NULL, 0,
11921 "INTEGER_0_999", HFILL }},
11922 { &hf_rrlp_configuredNeighbourCellIdx,
11923 { "configuredNeighbourCellIdx", "rrlp.configuredNeighbourCellIdx",
11924 FT_UINT32, BASE_DEC, NULL, 0,
11925 "INTEGER_1_48", HFILL }},
11926 { &hf_rrlp_detectedNeighbourCell,
11927 { "detectedNeighbourCell", "rrlp.detectedNeighbourCell_element",
11928 FT_NONE, BASE_NONE, NULL, 0,
11929 "CellInfo", HFILL }},
11930 { &hf_rrlp_rxLEVMeasurementInfo1,
11931 { "rxLEVMeasurementInfo1", "rrlp.rxLEVMeasurementInfo1_element",
11932 FT_NONE, BASE_NONE, NULL, 0,
11933 "RXLEVMeasurementInfo", HFILL }},
11934 { &hf_rrlp_rxLEVMeasurementInfo2,
11935 { "rxLEVMeasurementInfo2", "rrlp.rxLEVMeasurementInfo2_element",
11936 FT_NONE, BASE_NONE, NULL, 0,
11937 "RXLEVMeasurementInfo", HFILL }},
11938 { &hf_rrlp_rxLEVMeasurementInfo3,
11939 { "rxLEVMeasurementInfo3", "rrlp.rxLEVMeasurementInfo3_element",
11940 FT_NONE, BASE_NONE, NULL, 0,
11941 "RXLEVMeasurementInfo", HFILL }},
11942 { &hf_rrlp_rxLEVMeasurementInfo4,
11943 { "rxLEVMeasurementInfo4", "rrlp.rxLEVMeasurementInfo4_element",
11944 FT_NONE, BASE_NONE, NULL, 0,
11945 "RXLEVMeasurementInfo", HFILL }},
11946 { &hf_rrlp_rxLEVMeasurementInfo5,
11947 { "rxLEVMeasurementInfo5", "rrlp.rxLEVMeasurementInfo5_element",
11948 FT_NONE, BASE_NONE, NULL, 0,
11949 "RXLEVMeasurementInfo", HFILL }},
11950 { &hf_rrlp_rxLEVMeasurementInfo6,
11951 { "rxLEVMeasurementInfo6", "rrlp.rxLEVMeasurementInfo6_element",
11952 FT_NONE, BASE_NONE, NULL, 0,
11953 "RXLEVMeasurementInfo", HFILL }},
11954 { &hf_rrlp_rxLEV,
11955 { "rxLEV", "rrlp.rxLEV",
11956 FT_UINT32, BASE_DEC, NULL, 0,
11957 "INTEGER_0_63", HFILL }},
11958 { &hf_rrlp_rlc_Data_Block,
11959 { "rlc-Data-Block", "rrlp.rlc_Data_Block_element",
11960 FT_NONE, BASE_NONE, NULL, 0,
11961 NULL, HFILL }},
11962 { &hf_rrlp_access_Burst,
11963 { "access-Burst", "rrlp.access_Burst_element",
11964 FT_NONE, BASE_NONE, NULL, 0,
11965 NULL, HFILL }},
11966 { &hf_rrlp_extended_Access_Burst,
11967 { "extended-Access-Burst", "rrlp.extended_Access_Burst_element",
11968 FT_NONE, BASE_NONE, NULL, 0,
11969 NULL, HFILL }},
11970 { &hf_rrlp_spare,
11971 { "spare", "rrlp.spare_element",
11972 FT_NONE, BASE_NONE, NULL, 0,
11973 NULL, HFILL }},
11974 { &hf_rrlp_random_ID1,
11975 { "random-ID1", "rrlp.random_ID1",
11976 FT_UINT32, BASE_DEC, NULL, 0,
11977 "INTEGER_0_65535", HFILL }},
11978 { &hf_rrlp_random_ID2,
11979 { "random-ID2", "rrlp.random_ID2",
11980 FT_UINT32, BASE_DEC, NULL, 0,
11981 "INTEGER_0_65535", HFILL }},
11982 { &hf_rrlp_random_ID3,
11983 { "random-ID3", "rrlp.random_ID3",
11984 FT_UINT32, BASE_DEC, NULL, 0,
11985 "INTEGER_0_65535", HFILL }},
11986 { &hf_rrlp_random_ID4,
11987 { "random-ID4", "rrlp.random_ID4",
11988 FT_UINT32, BASE_DEC, NULL, 0,
11989 "INTEGER_0_65535", HFILL }},
11990 { &hf_rrlp_random_ID5,
11991 { "random-ID5", "rrlp.random_ID5",
11992 FT_UINT32, BASE_DEC, NULL, 0,
11993 "INTEGER_0_65535", HFILL }},
11994 { &hf_rrlp_random_ID6,
11995 { "random-ID6", "rrlp.random_ID6",
11996 FT_UINT32, BASE_DEC, NULL, 0,
11997 "INTEGER_0_65535", HFILL }},
11998 { &hf_rrlp_random_ID7,
11999 { "random-ID7", "rrlp.random_ID7",
12000 FT_UINT32, BASE_DEC, NULL, 0,
12001 "INTEGER_0_65535", HFILL }},
12002 { &hf_rrlp_random_ID8,
12003 { "random-ID8", "rrlp.random_ID8",
12004 FT_UINT32, BASE_DEC, NULL, 0,
12005 "INTEGER_0_65535", HFILL }},
12006 { &hf_rrlp_random_ID9,
12007 { "random-ID9", "rrlp.random_ID9",
12008 FT_UINT32, BASE_DEC, NULL, 0,
12009 "INTEGER_0_65535", HFILL }},
12010 { &hf_rrlp_short_BSS_ID,
12011 { "short-BSS-ID", "rrlp.short_BSS_ID",
12012 FT_UINT32, BASE_DEC, NULL, 0,
12013 "INTEGER_0_7", HFILL }},
12014 { &hf_rrlp_co_sited_cell_Set_Member1,
12015 { "co-sited-cell-Set-Member1", "rrlp.co_sited_cell_Set_Member1_element",
12016 FT_NONE, BASE_NONE, NULL, 0,
12017 "Co_Sited_Cell_Set_Member", HFILL }},
12018 { &hf_rrlp_co_sited_cell_set_Member2,
12019 { "co-sited-cell-set-Member2", "rrlp.co_sited_cell_set_Member2_element",
12020 FT_NONE, BASE_NONE, NULL, 0,
12021 "Co_Sited_Cell_Set_Member", HFILL }},
12022 { &hf_rrlp_co_sited_cell_set_Member3,
12023 { "co-sited-cell-set-Member3", "rrlp.co_sited_cell_set_Member3_element",
12024 FT_NONE, BASE_NONE, NULL, 0,
12025 "Co_Sited_Cell_Set_Member", HFILL }},
12026 { &hf_rrlp_co_sited_cell_set_Member4,
12027 { "co-sited-cell-set-Member4", "rrlp.co_sited_cell_set_Member4_element",
12028 FT_NONE, BASE_NONE, NULL, 0,
12029 "Co_Sited_Cell_Set_Member", HFILL }},
12030 { &hf_rrlp_co_sited_cell_set_Member5,
12031 { "co-sited-cell-set-Member5", "rrlp.co_sited_cell_set_Member5_element",
12032 FT_NONE, BASE_NONE, NULL, 0,
12033 "Co_Sited_Cell_Set_Member", HFILL }},
12034 { &hf_rrlp_co_sited_cell_set_Member6,
12035 { "co-sited-cell-set-Member6", "rrlp.co_sited_cell_set_Member6_element",
12036 FT_NONE, BASE_NONE, NULL, 0,
12037 "Co_Sited_Cell_Set_Member", HFILL }},
12038 { &hf_rrlp_bsic_Info,
12039 { "bsic-Info", "rrlp.bsic_Info_element",
12040 FT_NONE, BASE_NONE, NULL, 0,
12041 NULL, HFILL }},
12042 { &hf_rrlp_cell_Set_Member1,
12043 { "cell-Set-Member1", "rrlp.cell_Set_Member1_element",
12044 FT_NONE, BASE_NONE, NULL, 0,
12045 "Cell_Set_Member", HFILL }},
12046 { &hf_rrlp_cell_set_Member2,
12047 { "cell-set-Member2", "rrlp.cell_set_Member2_element",
12048 FT_NONE, BASE_NONE, NULL, 0,
12049 "Cell_Set_Member", HFILL }},
12050 { &hf_rrlp_cell_set_Member3,
12051 { "cell-set-Member3", "rrlp.cell_set_Member3_element",
12052 FT_NONE, BASE_NONE, NULL, 0,
12053 "Cell_Set_Member", HFILL }},
12054 { &hf_rrlp_cell_set_Member4,
12055 { "cell-set-Member4", "rrlp.cell_set_Member4_element",
12056 FT_NONE, BASE_NONE, NULL, 0,
12057 "Cell_Set_Member", HFILL }},
12058 { &hf_rrlp_cell_set_Member5,
12059 { "cell-set-Member5", "rrlp.cell_set_Member5_element",
12060 FT_NONE, BASE_NONE, NULL, 0,
12061 "Cell_Set_Member", HFILL }},
12062 { &hf_rrlp_cell_set_Member6,
12063 { "cell-set-Member6", "rrlp.cell_set_Member6_element",
12064 FT_NONE, BASE_NONE, NULL, 0,
12065 "Cell_Set_Member", HFILL }},
12066 { &hf_rrlp_short_ID,
12067 { "short-ID", "rrlp.short_ID",
12068 FT_UINT32, BASE_DEC, NULL, 0,
12069 "INTEGER_0_255", HFILL }},
12070 { &hf_rrlp_ec_cell_information,
12071 { "ec-cell-information", "rrlp.ec_cell_information",
12072 FT_UINT32, BASE_DEC, VALS(rrlp_T_ec_cell_information_vals), 0,
12073 NULL, HFILL }},
12074 { &hf_rrlp_ec_RACH_Control_Parameters,
12075 { "ec-RACH-Control-Parameters", "rrlp.ec_RACH_Control_Parameters_element",
12076 FT_NONE, BASE_NONE, NULL, 0,
12077 NULL, HFILL }},
12078 { &hf_rrlp_default_ec_RACH_Control_Parameters,
12079 { "default-ec-RACH-Control-Parameters", "rrlp.default_ec_RACH_Control_Parameters_element",
12080 FT_NONE, BASE_NONE, NULL, 0,
12081 NULL, HFILL }},
12082 { &hf_rrlp_peo_cell_information,
12083 { "peo-cell-information", "rrlp.peo_cell_information",
12084 FT_UINT32, BASE_DEC, VALS(rrlp_T_peo_cell_information_vals), 0,
12085 NULL, HFILL }},
12086 { &hf_rrlp_rach_Control_Parameters,
12087 { "rach-Control-Parameters", "rrlp.rach_Control_Parameters_element",
12088 FT_NONE, BASE_NONE, NULL, 0,
12089 NULL, HFILL }},
12090 { &hf_rrlp_default_rach_Control_Parameters,
12091 { "default-rach-Control-Parameters", "rrlp.default_rach_Control_Parameters_element",
12092 FT_NONE, BASE_NONE, NULL, 0,
12093 NULL, HFILL }},
12094 { &hf_rrlp_radio_Frequency_Colour_Code,
12095 { "radio-Frequency-Colour-Code", "rrlp.radio_Frequency_Colour_Code",
12096 FT_UINT32, BASE_DEC, NULL, 0,
12097 "INTEGER_0_7", HFILL }},
12098 { &hf_rrlp_network_Colour_Code,
12099 { "network-Colour-Code", "rrlp.network_Colour_Code",
12100 FT_UINT32, BASE_DEC, NULL, 0,
12101 "INTEGER_0_7", HFILL }},
12102 { &hf_rrlp_base_station_Colour_Code,
12103 { "base-station-Colour-Code", "rrlp.base_station_Colour_Code",
12104 FT_UINT32, BASE_DEC, NULL, 0,
12105 "INTEGER_0_7", HFILL }},
12106 { &hf_rrlp_ec_BS_CC_CHANS,
12107 { "ec-BS-CC-CHANS", "rrlp.ec_BS_CC_CHANS",
12108 FT_UINT32, BASE_DEC, NULL, 0,
12109 "INTEGER_0_3", HFILL }},
12110 { &hf_rrlp_ec_RXLEV_ACCESS_MIN,
12111 { "ec-RXLEV-ACCESS-MIN", "rrlp.ec_RXLEV_ACCESS_MIN",
12112 FT_UINT32, BASE_DEC, NULL, 0,
12113 "INTEGER_0_63", HFILL }},
12114 { &hf_rrlp_ms_TXPWR_MAX_CCH,
12115 { "ms-TXPWR-MAX-CCH", "rrlp.ms_TXPWR_MAX_CCH",
12116 FT_UINT32, BASE_DEC, NULL, 0,
12117 "INTEGER_0_31", HFILL }},
12118 { &hf_rrlp_lb_MS_TXPWR_MAX_CCH,
12119 { "lb-MS-TXPWR-MAX-CCH", "rrlp.lb_MS_TXPWR_MAX_CCH",
12120 FT_UINT32, BASE_DEC, NULL, 0,
12121 "INTEGER_0_31", HFILL }},
12122 { &hf_rrlp_cell_SELECTION_RLA_MARGIN,
12123 { "cell-SELECTION-RLA-MARGIN", "rrlp.cell_SELECTION_RLA_MARGIN",
12124 FT_UINT32, BASE_DEC, NULL, 0,
12125 "INTEGER_0_7", HFILL }},
12126 { &hf_rrlp_dl_CC_Selection,
12127 { "dl-CC-Selection", "rrlp.dl_CC_Selection",
12128 FT_BOOLEAN, BASE_NONE, NULL, 0,
12129 "BOOLEAN", HFILL }},
12130 { &hf_rrlp_bt_Threshold_DL,
12131 { "bt-Threshold-DL", "rrlp.bt_Threshold_DL",
12132 FT_UINT32, BASE_DEC, NULL, 0,
12133 "INTEGER_0_31", HFILL }},
12134 { &hf_rrlp_cc2_Range_DL,
12135 { "cc2-Range-DL", "rrlp.cc2_Range_DL",
12136 FT_UINT32, BASE_DEC, NULL, 0,
12137 "INTEGER_0_31", HFILL }},
12138 { &hf_rrlp_cc3_Range_DL,
12139 { "cc3-Range-DL", "rrlp.cc3_Range_DL",
12140 FT_UINT32, BASE_DEC, NULL, 0,
12141 "INTEGER_0_31", HFILL }},
12142 { &hf_rrlp_bt_Threshold_UL,
12143 { "bt-Threshold-UL", "rrlp.bt_Threshold_UL",
12144 FT_UINT32, BASE_DEC, NULL, 0,
12145 "INTEGER_0_31", HFILL }},
12146 { &hf_rrlp_cc2_Range_UL,
12147 { "cc2-Range-UL", "rrlp.cc2_Range_UL",
12148 FT_UINT32, BASE_DEC, NULL, 0,
12149 "INTEGER_0_31", HFILL }},
12150 { &hf_rrlp_cc3_Range_UL,
12151 { "cc3-Range-UL", "rrlp.cc3_Range_UL",
12152 FT_UINT32, BASE_DEC, NULL, 0,
12153 "INTEGER_0_31", HFILL }},
12154 { &hf_rrlp_cc4_Range_UL,
12155 { "cc4-Range-UL", "rrlp.cc4_Range_UL",
12156 FT_UINT32, BASE_DEC, NULL, 0,
12157 "INTEGER_0_31", HFILL }},
12158 { &hf_rrlp_bsPWR,
12159 { "bsPWR", "rrlp.bsPWR",
12160 FT_UINT32, BASE_DEC, NULL, 0,
12161 "INTEGER_0_63", HFILL }},
12162 { &hf_rrlp_dl_Signal_Strength_Step_Size,
12163 { "dl-Signal-Strength-Step-Size", "rrlp.dl_Signal_Strength_Step_Size",
12164 FT_UINT32, BASE_DEC, NULL, 0,
12165 "INTEGER_0_3", HFILL }},
12166 { &hf_rrlp_ec_Reduced_PDCH_Allocation,
12167 { "ec-Reduced-PDCH-Allocation", "rrlp.ec_Reduced_PDCH_Allocation",
12168 FT_BOOLEAN, BASE_NONE, NULL, 0,
12169 "BOOLEAN", HFILL }},
12170 { &hf_rrlp_ec_Max_Retrans,
12171 { "ec-Max-Retrans", "rrlp.ec_Max_Retrans",
12172 FT_INT32, BASE_DEC, NULL, 0,
12173 "INTEGER", HFILL }},
12174 { &hf_rrlp_sm,
12175 { "sm", "rrlp.sm",
12176 FT_UINT32, BASE_DEC, NULL, 0,
12177 "INTEGER_0_3", HFILL }},
12178 { &hf_rrlp_tm,
12179 { "tm", "rrlp.tm",
12180 FT_UINT32, BASE_DEC, NULL, 0,
12181 "INTEGER_0_3", HFILL }},
12182 { &hf_rrlp_access_Timeslots,
12183 { "access-Timeslots", "rrlp.access_Timeslots",
12184 FT_BOOLEAN, BASE_NONE, NULL, 0,
12185 "BOOLEAN", HFILL }},
12186 { &hf_rrlp_alpha,
12187 { "alpha", "rrlp.alpha",
12188 FT_UINT32, BASE_DEC, NULL, 0,
12189 "INTEGER_0_15", HFILL }},
12190 { &hf_rrlp_t3168,
12191 { "t3168", "rrlp.t3168",
12192 FT_UINT32, BASE_DEC, NULL, 0,
12193 "INTEGER_0_7", HFILL }},
12194 { &hf_rrlp_t3192,
12195 { "t3192", "rrlp.t3192",
12196 FT_UINT32, BASE_DEC, NULL, 0,
12197 "INTEGER_0_7", HFILL }},
12198 { &hf_rrlp_t3226,
12199 { "t3226", "rrlp.t3226",
12200 FT_UINT32, BASE_DEC, NULL, 0,
12201 "INTEGER_0_7", HFILL }},
12202 { &hf_rrlp_t3248,
12203 { "t3248", "rrlp.t3248",
12204 FT_UINT32, BASE_DEC, NULL, 0,
12205 "INTEGER_0_3", HFILL }},
12206 { &hf_rrlp_mta_BITMAP,
12207 { "mta-BITMAP", "rrlp.mta_BITMAP_element",
12208 FT_NONE, BASE_NONE, NULL, 0,
12209 NULL, HFILL }},
12210 { &hf_rrlp_rxlev_ACCESS_MIN,
12211 { "rxlev-ACCESS-MIN", "rrlp.rxlev_ACCESS_MIN",
12212 FT_UINT32, BASE_DEC, NULL, 0,
12213 "INTEGER_0_63", HFILL }},
12214 { &hf_rrlp_max_Retrans,
12215 { "max-Retrans", "rrlp.max_Retrans",
12216 FT_UINT32, BASE_DEC, NULL, 0,
12217 "INTEGER_0_3", HFILL }},
12218 { &hf_rrlp_tx_integer,
12219 { "tx-integer", "rrlp.tx_integer",
12220 FT_UINT32, BASE_DEC, NULL, 0,
12221 "INTEGER_0_15", HFILL }},
12222 { &hf_rrlp_mta_RLC_Data_Block_method,
12223 { "mta-RLC-Data-Block-method", "rrlp.mta_RLC_Data_Block_method",
12224 FT_BOOLEAN, BASE_NONE, NULL, 0,
12225 "BOOLEAN", HFILL }},
12226 { &hf_rrlp_mta_Access_Burst_method,
12227 { "mta-Access-Burst-method", "rrlp.mta_Access_Burst_method",
12228 FT_BOOLEAN, BASE_NONE, NULL, 0,
12229 "BOOLEAN", HFILL }},
12230 { &hf_rrlp_mta_Extended_Access_Burst_method,
12231 { "mta-Extended-Access-Burst-method", "rrlp.mta_Extended_Access_Burst_method",
12232 FT_BOOLEAN, BASE_NONE, NULL, 0,
12233 "BOOLEAN", HFILL }},
12234 { &hf_rrlp_mta_spare,
12235 { "mta-spare", "rrlp.mta_spare",
12236 FT_BOOLEAN, BASE_NONE, NULL, 0,
12237 "BOOLEAN", HFILL }},
12238 { &hf_rrlp_mta_access_security_method,
12239 { "mta-access-security-method", "rrlp.mta_access_security_method_element",
12240 FT_NONE, BASE_NONE, NULL, 0,
12241 NULL, HFILL }},
12242 { &hf_rrlp_bss_duplication_detection_method,
12243 { "bss-duplication-detection-method", "rrlp.bss_duplication_detection_method_element",
12244 FT_NONE, BASE_NONE, NULL, 0,
12245 NULL, HFILL }},
12246 { &hf_rrlp_GANSSPositioningMethod_gps,
12247 { "gps", "rrlp.GANSSPositioningMethod.gps",
12248 FT_BOOLEAN, 8, NULL, 0x80,
12249 NULL, HFILL }},
12250 { &hf_rrlp_GANSSPositioningMethod_galileo,
12251 { "galileo", "rrlp.GANSSPositioningMethod.galileo",
12252 FT_BOOLEAN, 8, NULL, 0x40,
12253 NULL, HFILL }},
12254 { &hf_rrlp_GANSSPositioningMethod_sbas,
12255 { "sbas", "rrlp.GANSSPositioningMethod.sbas",
12256 FT_BOOLEAN, 8, NULL, 0x20,
12257 NULL, HFILL }},
12258 { &hf_rrlp_GANSSPositioningMethod_modernizedGPS,
12259 { "modernizedGPS", "rrlp.GANSSPositioningMethod.modernizedGPS",
12260 FT_BOOLEAN, 8, NULL, 0x10,
12261 NULL, HFILL }},
12262 { &hf_rrlp_GANSSPositioningMethod_qzss,
12263 { "qzss", "rrlp.GANSSPositioningMethod.qzss",
12264 FT_BOOLEAN, 8, NULL, 0x08,
12265 NULL, HFILL }},
12266 { &hf_rrlp_GANSSPositioningMethod_glonass,
12267 { "glonass", "rrlp.GANSSPositioningMethod.glonass",
12268 FT_BOOLEAN, 8, NULL, 0x04,
12269 NULL, HFILL }},
12270 { &hf_rrlp_GANSSPositioningMethod_bd,
12271 { "bd", "rrlp.GANSSPositioningMethod.bd",
12272 FT_BOOLEAN, 8, NULL, 0x02,
12273 NULL, HFILL }},
12274 { &hf_rrlp_PositionData_e_otd,
12275 { "e-otd", "rrlp.PositionData.e.otd",
12276 FT_BOOLEAN, 8, NULL, 0x80,
12277 NULL, HFILL }},
12278 { &hf_rrlp_PositionData_gps,
12279 { "gps", "rrlp.PositionData.gps",
12280 FT_BOOLEAN, 8, NULL, 0x40,
12281 NULL, HFILL }},
12282 { &hf_rrlp_PositionData_galileo,
12283 { "galileo", "rrlp.PositionData.galileo",
12284 FT_BOOLEAN, 8, NULL, 0x20,
12285 NULL, HFILL }},
12286 { &hf_rrlp_PositionData_sbas,
12287 { "sbas", "rrlp.PositionData.sbas",
12288 FT_BOOLEAN, 8, NULL, 0x10,
12289 NULL, HFILL }},
12290 { &hf_rrlp_PositionData_modernizedGPS,
12291 { "modernizedGPS", "rrlp.PositionData.modernizedGPS",
12292 FT_BOOLEAN, 8, NULL, 0x08,
12293 NULL, HFILL }},
12294 { &hf_rrlp_PositionData_qzss,
12295 { "qzss", "rrlp.PositionData.qzss",
12296 FT_BOOLEAN, 8, NULL, 0x04,
12297 NULL, HFILL }},
12298 { &hf_rrlp_PositionData_glonass,
12299 { "glonass", "rrlp.PositionData.glonass",
12300 FT_BOOLEAN, 8, NULL, 0x02,
12301 NULL, HFILL }},
12302 { &hf_rrlp_PositionData_bds,
12303 { "bds", "rrlp.PositionData.bds",
12304 FT_BOOLEAN, 8, NULL, 0x01,
12305 NULL, HFILL }},
12306 { &hf_rrlp_NonGANSSPositionMethods_msAssistedEOTD,
12307 { "msAssistedEOTD", "rrlp.NonGANSSPositionMethods.msAssistedEOTD",
12308 FT_BOOLEAN, 8, NULL, 0x80,
12309 NULL, HFILL }},
12310 { &hf_rrlp_NonGANSSPositionMethods_msBasedEOTD,
12311 { "msBasedEOTD", "rrlp.NonGANSSPositionMethods.msBasedEOTD",
12312 FT_BOOLEAN, 8, NULL, 0x40,
12313 NULL, HFILL }},
12314 { &hf_rrlp_NonGANSSPositionMethods_msAssistedGPS,
12315 { "msAssistedGPS", "rrlp.NonGANSSPositionMethods.msAssistedGPS",
12316 FT_BOOLEAN, 8, NULL, 0x20,
12317 NULL, HFILL }},
12318 { &hf_rrlp_NonGANSSPositionMethods_msBasedGPS,
12319 { "msBasedGPS", "rrlp.NonGANSSPositionMethods.msBasedGPS",
12320 FT_BOOLEAN, 8, NULL, 0x10,
12321 NULL, HFILL }},
12322 { &hf_rrlp_NonGANSSPositionMethods_standaloneGPS,
12323 { "standaloneGPS", "rrlp.NonGANSSPositionMethods.standaloneGPS",
12324 FT_BOOLEAN, 8, NULL, 0x08,
12325 NULL, HFILL }},
12326 { &hf_rrlp_GANSSPositioningMethodTypes_msAssisted,
12327 { "msAssisted", "rrlp.GANSSPositioningMethodTypes.msAssisted",
12328 FT_BOOLEAN, 8, NULL, 0x80,
12329 NULL, HFILL }},
12330 { &hf_rrlp_GANSSPositioningMethodTypes_msBased,
12331 { "msBased", "rrlp.GANSSPositioningMethodTypes.msBased",
12332 FT_BOOLEAN, 8, NULL, 0x40,
12333 NULL, HFILL }},
12334 { &hf_rrlp_GANSSPositioningMethodTypes_standalone,
12335 { "standalone", "rrlp.GANSSPositioningMethodTypes.standalone",
12336 FT_BOOLEAN, 8, NULL, 0x20,
12337 NULL, HFILL }},
12338 { &hf_rrlp_GANSSSignals_signal1,
12339 { "signal1", "rrlp.GANSSSignals.signal1",
12340 FT_BOOLEAN, 8, NULL, 0x80,
12341 NULL, HFILL }},
12342 { &hf_rrlp_GANSSSignals_signal2,
12343 { "signal2", "rrlp.GANSSSignals.signal2",
12344 FT_BOOLEAN, 8, NULL, 0x40,
12345 NULL, HFILL }},
12346 { &hf_rrlp_GANSSSignals_signal3,
12347 { "signal3", "rrlp.GANSSSignals.signal3",
12348 FT_BOOLEAN, 8, NULL, 0x20,
12349 NULL, HFILL }},
12350 { &hf_rrlp_GANSSSignals_signal4,
12351 { "signal4", "rrlp.GANSSSignals.signal4",
12352 FT_BOOLEAN, 8, NULL, 0x10,
12353 NULL, HFILL }},
12354 { &hf_rrlp_GANSSSignals_signal5,
12355 { "signal5", "rrlp.GANSSSignals.signal5",
12356 FT_BOOLEAN, 8, NULL, 0x08,
12357 NULL, HFILL }},
12358 { &hf_rrlp_GANSSSignals_signal6,
12359 { "signal6", "rrlp.GANSSSignals.signal6",
12360 FT_BOOLEAN, 8, NULL, 0x04,
12361 NULL, HFILL }},
12362 { &hf_rrlp_GANSSSignals_signal7,
12363 { "signal7", "rrlp.GANSSSignals.signal7",
12364 FT_BOOLEAN, 8, NULL, 0x02,
12365 NULL, HFILL }},
12366 { &hf_rrlp_GANSSSignals_signal8,
12367 { "signal8", "rrlp.GANSSSignals.signal8",
12368 FT_BOOLEAN, 8, NULL, 0x01,
12369 NULL, HFILL }},
12370 { &hf_rrlp_SBASID_waas,
12371 { "waas", "rrlp.SBASID.waas",
12372 FT_BOOLEAN, 8, NULL, 0x80,
12373 NULL, HFILL }},
12374 { &hf_rrlp_SBASID_egnos,
12375 { "egnos", "rrlp.SBASID.egnos",
12376 FT_BOOLEAN, 8, NULL, 0x40,
12377 NULL, HFILL }},
12378 { &hf_rrlp_SBASID_masas,
12379 { "masas", "rrlp.SBASID.masas",
12380 FT_BOOLEAN, 8, NULL, 0x20,
12381 NULL, HFILL }},
12382 { &hf_rrlp_SBASID_gagan,
12383 { "gagan", "rrlp.SBASID.gagan",
12384 FT_BOOLEAN, 8, NULL, 0x10,
12385 NULL, HFILL }},
12386 { &hf_rrlp_MultipleMeasurementSets_eotd,
12387 { "eotd", "rrlp.MultipleMeasurementSets.eotd",
12388 FT_BOOLEAN, 8, NULL, 0x80,
12389 NULL, HFILL }},
12390 { &hf_rrlp_MultipleMeasurementSets_gps,
12391 { "gps", "rrlp.MultipleMeasurementSets.gps",
12392 FT_BOOLEAN, 8, NULL, 0x40,
12393 NULL, HFILL }},
12394 { &hf_rrlp_MultipleMeasurementSets_ganss,
12395 { "ganss", "rrlp.MultipleMeasurementSets.ganss",
12396 FT_BOOLEAN, 8, NULL, 0x20,
12397 NULL, HFILL }},
12398 { &hf_rrlp_GPSAssistance_almanac,
12399 { "almanac", "rrlp.GPSAssistance.almanac",
12400 FT_BOOLEAN, 8, NULL, 0x80,
12401 NULL, HFILL }},
12402 { &hf_rrlp_GPSAssistance_uTCmodel,
12403 { "uTCmodel", "rrlp.GPSAssistance.uTCmodel",
12404 FT_BOOLEAN, 8, NULL, 0x40,
12405 NULL, HFILL }},
12406 { &hf_rrlp_GPSAssistance_ionosphericModel,
12407 { "ionosphericModel", "rrlp.GPSAssistance.ionosphericModel",
12408 FT_BOOLEAN, 8, NULL, 0x20,
12409 NULL, HFILL }},
12410 { &hf_rrlp_GPSAssistance_navigationmodel,
12411 { "navigationmodel", "rrlp.GPSAssistance.navigationmodel",
12412 FT_BOOLEAN, 8, NULL, 0x10,
12413 NULL, HFILL }},
12414 { &hf_rrlp_GPSAssistance_dGPScorrections,
12415 { "dGPScorrections", "rrlp.GPSAssistance.dGPScorrections",
12416 FT_BOOLEAN, 8, NULL, 0x08,
12417 NULL, HFILL }},
12418 { &hf_rrlp_GPSAssistance_referenceLocation,
12419 { "referenceLocation", "rrlp.GPSAssistance.referenceLocation",
12420 FT_BOOLEAN, 8, NULL, 0x04,
12421 NULL, HFILL }},
12422 { &hf_rrlp_GPSAssistance_referenceTime,
12423 { "referenceTime", "rrlp.GPSAssistance.referenceTime",
12424 FT_BOOLEAN, 8, NULL, 0x02,
12425 NULL, HFILL }},
12426 { &hf_rrlp_GPSAssistance_acquisitionAssistance,
12427 { "acquisitionAssistance", "rrlp.GPSAssistance.acquisitionAssistance",
12428 FT_BOOLEAN, 8, NULL, 0x01,
12429 NULL, HFILL }},
12430 { &hf_rrlp_GPSAssistance_realTimeIntegrity,
12431 { "realTimeIntegrity", "rrlp.GPSAssistance.realTimeIntegrity",
12432 FT_BOOLEAN, 8, NULL, 0x80,
12433 NULL, HFILL }},
12434 { &hf_rrlp_GPSAssistance_ephemerisExtension,
12435 { "ephemerisExtension", "rrlp.GPSAssistance.ephemerisExtension",
12436 FT_BOOLEAN, 8, NULL, 0x40,
12437 NULL, HFILL }},
12438 { &hf_rrlp_GPSAssistance_ephemerisExtensionCheck,
12439 { "ephemerisExtensionCheck", "rrlp.GPSAssistance.ephemerisExtensionCheck",
12440 FT_BOOLEAN, 8, NULL, 0x20,
12441 NULL, HFILL }},
12442 { &hf_rrlp_GPSAssistance_gPSAcquisAssist_R12_Ext,
12443 { "gPSAcquisAssist-R12-Ext", "rrlp.GPSAssistance.gPSAcquisAssist.R12.Ext",
12444 FT_BOOLEAN, 8, NULL, 0x10,
12445 NULL, HFILL }},
12446 { &hf_rrlp_CommonGANSSAssistance_referenceTime,
12447 { "referenceTime", "rrlp.CommonGANSSAssistance.referenceTime",
12448 FT_BOOLEAN, 8, NULL, 0x80,
12449 NULL, HFILL }},
12450 { &hf_rrlp_CommonGANSSAssistance_referenceLocation,
12451 { "referenceLocation", "rrlp.CommonGANSSAssistance.referenceLocation",
12452 FT_BOOLEAN, 8, NULL, 0x40,
12453 NULL, HFILL }},
12454 { &hf_rrlp_CommonGANSSAssistance_spare_bit2,
12455 { "spare_bit2", "rrlp.CommonGANSSAssistance.spare.bit2",
12456 FT_BOOLEAN, 8, NULL, 0x20,
12457 NULL, HFILL }},
12458 { &hf_rrlp_CommonGANSSAssistance_ionosphericModel,
12459 { "ionosphericModel", "rrlp.CommonGANSSAssistance.ionosphericModel",
12460 FT_BOOLEAN, 8, NULL, 0x10,
12461 NULL, HFILL }},
12462 { &hf_rrlp_CommonGANSSAssistance_addIonosphericModel,
12463 { "addIonosphericModel", "rrlp.CommonGANSSAssistance.addIonosphericModel",
12464 FT_BOOLEAN, 8, NULL, 0x08,
12465 NULL, HFILL }},
12466 { &hf_rrlp_CommonGANSSAssistance_earthOrientationParam,
12467 { "earthOrientationParam", "rrlp.CommonGANSSAssistance.earthOrientationParam",
12468 FT_BOOLEAN, 8, NULL, 0x04,
12469 NULL, HFILL }},
12470 { &hf_rrlp_GANSSAssistance_realTimeIntegrity,
12471 { "realTimeIntegrity", "rrlp.GANSSAssistance.realTimeIntegrity",
12472 FT_BOOLEAN, 8, NULL, 0x80,
12473 NULL, HFILL }},
12474 { &hf_rrlp_GANSSAssistance_differentialCorrections,
12475 { "differentialCorrections", "rrlp.GANSSAssistance.differentialCorrections",
12476 FT_BOOLEAN, 8, NULL, 0x40,
12477 NULL, HFILL }},
12478 { &hf_rrlp_GANSSAssistance_almanac,
12479 { "almanac", "rrlp.GANSSAssistance.almanac",
12480 FT_BOOLEAN, 8, NULL, 0x20,
12481 NULL, HFILL }},
12482 { &hf_rrlp_GANSSAssistance_referenceMeasurementInformation,
12483 { "referenceMeasurementInformation", "rrlp.GANSSAssistance.referenceMeasurementInformation",
12484 FT_BOOLEAN, 8, NULL, 0x10,
12485 NULL, HFILL }},
12486 { &hf_rrlp_GANSSAssistance_navigationModel,
12487 { "navigationModel", "rrlp.GANSSAssistance.navigationModel",
12488 FT_BOOLEAN, 8, NULL, 0x08,
12489 NULL, HFILL }},
12490 { &hf_rrlp_GANSSAssistance_timeModelGNSS_UTC,
12491 { "timeModelGNSS-UTC", "rrlp.GANSSAssistance.timeModelGNSS.UTC",
12492 FT_BOOLEAN, 8, NULL, 0x04,
12493 NULL, HFILL }},
12494 { &hf_rrlp_GANSSAssistance_timeModelGNSS_GNSS,
12495 { "timeModelGNSS-GNSS", "rrlp.GANSSAssistance.timeModelGNSS.GNSS",
12496 FT_BOOLEAN, 8, NULL, 0x02,
12497 NULL, HFILL }},
12498 { &hf_rrlp_GANSSAssistance_databitassistance,
12499 { "databitassistance", "rrlp.GANSSAssistance.databitassistance",
12500 FT_BOOLEAN, 8, NULL, 0x01,
12501 NULL, HFILL }},
12502 { &hf_rrlp_GANSSAssistance_ephemerisExtension,
12503 { "ephemerisExtension", "rrlp.GANSSAssistance.ephemerisExtension",
12504 FT_BOOLEAN, 8, NULL, 0x80,
12505 NULL, HFILL }},
12506 { &hf_rrlp_GANSSAssistance_ephemerisExtensionCheck,
12507 { "ephemerisExtensionCheck", "rrlp.GANSSAssistance.ephemerisExtensionCheck",
12508 FT_BOOLEAN, 8, NULL, 0x40,
12509 NULL, HFILL }},
12510 { &hf_rrlp_GANSSAssistance_addUTCmodel,
12511 { "addUTCmodel", "rrlp.GANSSAssistance.addUTCmodel",
12512 FT_BOOLEAN, 8, NULL, 0x20,
12513 NULL, HFILL }},
12514 { &hf_rrlp_GANSSAssistance_auxiliaryInformation,
12515 { "auxiliaryInformation", "rrlp.GANSSAssistance.auxiliaryInformation",
12516 FT_BOOLEAN, 8, NULL, 0x10,
12517 NULL, HFILL }},
12518 { &hf_rrlp_GANSSAssistance_gANSSRefMeasurementAssist_R12_Ext,
12519 { "gANSSRefMeasurementAssist-R12-Ext", "rrlp.GANSSAssistance.gANSSRefMeasurementAssist.R12.Ext",
12520 FT_BOOLEAN, 8, NULL, 0x08,
12521 NULL, HFILL }},
12522 { &hf_rrlp_GANSSAssistance_bdsDifferentialCorrections_r12,
12523 { "bdsDifferentialCorrections-r12", "rrlp.GANSSAssistance.bdsDifferentialCorrections.r12",
12524 FT_BOOLEAN, 8, NULL, 0x04,
12525 NULL, HFILL }},
12526 { &hf_rrlp_GANSSAssistance_bdsGridModel_r12,
12527 { "bdsGridModel-r12", "rrlp.GANSSAssistance.bdsGridModel.r12",
12528 FT_BOOLEAN, 8, NULL, 0x02,
12529 NULL, HFILL }},
12530 { &hf_rrlp_GANSSModelID_model1,
12531 { "model1", "rrlp.GANSSModelID.model1",
12532 FT_BOOLEAN, 8, NULL, 0x80,
12533 NULL, HFILL }},
12534 { &hf_rrlp_GANSSModelID_model2,
12535 { "model2", "rrlp.GANSSModelID.model2",
12536 FT_BOOLEAN, 8, NULL, 0x40,
12537 NULL, HFILL }},
12538 { &hf_rrlp_GANSSModelID_model3,
12539 { "model3", "rrlp.GANSSModelID.model3",
12540 FT_BOOLEAN, 8, NULL, 0x20,
12541 NULL, HFILL }},
12542 { &hf_rrlp_GANSSModelID_model4,
12543 { "model4", "rrlp.GANSSModelID.model4",
12544 FT_BOOLEAN, 8, NULL, 0x10,
12545 NULL, HFILL }},
12546 { &hf_rrlp_GANSSModelID_model5,
12547 { "model5", "rrlp.GANSSModelID.model5",
12548 FT_BOOLEAN, 8, NULL, 0x08,
12549 NULL, HFILL }},
12550 { &hf_rrlp_GANSSModelID_model6,
12551 { "model6", "rrlp.GANSSModelID.model6",
12552 FT_BOOLEAN, 8, NULL, 0x04,
12553 NULL, HFILL }},
12554 { &hf_rrlp_GANSSModelID_model7,
12555 { "model7", "rrlp.GANSSModelID.model7",
12556 FT_BOOLEAN, 8, NULL, 0x02,
12557 NULL, HFILL }},
12558 { &hf_rrlp_GANSSModelID_model8,
12559 { "model8", "rrlp.GANSSModelID.model8",
12560 FT_BOOLEAN, 8, NULL, 0x01,
12561 NULL, HFILL }},
12564 /* List of subtrees */
12565 static int *ett[] = {
12566 &ett_rrlp,
12567 &ett_rrlp_ExtensionContainer,
12568 &ett_rrlp_PrivateExtensionList,
12569 &ett_rrlp_PrivateExtension,
12570 &ett_rrlp_PCS_Extensions,
12571 &ett_rrlp_PDU,
12572 &ett_rrlp_RRLP_Component,
12573 &ett_rrlp_MsrPosition_Req,
12574 &ett_rrlp_MsrPosition_Rsp,
12575 &ett_rrlp_AssistanceData,
12576 &ett_rrlp_ProtocolError,
12577 &ett_rrlp_PosCapability_Req,
12578 &ett_rrlp_PosCapability_Rsp,
12579 &ett_rrlp_PosMTA_Req,
12580 &ett_rrlp_MultilaterationOTD_Req,
12581 &ett_rrlp_MultilaterationOTD_Rsp,
12582 &ett_rrlp_PositionInstruct,
12583 &ett_rrlp_MethodType,
12584 &ett_rrlp_AccuracyOpt,
12585 &ett_rrlp_ReferenceAssistData,
12586 &ett_rrlp_MsrAssistData,
12587 &ett_rrlp_SeqOfMsrAssistBTS,
12588 &ett_rrlp_MsrAssistBTS,
12589 &ett_rrlp_SystemInfoAssistData,
12590 &ett_rrlp_SeqOfSystemInfoAssistBTS,
12591 &ett_rrlp_SystemInfoAssistBTS,
12592 &ett_rrlp_AssistBTSData,
12593 &ett_rrlp_CalcAssistanceBTS,
12594 &ett_rrlp_ReferenceWGS84,
12595 &ett_rrlp_MultipleSets,
12596 &ett_rrlp_ReferenceIdentity,
12597 &ett_rrlp_SeqOfReferenceIdentityType,
12598 &ett_rrlp_ReferenceIdentityType,
12599 &ett_rrlp_BSICAndCarrier,
12600 &ett_rrlp_CellIDAndLAC,
12601 &ett_rrlp_OTD_MeasureInfo,
12602 &ett_rrlp_SeqOfOTD_MsrElementRest,
12603 &ett_rrlp_OTD_MsrElementFirst,
12604 &ett_rrlp_SeqOfOTD_FirstSetMsrs,
12605 &ett_rrlp_OTD_MsrElementRest,
12606 &ett_rrlp_SeqOfOTD_MsrsOfOtherSets,
12607 &ett_rrlp_TOA_MeasurementsOfRef,
12608 &ett_rrlp_OTD_MsrsOfOtherSets,
12609 &ett_rrlp_OTD_Measurement,
12610 &ett_rrlp_OTD_MeasurementWithID,
12611 &ett_rrlp_EOTDQuality,
12612 &ett_rrlp_NeighborIdentity,
12613 &ett_rrlp_MultiFrameCarrier,
12614 &ett_rrlp_LocationInfo,
12615 &ett_rrlp_GPS_MeasureInfo,
12616 &ett_rrlp_SeqOfGPS_MsrSetElement,
12617 &ett_rrlp_GPS_MsrSetElement,
12618 &ett_rrlp_SeqOfGPS_MsrElement,
12619 &ett_rrlp_GPS_MsrElement,
12620 &ett_rrlp_LocationError,
12621 &ett_rrlp_AdditionalAssistanceData,
12622 &ett_rrlp_GPS_AssistData,
12623 &ett_rrlp_ControlHeader,
12624 &ett_rrlp_ReferenceTime,
12625 &ett_rrlp_GPSTime,
12626 &ett_rrlp_GPSTOWAssist,
12627 &ett_rrlp_GPSTOWAssistElement,
12628 &ett_rrlp_GSMTime,
12629 &ett_rrlp_RefLocation,
12630 &ett_rrlp_DGPSCorrections,
12631 &ett_rrlp_SeqOfSatElement,
12632 &ett_rrlp_SatElement,
12633 &ett_rrlp_NavigationModel,
12634 &ett_rrlp_SeqOfNavModelElement,
12635 &ett_rrlp_NavModelElement,
12636 &ett_rrlp_SatStatus,
12637 &ett_rrlp_UncompressedEphemeris,
12638 &ett_rrlp_EphemerisSubframe1Reserved,
12639 &ett_rrlp_IonosphericModel,
12640 &ett_rrlp_UTCModel,
12641 &ett_rrlp_Almanac,
12642 &ett_rrlp_SeqOfAlmanacElement,
12643 &ett_rrlp_AlmanacElement,
12644 &ett_rrlp_AcquisAssist,
12645 &ett_rrlp_SeqOfAcquisElement,
12646 &ett_rrlp_TimeRelation,
12647 &ett_rrlp_AcquisElement,
12648 &ett_rrlp_AddionalDopplerFields,
12649 &ett_rrlp_AddionalAngleFields,
12650 &ett_rrlp_SeqOf_BadSatelliteSet,
12651 &ett_rrlp_Rel98_MsrPosition_Req_Extension,
12652 &ett_rrlp_Rel98_AssistanceData_Extension,
12653 &ett_rrlp_Rel98_Ext_ExpOTD,
12654 &ett_rrlp_MsrAssistData_R98_ExpOTD,
12655 &ett_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD,
12656 &ett_rrlp_MsrAssistBTS_R98_ExpOTD,
12657 &ett_rrlp_SystemInfoAssistData_R98_ExpOTD,
12658 &ett_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD,
12659 &ett_rrlp_SystemInfoAssistBTS_R98_ExpOTD,
12660 &ett_rrlp_AssistBTSData_R98_ExpOTD,
12661 &ett_rrlp_GPSTimeAssistanceMeasurements,
12662 &ett_rrlp_Rel_98_MsrPosition_Rsp_Extension,
12663 &ett_rrlp_T_rel_98_Ext_MeasureInfo,
12664 &ett_rrlp_OTD_MeasureInfo_R98_Ext,
12665 &ett_rrlp_OTD_MsrElementFirst_R98_Ext,
12666 &ett_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext,
12667 &ett_rrlp_Rel_5_MsrPosition_Rsp_Extension,
12668 &ett_rrlp_Extended_reference,
12669 &ett_rrlp_Rel5_MsrPosition_Req_Extension,
12670 &ett_rrlp_Rel5_AssistanceData_Extension,
12671 &ett_rrlp_Rel_5_ProtocolError_Extension,
12672 &ett_rrlp_Rel7_MsrPosition_Req_Extension,
12673 &ett_rrlp_GANSSPositioningMethod,
12674 &ett_rrlp_GANSS_AssistData,
12675 &ett_rrlp_GANSS_ControlHeader,
12676 &ett_rrlp_GANSSCommonAssistData,
12677 &ett_rrlp_SeqOfGANSSGenericAssistDataElement,
12678 &ett_rrlp_GANSSGenericAssistDataElement,
12679 &ett_rrlp_GANSSReferenceTime,
12680 &ett_rrlp_GANSSRefTimeInfo,
12681 &ett_rrlp_GANSSReferenceTime_R10_Ext,
12682 &ett_rrlp_GANSSTOD_GSMTimeAssociation,
12683 &ett_rrlp_GANSSRefLocation,
12684 &ett_rrlp_GANSSIonosphericModel,
12685 &ett_rrlp_GANSSIonosphereModel,
12686 &ett_rrlp_GANSSIonoStormFlags,
12687 &ett_rrlp_GANSSAddIonosphericModel,
12688 &ett_rrlp_GANSSEarthOrientParam,
12689 &ett_rrlp_SeqOfGANSSTimeModel,
12690 &ett_rrlp_GANSSTimeModelElement,
12691 &ett_rrlp_SeqOfGANSSTimeModel_R10_Ext,
12692 &ett_rrlp_GANSSTimeModelElement_R10_Ext,
12693 &ett_rrlp_GANSSDiffCorrections,
12694 &ett_rrlp_SeqOfSgnTypeElement,
12695 &ett_rrlp_SgnTypeElement,
12696 &ett_rrlp_SeqOfDGANSSSgnElement,
12697 &ett_rrlp_DGANSSSgnElement,
12698 &ett_rrlp_GANSSNavModel,
12699 &ett_rrlp_SeqOfGANSSSatelliteElement,
12700 &ett_rrlp_GANSSSatelliteElement,
12701 &ett_rrlp_GANSSOrbitModel,
12702 &ett_rrlp_NavModel_KeplerianSet,
12703 &ett_rrlp_NavModel_NAVKeplerianSet,
12704 &ett_rrlp_NavModel_CNAVKeplerianSet,
12705 &ett_rrlp_NavModel_GLONASSecef,
12706 &ett_rrlp_NavModel_SBASecef,
12707 &ett_rrlp_NavModel_BDSKeplerianSet_r12,
12708 &ett_rrlp_GANSSClockModel,
12709 &ett_rrlp_SeqOfStandardClockModelElement,
12710 &ett_rrlp_StandardClockModelElement,
12711 &ett_rrlp_NAVclockModel,
12712 &ett_rrlp_CNAVclockModel,
12713 &ett_rrlp_GLONASSclockModel,
12714 &ett_rrlp_SBASclockModel,
12715 &ett_rrlp_BDSClockModel_r12,
12716 &ett_rrlp_GANSSRealTimeIntegrity,
12717 &ett_rrlp_SeqOfBadSignalElement,
12718 &ett_rrlp_BadSignalElement,
12719 &ett_rrlp_GANSSDataBitAssist,
12720 &ett_rrlp_SeqOfGanssDataBitsElement,
12721 &ett_rrlp_GanssDataBitsElement,
12722 &ett_rrlp_Seq_OfGANSSDataBitsSgn,
12723 &ett_rrlp_GANSSDataBitsSgnElement,
12724 &ett_rrlp_SeqOf_GANSSDataBits,
12725 &ett_rrlp_GANSSRefMeasurementAssist,
12726 &ett_rrlp_SeqOfGANSSRefMeasurementElement,
12727 &ett_rrlp_GANSSRefMeasurementElement,
12728 &ett_rrlp_AdditionalDopplerFields,
12729 &ett_rrlp_GANSSRefMeasurementAssist_R10_Ext,
12730 &ett_rrlp_GANSSRefMeasurement_R10_Ext_Element,
12731 &ett_rrlp_GANSSRefMeasurementAssist_R12_Ext,
12732 &ett_rrlp_SeqOfGANSSRefMeasurementElement_R12,
12733 &ett_rrlp_GANSSRefMeasurement_R12_Ext_Element,
12734 &ett_rrlp_GANSSAlmanacModel,
12735 &ett_rrlp_SeqOfGANSSAlmanacElement,
12736 &ett_rrlp_GANSSAlmanacElement,
12737 &ett_rrlp_Almanac_KeplerianSet,
12738 &ett_rrlp_Almanac_NAVKeplerianSet,
12739 &ett_rrlp_Almanac_ReducedKeplerianSet,
12740 &ett_rrlp_Almanac_MidiAlmanacSet,
12741 &ett_rrlp_Almanac_GlonassAlmanacSet,
12742 &ett_rrlp_Almanac_ECEFsbasAlmanacSet,
12743 &ett_rrlp_Almanac_BDSAlmanacSet_r12,
12744 &ett_rrlp_GANSSAlmanacModel_R10_Ext,
12745 &ett_rrlp_GANSSAlmanacModel_R12_Ext,
12746 &ett_rrlp_GANSSUTCModel,
12747 &ett_rrlp_GANSSEphemerisExtension,
12748 &ett_rrlp_GANSSEphemerisExtensionHeader,
12749 &ett_rrlp_GANSSEphemerisExtensionTime,
12750 &ett_rrlp_ReferenceNavModel,
12751 &ett_rrlp_SeqOfGANSSRefOrbit,
12752 &ett_rrlp_GANSSReferenceOrbit,
12753 &ett_rrlp_GANSSEphemerisDeltaMatrix,
12754 &ett_rrlp_GANSSEphemerisDeltaEpoch,
12755 &ett_rrlp_GANSSDeltaEpochHeader,
12756 &ett_rrlp_GANSSDeltaElementList,
12757 &ett_rrlp_GANSSEphemerisDeltaBitSizes,
12758 &ett_rrlp_GANSSEphemerisDeltaScales,
12759 &ett_rrlp_GANSSEphemerisExtensionCheck,
12760 &ett_rrlp_GANSSSatEventsInfo,
12761 &ett_rrlp_GANSSAddUTCModel,
12762 &ett_rrlp_UTCmodelSet2,
12763 &ett_rrlp_UTCmodelSet3,
12764 &ett_rrlp_UTCmodelSet4,
12765 &ett_rrlp_UTCmodelSet5_r12,
12766 &ett_rrlp_GANSSAuxiliaryInformation,
12767 &ett_rrlp_GANSS_ID1,
12768 &ett_rrlp_GANSS_ID1_element,
12769 &ett_rrlp_GANSS_ID3,
12770 &ett_rrlp_GANSS_ID3_element,
12771 &ett_rrlp_GANSSDiffCorrectionsValidityPeriod,
12772 &ett_rrlp_DGANSSExtensionSgnTypeElement,
12773 &ett_rrlp_SeqOfDGANSSExtensionSgnElement,
12774 &ett_rrlp_DGANSSExtensionSgnElement,
12775 &ett_rrlp_Add_GPS_AssistData,
12776 &ett_rrlp_Add_GPS_ControlHeader,
12777 &ett_rrlp_GPSClockModel,
12778 &ett_rrlp_GPSEphemerisExtension,
12779 &ett_rrlp_GPSEphemerisExtensionHeader,
12780 &ett_rrlp_GPSEphemerisExtensionTime,
12781 &ett_rrlp_SeqOfGPSRefOrbit,
12782 &ett_rrlp_GPSReferenceOrbit,
12783 &ett_rrlp_GPSEphemerisDeltaMatrix,
12784 &ett_rrlp_GPSEphemerisDeltaEpoch,
12785 &ett_rrlp_GPSDeltaEpochHeader,
12786 &ett_rrlp_GPSDeltaElementList,
12787 &ett_rrlp_GPSEphemerisDeltaBitSizes,
12788 &ett_rrlp_GPSEphemerisDeltaScales,
12789 &ett_rrlp_GPSEphemerisExtensionCheck,
12790 &ett_rrlp_GPSSatEventsInfo,
12791 &ett_rrlp_DGPSCorrectionsValidityPeriod,
12792 &ett_rrlp_DGPSExtensionSatElement,
12793 &ett_rrlp_GPSReferenceTime_R10_Ext,
12794 &ett_rrlp_GPSAcquisAssist_R10_Ext,
12795 &ett_rrlp_GPSAcquisAssist_R10_Ext_Element,
12796 &ett_rrlp_GPSAcquisAssist_R12_Ext,
12797 &ett_rrlp_SeqOfGPSAcquisAssist_R12_Ext,
12798 &ett_rrlp_GPSAcquisAssist_R12_Ext_Element,
12799 &ett_rrlp_GPSAlmanac_R10_Ext,
12800 &ett_rrlp_Rel_7_MsrPosition_Rsp_Extension,
12801 &ett_rrlp_GANSSLocationInfo,
12802 &ett_rrlp_PositionData,
12803 &ett_rrlp_ReferenceFrame,
12804 &ett_rrlp_GANSSMeasureInfo,
12805 &ett_rrlp_SeqOfGANSS_MsrSetElement,
12806 &ett_rrlp_GANSS_MsrSetElement,
12807 &ett_rrlp_SeqOfGANSS_MsrElement,
12808 &ett_rrlp_GANSS_MsrElement,
12809 &ett_rrlp_SeqOfGANSS_SgnTypeElement,
12810 &ett_rrlp_GANSS_SgnTypeElement,
12811 &ett_rrlp_SeqOfGANSS_SgnElement,
12812 &ett_rrlp_GANSS_SgnElement,
12813 &ett_rrlp_Rel7_AssistanceData_Extension,
12814 &ett_rrlp_BDS_DiffCorrections_r12,
12815 &ett_rrlp_BDS_SgnTypeList_r12,
12816 &ett_rrlp_BDS_SgnTypeElement_r12,
12817 &ett_rrlp_DBDS_CorrectionList_r12,
12818 &ett_rrlp_DBDS_CorrectionElement_r12,
12819 &ett_rrlp_BDS_GridModelParameter_r12,
12820 &ett_rrlp_GridIonList_r12,
12821 &ett_rrlp_GridIonElement_r12,
12822 &ett_rrlp_PosCapabilities,
12823 &ett_rrlp_NonGANSSPositionMethods,
12824 &ett_rrlp_GANSSPositionMethods,
12825 &ett_rrlp_GANSSPositionMethod,
12826 &ett_rrlp_GANSSPositioningMethodTypes,
12827 &ett_rrlp_GANSSSignals,
12828 &ett_rrlp_SBASID,
12829 &ett_rrlp_MultipleMeasurementSets,
12830 &ett_rrlp_AssistanceSupported,
12831 &ett_rrlp_GPSAssistance,
12832 &ett_rrlp_GANSSAssistanceSet,
12833 &ett_rrlp_CommonGANSSAssistance,
12834 &ett_rrlp_SpecificGANSSAssistance,
12835 &ett_rrlp_GANSSAssistanceForOneGANSS,
12836 &ett_rrlp_GANSSAssistance,
12837 &ett_rrlp_GANSSAdditionalAssistanceChoices,
12838 &ett_rrlp_GANSSAdditionalAssistanceChoicesForOneGANSS,
12839 &ett_rrlp_GANSSModelID,
12840 &ett_rrlp_AssistanceNeeded,
12841 &ett_rrlp_CellSets,
12842 &ett_rrlp_CellSet,
12843 &ett_rrlp_CellInfo,
12844 &ett_rrlp_OTDMeasurementResults,
12845 &ett_rrlp_OTDMeasurementInfo,
12846 &ett_rrlp_CellType,
12847 &ett_rrlp_RXLEVMeasurementResults,
12848 &ett_rrlp_RXLEVMeasurementInfo,
12849 &ett_rrlp_MTA_Method,
12850 &ett_rrlp_Random_ID_Set,
12851 &ett_rrlp_Extended_Access_Burst,
12852 &ett_rrlp_Co_Sited_Cells,
12853 &ett_rrlp_Co_Sited_Cell_Set_Member,
12854 &ett_rrlp_Cell_Set,
12855 &ett_rrlp_Cell_Set_Member,
12856 &ett_rrlp_T_ec_cell_information,
12857 &ett_rrlp_T_peo_cell_information,
12858 &ett_rrlp_BSIC_Info,
12859 &ett_rrlp_EC_RACH_Control_Parameters,
12860 &ett_rrlp_RACH_Control_Parameters,
12861 &ett_rrlp_MTA_BITMAP,
12862 &ett_rrlp_MTA_Security,
12866 /* Register protocol */
12867 proto_rrlp = proto_register_protocol(PNAME, PSNAME, PFNAME);
12868 register_dissector("rrlp", dissect_PDU_PDU, proto_rrlp);
12870 /* Register fields and subtrees */
12871 proto_register_field_array(proto_rrlp, hf, array_length(hf));
12872 proto_register_subtree_array(ett, array_length(ett));
12878 /*--- proto_reg_handoff_rrlp ---------------------------------------*/
12879 void
12880 proto_reg_handoff_rrlp(void)