From a86c5f7cae7ec9a3398300555a0b644689d946a1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 19 Sep 2024 06:14:53 +0200 Subject: Merging upstream version 4.4.0. Signed-off-by: Daniel Baumann --- epan/dissectors/packet-link16.c | 47 +++++++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 16 deletions(-) (limited to 'epan/dissectors/packet-link16.c') diff --git a/epan/dissectors/packet-link16.c b/epan/dissectors/packet-link16.c index 3f63111a..592dac22 100644 --- a/epan/dissectors/packet-link16.c +++ b/epan/dissectors/packet-link16.c @@ -56,6 +56,7 @@ static const value_string Link16_Label_Strings[] = { }; /* Viasat, Inc., (2012), Link 16 Network Participant Group and Message Card, accessed from on 15 April 2013. */ +/* SyntheSys (2021), Link 16 Messages, accessed from on 15 May 2024. */ #define MKPAIR(a, b) (((b) << 5) | (a)) static const value_string Link16_Message_Strings[] = { { MKPAIR(0, 0), "Initial Entry" }, @@ -73,6 +74,7 @@ static const value_string Link16_Message_Strings[] = { { MKPAIR(1, 4), "Communication Status" }, { MKPAIR(1, 5), "Net Control Initialization" }, { MKPAIR(1, 6), "Needline Participation Group Assignment" }, + { MKPAIR(1, 7), "Fine Pulse Count Report" }, { MKPAIR(2, 0), "Indirect Interface Unit PPLI" }, { MKPAIR(2, 2), "Air PPLI" }, { MKPAIR(2, 3), "Surface PPLI" }, @@ -88,7 +90,8 @@ static const value_string Link16_Message_Strings[] = { { MKPAIR(3, 6), "Space Track" }, { MKPAIR(3, 7), "Electronic Warfare Product Information" }, { MKPAIR(5, 4), "Acoustic Bearing and Range" }, - { MKPAIR(6, 0), "Amplification" }, + { MKPAIR(6, 0), "Track/Point Amplification" }, + { MKPAIR(6, 1), "Personnel Recovery Amplification" }, { MKPAIR(7, 0), "Track Management" }, { MKPAIR(7, 1), "Data Update Request" }, { MKPAIR(7, 2), "Correlation" }, @@ -100,12 +103,14 @@ static const value_string Link16_Message_Strings[] = { { MKPAIR(8, 0), "Unit Designator" }, { MKPAIR(8, 1), "Mission Correlator Change" }, { MKPAIR(9, 0), "Command" }, + { MKPAIR(9, 1), "Engagement Coordination" }, + { MKPAIR(9, 2), "ECCM Coordination" }, { MKPAIR(10, 2), "Engagement Status" }, { MKPAIR(10, 3), "Handover" }, { MKPAIR(10, 5), "Controlling Unit Report" }, { MKPAIR(10, 6), "Pairing" }, - { MKPAIR(11, 0), "From the Weapon" }, - { MKPAIR(11, 1), "To the Weapon" }, + { MKPAIR(11, 0), "Weapon Response/Status" }, + { MKPAIR(11, 1), "Weapon Directive" }, { MKPAIR(11, 2), "Weapon Coordination" }, { MKPAIR(12, 0), "Mission Assignment" }, { MKPAIR(12, 1), "Vector" }, @@ -122,8 +127,11 @@ static const value_string Link16_Message_Strings[] = { { MKPAIR(13, 5), "Land Platform and System Status" }, { MKPAIR(14, 0), "Parametric Information" }, { MKPAIR(14, 2), "Electronic Warfare Control / Coordination" }, + { MKPAIR(14, 3), "ECM Management" }, { MKPAIR(15, 0), "Threat Warning" }, - { MKPAIR(16, 0), "Imagery" }, + { MKPAIR(16, 0), "Imager Transfer" }, + { MKPAIR(16, 1), "Route Change" }, + { MKPAIR(16, 2), "Global Area Reference System" }, { MKPAIR(17, 0), "Weather Over target" }, { MKPAIR(28, 0), "U.S. National 1 (Army)" }, { MKPAIR(28, 1), "U.S. National 2 (Navy)" }, @@ -140,37 +148,44 @@ static const value_string Link16_Message_Strings[] = { }; /* Viasat, Inc., (2012), Link 16 Network Participant Group and Message Card, accessed from on 15 April 2013. */ +/* SyntheSys (2021), Network Participation Groups (NPGs), accessed from on 15 May 2024. */ const value_string Link16_NPG_Strings[] = { { 1, "Initial Entry" }, { 2, "RTT-A" }, { 3, "RTT-B" }, { 4, "Network Management" }, - { 5, "PPLI and Status" }, - { 6, "PPLI and Status" }, + { 5, "PPLI and Status A" }, + { 6, "PPLI and Status B" }, { 7, "Surveillance" }, { 8, "Mission Management/Weapons Coordination" }, { 9, "Control" }, + { 10, "Electronic Warfare" }, { 11, "Image Transfer" }, { 12, "Voice A" }, { 13, "Voice B" }, + { 14, "Indirect PPLI" }, { 18, "Network Enabled Weapons" }, { 19, "Fighter-to-Fighter A" }, { 20, "Fighter-to-Fighter B" }, { 21, "Engagement Coordination" }, + { 24, "Bomb Hit Indication" }, { 27, "Joint Net PPLI" }, { 28, "Distributed Network Management" }, + { 29, "Residual Messages" }, + { 30, "IJMS Position and Status" }, + { 31, "Other IJMS Message" }, { 0, NULL }, }; -static int proto_link16 = -1; +static int proto_link16; -static gint hf_link16_wordformat = -1; -static gint hf_link16_label = -1; -static gint hf_link16_sublabel = -1; -static gint hf_link16_mli = -1; -static gint hf_link16_contlabel = -1; +static int hf_link16_wordformat; +static int hf_link16_label; +static int hf_link16_sublabel; +static int hf_link16_mli; +static int hf_link16_contlabel; -static gint ett_link16 = -1; +static int ett_link16; static int * const link16_initial_word_fields[] = { &hf_link16_wordformat, @@ -203,8 +218,8 @@ static int dissect_link16(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v Link16State *state = (Link16State *)data; proto_item *link16_item = NULL; proto_tree *link16_tree = NULL; - guint16 cache; - guint8 wordformat, contlabel; + uint16_t cache; + uint8_t wordformat, contlabel; if (!state) REPORT_DISSECTOR_BUG("Link 16 dissector state missing"); @@ -267,7 +282,7 @@ void proto_register_link16(void) { "Continuation Word Label", "link16.contlabel", FT_UINT16, BASE_DEC, NULL, 0x7C, NULL, HFILL }} }; - static gint *ett[] = { + static int *ett[] = { &ett_link16, }; -- cgit v1.2.3