diff options
Diffstat (limited to 'plugins/wimax/mac_hd_generic_decoder.c')
-rw-r--r-- | plugins/wimax/mac_hd_generic_decoder.c | 1472 |
1 files changed, 736 insertions, 736 deletions
diff --git a/plugins/wimax/mac_hd_generic_decoder.c b/plugins/wimax/mac_hd_generic_decoder.c index a56020acde..676b7239f1 100644 --- a/plugins/wimax/mac_hd_generic_decoder.c +++ b/plugins/wimax/mac_hd_generic_decoder.c @@ -285,147 +285,6 @@ static const value_string fast_fb_types[] = { 0, NULL} }; -/* Generic MAC header display */ -static hf_register_info hf[] = -{ - { - &hf_mac_header_generic_value_bytes, - { - "Values", "wmx.genericValueBytes", - FT_BYTES, BASE_HEX, NULL, 0x0, - "", HFILL - } - }, - { - &hf_mac_header_generic_ht, - { - "MAC Header Type", "wmx.genericHt", - FT_UINT24, BASE_HEX, VALS(ht_msgs), WIMAX_MAC_HEADER_GENERIC_HT, - "", HFILL - } - }, - { - &hf_mac_header_generic_ec, - { - "MAC Encryption Control", "wmx.genericEc", - FT_UINT24, BASE_HEX, VALS(ec_msgs), WIMAX_MAC_HEADER_GENERIC_EC, - "", HFILL - } - }, - { - &hf_mac_header_generic_type_0, - { - "MAC Sub-type Bit 0", "wmx.genericType0", - FT_UINT24, BASE_HEX, VALS(type_msg0), WIMAX_MAC_HEADER_GENERIC_TYPE_0, - "", HFILL - } - }, - { - &hf_mac_header_generic_type_1, - { - "MAC Sub-type Bit 1", "wmx.genericType1", - FT_UINT24, BASE_HEX, VALS(type_msg1), WIMAX_MAC_HEADER_GENERIC_TYPE_1, - "", HFILL - } - }, - { - &hf_mac_header_generic_type_2, - { - "MAC Sub-type Bit 2", "wmx.genericType2", - FT_UINT24, BASE_HEX, VALS(type_msg2), WIMAX_MAC_HEADER_GENERIC_TYPE_2, - "", HFILL - } - }, - { - &hf_mac_header_generic_type_3, - { - "MAC Sub-type Bit 3", "wmx.genericType3", - FT_UINT24, BASE_HEX, VALS(type_msg3), WIMAX_MAC_HEADER_GENERIC_TYPE_3, - "", HFILL - } - }, - { - &hf_mac_header_generic_type_4, - { - "MAC Sub-type Bit 4", "wmx.genericType4", - FT_UINT24, BASE_HEX, VALS(type_msg4), WIMAX_MAC_HEADER_GENERIC_TYPE_4, - "", HFILL - } - }, - { - &hf_mac_header_generic_type_5, - { - "MAC Sub-type Bit 5", "wmx.genericType5", - FT_UINT24, BASE_HEX, VALS(type_msg5), WIMAX_MAC_HEADER_GENERIC_TYPE_5, - "", HFILL - } - }, - { - &hf_mac_header_generic_esf, - { - "Extended Sub-header Field", "wmx.genericEsf", - FT_UINT24, BASE_HEX, VALS(esf_msgs), WIMAX_MAC_HEADER_GENERIC_ESF, - "", HFILL - } - }, - { - &hf_mac_header_generic_ci, - { - "CRC Indicator", "wmx.genericCi", - FT_UINT24, BASE_HEX, VALS(ci_msgs), WIMAX_MAC_HEADER_GENERIC_CI, - "", HFILL - } - }, - { - &hf_mac_header_generic_eks, - { - "Encryption Key Sequence", "wmx.genericEks", - FT_UINT24, BASE_HEX, NULL, WIMAX_MAC_HEADER_GENERIC_EKS, - "", HFILL - } - }, - { - &hf_mac_header_generic_rsv, - { - "Reserved", "wmx.genericRsv", - FT_UINT24, BASE_DEC, NULL, WIMAX_MAC_HEADER_GENERIC_RSV, - "", HFILL - } - }, - { - &hf_mac_header_generic_len, - { - "Length", "wmx.genericLen", - FT_UINT24, BASE_DEC, NULL, WIMAX_MAC_HEADER_GENERIC_LEN, - "", HFILL - } - }, - { - &hf_mac_header_generic_cid, - { - "Connection ID", "wmx.genericCid", - FT_UINT16, BASE_DEC, NULL, 0x0, - "", HFILL - } - }, - { - &hf_mac_header_generic_hcs, - { - "Header Check Sequence", "wmx.genericHcs", - FT_UINT8, BASE_HEX, NULL, 0x0, - "", HFILL - } - }, - { - &hf_mac_header_generic_crc, - { - "CRC", "wmx.genericCrc", - FT_UINT32, BASE_HEX, NULL, 0x0, - "", HFILL - } - } -}; - /* Extended sub-headers */ /* DL sub-header types */ enum @@ -596,227 +455,9 @@ static const value_string sn_rep_msg[] = { 0, NULL} }; -/* Extended Subheader display */ -static hf_register_info hf_ext[] = -{ - { - &hf_mac_header_generic_ext_subheader_rsv, - { - "Reserved", "wmx.genericExtSubhd.Rsv", - FT_UINT8, BASE_DEC, NULL, EXTENDED_SUB_HEADER_RSV_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_type_dl, - { - "DL Extended Subheader Type", "wmx.genericExtSubhd.Dl", - FT_UINT8, BASE_DEC, VALS(dl_ext_sub_header_type), EXTENDED_SUB_HEADER_TYPE_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_type_ul, - { - "UL Extended Subheader Type", "wmx.genericExtSubhd.Ul", - FT_UINT8, BASE_DEC, VALS(ul_ext_sub_header_type), EXTENDED_SUB_HEADER_TYPE_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_sdu_sn, - { - "SDU Sequence Number", "wmx.genericExtSubhd.SduSn", - FT_UINT8, BASE_DEC, NULL, 0x0, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_dl_sleep_control_pscid, - { - "Power Saving Class ID", "wmx.genericExtSubhd.DlSleepCtrlPSCID", - FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_POWER_SAVING_CLASS_ID_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_dl_sleep_control_op, - { - "Operation", "wmx.genericExtSubhd.DlSleepCtrlOP", - FT_UINT24, BASE_HEX, VALS(dl_sleep_control_ops), DL_SLEEP_CONTROL_OPERATION_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_dl_sleep_control_fswe, - { - "Final Sleep Window Exponent", "wmx.genericExtSubhd.DlSleepCtrlFSWE", - FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_FINAL_SLEEP_WINDOW_EXPONENT_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_dl_sleep_control_fswb, - { - "Final Sleep Window Base", "wmx.genericExtSubhd.DlSleepCtrlFSWB", - FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_FINAL_SLEEP_WINDOW_BASE_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_dl_sleep_control_rsv, - { - "Reserved", "wmx.genericExtSubhd.DlSleepCtrlRsv", - FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_RESERVED_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_fb_req_uiuc, - { - "UIUC", "wmx.genericExtSubhd.FbReqUIUC", - FT_UINT24, BASE_HEX, VALS(uiuc_values), FEEDBACK_REQUEST_UIUC_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_fb_req_fb_type, - { - "Feedback Type", "wmx.genericExtSubhd.FbReqFbType", - FT_UINT24, BASE_HEX, VALS(fb_types), FEEDBACK_REQUEST_FEEDBACK_TYPE_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_fb_req_ofdma_symbol_offset, - { - "OFDMA Symbol Offset", "wmx.genericExtSubhd.FbReqOfdmaSymbolOffset", - FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_OFDMA_SYMBOL_OFFSET_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_fb_req_subchannel_offset, - { - "Subchannel Offset", "wmx.genericExtSubhd.FbReqSubchannelOffset", - FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_SUBCHANNEL_OFFSET_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_fb_req_slots, - { - "Number of Slots", "wmx.genericExtSubhd.FbReqSlots", - FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_NUMBER_OF_SLOTS_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_fb_req_frame_offset, - { - "Frame Offset", "wmx.genericExtSubhd.FbReqFrameOffset", - FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_FRAME_OFFSET_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_sn_req_rep_ind_1, - { - "First SN Report Indication", "wmx.genericExtSubhd.SnReqRepInd1", - FT_UINT8, BASE_DEC, VALS(sn_rep_msg), SN_REQUEST_SUBHEADER_SN_REPORT_INDICATION_1_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_sn_req_rep_ind_2, - { - "Second SN Report Indication", "wmx.genericExtSubhd.SnReqRepInd2", - FT_UINT8, BASE_DEC, VALS(sn_rep_msg), SN_REQUEST_SUBHEADER_SN_REPORT_INDICATION_2_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_sn_req_rsv, - { - "Reserved", "wmx.genericExtSubhd.SnReqRsv", - FT_UINT8, BASE_DEC, NULL, SN_REQUEST_SUBHEADER_RESERVED_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_mimo_mode_fb_type, - { - "Feedback Type", "wmx.genericExtSubhd.MimoFbType", - FT_UINT8, BASE_DEC, VALS(mimo_fb_types), MIMO_FEEDBACK_TYPE_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_mimo_fb_content, - { - "Feedback Content", "wmx.genericExtSubhd.MimoFbContent", - FT_UINT8, BASE_DEC, NULL, MIMO_FEEDBACK_CONTENT_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_ul_tx_pwr_rep, - { - "UL TX Power", "wmx.genericExtSubhd.UlTxPwr", - FT_UINT8, BASE_DEC, NULL, 0x0, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_mini_fb_type, - { - "Feedback Type", "wmx.genericExtSubhd.MiniFbType", - FT_UINT16, BASE_DEC, VALS(fb_types), MINI_FEEDBACK_TYPE_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_mini_fb_content, - { - "Feedback Content", "wmx.genericExtSubhd.MiniFbContent", - FT_UINT16, BASE_DEC, NULL, MINI_FEEDBACK_CONTENT_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_pdu_sn_short, - { - "PDU Sequence Number", "wmx.genericExtSubhd.PduSnShort", - FT_UINT8, BASE_DEC, NULL, 0x0, - "", HFILL - } - }, - { - &hf_mac_header_generic_ext_subheader_pdu_sn_long, - { - "PDU Sequence Number", "wmx.genericExtSubhd.PduSnLong", - FT_UINT16, BASE_DEC, NULL, 0x0, - "", HFILL - } - } -}; - /* Mesh Subheader */ static gint hf_mac_header_generic_mesh_subheader = -1; -/* Mesh Subheader display */ -static hf_register_info hf_mesh[] = -{ - { - &hf_mac_header_generic_mesh_subheader, - { - "Xmt Node Id", "wmx.genericMeshSubhd", - FT_UINT16, BASE_DEC, NULL, 0x0, - "", HFILL - } - } -}; - /* Fragmentation Subheader (table 8) */ #define FRAGMENTATION_SUBHEADER_FC_MASK 0xC000 /*0x0003*/ #define FRAGMENTATION_SUBHEADER_BSN_MASK 0x3FF8 /*0x1FFC*/ @@ -850,67 +491,6 @@ static const value_string frag_types[] = { 0, NULL} }; -/* Fragmentation Subheader display */ -static hf_register_info hf_frag[] = -{ - { - &hf_mac_header_generic_frag_subhd_fc, - { - "Fragment Type", "wmx.genericFragSubhd.Fc", - FT_UINT8, BASE_DEC, VALS(frag_types), FRAGMENTATION_SUBHEADER_FC_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_frag_subhd_fc_ext, - { - "Fragment Type", "wmx.genericFragSubhd.FcExt", - FT_UINT16, BASE_DEC, VALS(frag_types), FRAGMENTATION_SUBHEADER_FC_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_frag_subhd_bsn, - { - "Block Sequence Number (BSN)", "wmx.genericFragSubhd.Bsn", - FT_UINT16, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_BSN_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_frag_subhd_fsn, - { - "Fragment Sequence Number (FSN)", "wmx.genericFragSubhd.Fsn", - FT_UINT8, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_FSN_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_frag_subhd_fsn_ext, - { - "Fragment Sequence Number (FSN)", "wmx.genericFragSubhd.FsnExt", - FT_UINT16, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_BSN_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_frag_subhd_rsv, - { - "Reserved", "wmx.genericFragSubhd.Rsv", - FT_UINT8, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_RSV_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_frag_subhd_rsv_ext, - { - "Reserved", "wmx.genericFragSubhd.RsvExt", - FT_UINT16, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_RSV_EXT_MASK, - "", HFILL - } - } -}; - /* Packing Subheader (table 11) */ #define PACKING_SUBHEADER_FC_MASK 0xC00000 #define PACKING_SUBHEADER_BSN_MASK 0x3FF800 @@ -928,67 +508,6 @@ static gint hf_mac_header_generic_packing_subhd_fsn_ext = -1; static gint hf_mac_header_generic_packing_subhd_len = -1; static gint hf_mac_header_generic_packing_subhd_len_ext = -1; -/* Packing Subheader display */ -static hf_register_info hf_pack[] = -{ - { - &hf_mac_header_generic_packing_subhd_fc, - { - "Fragment Type", "wmx.genericPackSubhd.Fc", - FT_UINT16, BASE_DEC, VALS(frag_types), PACKING_SUBHEADER_FC_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_packing_subhd_fc_ext, - { - "Fragment Type", "wmx.genericPackSubhd.FcExt", - FT_UINT24, BASE_HEX, VALS(frag_types), PACKING_SUBHEADER_FC_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_packing_subhd_bsn, - { - "First Block Sequence Number", "wmx.genericPackSubhd.Bsn", - FT_UINT24, BASE_DEC, NULL, PACKING_SUBHEADER_BSN_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_packing_subhd_fsn, - { - "Fragment Number", "wmx.genericPackSubhd.Fsn", - FT_UINT16, BASE_DEC, NULL, PACKING_SUBHEADER_FSN_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_packing_subhd_fsn_ext, - { - "Fragment Number", "wmx.genericPackSubhd.FsnExt", - FT_UINT24, BASE_DEC, NULL, PACKING_SUBHEADER_BSN_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_packing_subhd_len, - { - "Length", "wmx.genericPackSubhd.Len", - FT_UINT16, BASE_DEC, NULL, PACKING_SUBHEADER_LENGTH_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_packing_subhd_len_ext, - { - "Length", "wmx.genericPackSubhd.LenExt", - FT_UINT24, BASE_DEC, NULL, PACKING_SUBHEADER_LENGTH_EXT_MASK, - "", HFILL - } - } -}; - /* Fast-feedback Allocation Subheader (table 13) */ #define FAST_FEEDBACK_ALLOCATION_OFFSET_MASK 0xFC /*0x3F*/ #define FAST_FEEDBACK_FEEDBACK_TYPE_MASK 0x03 /*0xC0*/ @@ -996,27 +515,6 @@ static hf_register_info hf_pack[] = static gint hf_mac_header_generic_fast_fb_subhd_alloc_offset = -1; static gint hf_mac_header_generic_fast_fb_subhd_fb_type = -1; -/* Fast-feedback Allocation Subheader display */ -static hf_register_info hf_fast[] = -{ - { - &hf_mac_header_generic_fast_fb_subhd_alloc_offset, - { - "Allocation Offset", "wmx.genericFastFbSubhd.AllocOffset", - FT_UINT8, BASE_DEC, NULL, FAST_FEEDBACK_ALLOCATION_OFFSET_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_fast_fb_subhd_fb_type, - { - "Feedback Type", "wmx.genericFastFbSubhd.FbType", - FT_UINT8, BASE_DEC, VALS(fast_fb_types), FAST_FEEDBACK_FEEDBACK_TYPE_MASK, - "", HFILL - } - } -}; - /* Grant Management Subheader (table 9 & 10) */ #define GRANT_MGMT_SUBHEADER_UGS_SI_MASK 0x8000 /*0x0001*/ #define GRANT_MGMT_SUBHEADER_UGS_PM_MASK 0x4000 /*0x0002*/ @@ -1075,109 +573,6 @@ static const value_string fli_msgs[] = { 0, NULL} }; -/* Grant Management Subheader display */ -static hf_register_info hf_grant[] = -{ - { - &hf_mac_header_generic_grant_mgmt_ext_pbr_tree, - { - "Scheduling Service Type (Default)", - "wimax.genericGrantSubhd.Default", - FT_UINT16, BASE_DEC, NULL, 0x0, - "", HFILL - } - }, - { - &hf_mac_header_generic_grant_mgmt_subhd_pbr, - { - "PiggyBack Request", "wmx.genericGrantSubhd.Pbr", - FT_UINT16, BASE_DEC, NULL, 0x0, - "", HFILL - } - }, - { - &hf_mac_header_generic_grant_mgmt_ugs_tree, - { - "Scheduling Service Type (UGS)", "wmx.genericGrantSubhd.UGS", - FT_UINT16, BASE_DEC, NULL, 0x0, - "", HFILL - } - }, - { - &hf_mac_header_generic_grant_mgmt_subhd_ugs_si, - { - "Slip Indicator", "wmx.genericGrantSubhd.Si", - FT_UINT16, BASE_DEC, VALS(si_msgs), GRANT_MGMT_SUBHEADER_UGS_SI_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_grant_mgmt_subhd_ugs_pm, - { - "Poll-Me", "wmx.genericGrantSubhd.Pm", - FT_UINT16, BASE_DEC, VALS(pm_msgs), GRANT_MGMT_SUBHEADER_UGS_PM_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_grant_mgmt_subhd_ugs_fli, - { - "Frame Latency Indication", "wmx.genericGrantSubhd.Fli", - FT_UINT16, BASE_DEC, VALS(fli_msgs), GRANT_MGMT_SUBHEADER_UGS_FLI_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_grant_mgmt_subhd_ugs_fl, - { - "Frame Latency", "wmx.genericGrantSubhd.Fl", - FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_UGS_FL_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_grant_mgmt_subhd_ugs_rsv, - { - "Reserved", "wmx.genericGrantSubhd.Rsv", - FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_UGS_RSV_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_grant_mgmt_ext_rtps_tree, - { - "Scheduling Service Type (Extended rtPS)", - "wimax.genericGrantSubhd.ExtendedRTPS", - FT_UINT16, BASE_DEC, NULL, 0x0, - "", HFILL - } - }, - { - &hf_mac_header_generic_grant_mgmt_subhd_ext_pbr, - { - "Extended PiggyBack Request", "wmx.genericGrantSubhd.ExtPbr", - FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_EXT_PBR_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_grant_mgmt_subhd_ext_fli, - { - "Frame Latency Indication", "wmx.genericGrantSubhd.ExtFli", - FT_UINT16, BASE_DEC, VALS(fli_msgs), GRANT_MGMT_SUBHEADER_EXT_FLI_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_grant_mgmt_subhd_ext_fl, - { - "Frame Latency", "wmx.genericGrantSubhd.ExtFl", - FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_EXT_FL_MASK, - "", HFILL - } - } -}; - /* ARQ Feedback Payload */ /* ARQ Feedback IE bit masks (table 111) */ @@ -1220,137 +615,6 @@ static const value_string last_ie_msgs[] = { 0, NULL} }; -/* ARQ Feedback Payload display */ -static hf_register_info hf_arq[] = -{ - { - &hf_mac_header_generic_arq_fb_ie_cid, - { - "CID", "wmx.genericArq.FbIeCid", - FT_UINT16, BASE_DEC, NULL, 0x0, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_last, - { - "Last IE", "wmx.genericArq.FbIeLast", - FT_UINT16, BASE_DEC, VALS(last_ie_msgs), ARQ_FB_IE_LAST_BIT_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_ack_type, - { - "ACK Type", "wmx.genericArq.FbIeAckType", - FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_ACK_TYPE_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_bsn, - { - "BSN", "wmx.genericArq.FbIeBsn", - FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_BSN_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_num_maps, - { - "Number of ACK Maps", "wmx.genericArq.FbIeMaps", - FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_NUM_MAPS_MASK, - "", HFILL - } - }, - { - &hf_ack_type_reserved, - { - "Reserved", "wmx.genericArq.FbIeRsvd", FT_UINT16, BASE_DEC, NULL, 0x03, "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_sel_ack_map, - { - "Selective ACK Map", "wmx.genericArq.FbIeSelAckMap", - FT_UINT16, BASE_HEX, NULL, 0x0, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_seq_format, - { - "Sequence Format", "wmx.genericArq.FbIeSeqFmt", - FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ_FORMAT_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_seq_ack_map, - { - "Sequence ACK Map", "wmx.genericArq.FbIeSeqAckMap", - FT_UINT16, BASE_HEX, NULL, ARQ_FB_IE_SEQ_ACK_MAP_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_seq1_length, - { - "Sequence 1 Length", "wmx.genericArq.FbIeSeq1Len", - FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ1_LENGTH_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_seq2_length, - { - "Sequence 2 Length", "wmx.genericArq.FbIeSeq2Len", - FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ2_LENGTH_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_seq3_length, - { - "Sequence 3 Length", "wmx.genericArq.FbIeSeq3Len", - FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ3_LENGTH_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_seq_ack_map_2, - { - "Sequence ACK Map", "wmx.genericArq.FbIeSeqAckMap2", - FT_UINT16, BASE_HEX, NULL, ARQ_FB_IE_SEQ_ACK_MAP_2_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_seq1_length_6, - { - "Sequence 1 Length", "wmx.genericArq.FbIeSeq1Len", - FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ1_LENGTH_6_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_seq2_length_6, - { - "Sequence 2 Length", "wmx.genericArq.FbIeSeq2Len", - FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ2_LENGTH_6_MASK, - "", HFILL - } - }, - { - &hf_mac_header_generic_arq_fb_ie_rsv, - { - "Reserved", "wmx.genericArq.FbIeRsv", - FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_RSV_MASK, - "", HFILL - } - } -}; - /* Register Wimax defrag table init routine. */ void wimax_defragment_init(void) { @@ -1460,6 +724,742 @@ static guint decode_packing_subheader(tvbuff_t *payload_tvb, packet_info *pinfo, /* Register Wimax Generic Mac Header Protocol and Dissector */ void proto_register_mac_header_generic(void) { + /* Generic MAC header display */ + static hf_register_info hf[] = + { + { + &hf_mac_header_generic_value_bytes, + { + "Values", "wmx.genericValueBytes", + FT_BYTES, BASE_HEX, NULL, 0x0, + "", HFILL + } + }, + { + &hf_mac_header_generic_ht, + { + "MAC Header Type", "wmx.genericHt", + FT_UINT24, BASE_HEX, VALS(ht_msgs), WIMAX_MAC_HEADER_GENERIC_HT, + "", HFILL + } + }, + { + &hf_mac_header_generic_ec, + { + "MAC Encryption Control", "wmx.genericEc", + FT_UINT24, BASE_HEX, VALS(ec_msgs), WIMAX_MAC_HEADER_GENERIC_EC, + "", HFILL + } + }, + { + &hf_mac_header_generic_type_0, + { + "MAC Sub-type Bit 0", "wmx.genericType0", + FT_UINT24, BASE_HEX, VALS(type_msg0), WIMAX_MAC_HEADER_GENERIC_TYPE_0, + "", HFILL + } + }, + { + &hf_mac_header_generic_type_1, + { + "MAC Sub-type Bit 1", "wmx.genericType1", + FT_UINT24, BASE_HEX, VALS(type_msg1), WIMAX_MAC_HEADER_GENERIC_TYPE_1, + "", HFILL + } + }, + { + &hf_mac_header_generic_type_2, + { + "MAC Sub-type Bit 2", "wmx.genericType2", + FT_UINT24, BASE_HEX, VALS(type_msg2), WIMAX_MAC_HEADER_GENERIC_TYPE_2, + "", HFILL + } + }, + { + &hf_mac_header_generic_type_3, + { + "MAC Sub-type Bit 3", "wmx.genericType3", + FT_UINT24, BASE_HEX, VALS(type_msg3), WIMAX_MAC_HEADER_GENERIC_TYPE_3, + "", HFILL + } + }, + { + &hf_mac_header_generic_type_4, + { + "MAC Sub-type Bit 4", "wmx.genericType4", + FT_UINT24, BASE_HEX, VALS(type_msg4), WIMAX_MAC_HEADER_GENERIC_TYPE_4, + "", HFILL + } + }, + { + &hf_mac_header_generic_type_5, + { + "MAC Sub-type Bit 5", "wmx.genericType5", + FT_UINT24, BASE_HEX, VALS(type_msg5), WIMAX_MAC_HEADER_GENERIC_TYPE_5, + "", HFILL + } + }, + { + &hf_mac_header_generic_esf, + { + "Extended Sub-header Field", "wmx.genericEsf", + FT_UINT24, BASE_HEX, VALS(esf_msgs), WIMAX_MAC_HEADER_GENERIC_ESF, + "", HFILL + } + }, + { + &hf_mac_header_generic_ci, + { + "CRC Indicator", "wmx.genericCi", + FT_UINT24, BASE_HEX, VALS(ci_msgs), WIMAX_MAC_HEADER_GENERIC_CI, + "", HFILL + } + }, + { + &hf_mac_header_generic_eks, + { + "Encryption Key Sequence", "wmx.genericEks", + FT_UINT24, BASE_HEX, NULL, WIMAX_MAC_HEADER_GENERIC_EKS, + "", HFILL + } + }, + { + &hf_mac_header_generic_rsv, + { + "Reserved", "wmx.genericRsv", + FT_UINT24, BASE_DEC, NULL, WIMAX_MAC_HEADER_GENERIC_RSV, + "", HFILL + } + }, + { + &hf_mac_header_generic_len, + { + "Length", "wmx.genericLen", + FT_UINT24, BASE_DEC, NULL, WIMAX_MAC_HEADER_GENERIC_LEN, + "", HFILL + } + }, + { + &hf_mac_header_generic_cid, + { + "Connection ID", "wmx.genericCid", + FT_UINT16, BASE_DEC, NULL, 0x0, + "", HFILL + } + }, + { + &hf_mac_header_generic_hcs, + { + "Header Check Sequence", "wmx.genericHcs", + FT_UINT8, BASE_HEX, NULL, 0x0, + "", HFILL + } + }, + { + &hf_mac_header_generic_crc, + { + "CRC", "wmx.genericCrc", + FT_UINT32, BASE_HEX, NULL, 0x0, + "", HFILL + } + } + }; + + /* Extended Subheader display */ + static hf_register_info hf_ext[] = + { + { + &hf_mac_header_generic_ext_subheader_rsv, + { + "Reserved", "wmx.genericExtSubhd.Rsv", + FT_UINT8, BASE_DEC, NULL, EXTENDED_SUB_HEADER_RSV_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_type_dl, + { + "DL Extended Subheader Type", "wmx.genericExtSubhd.Dl", + FT_UINT8, BASE_DEC, VALS(dl_ext_sub_header_type), EXTENDED_SUB_HEADER_TYPE_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_type_ul, + { + "UL Extended Subheader Type", "wmx.genericExtSubhd.Ul", + FT_UINT8, BASE_DEC, VALS(ul_ext_sub_header_type), EXTENDED_SUB_HEADER_TYPE_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_sdu_sn, + { + "SDU Sequence Number", "wmx.genericExtSubhd.SduSn", + FT_UINT8, BASE_DEC, NULL, 0x0, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_dl_sleep_control_pscid, + { + "Power Saving Class ID", "wmx.genericExtSubhd.DlSleepCtrlPSCID", + FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_POWER_SAVING_CLASS_ID_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_dl_sleep_control_op, + { + "Operation", "wmx.genericExtSubhd.DlSleepCtrlOP", + FT_UINT24, BASE_HEX, VALS(dl_sleep_control_ops), DL_SLEEP_CONTROL_OPERATION_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_dl_sleep_control_fswe, + { + "Final Sleep Window Exponent", "wmx.genericExtSubhd.DlSleepCtrlFSWE", + FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_FINAL_SLEEP_WINDOW_EXPONENT_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_dl_sleep_control_fswb, + { + "Final Sleep Window Base", "wmx.genericExtSubhd.DlSleepCtrlFSWB", + FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_FINAL_SLEEP_WINDOW_BASE_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_dl_sleep_control_rsv, + { + "Reserved", "wmx.genericExtSubhd.DlSleepCtrlRsv", + FT_UINT24, BASE_DEC, NULL, DL_SLEEP_CONTROL_RESERVED_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_fb_req_uiuc, + { + "UIUC", "wmx.genericExtSubhd.FbReqUIUC", + FT_UINT24, BASE_HEX, VALS(uiuc_values), FEEDBACK_REQUEST_UIUC_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_fb_req_fb_type, + { + "Feedback Type", "wmx.genericExtSubhd.FbReqFbType", + FT_UINT24, BASE_HEX, VALS(fb_types), FEEDBACK_REQUEST_FEEDBACK_TYPE_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_fb_req_ofdma_symbol_offset, + { + "OFDMA Symbol Offset", "wmx.genericExtSubhd.FbReqOfdmaSymbolOffset", + FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_OFDMA_SYMBOL_OFFSET_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_fb_req_subchannel_offset, + { + "Subchannel Offset", "wmx.genericExtSubhd.FbReqSubchannelOffset", + FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_SUBCHANNEL_OFFSET_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_fb_req_slots, + { + "Number of Slots", "wmx.genericExtSubhd.FbReqSlots", + FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_NUMBER_OF_SLOTS_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_fb_req_frame_offset, + { + "Frame Offset", "wmx.genericExtSubhd.FbReqFrameOffset", + FT_UINT24, BASE_HEX, NULL, FEEDBACK_REQUEST_FRAME_OFFSET_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_sn_req_rep_ind_1, + { + "First SN Report Indication", "wmx.genericExtSubhd.SnReqRepInd1", + FT_UINT8, BASE_DEC, VALS(sn_rep_msg), SN_REQUEST_SUBHEADER_SN_REPORT_INDICATION_1_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_sn_req_rep_ind_2, + { + "Second SN Report Indication", "wmx.genericExtSubhd.SnReqRepInd2", + FT_UINT8, BASE_DEC, VALS(sn_rep_msg), SN_REQUEST_SUBHEADER_SN_REPORT_INDICATION_2_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_sn_req_rsv, + { + "Reserved", "wmx.genericExtSubhd.SnReqRsv", + FT_UINT8, BASE_DEC, NULL, SN_REQUEST_SUBHEADER_RESERVED_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_mimo_mode_fb_type, + { + "Feedback Type", "wmx.genericExtSubhd.MimoFbType", + FT_UINT8, BASE_DEC, VALS(mimo_fb_types), MIMO_FEEDBACK_TYPE_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_mimo_fb_content, + { + "Feedback Content", "wmx.genericExtSubhd.MimoFbContent", + FT_UINT8, BASE_DEC, NULL, MIMO_FEEDBACK_CONTENT_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_ul_tx_pwr_rep, + { + "UL TX Power", "wmx.genericExtSubhd.UlTxPwr", + FT_UINT8, BASE_DEC, NULL, 0x0, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_mini_fb_type, + { + "Feedback Type", "wmx.genericExtSubhd.MiniFbType", + FT_UINT16, BASE_DEC, VALS(fb_types), MINI_FEEDBACK_TYPE_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_mini_fb_content, + { + "Feedback Content", "wmx.genericExtSubhd.MiniFbContent", + FT_UINT16, BASE_DEC, NULL, MINI_FEEDBACK_CONTENT_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_pdu_sn_short, + { + "PDU Sequence Number", "wmx.genericExtSubhd.PduSnShort", + FT_UINT8, BASE_DEC, NULL, 0x0, + "", HFILL + } + }, + { + &hf_mac_header_generic_ext_subheader_pdu_sn_long, + { + "PDU Sequence Number", "wmx.genericExtSubhd.PduSnLong", + FT_UINT16, BASE_DEC, NULL, 0x0, + "", HFILL + } + } + }; + + /* Mesh Subheader display */ + static hf_register_info hf_mesh[] = + { + { + &hf_mac_header_generic_mesh_subheader, + { + "Xmt Node Id", "wmx.genericMeshSubhd", + FT_UINT16, BASE_DEC, NULL, 0x0, + "", HFILL + } + } + }; + + /* Fragmentation Subheader display */ + static hf_register_info hf_frag[] = + { + { + &hf_mac_header_generic_frag_subhd_fc, + { + "Fragment Type", "wmx.genericFragSubhd.Fc", + FT_UINT8, BASE_DEC, VALS(frag_types), FRAGMENTATION_SUBHEADER_FC_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_frag_subhd_fc_ext, + { + "Fragment Type", "wmx.genericFragSubhd.FcExt", + FT_UINT16, BASE_DEC, VALS(frag_types), FRAGMENTATION_SUBHEADER_FC_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_frag_subhd_bsn, + { + "Block Sequence Number (BSN)", "wmx.genericFragSubhd.Bsn", + FT_UINT16, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_BSN_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_frag_subhd_fsn, + { + "Fragment Sequence Number (FSN)", "wmx.genericFragSubhd.Fsn", + FT_UINT8, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_FSN_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_frag_subhd_fsn_ext, + { + "Fragment Sequence Number (FSN)", "wmx.genericFragSubhd.FsnExt", + FT_UINT16, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_BSN_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_frag_subhd_rsv, + { + "Reserved", "wmx.genericFragSubhd.Rsv", + FT_UINT8, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_RSV_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_frag_subhd_rsv_ext, + { + "Reserved", "wmx.genericFragSubhd.RsvExt", + FT_UINT16, BASE_DEC, NULL, FRAGMENTATION_SUBHEADER_RSV_EXT_MASK, + "", HFILL + } + } + }; + + /* Packing Subheader display */ + static hf_register_info hf_pack[] = + { + { + &hf_mac_header_generic_packing_subhd_fc, + { + "Fragment Type", "wmx.genericPackSubhd.Fc", + FT_UINT16, BASE_DEC, VALS(frag_types), PACKING_SUBHEADER_FC_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_packing_subhd_fc_ext, + { + "Fragment Type", "wmx.genericPackSubhd.FcExt", + FT_UINT24, BASE_HEX, VALS(frag_types), PACKING_SUBHEADER_FC_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_packing_subhd_bsn, + { + "First Block Sequence Number", "wmx.genericPackSubhd.Bsn", + FT_UINT24, BASE_DEC, NULL, PACKING_SUBHEADER_BSN_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_packing_subhd_fsn, + { + "Fragment Number", "wmx.genericPackSubhd.Fsn", + FT_UINT16, BASE_DEC, NULL, PACKING_SUBHEADER_FSN_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_packing_subhd_fsn_ext, + { + "Fragment Number", "wmx.genericPackSubhd.FsnExt", + FT_UINT24, BASE_DEC, NULL, PACKING_SUBHEADER_BSN_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_packing_subhd_len, + { + "Length", "wmx.genericPackSubhd.Len", + FT_UINT16, BASE_DEC, NULL, PACKING_SUBHEADER_LENGTH_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_packing_subhd_len_ext, + { + "Length", "wmx.genericPackSubhd.LenExt", + FT_UINT24, BASE_DEC, NULL, PACKING_SUBHEADER_LENGTH_EXT_MASK, + "", HFILL + } + } + }; + + /* Fast-feedback Allocation Subheader display */ + static hf_register_info hf_fast[] = + { + { + &hf_mac_header_generic_fast_fb_subhd_alloc_offset, + { + "Allocation Offset", "wmx.genericFastFbSubhd.AllocOffset", + FT_UINT8, BASE_DEC, NULL, FAST_FEEDBACK_ALLOCATION_OFFSET_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_fast_fb_subhd_fb_type, + { + "Feedback Type", "wmx.genericFastFbSubhd.FbType", + FT_UINT8, BASE_DEC, VALS(fast_fb_types), FAST_FEEDBACK_FEEDBACK_TYPE_MASK, + "", HFILL + } + } + }; + + /* Grant Management Subheader display */ + static hf_register_info hf_grant[] = + { + { + &hf_mac_header_generic_grant_mgmt_ext_pbr_tree, + { + "Scheduling Service Type (Default)", + "wimax.genericGrantSubhd.Default", + FT_UINT16, BASE_DEC, NULL, 0x0, + "", HFILL + } + }, + { + &hf_mac_header_generic_grant_mgmt_subhd_pbr, + { + "PiggyBack Request", "wmx.genericGrantSubhd.Pbr", + FT_UINT16, BASE_DEC, NULL, 0x0, + "", HFILL + } + }, + { + &hf_mac_header_generic_grant_mgmt_ugs_tree, + { + "Scheduling Service Type (UGS)", "wmx.genericGrantSubhd.UGS", + FT_UINT16, BASE_DEC, NULL, 0x0, + "", HFILL + } + }, + { + &hf_mac_header_generic_grant_mgmt_subhd_ugs_si, + { + "Slip Indicator", "wmx.genericGrantSubhd.Si", + FT_UINT16, BASE_DEC, VALS(si_msgs), GRANT_MGMT_SUBHEADER_UGS_SI_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_grant_mgmt_subhd_ugs_pm, + { + "Poll-Me", "wmx.genericGrantSubhd.Pm", + FT_UINT16, BASE_DEC, VALS(pm_msgs), GRANT_MGMT_SUBHEADER_UGS_PM_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_grant_mgmt_subhd_ugs_fli, + { + "Frame Latency Indication", "wmx.genericGrantSubhd.Fli", + FT_UINT16, BASE_DEC, VALS(fli_msgs), GRANT_MGMT_SUBHEADER_UGS_FLI_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_grant_mgmt_subhd_ugs_fl, + { + "Frame Latency", "wmx.genericGrantSubhd.Fl", + FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_UGS_FL_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_grant_mgmt_subhd_ugs_rsv, + { + "Reserved", "wmx.genericGrantSubhd.Rsv", + FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_UGS_RSV_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_grant_mgmt_ext_rtps_tree, + { + "Scheduling Service Type (Extended rtPS)", + "wimax.genericGrantSubhd.ExtendedRTPS", + FT_UINT16, BASE_DEC, NULL, 0x0, + "", HFILL + } + }, + { + &hf_mac_header_generic_grant_mgmt_subhd_ext_pbr, + { + "Extended PiggyBack Request", "wmx.genericGrantSubhd.ExtPbr", + FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_EXT_PBR_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_grant_mgmt_subhd_ext_fli, + { + "Frame Latency Indication", "wmx.genericGrantSubhd.ExtFli", + FT_UINT16, BASE_DEC, VALS(fli_msgs), GRANT_MGMT_SUBHEADER_EXT_FLI_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_grant_mgmt_subhd_ext_fl, + { + "Frame Latency", "wmx.genericGrantSubhd.ExtFl", + FT_UINT16, BASE_DEC, NULL, GRANT_MGMT_SUBHEADER_EXT_FL_MASK, + "", HFILL + } + } + }; + + /* ARQ Feedback Payload display */ + static hf_register_info hf_arq[] = + { + { + &hf_mac_header_generic_arq_fb_ie_cid, + { + "CID", "wmx.genericArq.FbIeCid", + FT_UINT16, BASE_DEC, NULL, 0x0, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_last, + { + "Last IE", "wmx.genericArq.FbIeLast", + FT_UINT16, BASE_DEC, VALS(last_ie_msgs), ARQ_FB_IE_LAST_BIT_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_ack_type, + { + "ACK Type", "wmx.genericArq.FbIeAckType", + FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_ACK_TYPE_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_bsn, + { + "BSN", "wmx.genericArq.FbIeBsn", + FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_BSN_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_num_maps, + { + "Number of ACK Maps", "wmx.genericArq.FbIeMaps", + FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_NUM_MAPS_MASK, + "", HFILL + } + }, + { + &hf_ack_type_reserved, + { + "Reserved", "wmx.genericArq.FbIeRsvd", FT_UINT16, BASE_DEC, NULL, 0x03, "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_sel_ack_map, + { + "Selective ACK Map", "wmx.genericArq.FbIeSelAckMap", + FT_UINT16, BASE_HEX, NULL, 0x0, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_seq_format, + { + "Sequence Format", "wmx.genericArq.FbIeSeqFmt", + FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ_FORMAT_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_seq_ack_map, + { + "Sequence ACK Map", "wmx.genericArq.FbIeSeqAckMap", + FT_UINT16, BASE_HEX, NULL, ARQ_FB_IE_SEQ_ACK_MAP_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_seq1_length, + { + "Sequence 1 Length", "wmx.genericArq.FbIeSeq1Len", + FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ1_LENGTH_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_seq2_length, + { + "Sequence 2 Length", "wmx.genericArq.FbIeSeq2Len", + FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ2_LENGTH_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_seq3_length, + { + "Sequence 3 Length", "wmx.genericArq.FbIeSeq3Len", + FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ3_LENGTH_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_seq_ack_map_2, + { + "Sequence ACK Map", "wmx.genericArq.FbIeSeqAckMap2", + FT_UINT16, BASE_HEX, NULL, ARQ_FB_IE_SEQ_ACK_MAP_2_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_seq1_length_6, + { + "Sequence 1 Length", "wmx.genericArq.FbIeSeq1Len", + FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ1_LENGTH_6_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_seq2_length_6, + { + "Sequence 2 Length", "wmx.genericArq.FbIeSeq2Len", + FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_SEQ2_LENGTH_6_MASK, + "", HFILL + } + }, + { + &hf_mac_header_generic_arq_fb_ie_rsv, + { + "Reserved", "wmx.genericArq.FbIeRsv", + FT_UINT16, BASE_DEC, NULL, ARQ_FB_IE_RSV_MASK, + "", HFILL + } + } + }; + if (proto_mac_header_generic_decoder == -1) { proto_mac_header_generic_decoder = proto_register_protocol ( |