Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / asn1 / ulp / ulp.cnf
blobda41b89299b0df5c6e7323cf029d5476d0a12353
1 # upl.cnf
2 # upl conformation file
3 # Copyright 2006-2010 Anders Broman
4 # Copyright 2014-2019 Pascal Quantin
6 #.OPT
7 PER
8 UNALIGNED
9 #.END
11 #.PDU
12 ULP-PDU
13 #.END
15 #.TYPE_RENAME
16 FrequencyInfo/modeSpecificInfo FrequencySpecificInfo
17 #.END
19 #.FIELD_RENAME
20 FrequencyInfo/modeSpecificInfo  modeSpecificFrequencyInfo
21 FrequencyInfo/modeSpecificInfo/fdd  fdd_fr
22 FrequencyInfo/modeSpecificInfo/tdd  tdd_fr
23 SlpSessionID/sessionID  sessionSlpID
24 Coordinate/latitude coordinateLatitude
25 Coordinate/longitude coordinateLongitude
26 LTEAreaId/refCI refCI-LTE-Cell-Id
27 NRAreaId/refCI refCI-NR-Cell-Id
28 ReportData/timestamp timestamp_choice
29 SupportedWLANApData/apDevType apDevType_enum
30 CellMeasuredResults/cellIdentity cellIdentity_uint
31 SupportedWLANInfo/apSSID apSSID_bool
32 SupportedWLANInfo/apPHYType apPHYType_bool
33 SupportedWLANInfo/setMACAddress setMACAddress_bool
34 LocationDataLCI/latitude latitude_bit_string
35 LocationDataLCI/longitude longitude_bit_string
36 LocationDataLCI/altitude altitude_bit_string
37 SETId/min min_bit_string
38 ThirdPartyID/min min_bit_string
41 #.END
43 #.FN_HDR ULP-PDU
44   proto_item *it;
45   proto_tree *ulp_tree;
47   it = proto_tree_add_item(tree, proto_ulp, tvb, 0, -1, ENC_NA);
48   ulp_tree = proto_item_add_subtree(it, ett_ulp);
50   col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, PSNAME);
51   col_clear(actx->pinfo->cinfo, COL_INFO);
52 #.END
54 #.FN_BODY ULP-PDU TREE=ulp_tree
55 %(DEFAULT_BODY)s
56 #.END
58 #.FN_BODY UlpMessage  VAL_PTR = &UlpMessage
60 uint32_t UlpMessage;
62   %(DEFAULT_BODY)s
64   col_prepend_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "%%s ", val_to_str_const(UlpMessage,ulp_UlpMessage_vals,"Unknown"));
66 #.END
68 #.FN_BODY Notification
69   ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
71   ulp_priv->notif_enc_type = -1;
72 %(DEFAULT_BODY)s
74 #.FN_BODY EncodingType VAL_PTR=&val
75   uint32_t val;
76   ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
78 %(DEFAULT_BODY)s
79   ulp_priv->notif_enc_type = (uint8_t) val;
81 #.FN_BODY Notification/requestorId VAL_PTR=&val_tvb HF_INDEX=-1
82   tvbuff_t *val_tvb;
84 %(DEFAULT_BODY)s
85   if (val_tvb) {
86     ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
87     switch(ulp_priv->notif_enc_type) {
88       case 0: /* UCS-2 */
89         actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
90                                                  tvb_reported_length(val_tvb),
91                                                  ENC_UCS_2|ENC_BIG_ENDIAN);
92         break;
93       case 1: /* GSM 7bits */
94         actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
95                                                  tvb_reported_length(val_tvb), ENC_3GPP_TS_23_038_7BITS|ENC_NA);
96         break;
97       case 2: /* UTF-8 */
98         actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
99                                                  tvb_reported_length(val_tvb), ENC_UTF_8|ENC_NA);
100         break;
101       default:
102         actx->created_item = proto_tree_add_string(tree, hf_index, val_tvb, 0,
103                                                    tvb_reported_length(val_tvb),
104                                                    tvb_bytes_to_str(actx->pinfo->pool, val_tvb, 0,
105                                                                     tvb_reported_length(val_tvb)));
106         break;
107     }
108   }
110 #.TYPE_ATTR
111 Notification/requestorId TYPE=FT_STRING DISPLAY=BASE_NONE
113 #.FN_BODY Notification/clientName VAL_PTR=&val_tvb HF_INDEX=-1
114   tvbuff_t *val_tvb;
116 %(DEFAULT_BODY)s
117   if (val_tvb) {
118     ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
119     switch(ulp_priv->notif_enc_type) {
120       case 0: /* UCS-2 */
121         actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
122                                                  tvb_reported_length(val_tvb),
123                                                  ENC_UCS_2|ENC_BIG_ENDIAN);
124         break;
125       case 1: /* GSM 7bits */
126         actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
127                                                  tvb_reported_length(val_tvb), ENC_3GPP_TS_23_038_7BITS|ENC_NA);
128         break;
129       case 2: /* UTF-8 */
130         actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
131                                                  tvb_reported_length(val_tvb), ENC_UTF_8|ENC_NA);
132         break;
133       default:
134         actx->created_item = proto_tree_add_string(tree, hf_index, val_tvb, 0,
135                                                    tvb_reported_length(val_tvb),
136                                                    tvb_bytes_to_str(actx->pinfo->pool, val_tvb, 0,
137                                                                     tvb_reported_length(val_tvb)));
138         break;
139     }
140   }
142 #.TYPE_ATTR
143 Notification/clientName TYPE=FT_STRING DISPLAY=BASE_NONE
145 #.TYPE_ATTR
146 NavigationModel/gpsToe DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_hours)
148 #.TYPE_ATTR
149 NavigationModel/toeLimit DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_hours)
151 #.FN_BODY PosPayLoad/rrlpPayload  VAL_PTR = &rrlp_tvb
152  tvbuff_t *rrlp_tvb;
154 %(DEFAULT_BODY)s
156   if (rrlp_tvb && rrlp_handle) {
157     call_dissector(rrlp_handle, rrlp_tvb, %(ACTX)s->pinfo, tree);
158   }
160 #.TYPE_ATTR
161 PeriodicParams/intervalBetweenFixes DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds)
163 #.TYPE_ATTR
164 PeriodicParams/startTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds)
166 #.TYPE_ATTR
167 AreaEventParams/startTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds)
169 #.TYPE_ATTR
170 AreaEventParams/stopTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds)
172 #.TYPE_ATTR
173 RepeatedReportingParams/minimumIntervalTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds)
175 #.FN_BODY WLANAreaId/apMACAddress VAL_PTR=&val_tvb HF_INDEX=-1
176   tvbuff_t *val_tvb;
178 %(DEFAULT_BODY)s
179   if (val_tvb) {
180     proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
181   }
183 #.TYPE_ATTR
184 WLANAreaId/apMACAddress TYPE=FT_ETHER
186 #.TYPE_ATTR
187 GANSSSignalsDescription/ganssId STRINGS=VALS(ulp_ganss_id_vals)
189 #.TYPE_ATTR
190 TimeStamp/relativeTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds)
192 #.TYPE_ATTR
193 ReportingCriteria/minTimeInterval DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds)
195 #.TYPE_ATTR
196 TimeWindow/startTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_minutes)
198 #.TYPE_ATTR
199 TimeWindow/stopTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_minutes)
201 #.TYPE_ATTR
202 GANSSPositionMethod/ganssId STRINGS=VALS(ulp_ganss_id_vals)
204 #.FN_BODY GANSSPositionMethod/ganssSBASid VAL_PTR=&val_tvb HF_INDEX=-1
205   tvbuff_t *val_tvb;
207 %(DEFAULT_BODY)s
208   if (val_tvb) {
209     proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 3, ENC_NA);
210   }
212 #.TYPE_ATTR
213 GANSSPositionMethod/ganssSBASid TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(ulp_ganss_sbas_id_vals)
215 #.FN_BODY GanssReqGenericData/ganssId VAL_PTR=&val
216   uint32_t val;
217   ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
219 %(DEFAULT_BODY)s
220   ulp_priv->ganss_req_gen_data_ganss_id = (uint8_t) val;
222 #.TYPE_ATTR
223 GanssReqGenericData/ganssId STRINGS=VALS(ulp_ganss_id_vals)
225 #.FN_BODY GanssReqGenericData/ganssSBASid VAL_PTR=&val_tvb HF_INDEX=-1
226   tvbuff_t *val_tvb;
228 %(DEFAULT_BODY)s
229   if (val_tvb) {
230     proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 3, ENC_NA);
231   }
233 #.TYPE_ATTR
234 GanssReqGenericData/ganssSBASid TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(ulp_ganss_sbas_id_vals)
236 #.FN_BODY GanssReqGenericData/ganssTimeModels VAL_PTR=&val_tvb
237   tvbuff_t *val_tvb;
238 %(DEFAULT_BODY)s
239   if (val_tvb) {
240     proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ulp_ganssTimeModels);
241     proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit0, val_tvb, 0, 2, ENC_BIG_ENDIAN);
242     proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit1, val_tvb, 0, 2, ENC_BIG_ENDIAN);
243     proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit2, val_tvb, 0, 2, ENC_BIG_ENDIAN);
244     proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit3, val_tvb, 0, 2, ENC_BIG_ENDIAN);
245     proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit4, val_tvb, 0, 2, ENC_BIG_ENDIAN);
246     proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_spare, val_tvb, 0, 2, ENC_BIG_ENDIAN);
247   }
249 #.FN_BODY GanssNavigationModelData/ganssWeek
250   ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
252 %(DEFAULT_BODY)s
253   if (ulp_priv->ganss_req_gen_data_ganss_id != 4) {
254     /* Not GLONASS */
255     proto_item_append_text(actx->created_item, "wk");
256   } else {
257     proto_item_append_text(actx->created_item, "d");
258   }
260 #.FN_BODY GanssNavigationModelData/ganssToe VAL_PTR=&val
261   uint32_t val;
262   ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
264 %(DEFAULT_BODY)s
266 #.FN_FTR GanssNavigationModelData/ganssToe
267   if (ulp_priv->ganss_req_gen_data_ganss_id != 4) {
268     /* Not GLONASS */
269     proto_item_append_text(actx->created_item, "h");
270   } else {
271     proto_item_set_text(actx->created_item, "%umin (%u)", 15*val, val);
272   }
274 #.FN_BODY GanssNavigationModelData/t-toeLimit VAL_PTR=&val
275   uint32_t val;
276   ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
278 %(DEFAULT_BODY)s
280 #.FN_FTR GanssNavigationModelData/t-toeLimit
281   if (ulp_priv->ganss_req_gen_data_ganss_id != 4) {
282     /* Not GLONASS */
283     proto_item_append_text(actx->created_item, "h");
284   } else {
285     proto_item_set_text(actx->created_item, "%umin (%u)", 30*val, val);
286   }
288 #.TYPE_ATTR
289 GanssDataBits/ganssTODmin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds)
291 #.TYPE_ATTR
292 ReqDataBitAssistanceList/ganssDataBitInterval DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_ganssDataBitInterval_fmt)
294 #.TYPE_ATTR
295 ExtendedEphemeris/validity DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_ExtendedEphemeris_validity_fmt)
297 #.FN_BODY Ver2-PosPayLoad-extension/lPPPayload/_item  VAL_PTR = &lpp_tvb
298  tvbuff_t *lpp_tvb;
300 %(DEFAULT_BODY)s
302   if (lpp_tvb && lpp_handle) {
303     call_dissector(lpp_handle, lpp_tvb, %(ACTX)s->pinfo, tree);
304   }
306 #.FN_BODY SETId/msisdn VAL_PTR=&msisdn_tvb
307   tvbuff_t *msisdn_tvb;
308 %(DEFAULT_BODY)s
309   if (msisdn_tvb) {
310     proto_tree *subtree;
312     subtree = proto_item_add_subtree(actx->created_item, ett_ulp_setid);
313     dissect_e164_msisdn(msisdn_tvb, subtree, 0, 8, E164_ENC_BCD);
314   }
316 #.FN_BODY SETId/mdn VAL_PTR=&mdn_tvb
317   tvbuff_t *mdn_tvb;
318 %(DEFAULT_BODY)s
319   if (mdn_tvb) {
320     proto_tree *subtree;
322     subtree = proto_item_add_subtree(actx->created_item, ett_ulp_setid);
323     proto_tree_add_item(subtree, hf_ulp_mobile_directory_number, mdn_tvb, 0, 8, ENC_BCD_DIGITS_0_9|ENC_LITTLE_ENDIAN);
324   }
326 #.FN_BODY SETId/imsi VAL_PTR=&imsi_tvb
327   tvbuff_t *imsi_tvb;
328 %(DEFAULT_BODY)s
329   if (imsi_tvb) {
330     proto_tree *subtree;
332     subtree = proto_item_add_subtree(actx->created_item, ett_ulp_setid);
333     dissect_e212_imsi(imsi_tvb, actx->pinfo, subtree, 0, 8, false);
334   }
336 #.TYPE_ATTR
337 IPAddress/ipv4Address TYPE = FT_IPv4  DISPLAY = BASE_NONE  STRINGS = NULL
338 IPAddress/ipv6Address TYPE = FT_IPv6  DISPLAY = BASE_NONE  STRINGS = NULL
340 #.TYPE_ATTR
341 PositionEstimate/latitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_PositionEstimate_latitude_fmt)
343 #.TYPE_ATTR
344 PositionEstimate/longitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_PositionEstimate_longitude_fmt)
346 #.TYPE_ATTR
347 PositionEstimate/uncertainty/uncertaintySemiMajor DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_horacc_fmt)
349 #.TYPE_ATTR
350 PositionEstimate/uncertainty/uncertaintySemiMinor DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_horacc_fmt)
352 #.TYPE_ATTR
353 PositionEstimate/uncertainty/orientationMajorAxis DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_degree_degrees)
355 #.TYPE_ATTR
356 PositionEstimate/confidence DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_percent)
358 #.TYPE_ATTR
359 AltitudeInfo/altitude DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_meters)
361 #.TYPE_ATTR
362 AltitudeInfo/altUncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_veracc_fmt)
364 #.TYPE_ATTR
365 NMRelement/rxLev DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_NMRelement_rxLev_fmt)
367 #.TYPE_ATTR
368 UTRA-CarrierRSSI DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_UTRA_CarrierRSSI_fmt)
370 #.TYPE_ATTR
371 PrimaryCCPCH-RSCP DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_PrimaryCCPCH_RSCP_fmt)
373 #.TYPE_ATTR
374 CPICH-Ec-N0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_CPICH_Ec_N0_fmt)
376 #.TYPE_ATTR
377 CPICH-RSCP DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_CPICH_RSCP_fmt)
379 #.TYPE_ATTR
380 QoP/horacc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_horacc_fmt)
382 #.TYPE_ATTR
383 QoP/veracc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_veracc_fmt)
385 #.TYPE_ATTR
386 QoP/maxLocAge DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds)
388 #.TYPE_ATTR
389 QoP/delay DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_delay_fmt)
391 #.TYPE_ATTR
392 QoP/ver2-responseTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds)
394 #.FN_BODY Horvel/bearing VAL_PTR=&val_tvb HF_INDEX=-1
395   tvbuff_t *val_tvb;
397 %(DEFAULT_BODY)s
398   if (val_tvb) {
399     actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
400   }
402 #.TYPE_ATTR
403 Horvel/bearing TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_degree_degrees)
405 #.FN_BODY Horvel/horspeed VAL_PTR=&val_tvb HF_INDEX=-1
406   tvbuff_t *val_tvb;
408 %(DEFAULT_BODY)s
409   if (val_tvb) {
410     actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
411   }
413 #.TYPE_ATTR
414 Horvel/horspeed TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh)
416 #.FN_BODY Horandvervel/verdirect VAL_PTR=&val_tvb HF_INDEX=-1
417   tvbuff_t *val_tvb;
419 %(DEFAULT_BODY)s
420   if (val_tvb) {
421     actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 1, ENC_NA);
422   }
424 #.TYPE_ATTR
425 Horandvervel/verdirect TYPE=FT_BOOLEAN STRINGS=TFS(&ulp_vertical_dir_val)
427 #.FN_BODY Horandvervel/bearing VAL_PTR=&val_tvb HF_INDEX=-1
428   tvbuff_t *val_tvb;
430 %(DEFAULT_BODY)s
431   if (val_tvb) {
432     actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
433   }
435 #.TYPE_ATTR
436 Horandvervel/bearing TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_degree_degrees)
438 #.FN_BODY Horandvervel/horspeed VAL_PTR=&val_tvb HF_INDEX=-1
439   tvbuff_t *val_tvb;
441 %(DEFAULT_BODY)s
442   if (val_tvb) {
443     actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
444   }
446 #.TYPE_ATTR
447 Horandvervel/horspeed TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh)
449 #.FN_BODY Horandvervel/verspeed VAL_PTR=&val_tvb HF_INDEX=-1
450   tvbuff_t *val_tvb;
452 %(DEFAULT_BODY)s
453   if (val_tvb) {
454     actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
455   }
457 #.TYPE_ATTR
458 Horandvervel/verspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh)
460 #.FN_BODY Horveluncert/bearing VAL_PTR=&val_tvb HF_INDEX=-1
461   tvbuff_t *val_tvb;
463 %(DEFAULT_BODY)s
464   if (val_tvb) {
465     actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
466   }
468 #.TYPE_ATTR
469 Horveluncert/bearing TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_degree_degrees)
471 #.FN_BODY Horveluncert/horspeed VAL_PTR=&val_tvb HF_INDEX=-1
472   tvbuff_t *val_tvb;
474 %(DEFAULT_BODY)s
475   if (val_tvb) {
476     actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
477   }
479 #.TYPE_ATTR
480 Horveluncert/horspeed TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh)
482 #.FN_BODY Horveluncert/uncertspeed VAL_PTR=&val_tvb HF_INDEX=-1
483   tvbuff_t *val_tvb;
485 %(DEFAULT_BODY)s
486   if (val_tvb) {
487     actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
488   }
490 #.TYPE_ATTR
491 Horveluncert/uncertspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh)
493 #.FN_BODY Horandveruncert/verdirect VAL_PTR=&val_tvb HF_INDEX=-1
494   tvbuff_t *val_tvb;
496 %(DEFAULT_BODY)s
497   if (val_tvb) {
498     actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 1, ENC_NA);
499   }
501 #.TYPE_ATTR
502 Horandveruncert/verdirect TYPE=FT_BOOLEAN STRINGS=TFS(&ulp_vertical_dir_val)
504 #.FN_BODY Horandveruncert/bearing VAL_PTR=&val_tvb HF_INDEX=-1
505   tvbuff_t *val_tvb;
507 %(DEFAULT_BODY)s
508   if (val_tvb) {
509     actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
510   }
512 #.TYPE_ATTR
513 Horandveruncert/bearing TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_degree_degrees)
515 #.FN_BODY Horandveruncert/horspeed VAL_PTR=&val_tvb HF_INDEX=-1
516   tvbuff_t *val_tvb;
518 %(DEFAULT_BODY)s
519   if (val_tvb) {
520     actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
521   }
523 #.TYPE_ATTR
524 Horandveruncert/horspeed TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh)
526 #.FN_BODY Horandveruncert/verspeed VAL_PTR=&val_tvb HF_INDEX=-1
527   tvbuff_t *val_tvb;
529 %(DEFAULT_BODY)s
530   if (val_tvb) {
531     actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
532   }
534 #.TYPE_ATTR
535 Horandveruncert/verspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh)
537 #.FN_BODY Horandveruncert/horuncertspeed VAL_PTR=&val_tvb HF_INDEX=-1
538   tvbuff_t *val_tvb;
540 %(DEFAULT_BODY)s
541   if (val_tvb) {
542     actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
543   }
545 #.TYPE_ATTR
546 Horandveruncert/horuncertspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh)
548 #.FN_BODY Horandveruncert/veruncertspeed VAL_PTR=&val_tvb HF_INDEX=-1
549   tvbuff_t *val_tvb;
551 %(DEFAULT_BODY)s
552   if (val_tvb) {
553     actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
554   }
556 #.TYPE_ATTR
557 Horandveruncert/veruncertspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh)
559 #.TYPE_ATTR
560 RelativeTime DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_RelativeTime_fmt)
562 #.FN_BODY SupportedWLANApData/apMACAddress VAL_PTR=&val_tvb HF_INDEX=-1
563   tvbuff_t *val_tvb;
565 %(DEFAULT_BODY)s
566   if (val_tvb) {
567     proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
568   }
570 #.TYPE_ATTR
571 SupportedWLANApData/apMACAddress TYPE=FT_ETHER
573 #.TYPE_ATTR
574 RSRP-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_RSRP_Range_fmt)
576 #.TYPE_ATTR
577 RSRQ-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_RSRQ_Range_fmt)
579 #.FN_BODY WlanAPInformation/apMACAddress VAL_PTR=&val_tvb HF_INDEX=-1
580   tvbuff_t *val_tvb;
582 %(DEFAULT_BODY)s
583   if (val_tvb) {
584     proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
585   }
587 #.TYPE_ATTR
588 WlanAPInformation/apMACAddress TYPE=FT_ETHER
590 #.TYPE_ATTR
591 WlanAPInformation/apTransmitPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm)
593 #.TYPE_ATTR
594 WlanAPInformation/apAntennaGain DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbi)
596 #.TYPE_ATTR
597 WlanAPInformation/apSignaltoNoise DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels)
599 #.TYPE_ATTR
600 WlanAPInformation/apSignalStrength DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm)
602 #.TYPE_ATTR
603 WlanAPInformation/setTransmitPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm)
605 #.TYPE_ATTR
606 WlanAPInformation/setAntennaGain DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbi)
608 #.TYPE_ATTR
609 WlanAPInformation/setSignaltoNoise DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels)
611 #.TYPE_ATTR
612 WlanAPInformation/setSignalStrength DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm)
614 #.TYPE_ATTR
615 WlanAPInformation/apSignalStrengthDelta DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_SignalDelta_fmt)
617 #.TYPE_ATTR
618 WlanAPInformation/apSignaltoNoiseDelta DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_SignalDelta_fmt)
620 #.TYPE_ATTR
621 WlanAPInformation/setSignalStrengthDelta DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_SignalDelta_fmt)
623 #.TYPE_ATTR
624 WlanAPInformation/setSignaltoNoiseDelta DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_SignalDelta_fmt)
626 #.FN_BODY WlanAPInformation/apSSID VAL_PTR=&ssid_tvb HF_INDEX=-1
627   tvbuff_t *ssid_tvb;
629 %(DEFAULT_BODY)s
630   if (ssid_tvb) {
631     actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA);
632   }
634 #.TYPE_ATTR
635 WlanAPInformation/apSSID TYPE=FT_STRING DISPLAY=BASE_NONE
637 #.FN_BODY WlanAPInformation/setMACAddress VAL_PTR=&val_tvb HF_INDEX=-1
638   tvbuff_t *val_tvb;
640 %(DEFAULT_BODY)s
641   if (val_tvb) {
642     proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
643   }
645 #.TYPE_ATTR
646 WlanAPInformation/setMACAddress TYPE=FT_ETHER
648 #.TYPE_ATTR
649 LocationData/locationAccuracy DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_locationAccuracy_fmt)
651 #.TYPE_ATTR
652 WimaxRTD/rtd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxRTD_fmt)
654 #.TYPE_ATTR
655 WimaxRTD/rTDstd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxRTD_fmt)
657 #.TYPE_ATTR
658 WimaxNMR/relDelay DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxRTD_fmt)
660 #.TYPE_ATTR
661 WimaxNMR/relDelaystd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxRTD_fmt)
663 #.TYPE_ATTR
664 WimaxNMR/rssi DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxNMR_rssi_fmt)
666 #.TYPE_ATTR
667 WimaxNMR/rSSIstd DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels)
669 #.TYPE_ATTR
670 WimaxNMR/bSTxPower DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxNMR_rssi_fmt)
672 #.TYPE_ATTR
673 WimaxNMR/cinr DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels)
675 #.TYPE_ATTR
676 WimaxNMR/cINRstd DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels)
678 #.TYPE_ATTR
679 UTRAN-GPSReferenceTimeAssistance/gpsReferenceTimeUncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_UTRAN_gpsReferenceTimeUncertainty_fmt)
681 #.TYPE_ATTR
682 UTRAN-GPSReferenceTimeResult/gpsReferenceTimeUncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_UTRAN_gpsReferenceTimeUncertainty_fmt)
684 #.TYPE_ATTR
685 UTRAN-GANSSReferenceTimeAssistance/ganssTimeID STRINGS=VALS(ulp_ganss_time_id_vals)
687 #.TYPE_ATTR
688 UTRAN-GANSSReferenceTime/ganssTOD DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds)
690 #.TYPE_ATTR
691 UTRAN-GANSSReferenceTime/utran-GANSSTimingOfCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_utran_GANSSTimingOfCell_fmt)
693 #.TYPE_ATTR
694 UTRAN-GANSSReferenceTime/ganss-TODUncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_UTRAN_gpsReferenceTimeUncertainty_fmt)
696 #.TYPE_ATTR
697 UTRAN-GANSSReferenceTimeResult/ganssTimeID STRINGS=VALS(ulp_ganss_time_id_vals)
699 #.TYPE_ATTR
700 SET-GANSSReferenceTime/ganss-TODUncertainty ulp_UTRAN_gpsReferenceTimeUncertainty_fmtulp_UTRAN_gpsReferenceTimeUncertainty_fmt)
702 #.FN_BODY ThirdPartyID/msisdn VAL_PTR=&msisdn_tvb
703   tvbuff_t *msisdn_tvb;
704 %(DEFAULT_BODY)s
705   if (msisdn_tvb) {
706     proto_tree *subtree;
708     subtree = proto_item_add_subtree(actx->created_item, ett_ulp_thirdPartyId);
709     dissect_e164_msisdn(msisdn_tvb, subtree, 0, 8, E164_ENC_BCD);
710   }
712 #.FN_BODY ThirdPartyID/sip-uri
713 # asn2wrs does not handle '%' in the restricted string ( Has to be there twice)
714   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
715                                                       1, 255, false, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:./-_~%%#@?", 72,
716                                                       NULL);
717 #.FN_BODY ThirdPartyID/ims-public-identity
718 # asn2wrs does not handle '%' in the restricted string ( Has to be there twice)
719   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
720                                                       1, 255, false, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:./-_~%%#@?", 72,
721                                                       NULL);
722 #.FN_BODY ThirdPartyID/mdn VAL_PTR=&mdn_tvb
723   tvbuff_t *mdn_tvb;
724 %(DEFAULT_BODY)s
725   if (mdn_tvb) {
726     proto_tree *subtree;
728     subtree = proto_item_add_subtree(actx->created_item, ett_ulp_thirdPartyId);
729     proto_tree_add_string(subtree, hf_ulp_mobile_directory_number, mdn_tvb, 0, 8, tvb_bcd_dig_to_str(actx->pinfo->pool, mdn_tvb, 0, 8, NULL, false));
730   }
732 #.FN_BODY ThirdPartyID/uri
733 # asn2wrs does not handle '%' in the restricted string ( Has to be there twice)
734   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
735                                                       1, 255, false, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./-_~%%#", 69,
736                                                       NULL);
738 #.TYPE_ATTR
739 ReportingCap/minInt DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds)
741 #.TYPE_ATTR
742 ReportingCap/maxInt DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_minutes)
744 #.TYPE_ATTR
745 Coordinate/latitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_Coordinate_latitude_fmt)
747 #.TYPE_ATTR
748 Coordinate/longitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_Coordinate_longitude_fmt)
750 #.TYPE_ATTR
751 CircularArea/radius DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_meters)
753 #.TYPE_ATTR
754 EllipticalArea/semiMajor DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_meters)
756 #.TYPE_ATTR
757 EllipticalArea/semiMinor DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_meters)
759 #.TYPE_ATTR
760 EllipticalArea/angle DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_degree_degrees)
762 #.TYPE_ATTR
763 PolygonArea/polygonHysteresis DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_meters)
765 #.END