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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? plugins-wimax-wimax_compact_dlmap_ie_decoder.c

?? Intel的WIMAX代碼,主要是mac層code
?? C
?? 第 1 頁 / 共 5 頁
字號:
#define COMPACT_DL_MAP_TYPE_SAFETY		2
#define COMPACT_DL_MAP_TYPE_UIUC		3
#define COMPACT_DL_MAP_TYPE_FORMAT_CONF_IE	4
#define COMPACT_DL_MAP_TYPE_HARQ_ACK_BITMAP_IE	5
#define COMPACT_DL_MAP_TYPE_RESERVED		6
#define COMPACT_DL_MAP_TYPE_EXTENSION		7

/* Compact DL-MAP IE decoder */
guint wimax_compact_dlmap_ie_decoder(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, guint offset, guint nibble_offset)
{
	guint diuc, byte, length = 0;
	guint dl_map_type, ul_map_append;
	guint dl_map_offset, nibble_length, bit_map_length;
	guint nband, band_count, i, allocation_mode;

#ifdef DEBUG
	/* update the info column */
	if (check_col(pinfo->cinfo, COL_INFO))
	{
		col_append_sep_str(pinfo->cinfo, COL_INFO, NULL, "Compact DL-MAP IEs");
	}
#endif
	/* set the local offset */
	dl_map_offset = offset;
	/* Get the first byte */
	byte = tvb_get_guint8(tvb, dl_map_offset);
	if(nibble_offset & 1)
	{
		dl_map_type = ((byte & DL_MAP_TYPE_MASK_1) >> 1);
		ul_map_append = (byte & UL_MAP_APPEND_MASK_1);
	}
	else
	{
		dl_map_type = ((byte & DL_MAP_TYPE_MASK) >> 5);
		ul_map_append = (byte & UL_MAP_APPEND_MASK);
	}
	switch (dl_map_type)
	{
		case COMPACT_DL_MAP_TYPE_NORMAL_SUBCHANNEL:/* 6.3.2.3.43.6.1 */
			if(nibble_offset & 1)
			{	/* display the DL-MAP type */
				proto_tree_add_item(tree, hf_cdlmap_dl_map_type_1, tvb, dl_map_offset, 1, FALSE);
				/* display the UL-MAP append */
				proto_tree_add_item(tree, hf_cdlmap_ul_map_append_1, tvb, dl_map_offset, 1, FALSE);
				/* move to next byte */
				dl_map_offset++;
				nibble_offset = 0;
			}
			else
			{	/* display the DL-MAP type */
				proto_tree_add_item(tree, hf_cdlmap_dl_map_type, tvb, dl_map_offset, 1, FALSE);
				/* display the UL-MAP append */
				proto_tree_add_item(tree, hf_cdlmap_ul_map_append, tvb, dl_map_offset, 1, FALSE);
				nibble_offset = 1;
			}
			length = 1;
			/* decode RCID IE */
			nibble_length = wimax_compact_dlmap_rcid_ie_decoder(tree, pinfo, tvb, dl_map_offset, nibble_offset);
			length += nibble_length;
			dl_map_offset += (nibble_length >> 1);
			nibble_offset = (nibble_length & 1);
			/* check harq mode */
			if(!harq_mode)
			{	/* display the Nep and Nsch Code */
				if(nibble_offset & 1)
				{
					proto_tree_add_item(tree, hf_cdlmap_nep_code_1, tvb, dl_map_offset, 1, FALSE);
					/* move to next byte */
					dl_map_offset++;
					proto_tree_add_item(tree, hf_cdlmap_nsch_code, tvb, dl_map_offset, 1, FALSE);
				}
				else
				{
					proto_tree_add_item(tree, hf_cdlmap_nep_code, tvb, dl_map_offset, 1, FALSE);
					proto_tree_add_item(tree, hf_cdlmap_nsch_code_1, tvb, dl_map_offset, 1, FALSE);
					/* move to next byte */
					dl_map_offset++;
				}
				length += 2;
			}
			else if(harq_mode == 1)
			{	/* display the Shortened DIUC and Companded SC */
				if(nibble_offset & 1)
				{
					proto_tree_add_item(tree, hf_cdlmap_shortened_diuc_1, tvb, dl_map_offset, 2, FALSE);
					proto_tree_add_item(tree, hf_cdlmap_companded_sc_1, tvb, dl_map_offset, 2, FALSE);
				}
				else
				{
					proto_tree_add_item(tree, hf_cdlmap_shortened_diuc, tvb, dl_map_offset, 1, FALSE);
						proto_tree_add_item(tree, hf_cdlmap_companded_sc, tvb, dl_map_offset, 1, FALSE);
				}
				/* move to next byte */
				dl_map_offset++;
				length += 2;
			}
			/* decode HARQ Control IE */
			nibble_length = wimax_compact_dlmap_harq_control_ie_decoder(tree, pinfo, tvb, dl_map_offset, nibble_offset);
			length += nibble_length;
			dl_map_offset += ((nibble_offset + nibble_length) >> 1);
			nibble_offset = ((nibble_offset + nibble_length) & 1);
			/* decode CQICH Control IE */
			nibble_length = wimax_compact_dlmap_cqich_control_ie_decoder(tree, pinfo, tvb, dl_map_offset, nibble_offset);
			length += nibble_length;
			dl_map_offset += ((nibble_offset + nibble_length) >> 1);
			nibble_offset = ((nibble_offset + nibble_length) & 1);
			if(ul_map_append)
			{	/* check harq mode */
				if(harq_mode == 1)
				{	/* display the Shortened UIUC and Companded SC */
					if(nibble_offset & 1)
					{
						proto_tree_add_item(tree, hf_cdlmap_shortened_uiuc_1, tvb, dl_map_offset, 2, FALSE);
						proto_tree_add_item(tree, hf_cdlmap_companded_sc_1, tvb, dl_map_offset, 2, FALSE);
					}
					else
					{
						proto_tree_add_item(tree, hf_cdlmap_shortened_uiuc, tvb, dl_map_offset, 1, FALSE);
						proto_tree_add_item(tree, hf_cdlmap_companded_sc, tvb, dl_map_offset, 1, FALSE);
					}
					/* move to next byte */
					dl_map_offset++;
					length += 2;
				}
				else if(!harq_mode)
				{	/* display the Nep and Nsch Code */
					if(nibble_offset & 1)
					{
						proto_tree_add_item(tree, hf_cdlmap_nep_code_1, tvb, dl_map_offset, 1, FALSE);
						/* move to next byte */
						dl_map_offset++;
						proto_tree_add_item(tree, hf_cdlmap_nsch_code, tvb, dl_map_offset, 1, FALSE);
					}
					else
					{
						proto_tree_add_item(tree, hf_cdlmap_nep_code, tvb, dl_map_offset, 1, FALSE);
						proto_tree_add_item(tree, hf_cdlmap_nsch_code_1, tvb, dl_map_offset, 1, FALSE);
						/* move to next byte */
						dl_map_offset++;
					}
					length += 2;
				}
				/* decode HARQ Control IE */
				nibble_length = wimax_compact_dlmap_harq_control_ie_decoder(tree, pinfo, tvb, dl_map_offset, nibble_offset);
				length += nibble_length;
			}
		break;
		case COMPACT_DL_MAP_TYPE_BAND_AMC:/* 6.3.2.3.43.6.2 */
			if(nibble_offset & 1)
			{	/* display the DL-MAP type */
				proto_tree_add_item(tree, hf_cdlmap_dl_map_type_1, tvb, dl_map_offset, 1, FALSE);
				/* display the reserved */
				proto_tree_add_item(tree, hf_cdlmap_reserved_1, tvb, dl_map_offset, 1, FALSE);
				/* move to next byte */
				dl_map_offset++;
				nibble_offset = 0;
			}
			else
			{	/* display the DL-MAP type */
				proto_tree_add_item(tree, hf_cdlmap_dl_map_type, tvb, dl_map_offset, 1, FALSE);
				/* display the reserved */
				proto_tree_add_item(tree, hf_cdlmap_reserved, tvb, dl_map_offset, 1, FALSE);
				nibble_offset = 1;
			}
			length = 1;
			/* decode RCID IE */
			nibble_length = wimax_compact_dlmap_rcid_ie_decoder(tree, pinfo, tvb, dl_map_offset, nibble_offset);
			length += nibble_length;
			dl_map_offset += (nibble_length >> 1);
			nibble_offset = (nibble_length & 1);
			/* check harq mode */
			if(!harq_mode)
			{	/* display the Nep and Nsch Code */
				if(nibble_offset & 1)
				{
					proto_tree_add_item(tree, hf_cdlmap_nep_code_1, tvb, dl_map_offset, 1, FALSE);
					/* move to next byte */
					dl_map_offset++;
					proto_tree_add_item(tree, hf_cdlmap_nsch_code, tvb, dl_map_offset, 1, FALSE);
				}
				else
				{
					proto_tree_add_item(tree, hf_cdlmap_nep_code, tvb, dl_map_offset, 1, FALSE);
					proto_tree_add_item(tree, hf_cdlmap_nsch_code_1, tvb, dl_map_offset, 1, FALSE);
					/* move to next byte */
					dl_map_offset++;
				}
				length += 2;
			}
			else if(harq_mode == 1)
			{	/* display the Shortened DIUC and Companded SC */
				if(nibble_offset & 1)
				{
					proto_tree_add_item(tree, hf_cdlmap_shortened_diuc_1, tvb, dl_map_offset, 2, FALSE);
					proto_tree_add_item(tree, hf_cdlmap_companded_sc_1, tvb, dl_map_offset, 2, FALSE);
				}
				else
				{
					proto_tree_add_item(tree, hf_cdlmap_shortened_diuc, tvb, dl_map_offset, 1, FALSE);
						proto_tree_add_item(tree, hf_cdlmap_companded_sc, tvb, dl_map_offset, 1, FALSE);
				}
				/* move to next byte */
				dl_map_offset++;
				length += 2;
			}
			/* get the Nband */
			if(max_logical_bands)
			{	/* get and display the Nband */
				nband = tvb_get_guint8(tvb, dl_map_offset);
				if(nibble_offset & 1)
				{
					nband = (nband & LSB_NIBBLE_MASK);
					/* display the Nband */
					proto_tree_add_item(tree, hf_cdlmap_num_bands_1, tvb, dl_map_offset, 1, FALSE);
					/* move to next byte */
					dl_map_offset++;
					nibble_offset = 0;
					if(max_logical_bands == 3)
					{
						proto_tree_add_item(tree, hf_cdlmap_band_index, tvb, dl_map_offset, nband, FALSE);
						length += (nband * 2);
						/* update offset */
						dl_map_offset += nband;
					}
					else
					{
						nibble_offset = (nband & 1);
						proto_tree_add_item(tree, hf_cdlmap_band_index, tvb, dl_map_offset, ((nband >> 1) + nibble_offset), FALSE);
						length += nband;
						/* update offset */
						dl_map_offset += (nband >> 1);
					}
				}
				else
				{
					nband = ((nband & MSB_NIBBLE_MASK) >> 4);
					/* display the Nband */
					proto_tree_add_item(tree, hf_cdlmap_num_bands, tvb, dl_map_offset, 1, FALSE);
					nibble_offset = 1;
					if(max_logical_bands == 3)
					{
						proto_tree_add_item(tree, hf_cdlmap_band_index, tvb, dl_map_offset, (nband + nibble_offset), FALSE);
						length += (nband * 2);
						/* update offset */
						dl_map_offset += nband;
					}
					else
					{
						proto_tree_add_item(tree, hf_cdlmap_band_index, tvb, dl_map_offset, ((nband >> 1) + nibble_offset), FALSE);
						length += nband;
						/* update offset */
						dl_map_offset += ((nband + nibble_offset) >> 1);
						if(nband & 1)
							nibble_offset = 0;
					}
				}
				length++;
				band_count = nband;
			}
			else
			{
				nband = 0;
				band_count = 1;
				/* display the Nb-BITMAP */
				if(nibble_offset & 1)
				{
					proto_tree_add_item(tree, hf_cdlmap_nb_bitmap_1, tvb, dl_map_offset, 1, FALSE);
					/* move to next byte */
					dl_map_offset++;
					nibble_offset = 0;
				}
				else
				{
					proto_tree_add_item(tree, hf_cdlmap_nb_bitmap, tvb, dl_map_offset, 1, FALSE);
					nibble_offset = 1;
				}
				length++;
			}
			/* Get the Allocation Mode */
			byte = tvb_get_guint8(tvb, dl_map_offset);
			if(nibble_offset & 1)
			{
				allocation_mode = ((byte & 0x0C) >> 2);
				proto_tree_add_item(tree, hf_cdlmap_allocation_mode_1, tvb, dl_map_offset, 1, FALSE);
					proto_tree_add_item(tree, hf_cdlmap_allocation_mode_rsvd_1, tvb, dl_map_offset, 1, FALSE);
				nibble_offset = 0;
				dl_map_offset++;
			}
			else
			{
				allocation_mode = ((byte & 0xC0) >> 6);
				proto_tree_add_item(tree, hf_cdlmap_allocation_mode, tvb, dl_map_offset, 1, FALSE);
				proto_tree_add_item(tree, hf_cdlmap_allocation_mode_rsvd, tvb, dl_map_offset, 1, FALSE);
				nibble_offset = 1;
			}
			/* Decode Allocation Mode - need to be done */
			if(!allocation_mode)
			{
				if(nibble_offset & 1)
				{
					proto_tree_add_item(tree, hf_cdlmap_num_subchannels_1, tvb, dl_map_offset, 2, FALSE);
				}
				else
				{
					proto_tree_add_item(tree, hf_cdlmap_num_subchannels, tvb, dl_map_offset, 1, FALSE);
				}
				dl_map_offset++;
			}
			else if(allocation_mode == 1)
			{
				for(i=0; i<band_count; i++)
				{
					if(nibble_offset & 1)
					{
						proto_tree_add_item(tree, hf_cdlmap_num_subchannels_1, tvb, dl_map_offset, 2, FALSE);
					}
					else
					{
						proto_tree_add_item(tree, hf_cdlmap_num_subchannels, tvb, dl_map_offset, 1, FALSE);
					}
					dl_map_offset++;
				}
			}
			/* decode HARQ Control IE */
			nibble_length = wimax_compact_dlmap_harq_control_ie_decoder(tree, pinfo, tvb, dl_map_offset, nibble_offset);
			length += nibble_length;
			dl_map_offset += ((nibble_offset + nibble_length) >> 1);
			nibble_offset = ((nibble_offset + nibble_length) & 1);
			/* decode CQICH Control IE */
			nibble_length = wimax_compact_dlmap_cqich_control_ie_decoder(tree, pinfo, tvb, dl_map_offset, nibble_offset);
			length += nibble_length;
		break;
		case COMPACT_DL_MAP_TYPE_SAFETY:/* 6.3.2.3.43.6.3 */
			if(nibble_offset & 1)
			{	/* display the DL-MAP type */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲一区二区在线观看| 成人深夜视频在线观看| 欧美日韩一卡二卡三卡| 亚洲18色成人| 欧美成人一级视频| 国产成人在线视频网站| 国产精品美女久久久久久| 色综合欧美在线视频区| 日产国产欧美视频一区精品 | 亚洲国产欧美一区二区三区丁香婷| 91蜜桃网址入口| 亚洲国产精品嫩草影院| 在线不卡一区二区| 亚洲欧美一区二区三区国产精品 | 成人综合婷婷国产精品久久免费| 中文字幕一区二区三区在线观看 | 国产精品三级视频| 在线中文字幕一区二区| 久久国产成人午夜av影院| 国产网红主播福利一区二区| 91麻豆国产福利精品| 免费不卡在线观看| 中文字幕一区三区| 日韩欧美的一区| voyeur盗摄精品| 日韩激情一区二区| 中文字幕欧美激情| 91精品国产全国免费观看| 成人精品在线视频观看| 日韩电影在线免费观看| 国产精品乱码久久久久久| 欧美午夜精品电影| 成人高清免费观看| 老司机午夜精品| 一区二区三区在线高清| 日本韩国一区二区| 看片的网站亚洲| 一区二区三区在线免费观看| 精品成a人在线观看| 欧美色图12p| 成人免费福利片| 国内精品视频666| 图片区日韩欧美亚洲| 中文字幕av在线一区二区三区| 91精品婷婷国产综合久久 | 捆绑变态av一区二区三区| 樱桃视频在线观看一区| 久久精品一区八戒影视| 欧美精品久久99久久在免费线 | 99久久99久久综合| 国产在线视频不卡二| 亚洲va欧美va国产va天堂影院| 国产精品久久三区| 欧美精品一区二区三区蜜臀| 欧美老肥妇做.爰bbww| 99久久精品免费看| 成人av集中营| 成人污污视频在线观看| 六月丁香婷婷久久| 日韩国产精品91| 午夜久久福利影院| 亚洲综合久久久久| 一区二区三区免费看视频| 国产精品久久精品日日| 中文字幕av一区二区三区高 | 不卡av在线网| 国产成人亚洲综合a∨婷婷图片| 久久丁香综合五月国产三级网站| 午夜精品久久久久久久久久久| 一区二区三区视频在线观看 | 亚洲国产欧美日韩另类综合| 亚洲日本va午夜在线电影| 中文字幕乱码久久午夜不卡| 亚洲国产精品ⅴa在线观看| 欧美激情一区二区三区四区| 久久久国产精品午夜一区ai换脸 | 日本一区免费视频| 欧美网站大全在线观看| 91久久国产综合久久| 欧美色图一区二区三区| 欧美日韩一区二区在线观看| 欧美日韩日日夜夜| 6080亚洲精品一区二区| 欧美一区二区视频网站| 精品国产91亚洲一区二区三区婷婷| 日韩一区二区免费在线观看| 日韩视频免费观看高清完整版 | 91精品久久久久久蜜臀| 在线综合视频播放| 91精品国产91久久久久久一区二区 | 亚洲国产精品久久人人爱蜜臀 | 久久亚洲综合色一区二区三区| 欧美大胆一级视频| 精品国产免费人成在线观看| 欧美精品一区二区久久婷婷| 国产三级一区二区| 国产精品九色蝌蚪自拍| 一个色综合网站| 视频在线在亚洲| 久久电影国产免费久久电影| 国产福利91精品一区二区三区| 成人黄色在线看| 欧美影视一区在线| 日韩一卡二卡三卡国产欧美| 久久久久国色av免费看影院| 国产精品国模大尺度视频| 亚洲狠狠爱一区二区三区| 奇米精品一区二区三区在线观看| 国产乱国产乱300精品| 91丨porny丨户外露出| 欧美一区二区观看视频| 国产欧美日韩在线观看| 亚洲欧美成aⅴ人在线观看| 丝袜诱惑制服诱惑色一区在线观看| 精品中文字幕一区二区小辣椒| 夫妻av一区二区| 欧美理论在线播放| 亚洲国产成人在线| 日韩电影在线一区二区三区| 不卡一区在线观看| 欧美一区二区三区在线观看| 国产精品女主播在线观看| 午夜欧美在线一二页| 丁香激情综合五月| 91麻豆精品国产自产在线| 日本一区二区三区电影| 日欧美一区二区| 97精品久久久久中文字幕 | 国产片一区二区| 亚洲成人av在线电影| 成人性视频免费网站| 这里只有精品免费| 亚洲精品国产a久久久久久| 韩国视频一区二区| 欧美精品久久久久久久多人混战 | 亚洲天堂久久久久久久| 精一区二区三区| 欧美日韩免费视频| 亚洲人成亚洲人成在线观看图片| 久久精品国产免费看久久精品| 91福利资源站| 欧美国产日本韩| 九九精品视频在线看| 欧美一级淫片007| 亚洲国产精品综合小说图片区| av成人老司机| 欧美国产亚洲另类动漫| 国产麻豆一精品一av一免费| 在线综合+亚洲+欧美中文字幕| 亚洲国产精品久久人人爱蜜臀| 91免费看`日韩一区二区| 久久精品亚洲国产奇米99| 捆绑紧缚一区二区三区视频| 在线观看91精品国产麻豆| 一区二区欧美视频| 99久久精品情趣| 亚洲视频精选在线| 97精品超碰一区二区三区| 国产精品女同一区二区三区| 国产精品资源在线看| 久久精品网站免费观看| 国产精品一区2区| 久久久.com| 国产福利视频一区二区三区| 久久奇米777| 国产精品18久久久久| 国产丝袜在线精品| 成人动漫av在线| 亚洲欧美福利一区二区| 91久久精品一区二区| 亚洲电影一级黄| 欧美精品vⅰdeose4hd| 日本欧美在线看| 日韩精品中文字幕一区二区三区 | 老司机免费视频一区二区三区| 日韩欧美一二三区| 国产真实乱对白精彩久久| 久久精品亚洲精品国产欧美| www.成人在线| 亚洲午夜在线电影| 欧美一区二区播放| 黑人巨大精品欧美一区| 国产精品乱人伦中文| 色噜噜狠狠成人中文综合| 亚洲bt欧美bt精品| 久久综合九色综合久久久精品综合 | 中文字幕欧美激情| 欧美在线影院一区二区| 日韩中文字幕麻豆| 精品不卡在线视频| 91色乱码一区二区三区| 日本伊人色综合网| 国产亚洲欧美中文| 色婷婷国产精品| 日本美女一区二区三区视频| 久久久久久免费网| 91成人在线观看喷潮| 国产在线视频精品一区| 亚洲女人的天堂| 精品日韩99亚洲|