diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-09-19 04:14:53 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-09-19 04:14:53 +0000 |
commit | a86c5f7cae7ec9a3398300555a0b644689d946a1 (patch) | |
tree | 39fe4b107c71174fd1e8a8ceb9a4d2aa14116248 /epan/dissectors/asn1/nr-rrc/nr-rrc.cnf | |
parent | Releasing progress-linux version 4.2.6-1~progress7.99u1. (diff) | |
download | wireshark-a86c5f7cae7ec9a3398300555a0b644689d946a1.tar.xz wireshark-a86c5f7cae7ec9a3398300555a0b644689d946a1.zip |
Merging upstream version 4.4.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/asn1/nr-rrc/nr-rrc.cnf')
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/nr-rrc.cnf | 604 |
1 files changed, 471 insertions, 133 deletions
diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf index c9181191..d2d03c4a 100644 --- a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf +++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf @@ -1,6 +1,6 @@ # nr-rrc.cnf # nr-rrc conformation file -# Copyright 2018-2023 Pascal Quantin +# Copyright 2018-2024 Pascal Quantin #.OPT PER @@ -65,13 +65,18 @@ CG-ConfigInfo_PDU CondReconfigExecCondSCG-r17_PDU ConfigRestrictInfoDAPS-r16_PDU ConfigRestrictInfoSCG_PDU +EarlyUL-SyncConfig-r18_PDU FeatureSetEntryIndex_PDU FreqBandList_PDU HandoverCommand_PDU HandoverPreparationInformation_PDU LocationMeasurementInfo_PDU +LTM-CSI-ResourceConfigToAddModList-r18_PDU +LTM-CSI-ResourceConfigToReleaseList-r18_PDU +LTM-TCI-Info-r18_PDU MBS-NeighbourCellList-r17_PDU MBSInterestIndication-r17_PDU +MBSMulticastConfiguration-r18_PDU MeasConfig_PDU MeasGapConfig_PDU MeasGapSharingConfig_PDU @@ -80,10 +85,13 @@ MeasResultSCG-Failure_PDU MeasurementTimingConfiguration_PDU MIB_PDU MRB-PDCP-ConfigBroadcast-r17_PDU +MTCH-NeighbourCell-r18_PDU +MUSIM-CandidateBandList-r18_PDU MUSIM-GapConfig-r17_PDU NeedForGapsInfoNR-r16_PDU NeedForGapNCSG-InfoEUTRA-r17_PDU NeedForGapNCSG-InfoNR-r17_PDU +NeedForInterruptionInfoNR-r18_PDU NonCellDefiningSSB-r17_PDU NZP-CSI-RS-Resource_PDU OverheatingAssistance_PDU @@ -96,6 +104,7 @@ PosMeasGapPreConfigToAddModList-r17_PDU PosMeasGapPreConfigToReleaseList-r17_PDU RA-ReportList-r16_PDU RACH-ConfigCommon_PDU +RACH-ConfigDedicated_PDU RadioBearerConfig_PDU ReferenceTime-r16_PDU ReportConfigToAddMod_PDU @@ -125,15 +134,25 @@ SIB18-r17_PDU SIB19-r17_PDU SIB20-r17_PDU SIB21-r17_PDU +SIB22-r18_PDU +SIB23-r18_PDU +SIB24-r18_PDU +SIB25-r18_PDU SidelinkParametersNR-r16_PDU SidelinkUEInformationNR-r16_PDU SL-ConfigDedicatedEUTRA-Info-r16_PDU SL-ConfigDedicatedNR-r16_PDU SL-PHY-MAC-RLC-Config-r16_PDU +SL-PHY-MAC-RLC-Config-v1700_PDU SL-RLC-ChannelToAddModList-r17_PDU SRS-PosRRC-InactiveConfig-r17_PDU +SRS-PosRRC-InactiveValidityAreaConfig-r18_PDU SuccessHO-Report-r17_PDU +SuccessPSCell-Report-r18_PDU +TCI-StateId_PDU +TCI-UL-StateId-r17_PDU TDD-UL-DL-ConfigCommon_PDU +ThresholdMBS-List-r18_PDU UE-CapabilityRAT-ContainerList_PDU UE-CapabilityRequestFilterCommon_PDU UE-CapabilityRequestFilterNR_PDU @@ -162,13 +181,18 @@ ConfigRestrictInfoSCG DL-CCCH-Message @dl.ccch DL-DCCH-Message @dl.dcch DRX-Config +EarlyUL-SyncConfig-r18 FeatureSetEntryIndex FreqBandList HandoverCommand HandoverPreparationInformation LocationMeasurementInfo +LTM-CSI-ResourceConfigToAddModList-r18 +LTM-CSI-ResourceConfigToReleaseList-r18 +LTM-TCI-Info-r18 MBS-NeighbourCellList-r17 MBSInterestIndication-r17 +MBSMulticastConfiguration-r18 MCCH-Message-r17 @mcch MeasConfig MeasGapConfig @@ -178,10 +202,14 @@ MeasResultSCG-Failure MeasurementTimingConfiguration MIB MRB-PDCP-ConfigBroadcast-r17 +MTCH-NeighbourCell-r18 +MulticastMCCH-Message-r18 @multicast_mcch +MUSIM-CandidateBandList-r18 MUSIM-GapConfig-r17 NeedForGapsInfoNR-r16 NeedForGapNCSG-InfoEUTRA-r17 NeedForGapNCSG-InfoNR-r17 +NeedForInterruptionInfoNR-r18 NonCellDefiningSSB-r17 NZP-CSI-RS-Resource OverheatingAssistance @@ -195,6 +223,7 @@ PosMeasGapPreConfigToAddModList-r17 PosMeasGapPreConfigToReleaseList-r17 RA-ReportList-r16 RACH-ConfigCommon +RACH-ConfigDedicated RadioBearerConfig ReferenceTime-r16 ReportConfigToAddMod @@ -225,18 +254,29 @@ SIB15-r17 @sib15 SIB16-r17 @sib16 SIB17-r17 @sib17 SIB18-r17 @sib18 -SIB19-r17 @sib21 -SIB20-r17 @sib22 -SIB21-r17 @sib23 +SIB19-r17 @sib19 +SIB20-r17 @sib20 +SIB21-r17 @sib21 +SIB22-r18 @sib22 +SIB23-r18 @sib23 +SIB24-r18 @sib24 +SIB25-r18 @sib25 +SIB17bis-r18 @sib17bis SL-ConfigDedicatedEUTRA-Info-r16 SL-ConfigDedicatedNR-r16 SL-MeasResultListRelay-r17 SL-MeasResultRelay-r17 SL-PHY-MAC-RLC-Config-r16 +SL-PHY-MAC-RLC-Config-v1700 SL-RLC-ChannelToAddModList-r17 SRS-PosRRC-InactiveConfig-r17 +SRS-PosRRC-InactiveValidityAreaConfig-r18 SuccessHO-Report-r17 +SuccessPSCell-Report-r18 +TCI-StateId +TCI-UL-StateId-r17 TDD-UL-DL-ConfigCommon +ThresholdMBS-List-r18 UE-CapabilityRAT-ContainerList UE-CapabilityRequestFilterCommon UE-CapabilityRequestFilterNR @@ -262,17 +302,24 @@ CG-CandidateList CG-CandidateList-r17-IEs SIB12-IEs-r16 SIB17-IEs-r17 +SIB17bis-IEs-r18 +SIB23-IEs-r18 SL-BWP-ConfigCommon-r16 SL-BWP-DiscPoolConfigCommon-r17 SL-BWP-PoolConfigCommon-r16 +SL-BWP-PRS-PoolConfigCommon-r18 SL-ConfigCommonNR-r16 SL-DiscConfigCommon-r17 +SL-DiscConfigCommon-v1800 SL-EUTRA-AnchorCarrierFreqList-r16 SL-FreqConfigCommon-r16 SL-MeasConfigCommon-r16 SL-NR-AnchorCarrierFreqList-r16 +SL-PosBWP-ConfigCommon-r18 +SL-PosConfigCommonNR-r18 SL-ServingCellInfo-r17 TRS-ResourceSet-r17 +TRS-ResourceSet-r18 UE-TimersAndConstantsRemoteUE-r17 #.FIELD_RENAME @@ -789,6 +836,21 @@ RAT-Type TYPE_PREFIX #.FN_HDR SIB21-r17 col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB21 "); +#.FN_HDR SIB22-r18 + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB22 "); + +#.FN_HDR SIB23-r18 + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB23 "); + +#.FN_HDR SIB24-r18 + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB24 "); + +#.FN_HDR SIB25-r18 + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB25 "); + +#.FN_HDR SIB17bis-r18 + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB17bis "); + #.FN_HDR SIB1 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1 "); @@ -851,11 +913,11 @@ RAT-Type TYPE_PREFIX if (!PINFO_FD_VISITED(actx->pinfo)) { /* Look for UE identifier */ - mac_nr_info *p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0); + uint16_t *p_ueid = nr_rrc_get_ueid_from_lower_layers(wmem_file_scope(), actx->pinfo); - if (p_mac_nr_info != NULL) { + if (p_ueid != NULL) { /* Inform PDCP about the RRCreestablishmentRequest */ - set_pdcp_nr_rrc_reestablishment_request(p_mac_nr_info->ueid); + set_pdcp_nr_rrc_reestablishment_request(*p_ueid); } } @@ -884,16 +946,16 @@ RAT-Type TYPE_PREFIX col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Complete"); #.FN_BODY SecurityModeFailure - mac_nr_info *p_mac_nr_info; + uint16_t *p_ueid; col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Failure"); %(DEFAULT_BODY)s /* Look for UE identifier */ - p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0); + p_ueid = nr_rrc_get_ueid_from_lower_layers(wmem_file_scope(), actx->pinfo); - if (p_mac_nr_info != NULL) { + if (p_ueid != NULL) { /* Inform PDCP that the UE failed to execute the securityModeCommand */ - set_pdcp_nr_security_algorithms_failed(p_mac_nr_info->ueid); + set_pdcp_nr_security_algorithms_failed(*p_ueid); } #.FN_HDR ULInformationTransfer @@ -953,6 +1015,9 @@ RAT-Type TYPE_PREFIX #.FN_HDR MeasurementReportAppLayer-r17 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report App Layer"); +#.FN_HDR IndirectPathFailureInformation-r18 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Indirect Path Failure Information"); + #.FN_BODY MRDC-SecondaryCellGroupConfig/mrdc-SecondaryCellGroup/eutra-SCG VAL_PTR = &eutra_scg_tvb tvbuff_t *eutra_scg_tvb = NULL; %(DEFAULT_BODY)s @@ -1030,10 +1095,10 @@ RAT-Type TYPE_PREFIX } #.FN_BODY MobilityFromNRCommand-IEs/targetRAT-Type VAL_PTR = &target_rat_type - guint32 target_rat_type; + uint32_t target_rat_type; nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); %(DEFAULT_BODY)s - nr_priv->target_rat_type = (guint8)target_rat_type; + nr_priv->target_rat_type = (uint8_t)target_rat_type; #.FN_BODY MobilityFromNRCommand-IEs/targetRAT-MessageContainer VAL_PTR = &target_rat_msg_cont_tvb tvbuff_t *target_rat_msg_cont_tvb = NULL; @@ -1093,7 +1158,7 @@ RAT-Type TYPE_PREFIX } #.TYPE_ATTR -RejectWaitTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +RejectWaitTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_RENAME MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-RSCP-r16 MeasTriggerQuantityUTRA_FDD_RSCP_r16 @@ -1111,7 +1176,7 @@ MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-EcN0-r16 DISPLAY=BASE_CUSTOM STRINGS=CF SIB1/cellSelectionInfo/q-RxLevMinOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) #.TYPE_ATTR -SIB1/cellSelectionInfo/q-QualMinOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +SIB1/cellSelectionInfo/q-QualMinOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.FN_BODY SL-TxResourceReq-r16/sl-CapabilityInformationSidelink-r16 VAL_PTR = &sl_cap_info_sidelink_tvb tvbuff_t *sl_cap_info_sidelink_tvb = NULL; @@ -1132,7 +1197,7 @@ SIB1/cellSelectionInfo/q-QualMinOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS } #.TYPE_ATTR -LogMeasInfo-r16/relativeTimeStamp-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +LogMeasInfo-r16/relativeTimeStamp-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR RLF-Report-r16/nr-RLF-Report-r16/timeConnFailure-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_timeConnFailure_r16_fmt) @@ -1156,16 +1221,31 @@ RLF-Report-r16/nr-RLF-Report-r16/timeConnFailure-r16 DISPLAY=BASE_CUSTOM STRINGS } #.TYPE_ATTR -TimeSinceFailure-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +TimeSinceFailure-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR -TimeUntilReconnection-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +TimeUntilReconnection-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR TimeSinceCHO-Reconfig-r17 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_TimeSinceCHO_Reconfig_r17_fmt) #.TYPE_ATTR -UPInterruptionTimeAtHO-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds +TimeSinceCPAC-Reconfig-r18 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_TimeSinceCHO_Reconfig_r17_fmt) + +#.TYPE_ATTR +TimeConnSourceDAPS-Failure-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) + +#.TYPE_ATTR +UPInterruptionTimeAtHO-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) + +#.TYPE_ATTR +ElapsedTimeT316-r18 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) + +#.TYPE_ATTR +ElapsedTimeSCG-Failure-r18 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) + +#.TYPE_ATTR +TimeSinceSHR-r18 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.FN_BODY ULInformationTransferIRAT-r16-IEs/ul-DCCH-MessageEUTRA-r16 VAL_PTR = &ul_dcch_msg_eutra_tvb tvbuff_t *ul_dcch_msg_eutra_tvb = NULL; @@ -1183,7 +1263,7 @@ IntraFreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC( IntraFreqNeighCellInfo/q-RxLevMinOffsetCellSUL DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) #.TYPE_ATTR -IntraFreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +IntraFreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR InterFreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) @@ -1192,22 +1272,22 @@ InterFreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC( InterFreqNeighCellInfo/q-RxLevMinOffsetCellSUL DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) #.TYPE_ATTR -InterFreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +InterFreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR CarrierFreqEUTRA/q-RxLevMin DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) #.TYPE_ATTR -CarrierFreqEUTRA/q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +CarrierFreqEUTRA/q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR -CarrierFreqEUTRA/p-MaxEUTRA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +CarrierFreqEUTRA/p-MaxEUTRA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR EUTRA-FreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) #.TYPE_ATTR -EUTRA-FreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +EUTRA-FreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR SIB6/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_messageIdentifier_vals_ext @@ -1278,15 +1358,15 @@ SIB7/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=& #.FN_BODY SIB7/warningMessageSegmentType VAL_PTR=&segment_type nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); - guint32 segment_type; + uint32_t segment_type; %(DEFAULT_BODY)s - nr_priv->warning_message_segment_type = (guint8)segment_type; + nr_priv->warning_message_segment_type = (uint8_t)segment_type; #.FN_BODY SIB7/warningMessageSegmentNumber VAL_PTR=&segment_number nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); - guint32 segment_number; + uint32_t segment_number; %(DEFAULT_BODY)s - nr_priv->warning_message_segment_number = (guint8)segment_number; + nr_priv->warning_message_segment_number = (uint8_t)segment_number; #.FN_BODY SIB7/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb tvbuff_t *data_coding_scheme_tvb = NULL; @@ -1296,10 +1376,10 @@ SIB7/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=& if (data_coding_scheme_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; - guint32 dataCodingScheme; + uint32_t dataCodingScheme; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme); dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0); - wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier), + wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((unsigned)nr_priv->message_identifier), GUINT_TO_POINTER(dataCodingScheme)); } @@ -1312,16 +1392,16 @@ SIB7/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=& nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; tvbuff_t *frag_tvb; - gpointer p_dcs; + void *p_dcs; fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib7_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo, nr_priv->message_identifier, NULL, nr_priv->warning_message_segment_number, tvb_reported_length(warning_msg_seg_tvb), - nr_priv->warning_message_segment_type ? FALSE : TRUE); + nr_priv->warning_message_segment_type ? false : true); subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment); frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB7 warning message", frag_data, &nr_rrc_sib7_frag_items, NULL, subtree); - p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier)); + p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((unsigned)nr_priv->message_identifier)); if (frag_tvb && p_dcs) { dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs)); } @@ -1358,15 +1438,15 @@ SIB8/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=& #.FN_BODY SIB8/warningMessageSegmentType VAL_PTR=&segment_type nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); - guint32 segment_type; + uint32_t segment_type; %(DEFAULT_BODY)s - nr_priv->warning_message_segment_type = (guint8)segment_type; + nr_priv->warning_message_segment_type = (uint8_t)segment_type; #.FN_BODY SIB8/warningMessageSegmentNumber VAL_PTR=&segment_number nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); - guint32 segment_number; + uint32_t segment_number; %(DEFAULT_BODY)s - nr_priv->warning_message_segment_number = (guint8)segment_number; + nr_priv->warning_message_segment_number = (uint8_t)segment_number; #.FN_BODY SIB8/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb tvbuff_t *data_coding_scheme_tvb = NULL; @@ -1376,10 +1456,10 @@ SIB8/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=& if (data_coding_scheme_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; - guint32 dataCodingScheme; + uint32_t dataCodingScheme; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme); dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0); - wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier), + wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((unsigned)nr_priv->message_identifier), GUINT_TO_POINTER(dataCodingScheme)); } @@ -1392,26 +1472,26 @@ SIB8/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=& nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; tvbuff_t *frag_tvb; - gpointer p_dcs; + void *p_dcs; fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib8_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo, nr_priv->message_identifier, NULL, nr_priv->warning_message_segment_number, tvb_reported_length(warning_msg_seg_tvb), - nr_priv->warning_message_segment_type ? FALSE : TRUE); + nr_priv->warning_message_segment_type ? false : true); subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment); frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB8 warning message", frag_data, &nr_rrc_sib8_frag_items, NULL, subtree); - p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier)); + p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((unsigned)nr_priv->message_identifier)); if (frag_tvb && p_dcs) { dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs)); } } #.FN_BODY SIB9/timeInfo/timeInfoUTC VAL_PTR=&timeInfo - guint64 timeInfo; + uint64_t timeInfo; proto_tree *subtree; nstime_t ts; - guint32 old_offset = offset; + uint32_t old_offset = offset; %(DEFAULT_BODY)s #.FN_FTR SIB9/timeInfo/timeInfoUTC @@ -1430,12 +1510,12 @@ SIB9/timeInfo/dayLightSavingTime TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(nr_ #.FN_FTR SIB9/timeInfo/dayLightSavingTime if (daylight_saving_time_tvb) { - guint bitvalue = tvb_get_bits8(daylight_saving_time_tvb, 0, 2); + unsigned bitvalue = tvb_get_bits8(daylight_saving_time_tvb, 0, 2); actx->created_item = proto_tree_add_uint(tree, hf_index, daylight_saving_time_tvb, 0, 1, bitvalue); } #.TYPE_ATTR -SIB9/timeInfo/leapSeconds DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +SIB9/timeInfo/leapSeconds DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR SIB9/timeInfo/localTimeOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_localTimeOffset_fmt) @@ -1492,16 +1572,16 @@ RSSI-Range-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSSI_Range_r16_fmt) } #.TYPE_ATTR -ConfiguredGrantConfig/configuredGrantTimer DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_periodicities +ConfiguredGrantConfig/configuredGrantTimer DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_periodicities) #.TYPE_ATTR -ConnEstFailureControl/connEstFailOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +ConnEstFailureControl/connEstFailOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR DRX-Config/drx-SlotOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_drx_SlotOffset_fmt) #.TYPE_ATTR -FrequencyInfoDL-SIB/offsetToPointA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_prbs +FrequencyInfoDL-SIB/offsetToPointA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_prbs) #.TYPE_ATTR Hysteresis DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_Hysteresis_fmt) @@ -1528,10 +1608,10 @@ RSRQ-RangeEUTRA-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_r } #.TYPE_ATTR -ChannelAccessConfig-r16/maxEnergyDetectionThreshold-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +ChannelAccessConfig-r16/maxEnergyDetectionThreshold-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR -ChannelAccessConfig-r16/energyDetectionThresholdOffset-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +ChannelAccessConfig-r16/energyDetectionThresholdOffset-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR MeasResultUTRA-FDD-r16/measResult-r16/utra-FDD-RSCP-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_utra_FDD_RSCP_r16_fmt) @@ -1540,61 +1620,61 @@ MeasResultUTRA-FDD-r16/measResult-r16/utra-FDD-RSCP-r16 DISPLAY=BASE_CUSTOM STRI MeasResultUTRA-FDD-r16/measResult-r16/utra-FDD-EcN0-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_utra_FDD_EcN0_r16_fmt) #.TYPE_ATTR -MeasResultForRSSI-r16/channelOccupancy-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent +MeasResultForRSSI-r16/channelOccupancy-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_percent) #.TYPE_ATTR UL-PDCP-DelayValueResult-r16/averageDelay-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_averageDelay_r16_fmt) #.TYPE_ATTR -NZP-CSI-RS-Resource/powerControlOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +NZP-CSI-RS-Resource/powerControlOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR -P-Max DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +P-Max DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR -PUCCH-ResourceSet/maxPayloadMinus1 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_bits +PUCCH-ResourceSet/maxPayloadMinus1 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_bit_bits) #.TYPE_ATTR -PUCCH-ConfigCommon/p0-nominal DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +PUCCH-ConfigCommon/p0-nominal DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR -PUCCH-PowerControl/deltaF-PUCCH-f0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +PUCCH-PowerControl/deltaF-PUCCH-f0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR -PUCCH-PowerControl/deltaF-PUCCH-f1 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +PUCCH-PowerControl/deltaF-PUCCH-f1 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR -PUCCH-PowerControl/deltaF-PUCCH-f2 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +PUCCH-PowerControl/deltaF-PUCCH-f2 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR -PUCCH-PowerControl/deltaF-PUCCH-f3 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +PUCCH-PowerControl/deltaF-PUCCH-f3 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR -PUCCH-PowerControl/deltaF-PUCCH-f4 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +PUCCH-PowerControl/deltaF-PUCCH-f4 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR -P0-PUCCH/p0-PUCCH-Value DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +P0-PUCCH/p0-PUCCH-Value DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR PUSCH-ConfigCommon/msg3-DeltaPreamble DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_msg3_DeltaPreamble_fmt) #.TYPE_ATTR -PUSCH-ConfigCommon/p0-NominalWithGrant DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +PUSCH-ConfigCommon/p0-NominalWithGrant DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR -PUSCH-PowerControl/p0-NominalWithoutGrant DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +PUSCH-PowerControl/p0-NominalWithoutGrant DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR -P0-PUSCH-AlphaSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +P0-PUSCH-AlphaSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR -Q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +Q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR Q-RxLevMin DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_Q_RxLevMin_fmt) #.TYPE_ATTR -RACH-ConfigGeneric/preambleReceivedTargetPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +RACH-ConfigGeneric/preambleReceivedTargetPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR RSRP-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt) @@ -1606,7 +1686,7 @@ RSRQ-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_fmt) SINR-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SINR_RangeEUTRA_fmt) #.TYPE_ATTR -MsgA-PUSCH-Config-r16/msgA-DeltaPreamble-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +MsgA-PUSCH-Config-r16/msgA-DeltaPreamble-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR MeasTriggerQuantityOffset/rsrp DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_MeasTriggerQuantityOffset_fmt) @@ -1621,7 +1701,7 @@ MeasTriggerQuantityOffset/sinr DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_MeasTr ReselectionThreshold DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_ReselectionThreshold_fmt) #.TYPE_ATTR -ReselectionThresholdQ DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels +ReselectionThresholdQ DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_decibels) #.TYPE_ATTR RSRP-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRP_Range_fmt) @@ -1630,28 +1710,28 @@ RSRP-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRP_Range_fmt) RSRQ-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_Range_fmt) #.TYPE_ATTR -SearchSpace/duration DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_slots +SearchSpace/duration DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_slots) #.TYPE_ATTR -ServingCellConfigCommon/ss-PBCH-BlockPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +ServingCellConfigCommon/ss-PBCH-BlockPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR -ServingCellConfigCommonSIB/ss-PBCH-BlockPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +ServingCellConfigCommonSIB/ss-PBCH-BlockPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR SINR-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SINR_Range_fmt) #.TYPE_ATTR -SRS-ResourceSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +SRS-ResourceSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR -SRS-PosResourceSet-r16/p0-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +SRS-PosResourceSet-r16/p0-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR SRS-RSRP-Range-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SRS_RSRP_r16_fmt) #.TYPE_ATTR -T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.FN_BODY BandParametersSidelinkEUTRA-NR-r16/eutra/bandParametersSidelinkEUTRA1-r16 VAL_PTR = &band_params_sl_tvb tvbuff_t *band_params_sl_tvb = NULL; @@ -1705,10 +1785,10 @@ T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds %(DEFAULT_BODY)s #.FN_BODY RAT-Type VAL_PTR = &rat_type - guint32 rat_type; + uint32_t rat_type; nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); %(DEFAULT_BODY)s - nr_priv->rat_type = (guint8)rat_type; + nr_priv->rat_type = (uint8_t)rat_type; #.FN_BODY UE-CapabilityRAT-Container/ue-CapabilityRAT-Container VAL_PTR = &ue_cap_tvb tvbuff_t *ue_cap_tvb = NULL; @@ -1772,17 +1852,17 @@ T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds %(DEFAULT_BODY)s #.FN_FTR AbsoluteTimeInfo-r16 if (abs_time_info_tvb) { - const gchar *str, *hf_str; + const char *str, *hf_str; proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_absTimeInfo); - str = tvb_bcd_dig_to_str(actx->pinfo->pool, abs_time_info_tvb, 0, 6, NULL, FALSE); + str = tvb_bcd_dig_to_str(actx->pinfo->pool, abs_time_info_tvb, 0, 6, NULL, false); hf_str = wmem_strdup_printf(actx->pinfo->pool, "%c%c-%c%c-%c%c %c%c:%c%c:%c%c", str[0], str[1], str[2], str[3], str[4], str[5], str[6], str[7], str[8], str[9], str[10], str[11]); proto_tree_add_string(subtree, hf_nr_rrc_absolute_time, abs_time_info_tvb, 0, 6, hf_str); } #.TYPE_ATTR -EUTRA-NS-PmaxValue/additionalPmax DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +EUTRA-NS-PmaxValue/additionalPmax DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR WLAN-Identifiers-r16/ssid-r16 TYPE=FT_STRING DISPLAY=BASE_NONE @@ -1800,10 +1880,10 @@ WLAN-Identifiers-r16/bssid-r16 TYPE=FT_ETHER WLAN-Identifiers-r16/hessid-r16 TYPE=FT_ETHER #.TYPE_ATTR -VisitedCellInfo-r16/timeSpent-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +VisitedCellInfo-r16/timeSpent-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR -VisitedPSCellInfo-r17/timeSpent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +VisitedPSCellInfo-r17/timeSpent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_UNKNOWN; @@ -1940,6 +2020,42 @@ VisitedPSCellInfo-r17/timeSpent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&u #.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib6-6-v1700 nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_6; +#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-17a-v1770 + nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_17a; + +#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-18a-v1770 + nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_18a; + +#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-20a-v1770 + nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_20a; + +#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib1-11-v1800 + nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_11; + +#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib1-12-v1800 + nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_12; + +#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-26-v1800 + nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_26; + +#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-27-v1800 + nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_27; + +#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib6-7-v1800 + nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_7; + +#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib7-1-v1800 + nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_7_1; + +#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib7-2-v1800 + nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_7_2; + +#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib7-3-v1800 + nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_7_3; + +#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib7-4-v1800 + nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_7_4; + #.FN_BODY SIBpos-r16/assistanceDataSIB-Element-r16 VAL_PTR = &assist_data_sib_elem_tvb tvbuff_t *assist_data_sib_elem_tvb = NULL; %(DEFAULT_BODY)s @@ -1951,44 +2067,77 @@ VisitedPSCellInfo-r17/timeSpent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&u } #.FN_BODY RLC-BearerConfig - struct mac_nr_info *p_mac_nr_info; + uint16_t *p_ueid; /* Get the struct and clear it out */ nr_drb_mac_rlc_mapping_t *drb_mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping; memset(drb_mapping, 0, sizeof(nr_drb_mac_rlc_mapping_t)); - drb_mapping->active = TRUE; + drb_mapping->active = true; %(DEFAULT_BODY)s /* Need UE identifier */ - p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0); - if (p_mac_nr_info && drb_mapping->drbid) { - drb_mapping->ueid = p_mac_nr_info->ueid; - /* Tell MAC about this mapping */ - set_mac_nr_bearer_mapping(drb_mapping); + p_ueid = nr_rrc_get_ueid_from_lower_layers(wmem_file_scope(), actx->pinfo); + if (p_ueid != NULL && drb_mapping->rbid) { + drb_mapping->ueid = *p_ueid; + if (drb_mapping->is_drb) { + /* Tell MAC about this mapping */ + set_mac_nr_bearer_mapping(drb_mapping); + } + else if (drb_mapping->lcid_present && drb_mapping->lcid==3) { + /* Tell MAC that LCID 3 is for SRB-3 */ + set_mac_nr_srb3_in_use(drb_mapping->ueid); + } + else if (drb_mapping->lcid_present && drb_mapping->lcid==4) { + /* Tell MAC that LCID 4 is for SRB-4 */ + set_mac_nr_srb4_in_use(drb_mapping->ueid); + } } - drb_mapping->active = FALSE; + drb_mapping->active = false; #.FN_BODY DRB-Identity VAL_PTR=&value - guint32 value; + uint32_t value; +%(DEFAULT_BODY)s + if (nr_rrc_get_private_data(actx)->drb_rlc_mapping.active) { + nr_rrc_get_private_data(actx)->drb_rlc_mapping.rbid = (uint8_t)value; + nr_rrc_get_private_data(actx)->drb_rlc_mapping.is_drb = true; + } + else if (nr_rrc_get_private_data(actx)->drb_pdcp_mapping.active) { + nr_rrc_get_private_data(actx)->drb_pdcp_mapping.drbid = (uint8_t)value; + } + +#.FN_BODY SRB-Identity VAL_PTR=&value + uint32_t value; %(DEFAULT_BODY)s if (nr_rrc_get_private_data(actx)->drb_rlc_mapping.active) { - nr_rrc_get_private_data(actx)->drb_rlc_mapping.drbid = (guint8)value; + nr_rrc_get_private_data(actx)->drb_rlc_mapping.rbid = (uint8_t)value; + nr_rrc_get_private_data(actx)->drb_rlc_mapping.is_drb = false; } else if (nr_rrc_get_private_data(actx)->drb_pdcp_mapping.active) { - nr_rrc_get_private_data(actx)->drb_pdcp_mapping.drbid = (guint8)value; + nr_rrc_get_private_data(actx)->drb_pdcp_mapping.drbid = (uint8_t)value; + } + +#.FN_BODY SRB-Identity-v1700 VAL_PTR=&value + uint32_t value; +%(DEFAULT_BODY)s + if (nr_rrc_get_private_data(actx)->drb_rlc_mapping.active) { + nr_rrc_get_private_data(actx)->drb_rlc_mapping.rbid = (uint8_t)value; + nr_rrc_get_private_data(actx)->drb_rlc_mapping.is_drb = false; + } + else if (nr_rrc_get_private_data(actx)->drb_pdcp_mapping.active) { + nr_rrc_get_private_data(actx)->drb_pdcp_mapping.drbid = (uint8_t)value; } #.FN_BODY RLC-Config VAL_PTR=&value - guint32 value; + uint32_t value; nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping; %(DEFAULT_BODY)s mapping->rlcMode = (value==0) ? RLC_AM_MODE : RLC_UM_MODE; - mapping->rlcMode_present = TRUE; + mapping->rlcMode_present = true; #.FN_BODY LogicalChannelIdentity VAL_PTR=&value - guint32 value; + uint32_t value; nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping; %(DEFAULT_BODY)s - mapping->lcid = (guint8)value; - mapping->lcid_present = TRUE; + mapping->lcid = (uint8_t)value; + mapping->lcid_present = true; #.FN_BODY UL-UM-RLC nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping; @@ -2012,28 +2161,28 @@ VisitedPSCellInfo-r17/timeSpent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&u #.FN_BODY SN-FieldLengthUM VAL_PTR=&value - guint32 value; + uint32_t value; %(DEFAULT_BODY)s nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping; if (mapping->tempDirection == DIRECTION_UPLINK) { - mapping->rlcUlSnLength_present = TRUE; + mapping->rlcUlSnLength_present = true; mapping->rlcUlSnLength = (value==0) ? 6 : 12; } else { - mapping->rlcDlSnLength_present = TRUE; + mapping->rlcDlSnLength_present = true; mapping->rlcDlSnLength = (value==0) ? 6 : 12; } #.FN_BODY SN-FieldLengthAM VAL_PTR=&value - guint32 value; + uint32_t value; %(DEFAULT_BODY)s nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping; if (mapping->tempDirection == DIRECTION_UPLINK) { - mapping->rlcUlSnLength_present = TRUE; + mapping->rlcUlSnLength_present = true; mapping->rlcUlSnLength = (value==0) ? 12 : 18; } else { - mapping->rlcDlSnLength_present = TRUE; + mapping->rlcDlSnLength_present = true; mapping->rlcDlSnLength = (value==0) ? 12 : 18; } @@ -2041,27 +2190,27 @@ VisitedPSCellInfo-r17/timeSpent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&u #.FN_BODY DRB-ToAddMod nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping; memset(mapping, 0, sizeof(*mapping)); - mapping->active = TRUE; + mapping->active = true; %(DEFAULT_BODY)s - /* Need UE identifier. Use mac-nr. */ - mac_nr_info *p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0); - if (p_mac_nr_info) { + /* Need UE identifier. */ + uint16_t *p_ueid = nr_rrc_get_ueid_from_lower_layers(wmem_file_scope(), actx->pinfo); + if (p_ueid != NULL) { /* Configure PDCP SN length(s) for this DRB */ if (mapping->pdcpUlSnLength_present || mapping->pdcpDlSnLength_present) { - mapping->ueid = p_mac_nr_info->ueid; + mapping->ueid = *p_ueid; set_rlc_nr_drb_pdcp_mapping(actx->pinfo, mapping); } } - mapping->active = FALSE; + mapping->active = false; #.FN_BODY SDAP-Config/sdap-HeaderDL VAL_PTR=&value - guint32 value; + uint32_t value; %(DEFAULT_BODY)s nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping; mapping->pdcpDlSdap = !value; #.FN_BODY SDAP-Config/sdap-HeaderUL VAL_PTR=&value - guint32 value; + uint32_t value; %(DEFAULT_BODY)s nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping; mapping->pdcpUlSdap = !value; @@ -2069,24 +2218,24 @@ VisitedPSCellInfo-r17/timeSpent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&u #.FN_BODY PDCP-Config/drb/integrityProtection %(DEFAULT_BODY)s nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping; - mapping->pdcpIntegrityProtection = TRUE; + mapping->pdcpIntegrityProtection = true; #.FN_HDR PDCP-Config/eag_1/cipheringDisabled nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping; - mapping->pdcpCipheringDisabled = TRUE; + mapping->pdcpCipheringDisabled = true; #.FN_BODY PDCP-Config/drb/pdcp-SN-SizeUL VAL_PTR=&value - guint32 value; + uint32_t value; nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping; %(DEFAULT_BODY)s - mapping->pdcpUlSnLength_present = TRUE; + mapping->pdcpUlSnLength_present = true; mapping->pdcpUlSnLength = (value) ? 18 : 12; #.FN_BODY PDCP-Config/drb/pdcp-SN-SizeDL VAL_PTR=&value - guint32 value; + uint32_t value; nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping; %(DEFAULT_BODY)s - mapping->pdcpDlSnLength_present = TRUE; + mapping->pdcpDlSnLength_present = true; mapping->pdcpDlSnLength = (value) ? 18 : 12; @@ -2183,8 +2332,8 @@ CA-ParametersEUTRA-v1570/dl-1024QAM-TotalWeightedLayers DISPLAY=BASE_CUSTOM STRI dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL); } -#.FN_BODY SecurityAlgorithmConfig - mac_nr_info *p_mac_nr_info; +#.FN_BODY SecurityConfigSMC/securityAlgorithmConfig + uint16_t *p_ueid; pdcp_nr_security_info_t *p_security_algorithms; %(DEFAULT_BODY)s p_security_algorithms = &(nr_rrc_get_private_data(actx)->pdcp_security); @@ -2194,21 +2343,21 @@ CA-ParametersEUTRA-v1570/dl-1024QAM-TotalWeightedLayers DISPLAY=BASE_CUSTOM STRI p_security_algorithms->previous_ciphering = nea0; /* Look for UE identifier */ - p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0); - if (p_mac_nr_info != NULL) { + p_ueid = nr_rrc_get_ueid_from_lower_layers(wmem_file_scope(), actx->pinfo); + if (p_ueid != NULL) { /* Configure algorithms */ - set_pdcp_nr_security_algorithms(p_mac_nr_info->ueid, p_security_algorithms); + set_pdcp_nr_security_algorithms(*p_ueid, p_security_algorithms); } #.FN_BODY CipheringAlgorithm VAL_PTR=&value - guint32 value; + uint32_t value; pdcp_nr_security_info_t *p_security_algorithms; %(DEFAULT_BODY)s p_security_algorithms = &(nr_rrc_get_private_data(actx)->pdcp_security); p_security_algorithms->ciphering = (enum nr_security_ciphering_algorithm_e)value; #.FN_BODY IntegrityProtAlgorithm VAL_PTR=&value - guint32 value; + uint32_t value; pdcp_nr_security_info_t *p_security_algorithms; %(DEFAULT_BODY)s p_security_algorithms = &(nr_rrc_get_private_data(actx)->pdcp_security); @@ -2219,7 +2368,7 @@ CA-ParametersEUTRA-v1570/dl-1024QAM-TotalWeightedLayers DISPLAY=BASE_CUSTOM STRI %(DEFAULT_BODY)s if (sl_v2x_configcommon_tvb) { proto_tree *subtree; - subtree = proto_item_add_subtree(actx->created_item, ett_nr_sl_V2X_ConfigCommon_r16); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_V2X_ConfigCommon_r16); dissect_lte_rrc_SystemInformationBlockType21_r14_PDU(sl_v2x_configcommon_tvb, actx->pinfo, subtree, NULL); } @@ -2228,7 +2377,7 @@ CA-ParametersEUTRA-v1570/dl-1024QAM-TotalWeightedLayers DISPLAY=BASE_CUSTOM STRI %(DEFAULT_BODY)s if (tdd_config_tvb) { proto_tree *subtree; - subtree = proto_item_add_subtree(actx->created_item, ett_nr_tdd_Config_r16); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_tdd_Config_r16); dissect_lte_rrc_TDD_Config_PDU(tdd_config_tvb, actx->pinfo, subtree, NULL); } @@ -2237,7 +2386,7 @@ CA-ParametersEUTRA-v1570/dl-1024QAM-TotalWeightedLayers DISPLAY=BASE_CUSTOM STRI %(DEFAULT_BODY)s if (ellipsoid_point_tvb) { proto_tree *subtree; - subtree = proto_item_add_subtree(actx->created_item, ett_nr_coarseLocationInfo_r17); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_coarseLocationInfo_r17); dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, subtree, NULL); } @@ -2246,7 +2395,7 @@ CA-ParametersEUTRA-v1570/dl-1024QAM-TotalWeightedLayers DISPLAY=BASE_CUSTOM STRI %(DEFAULT_BODY)s if (sl_meas_result_list_relay_tvb) { proto_tree *subtree; - subtree = proto_item_add_subtree(actx->created_item, ett_nr_sl_MeasResultsCandRelay_r17); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_MeasResultsCandRelay_r17); dissect_SL_MeasResultListRelay_r17_PDU(sl_meas_result_list_relay_tvb, actx->pinfo, subtree, NULL); } @@ -2255,7 +2404,7 @@ CA-ParametersEUTRA-v1570/dl-1024QAM-TotalWeightedLayers DISPLAY=BASE_CUSTOM STRI %(DEFAULT_BODY)s if (sl_meas_result_serving_relay_tvb) { proto_tree *subtree; - subtree = proto_item_add_subtree(actx->created_item, ett_nr_sl_MeasResultServingRelay_r17); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_MeasResultServingRelay_r17); dissect_SL_MeasResultRelay_r17_PDU(sl_meas_result_serving_relay_tvb, actx->pinfo, subtree, NULL); } @@ -2264,22 +2413,181 @@ CA-ParametersEUTRA-v1570/dl-1024QAM-TotalWeightedLayers DISPLAY=BASE_CUSTOM STRI %(DEFAULT_BODY)s if (ellipsoid_point_tvb) { proto_tree *subtree; - subtree = proto_item_add_subtree(actx->created_item, ett_nr_coarseLocationInfo_r17); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_coarseLocationInfo_r17); dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, subtree, NULL); } #.TYPE_ATTR -TimeBetweenEvent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds +TimeBetweenEvent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) #.FN_BODY ReferenceLocation-r17 VAL_PTR = &ellipsoid_point_tvb tvbuff_t *ellipsoid_point_tvb = NULL; %(DEFAULT_BODY)s if (ellipsoid_point_tvb) { proto_tree *subtree; - subtree = proto_item_add_subtree(actx->created_item, ett_nr_ReferenceLocation_r17); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ReferenceLocation_r17); dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, subtree, NULL); } +#.FN_BODY WayPoint-r18/wayPointLocation-r18 VAL_PTR = &location_coordinate_tvb + tvbuff_t *location_coordinate_tvb = NULL; +%(DEFAULT_BODY)s + if (location_coordinate_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_wayPointLocation_r18); + dissect_lpp_LocationCoordinates_PDU(location_coordinate_tvb, actx->pinfo, subtree, NULL); + } + +#.TYPE_ATTR +FlightPathUpdateDistanceThr-r18 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_FlightPathUpdateDistanceThr_r18_fmt) + +#.TYPE_ATTR +flightPathUpdateTimeThr-r18 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) + +#.TYPE_ATTR +Altitude-r18 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_meters) + +#.TYPE_ATTR +ATG-Config-r18/heightgNB-r18 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_meters) + +#.TYPE_ATTR +HysteresisAltitude-r18 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_meters) + +#.TYPE_ATTR +LCG-DSR-Config-r18/remainingTimeThreshold-r18 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) + +#.FN_FTR DLDedicatedMessageSegment-r16-IEs + if (nr_rrc_reassemble_dcch_segments) { + uint16_t *p_ueid = nr_rrc_get_ueid_from_lower_layers(wmem_file_scope(), actx->pinfo); + uint32_t ueid, id, count; + fragment_head *frag_data; + tvbuff_t *reassembled_tvb; + wmem_tree_key_t key[3]; + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + + if (p_ueid != NULL) { + ueid = *p_ueid; + } else { + ueid = 0; + } + key[0].length = 1; + key[0].key = &ueid; + key[1].length = 1; + key[1].key = &actx->pinfo->num; + key[2].length = 0; + key[2].key = NULL; + if (!PINFO_FD_VISITED(actx->pinfo)) { + void *value; + + if (wmem_map_lookup_extended(nr_rrc_dcch_segment_ueid_count_hash, GUINT_TO_POINTER((ueid<<16)|(1<<15)), NULL, &value)) { + count = GPOINTER_TO_UINT(value); + } else { + count = 0; + } + if (nr_priv->dcch_segment_number == 0) { + /* new segmented message */ + count++; + wmem_map_insert(nr_rrc_dcch_segment_ueid_count_hash, GUINT_TO_POINTER((ueid<<16)|(1<<15)), GUINT_TO_POINTER(count)); + } + id = (ueid<<16)|(1<<15)|(count&0x7fff); + wmem_tree_insert32_array(nr_rrc_dcch_segment_id_tree, key, GUINT_TO_POINTER(id)); + } else { + id = GPOINTER_TO_UINT(wmem_tree_lookup32_array(nr_rrc_dcch_segment_id_tree, key)); + } + if (nr_priv->dcch_segment != NULL) { + frag_data = fragment_add_seq_check(&nr_rrc_dcch_segment_reassembly_table, nr_priv->dcch_segment, 0, actx->pinfo, + id, NULL, nr_priv->dcch_segment_number, + tvb_reported_length(nr_priv->dcch_segment), + !nr_priv->dcch_segment_last); + reassembled_tvb = process_reassembled_data(nr_priv->dcch_segment, 0, actx->pinfo, "Reassembled DL Dedicated Message", + frag_data, &nr_rrc_dcch_segment_frag_items, NULL, tree); + if (reassembled_tvb) { + dissect_DL_DCCH_Message_PDU(reassembled_tvb, actx->pinfo, tree, NULL); + } + } + } + +#.FN_BODY DLDedicatedMessageSegment-r16-IEs/segmentNumber-r16 VAL_PTR=&value + uint32_t value; +%(DEFAULT_BODY)s + nr_rrc_get_private_data(actx)->dcch_segment_number = value; + +#.FN_BODY DLDedicatedMessageSegment-r16-IEs/rrc-MessageSegmentContainer-r16 VAL_PTR=&segment + tvbuff_t *segment; +%(DEFAULT_BODY)s + nr_rrc_get_private_data(actx)->dcch_segment = segment; + +#.FN_BODY DLDedicatedMessageSegment-r16-IEs/rrc-MessageSegmentType-r16 VAL_PTR=&value + uint32_t value; +%(DEFAULT_BODY)s + nr_rrc_get_private_data(actx)->dcch_segment_last = (value > 0) ? true : false; + +#.FN_FTR ULDedicatedMessageSegment-r16-IEs + if (nr_rrc_reassemble_dcch_segments) { + uint16_t *p_ueid = nr_rrc_get_ueid_from_lower_layers(wmem_file_scope(), actx->pinfo); + uint32_t ueid, id, count; + fragment_head *frag_data; + tvbuff_t *reassembled_tvb; + wmem_tree_key_t key[3]; + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + + if (p_ueid != NULL) { + ueid = *p_ueid; + } else { + ueid = 0; + } + key[0].length = 1; + key[0].key = &ueid; + key[1].length = 1; + key[1].key = &actx->pinfo->num; + key[2].length = 0; + key[2].key = NULL; + if (!PINFO_FD_VISITED(actx->pinfo)) { + void *value; + + if (wmem_map_lookup_extended(nr_rrc_dcch_segment_ueid_count_hash, GUINT_TO_POINTER(ueid<<16), NULL, &value)) { + count = GPOINTER_TO_UINT(value); + } else { + count = 0; + } + if (nr_priv->dcch_segment_number == 0) { + /* new segmented message */ + count++; + wmem_map_insert(nr_rrc_dcch_segment_ueid_count_hash, GUINT_TO_POINTER(ueid<<16), GUINT_TO_POINTER(count)); + } + id = (ueid<<16)|(count&0x7fff); + wmem_tree_insert32_array(nr_rrc_dcch_segment_id_tree, key, GUINT_TO_POINTER(id)); + } else { + id = GPOINTER_TO_UINT(wmem_tree_lookup32_array(nr_rrc_dcch_segment_id_tree, key)); + } + if (nr_priv->dcch_segment != NULL) { + frag_data = fragment_add_seq_check(&nr_rrc_dcch_segment_reassembly_table, nr_priv->dcch_segment, 0, actx->pinfo, + id, NULL, nr_priv->dcch_segment_number, + tvb_reported_length(nr_priv->dcch_segment), + !nr_priv->dcch_segment_last); + reassembled_tvb = process_reassembled_data(nr_priv->dcch_segment, 0, actx->pinfo, "Reassembled UL Dedicated Message", + frag_data, &nr_rrc_dcch_segment_frag_items, NULL, tree); + if (reassembled_tvb) { + dissect_nr_rrc_UL_DCCH_Message_PDU(reassembled_tvb, actx->pinfo, tree, NULL); + } + } + } + +#.FN_BODY ULDedicatedMessageSegment-r16-IEs/segmentNumber-r16 VAL_PTR=&value + uint32_t value; +%(DEFAULT_BODY)s + nr_rrc_get_private_data(actx)->dcch_segment_number = value; + +#.FN_BODY ULDedicatedMessageSegment-r16-IEs/rrc-MessageSegmentContainer-r16 VAL_PTR=&segment + tvbuff_t *segment; +%(DEFAULT_BODY)s + nr_rrc_get_private_data(actx)->dcch_segment = segment; + +#.FN_BODY ULDedicatedMessageSegment-r16-IEs/rrc-MessageSegmentType-r16 VAL_PTR=&value + uint32_t value; +%(DEFAULT_BODY)s + nr_rrc_get_private_data(actx)->dcch_segment_last = (value > 0) ? true : false; + #.FN_HDR SBCCH-SL-BCH-Message proto_item *ti; @@ -2319,6 +2627,24 @@ TimeBetweenEvent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_millisecon #.FN_HDR UECapabilityInformationSidelink col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information Sidelink"); +#.FN_HDR UuMessageTransferSidelink-r17 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Uu Message Transfer Sidelink"); + +#.FN_HDR RemoteUEInformationSidelink-r17 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Remote UE Information Sidelink"); + +#.FN_HDR NotificationMessageSidelink-r17 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Notification Message Sidelink"); + +#.FN_HDR UEAssistanceInformationSidelink-r17 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Assistance Information Sidelink"); + +#.FN_HDR UEInformationRequestSidelink-r18 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Information Request Sidelink"); + +#.FN_HDR UEInformationResponseSidelink-r18 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Information Response Sidelink"); + #.FN_HDR MCCH-Message-r17 proto_item *ti; @@ -2330,3 +2656,15 @@ TimeBetweenEvent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_millisecon #.FN_HDR MBSBroadcastConfiguration-r17 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBS Broadcast Configuration"); + +#.FN_HDR MulticastMCCH-MessageType-r18 + proto_item *ti; + + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); + col_clear(actx->pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + tree = proto_item_add_subtree(ti, ett_nr_rrc); + +#.FN_HDR MBSMulticastConfiguration-r18 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBS Multicast Configuration"); |