亚洲欧美第一页_禁久久精品乱码_粉嫩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国在线观看| 国产99久久久国产精品免费看| 亚瑟在线精品视频| 中文字幕乱码亚洲精品一区| 91麻豆精品国产91久久久使用方法| 粉嫩高潮美女一区二区三区 | 久久精品人人做人人爽人人| 欧美色老头old∨ideo| 成人一二三区视频| 另类的小说在线视频另类成人小视频在线 | av不卡一区二区三区| 久久精品噜噜噜成人av农村| 一区二区三区免费在线观看| 国产丝袜欧美中文另类| 欧美大片顶级少妇| 欧美肥大bbwbbw高潮| 在线看日韩精品电影| 成人黄色一级视频| 中文字幕乱码久久午夜不卡| 成人网在线免费视频| 免费成人av在线播放| 午夜不卡av在线| 亚洲男人的天堂av| 中文幕一区二区三区久久蜜桃| 日韩免费高清视频| 在线综合视频播放| 在线观看视频欧美| 色欧美日韩亚洲| 99精品视频在线观看免费| 国产成人精品免费视频网站| 经典一区二区三区| 九色综合狠狠综合久久| 青青草精品视频| 日本不卡不码高清免费观看| 亚洲高清免费视频| 五月婷婷综合网| 婷婷一区二区三区| 日本不卡一二三区黄网| 日韩国产在线一| 日韩av电影免费观看高清完整版 | 精品国产3级a| 久久精品一区二区三区不卡 | 亚洲午夜精品一区二区三区他趣| 亚洲精品中文字幕乱码三区 | 男女视频一区二区| 美日韩一区二区三区| 老鸭窝一区二区久久精品| 免费不卡在线观看| 国产一二三精品| 成人一区二区三区视频| thepron国产精品| 欧美综合一区二区三区| 欧美日本高清视频在线观看| 欧美一级在线观看| 国产女人18毛片水真多成人如厕| 中文字幕免费不卡在线| 亚洲少妇屁股交4| 亚洲一级二级在线| 蜜桃av一区二区三区电影| 国产在线播放一区二区三区| 成人永久免费视频| 一本色道**综合亚洲精品蜜桃冫| 欧美羞羞免费网站| 日韩视频一区二区| 中文字幕欧美日本乱码一线二线| 亚洲九九爱视频| 美女性感视频久久| 成人精品在线视频观看| 欧美午夜精品免费| wwwwww.欧美系列| 中文字幕一区二区三区色视频| 亚洲成人综合视频| 国产乱码精品一品二品| 色综合天天综合给合国产| 欧美久久久久久久久中文字幕| 欧美精品一区二区三区高清aⅴ| 国产无人区一区二区三区| 亚洲美女淫视频| 久久精品国产网站| 日本道精品一区二区三区 | 欧美视频三区在线播放| 日韩亚洲欧美中文三级| 国产精品网站在线| 男人的j进女人的j一区| 99久久精品费精品国产一区二区| 欧美妇女性影城| 国产精品天干天干在线综合| 亚洲午夜久久久久| 成人污污视频在线观看| 91麻豆精品国产91久久久| 中文字幕制服丝袜一区二区三区 | av中文字幕一区| 日韩欧美第一区| 亚洲小少妇裸体bbw| 国产精品综合一区二区三区| 欧美特级限制片免费在线观看| 国产色综合一区| 免费成人美女在线观看.| 一本到一区二区三区| 国产视频一区二区在线观看| 日韩在线一二三区| 色婷婷av一区二区三区之一色屋| 26uuu精品一区二区三区四区在线| 亚洲综合在线视频| 99久久精品久久久久久清纯| 久久久亚洲综合| 日韩高清一级片| 欧美色图在线观看| 亚洲精品欧美激情| 91亚洲男人天堂| 国产精品无遮挡| 高清av一区二区| 欧美丰满美乳xxx高潮www| 婷婷中文字幕一区三区| 日韩欧美高清dvd碟片| 色一区在线观看| 国产精品国产自产拍在线| 国产精品综合二区| 欧美国产一区在线| 在线观看不卡视频| 免费av网站大全久久| 日韩精品中文字幕在线不卡尤物| 日韩avvvv在线播放| 2020国产精品| 色老汉一区二区三区| 欧美在线观看18| 精品成人一区二区| 美腿丝袜在线亚洲一区| 日韩一区二区免费高清| 日韩一区欧美二区| 欧美日韩不卡一区| 婷婷国产v国产偷v亚洲高清| 欧美精品亚洲二区| 日韩av不卡在线观看| 欧美一区二区视频在线观看 | 欧美激情在线看| 国产成人在线免费| 国产精品久久久久aaaa| 99久久99久久综合| 一区二区在线观看av| 在线观看国产精品网站| 天堂一区二区在线| 日韩精品一区二区三区在线 | 最好看的中文字幕久久| 91免费视频网| 亚洲大尺度视频在线观看| 4438亚洲最大| 国产精品 日产精品 欧美精品| 欧美激情一区二区三区蜜桃视频| 99久久亚洲一区二区三区青草| 一区二区三区小说| 6080午夜不卡| 国内久久婷婷综合| 最新成人av在线| 欧美午夜在线观看| 九九九精品视频| 国产精品免费网站在线观看| 91年精品国产| 奇米亚洲午夜久久精品| 久久免费精品国产久精品久久久久 | 国产精品免费视频观看| 欧美中文字幕一区| 蜜桃精品视频在线| 国产精品福利电影一区二区三区四区| 91成人网在线| 久久99热这里只有精品| 国产精品久久久久久久久免费相片 | 欧美不卡一区二区三区四区| 成人免费毛片aaaaa**| 亚洲国产一二三| 久久久久久久久久久久电影 | 亚洲福利一二三区| 久久亚洲影视婷婷| 欧美三级电影一区| 国产九九视频一区二区三区| 亚洲男人的天堂一区二区| 欧美一区二区三区在线看| 成人免费视频播放| 日本特黄久久久高潮| 中文在线一区二区| 91精品国产综合久久精品性色| 国产精品乡下勾搭老头1| 亚洲自拍欧美精品| 欧美激情艳妇裸体舞| 制服丝袜日韩国产| 91原创在线视频| 国产一区二区美女诱惑| 亚洲成av人片在www色猫咪| 欧美色网一区二区| 成人一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲男人天堂一区| 日韩欧美国产一区在线观看| 91香蕉视频污在线| 高清在线成人网|