aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/wimax/mac_hd_generic_decoder.c
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2009-06-22 04:58:08 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2009-06-22 04:58:08 +0000
commitf8c959dc8c4e46f733dbd4dcc954e6fa3304b248 (patch)
tree1ac2ca9d8478f5fd796c6bf17654b0899faa99f2 /plugins/wimax/mac_hd_generic_decoder.c
parent135ca5136ff5a9d79341228ca9e325ccba733214 (diff)
From Kovarththanan Rajaratnam:
Move header field info declarations into function scope. This is the first step. Another patch will be submitted which actually scrubs the header field info declarations (remove empty blurbs, etc.) svn path=/trunk/; revision=28797
Diffstat (limited to 'plugins/wimax/mac_hd_generic_decoder.c')
-rw-r--r--plugins/wimax/mac_hd_generic_decoder.c1472
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 (