亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? plugins-wimax-wimax_harq_map_decoder.c

?? Intel的WIMAX代碼,主要是mac層code
?? C
字號:
plugins/wimax/wimax_harq_map_decoder.c - Google Code Search這是 Google 取自 
      http://anonsvn.wireshark.org/wireshark/trunk 的 
      plugins/wimax/wimax_harq_map_decoder.c 緩存副本

      Google 和網頁作者無關,不對網頁的內容負責。



http://anonsvn.wireshark.org/wireshark/trunk/plugins/wimax/
          AUTHORS
COPYING
ChangeLog
Makefile.am
Makefile.common
Makefile.nmake
README.wimax
crc.c
crc.h
crc_data.c
mac_hd_generic_decoder.c
mac_hd_type1_decoder.c
mac_hd_type2_decoder.c
mac_mgmt_msg_decoder.c
moduleinfo.h
moduleinfo.nmake
msg_aas_beam.c
msg_aas_fbck.c
msg_arq.c
msg_clk_cmp.c
msg_dcd.c
msg_dlmap.c
msg_dreg.c
msg_dsa.c
msg_dsc.c
msg_dsd.c
msg_dsx_rvd.c
msg_fpc.c
msg_pkm.c
msg_pmc.c
msg_prc_lt_ctrl.c
msg_reg_req.c
msg_reg_rsp.c
msg_rep.c
msg_res_cmd.c
msg_rng_req.c
msg_rng_rsp.c
msg_sbc.c
msg_ucd.c
msg_ulmap.c
packet-wmx.c
plugin.rc.in
wimax_bits.h
wimax_cdma_code_decoder.c
wimax_compact_dlmap_ie_decoder.c
wimax_compact_ulmap_ie_decoder.c
wimax_fch_decoder.c
wimax_ffb_decoder.c
wimax_hack_decoder.c
wimax_harq_map_decoder.c
wimax_mac.h
wimax_pdu_decoder.c
wimax_phy_attributes_decoder.c
wimax_tlv.c
wimax_tlv.h
wimax_utils.c
wimax_utils.h
    /* wimax_harq_map_decoder.c
 * WiMax HARQ Map Message decoder
 *
 * Copyright (c) 2007 by Intel Corporation.
 *
 * Author: Lu Pan <lu.pan@intel.com>
 *
 * $Id$
 *
 * Wireshark - Network traffic analyzer
 * By Gerald Combs <gerald@wireshark.org>
 * Copyright 1999 Gerald Combs
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */

/* Include files */

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include <glib.h>
#include <epan/packet.h>
#include <epan/prefs.h>
#include "crc.h"

extern guint wimax_compact_dlmap_ie_decoder(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, guint offset, guint nibble_offset);
extern guint wimax_compact_ulmap_ie_decoder(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, guint offset, guint nibble_offset);


extern gint proto_wimax;

/* forward reference */
void dissector_wimax_harq_map_decoder(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);

static gint proto_wimax_harq_map_decoder = -1;
static gint ett_wimax_harq_map_decoder = -1;

/* Setup protocol subtree array */
static gint *ett[] =
{
	&ett_wimax_harq_map_decoder,
};

/* MASKs */
#define LSB_NIBBLE_MASK      0x0F

/* HARQ MAP masks */
#define WIMAX_HARQ_MAP_INDICATOR_MASK    0xE00000
#define WIMAX_HARQ_UL_MAP_APPENDED_MASK  0x100000
#define WIMAX_HARQ_MAP_RESERVED_MASK     0x080000
#define WIMAX_HARQ_MAP_MSG_LENGTH_MASK   0x07FC00
#define WIMAX_HARQ_MAP_DL_IE_COUNT_MASK  0x0003F0
#define WIMAX_HARQ_MAP_MSG_LENGTH_SHIFT  10
#define WIMAX_HARQ_MAP_DL_IE_COUNT_SHIFT 4

/* HARQ MAP display indexies */
static gint hf_harq_map_indicator = -1;
static gint hf_harq_ul_map_appended = -1;
static gint hf_harq_map_reserved = -1;
static gint hf_harq_map_msg_length = -1;
static gint hf_harq_dl_ie_count = -1;
static gint hf_harq_map_msg_crc = -1;

/* HARQ MAP display */
static hf_register_info hf_harq_map[] =
{
	{
		&hf_harq_map_indicator,
		{"HARQ MAP Indicator", "wimax.harq_map.indicator", FT_UINT24, BASE_HEX, NULL, WIMAX_HARQ_MAP_INDICATOR_MASK, "", HFILL}
	},
	{
		&hf_harq_ul_map_appended,
		{"HARQ UL-MAP Appended", "wimax.harq_map.ul_map_appended", FT_UINT24, BASE_HEX, NULL, WIMAX_HARQ_UL_MAP_APPENDED_MASK, "", HFILL}
	},
	{
		&hf_harq_map_reserved,
		{"Reserved", "wimax.harq_map.reserved", FT_UINT24, BASE_HEX, NULL, WIMAX_HARQ_MAP_RESERVED_MASK, "", HFILL}
	},
	{
		&hf_harq_map_msg_length,
		{"Map Message Length", "wimax.harq_map.msg_length", FT_UINT24, BASE_DEC, NULL, WIMAX_HARQ_MAP_MSG_LENGTH_MASK, "", HFILL}
	},
	{
		&hf_harq_dl_ie_count,
		{"DL IE Count", "wimax.harq_map.dl_ie_count", FT_UINT24, BASE_DEC, NULL, WIMAX_HARQ_MAP_DL_IE_COUNT_MASK, "", HFILL}
	},
	{
		&hf_harq_map_msg_crc,
		{"HARQ MAP Message CRC", "wimax.harq_map.msg_crc", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}
	}
};

/* Register Wimax HARQ MAP Protocol */
void proto_register_wimax_harq_map(void)
{
	if (proto_wimax_harq_map_decoder == -1)
	{
		proto_wimax_harq_map_decoder = proto_wimax;

		proto_register_subtree_array(ett, array_length(ett));
		proto_register_field_array(proto_wimax_harq_map_decoder, hf_harq_map, array_length(hf_harq_map));
	}
}

/* HARQ MAP message decoder */
void dissector_wimax_harq_map_decoder(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
	guint i, offset = 0;
	guint tvb_len, length, dl_ie_count;
	guint ie_length;
	proto_item *harq_map_item = NULL;
	proto_tree *harq_map_tree = NULL;
	guint nibble_offset;
	proto_item *parent_item = NULL;
	proto_item *it = NULL;
	guint ulmap_appended;
	guint32 harq_map_msg_crc, calculated_crc;
	guint32 first_24bits;

	/* check the tvb reported length */
	tvb_len = tvb_reported_length(tvb);
	if(!tvb_len)
	{	/* do nothing if tvb is empty */
		return;
	}
	/* Ensure the right payload type */
	first_24bits = tvb_get_ntoh24(tvb, offset);
	if((first_24bits & WIMAX_HARQ_MAP_INDICATOR_MASK) != WIMAX_HARQ_MAP_INDICATOR_MASK)
	{	/* do nothing if tvb is not a HARQ MAP message */
		return;
	}
	/* update the info column */
	if (check_col(pinfo->cinfo, COL_INFO))
	{
		col_append_sep_str(pinfo->cinfo, COL_INFO, NULL, "HARQ-MAP Message: ");
	}
	if (tree)
	{	/* we are being asked for details */
		/* get the parent */
		parent_item = proto_tree_get_parent(tree);
		/* display HARQ-MAP Message and create subtree */
		harq_map_item = proto_tree_add_protocol_format(tree, proto_wimax_harq_map_decoder, tvb, offset, tvb_len, "HARQ-MAP Message (%u bytes)", tvb_len);
		harq_map_tree = proto_item_add_subtree(harq_map_item, ett_wimax_harq_map_decoder);
		/* display the HARQ MAP Indicator */
		proto_tree_add_item(harq_map_tree, hf_harq_map_indicator, tvb, offset, 3, FALSE);
		/* display the HARQ MAp UL-MAP Appended */
		proto_tree_add_item(harq_map_tree, hf_harq_ul_map_appended, tvb, offset, 3, FALSE);
		/* display the reserved bit */
		proto_tree_add_item(harq_map_tree, hf_harq_map_reserved, tvb, offset, 3, FALSE);
		/* display the HARQ MAP message length */
		proto_tree_add_item(harq_map_tree, hf_harq_map_msg_length, tvb, offset, 3, FALSE);
		/* display the DL IE count */
		proto_tree_add_item(harq_map_tree, hf_harq_dl_ie_count, tvb, offset, 3, FALSE);
		/* get the message length */
		length = ((first_24bits & WIMAX_HARQ_MAP_MSG_LENGTH_MASK) >> WIMAX_HARQ_MAP_MSG_LENGTH_SHIFT);
		/* get the DL IE count */
		dl_ie_count = ((first_24bits & WIMAX_HARQ_MAP_DL_IE_COUNT_MASK) >> WIMAX_HARQ_MAP_DL_IE_COUNT_SHIFT);
		/* get the UL MAP appended */
		ulmap_appended = (first_24bits & WIMAX_HARQ_UL_MAP_APPENDED_MASK);
		if (parent_item == NULL || parent_item->finfo == NULL)
		{
			parent_item = harq_map_item; /* Prevent crash */
		}
		/* set the offsets to Compact DL-MAP IEs */
		offset += 2;
		nibble_offset = 1;
		/* process the compact dl_map ies */
		for(i=0; i<dl_ie_count; i++)
		{	/* add the DL-MAp IEs info */
			proto_item_append_text(parent_item, " - DL-MAP IEs");
			/* decode Compact DL-MAP IEs */
			ie_length = wimax_compact_dlmap_ie_decoder(harq_map_tree, pinfo, tvb, offset, nibble_offset);
			offset += ((nibble_offset + ie_length) >> 1);
			nibble_offset = ((nibble_offset + ie_length) & 1);
		}
		/* check if there exist the compact ul_map IEs */
		if (ulmap_appended)
		{	/* add the UL-MAp IEs info */
			proto_item_append_text(parent_item, ",UL-MAP IEs");
			/* process the compact ul_map ies */
			while(offset < (length - sizeof(harq_map_msg_crc)))
			{	/* decode Compact UL-MAP IEs */
				ie_length = wimax_compact_ulmap_ie_decoder(harq_map_tree, pinfo, tvb, offset, nibble_offset);
				/* Prevent endless loop with erroneous data. */
				if (ie_length < 2)
					ie_length = 2;
				offset += ((nibble_offset + ie_length) >> 1);
				nibble_offset = ((nibble_offset + ie_length) & 1);
			}
		}
		/* handle the padding */
		if(nibble_offset)
		{
			/* add the Padding info */
			proto_item_append_text(parent_item, ",Padding");
			proto_tree_add_protocol_format(harq_map_tree, proto_wimax_harq_map_decoder, tvb, offset, 1, "Padding Nibble: 0x%x", (tvb_get_guint8(tvb, offset) & LSB_NIBBLE_MASK));
		}
		/* add the CRC info */
		proto_item_append_text(parent_item, ",CRC");
		/* get the CRC */
		harq_map_msg_crc = tvb_get_ntohl(tvb, length - sizeof(harq_map_msg_crc));
		/* calculate the HARQ MAM Message CRC */
		calculated_crc = wimax_mac_calc_crc32((guint8 *)tvb_get_ptr(tvb, 0, length - sizeof(harq_map_msg_crc)), length - sizeof(harq_map_msg_crc));
		/* display the CRC */
		it = proto_tree_add_item(harq_map_tree, hf_harq_map_msg_crc, tvb, length - sizeof(harq_map_msg_crc), sizeof(harq_map_msg_crc), FALSE);
		/* verify the CRC */
		if (harq_map_msg_crc != calculated_crc)
		{
			proto_item_append_text(it, " - incorrect! (should be: 0x%x)", calculated_crc);
		}
	}
}



      取自 
      http://anonsvn.wireshark.org/wireshark/trunk 的 
      plugins/wimax/wimax_harq_map_decoder.c - LGPL - C


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜伊人狠狠久久| 欧美性生活久久| 色天天综合色天天久久| 91精品国产综合久久久久久漫画| 久久久久久麻豆| 日韩激情视频在线观看| av电影一区二区| 26uuu亚洲综合色| 亚洲成人av一区二区| 成人亚洲一区二区一| 欧美一区二区播放| 亚洲色图在线视频| 高清免费成人av| 日韩欧美国产麻豆| 亚洲第一成人在线| 91片在线免费观看| 国产精品人人做人人爽人人添| 久久国产精品无码网站| 欧美日韩夫妻久久| 亚洲一区二区欧美日韩| 99久久精品99国产精品| 国产精品色哟哟| 成人一级黄色片| 中文字幕第一区| 丁香一区二区三区| 国产精品你懂的| 成人在线视频一区| 国产欧美日韩久久| 国产suv精品一区二区883| 久久综合999| 国产呦萝稀缺另类资源| 日韩精品一区二区三区中文不卡| 日韩精品久久理论片| 7777精品久久久大香线蕉| 亚洲成精国产精品女| 91成人免费在线视频| 亚洲欧洲成人精品av97| 色哟哟在线观看一区二区三区| 亚洲精品视频在线观看免费| caoporm超碰国产精品| 中文字幕亚洲区| 日本道精品一区二区三区 | 日韩精品一区二区三区在线播放 | 久久国产精品区| 欧美一区二区三区免费| 蜜桃av一区二区三区电影| 欧美一区二区视频在线观看2020| 日本成人在线不卡视频| 日韩一区二区免费高清| 国产中文字幕一区| 国产精品精品国产色婷婷| aaa欧美大片| 五月婷婷激情综合| 精品国产一区二区三区忘忧草| 国产精品自拍毛片| 亚洲欧洲无码一区二区三区| 色狠狠av一区二区三区| 免费在线视频一区| 国产亚洲精品久| 91网站在线播放| 性做久久久久久免费观看欧美| 制服丝袜激情欧洲亚洲| 韩国一区二区视频| 中文字幕一区二区日韩精品绯色| 欧美少妇性性性| 国产一区二区三区免费在线观看| 国产精品久久久久久久久免费相片 | 蜜桃视频在线观看一区| 国产精品无圣光一区二区| 欧美在线视频全部完| 麻豆免费精品视频| 亚洲视频一区二区在线观看| 欧美一级高清片在线观看| 成人av第一页| 免费高清在线一区| 亚洲摸摸操操av| 26uuu亚洲| 精品视频在线免费| 岛国精品一区二区| 奇米亚洲午夜久久精品| 成人欧美一区二区三区视频网页 | 制服.丝袜.亚洲.另类.中文| 国产成人鲁色资源国产91色综| 亚洲一区二区三区三| 国产日产欧美一区二区三区 | 久久av资源网| 一区二区三区在线视频观看58| 久久青草欧美一区二区三区| 欧美人xxxx| 色婷婷av久久久久久久| 丁香一区二区三区| 国产精品自拍三区| 蜜桃视频在线观看一区| 午夜影视日本亚洲欧洲精品| 亚洲美女免费在线| 日本一区二区免费在线| 精品久久久久久久一区二区蜜臀| 在线影院国内精品| 99久久婷婷国产综合精品| 久久电影国产免费久久电影| 亚洲风情在线资源站| 亚洲综合激情另类小说区| 亚洲欧洲av色图| 国产精品国产自产拍在线| 久久免费午夜影院| 精品久久国产字幕高潮| 91麻豆精品国产91久久久久久 | 国产在线视频一区二区| 蜜乳av一区二区| 免费在线观看一区| 亚洲h精品动漫在线观看| 亚洲国产一区二区三区| 樱花草国产18久久久久| 亚洲日本丝袜连裤袜办公室| 亚洲国产高清在线| 国产精品视频你懂的| 中文字幕av不卡| 国产精品久久久久影院| 成人免费小视频| 亚洲欧洲日韩在线| 综合在线观看色| 亚洲另类色综合网站| 一区二区在线免费观看| 亚洲高清一区二区三区| 亚洲午夜私人影院| 琪琪久久久久日韩精品| 激情综合色播激情啊| 国产高清在线精品| 国产91精品一区二区麻豆亚洲| 国产成人精品在线看| 99精品欧美一区二区蜜桃免费| 色欧美乱欧美15图片| 欧美主播一区二区三区| 欧美精品久久99久久在免费线 | 国产老女人精品毛片久久| 国产精品影视网| 91视频免费播放| 欧美日韩成人高清| 久久午夜老司机| 亚洲欧美激情小说另类| 午夜在线电影亚洲一区| 国产一区二区三区在线观看免费视频| 岛国一区二区三区| 欧美专区在线观看一区| 日韩精品综合一本久道在线视频| www日韩大片| 亚洲女人的天堂| 石原莉奈一区二区三区在线观看| 国产一区二区不卡| 91丨porny丨蝌蚪视频| 欧美日韩国产成人在线91| 久久综合狠狠综合久久综合88| 亚洲柠檬福利资源导航| 久久99九九99精品| 一本色道久久综合亚洲aⅴ蜜桃| 欧美一级免费观看| 国产精品萝li| 首页国产欧美日韩丝袜| 国产ts人妖一区二区| 欧美日韩国产三级| 欧美激情综合网| 蜜臀av性久久久久蜜臀aⅴ流畅 | 极品尤物av久久免费看| 99久久精品免费看国产| 日韩精品中文字幕一区| 国产精品久久毛片a| 麻豆精品视频在线| 欧美伊人久久大香线蕉综合69| 久久久精品免费观看| 五月天一区二区| 91视频观看免费| 欧美韩日一区二区三区四区| 天天影视色香欲综合网老头| 97超碰欧美中文字幕| 国产女主播一区| 麻豆国产精品视频| 欧美亚洲一区三区| 国产精品福利一区二区三区| 黑人巨大精品欧美黑白配亚洲| 欧美三区在线视频| 一区二区三区中文字幕精品精品| 国产剧情av麻豆香蕉精品| 91精品国产综合久久香蕉麻豆| 亚洲综合免费观看高清完整版| 福利电影一区二区三区| 久久久久久久久蜜桃| 秋霞影院一区二区| 欧美日韩你懂得| 亚洲123区在线观看| 欧美色精品在线视频| 亚洲精品国产成人久久av盗摄| 成人av资源网站| 国产精品久久久久久久久免费丝袜 | 久久蜜臀精品av| 日韩国产高清影视| 欧美高清视频不卡网| 视频一区免费在线观看| 欧美性三三影院| 天天色天天操综合| 欧美一区二区播放|