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

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

?? conformance.pm

?? wireshark 0.99.7 最新源碼
?? PM
字號:
#################################################### parse an Wireshark conformance file# Copyright jelmer@samba.org 2005# released under the GNU GPL=pod=head1 NAMEParse::Pidl::Wireshark::Conformance - Conformance file parser for Wireshark=head1 DESCRIPTIONThis module supports parsing Wireshark conformance files (*.cnf).=head1 FILE FORMATPidl needs additional data for Wireshark output. This data is read from so-called conformance files. This section describes the format of these files.Conformance files are simple text files with a single command on each line.Empty lines and lines starting with a '#' character are ignored.Arguments to commands are seperated by spaces.The following commands are currently supported:=over 4=item I<TYPE> name dissector ft_type base_type mask valsstring alignmentRegister new data type with specified name, what dissector function to call and what properties to give header fields for elements of this type.=item I<NOEMIT> typeSuppress emitting a dissect_type function for the specified type=item I<PARAM_VALUE> type paramSet parameter to specify to dissector function for given type.=item I<HF_FIELD> hf title filter ft_type base_type valsstring mask descriptionGenerate a custom header field with specified properties.=item I<HF_RENAME> old_hf_name new_hf_nameForce the use of new_hf_name when the parser generator was going to use old_hf_name.This can be used in conjunction with HF_FIELD in order to make more than one element use the same filter name.=item I<STRIP_PREFIX> prefixRemove the specified prefix from all function names (if present).	=item I<PROTOCOL> longname shortname filternameChange the short-, long- and filter-name for the current interface inWireshark.=item I<FIELD_DESCRIPTION> field descChange description for the specified header field. `field' is the hf name of the field.=item I<IMPORT> dissector code...Code to insert when generating the specified dissector. @HF@ and @PARAM@ will be substituted.=item I<TFS> hf_name "true string" "false string"Override the text shown when a bitmap boolean value is enabled or disabled.=item I<MANUAL> fn_nameForce pidl to not generate a particular function but allow the user to write a function manually. This can be used to remove the function for only one level for a particular element rather than all the functions and ett/hf variables for a particular element as the NOEMIT command does.=back=head1 EXAMPLE	INFO_KEY OpenKey.Ke=cutpackage Parse::Pidl::Wireshark::Conformance;require Exporter;use vars qw($VERSION);$VERSION = '0.01';@ISA = qw(Exporter);@EXPORT_OK = qw(ReadConformance ReadConformanceFH valid_ft_type valid_base_type);use strict;use Parse::Pidl qw(fatal warning error);use Parse::Pidl::Util qw(has_property);sub handle_type($$$$$$$$$$){	my ($pos,$data,$name,$dissectorname,$ft_type,$base_type,$mask,$valsstring,$alignment) = @_;	unless(defined($alignment)) {		error($pos, "incomplete TYPE command");		return;	}	unless ($dissectorname =~ /.*dissect_.*/) {		warning($pos, "dissector name does not contain `dissect'");	}	unless(valid_ft_type($ft_type)) {		warning($pos, "invalid FT_TYPE `$ft_type'");	}	unless (valid_base_type($base_type)) {		warning($pos, "invalid BASE_TYPE `$base_type'");	}	$dissectorname =~ s/^\"(.*)\"$/$1/g;	if (not ($dissectorname =~ /;$/)) {		warning($pos, "missing semicolon");	}	$data->{types}->{$name} = {		NAME => $name,		POS => $pos,		USED => 0,		DISSECTOR_NAME => $dissectorname,		FT_TYPE => $ft_type,		BASE_TYPE => $base_type,		MASK => $mask,		VALSSTRING => $valsstring,		ALIGNMENT => $alignment	};}sub handle_tfs($$$$$){	my ($pos,$data,$hf,$trues,$falses) = @_;	unless(defined($falses)) {		error($pos, "incomplete TFS command");		return;	}	$data->{tfs}->{$hf} = {		TRUE_STRING => $trues,		FALSE_STRING => $falses	};}sub handle_hf_rename($$$$){	my ($pos,$data,$old,$new) = @_;	unless(defined($new)) {		warning($pos, "incomplete HF_RENAME command");		return;	}	$data->{hf_renames}->{$old} = {		OLDNAME => $old,		NEWNAME => $new,		POS => $pos,		USED => 0	};}sub handle_param_value($$$$){	my ($pos,$data,$dissector_name,$value) = @_;	unless(defined($value)) {		error($pos, "incomplete PARAM_VALUE command");		return;	}	$data->{dissectorparams}->{$dissector_name} = {		DISSECTOR => $dissector_name,		PARAM => $value,		POS => $pos,		USED => 0	};}sub valid_base_type($){	my $t = shift;	return 0 unless($t =~ /^BASE_.*/);	return 1;}sub valid_ft_type($){	my $t = shift;	return 0 unless($t =~ /^FT_.*/);	return 1;}sub handle_hf_field($$$$$$$$$$){	my ($pos,$data,$index,$name,$filter,$ft_type,$base_type,$valsstring,$mask,$blurb) = @_;	unless(defined($blurb)) {		error($pos, "incomplete HF_FIELD command");		return;	}	unless(valid_ft_type($ft_type)) {		warning($pos, "invalid FT_TYPE `$ft_type'");	}	unless(valid_base_type($base_type)) {		warning($pos, "invalid BASE_TYPE `$base_type'");	}	$data->{header_fields}->{$index} = {		INDEX => $index,		POS => $pos,		USED => 0,		NAME => $name,		FILTER => $filter,		FT_TYPE => $ft_type,		BASE_TYPE => $base_type,		VALSSTRING => $valsstring,		MASK => $mask,		BLURB => $blurb	};}sub handle_strip_prefix($$$){	my ($pos,$data,$x) = @_;	push (@{$data->{strip_prefixes}}, $x);}sub handle_noemit($$$){	my ($pos,$data,$type) = @_;	if (defined($type)) {	    $data->{noemit}->{$type} = 1;	} else {	    $data->{noemit_dissector} = 1;	}}sub handle_manual($$$){	my ($pos,$data,$fn) = @_;	unless(defined($fn)) {		warning($pos, "incomplete MANUAL command");		return;	}    $data->{manual}->{$fn} = 1;}sub handle_protocol($$$$$$){	my ($pos, $data, $name, $longname, $shortname, $filtername) = @_;	$data->{protocols}->{$name} = {		LONGNAME => $longname,		SHORTNAME => $shortname,		FILTERNAME => $filtername	};}sub handle_fielddescription($$$$){	my ($pos,$data,$field,$desc) = @_;	unless(defined($desc)) {		warning($pos, "incomplete FIELD_DESCRIPTION command");		return;	}	$data->{fielddescription}->{$field} = {		DESCRIPTION => $desc,		POS => $pos,		USED => 0	};}sub handle_import{	my $pos = shift @_;	my $data = shift @_;	my $dissectorname = shift @_;	unless(defined($dissectorname)) {		error($pos, "no dissectorname specified");		return;	}	$data->{imports}->{$dissectorname} = {		NAME => $dissectorname,		DATA => join(' ', @_),		USED => 0,		POS => $pos	};}my %field_handlers = (	TYPE => \&handle_type,	NOEMIT => \&handle_noemit, 	MANUAL => \&handle_manual,	PARAM_VALUE => \&handle_param_value, 	HF_FIELD => \&handle_hf_field, 	HF_RENAME => \&handle_hf_rename, 	TFS => \&handle_tfs,	STRIP_PREFIX => \&handle_strip_prefix,	PROTOCOL => \&handle_protocol,	FIELD_DESCRIPTION => \&handle_fielddescription,	IMPORT => \&handle_import);sub ReadConformance($$){	my ($f,$data) = @_;	my $ret;	open(IN,"<$f") or return undef;	$ret = ReadConformanceFH(*IN, $data, $f);	close(IN);	return $ret;}sub ReadConformanceFH($$$){	my ($fh,$data,$f) = @_;	my $incodeblock = 0;	my $ln = 0;	foreach (<$fh>) {		$ln++;		next if (/^#.*$/);		next if (/^$/);		s/[\r\n]//g;		if ($_ eq "CODE START") {			$incodeblock = 1;			next;		} elsif ($incodeblock and $_ eq "CODE END") {			$incodeblock = 0;			next;		} elsif ($incodeblock) {			if (exists $data->{override}) {				$data->{override}.="$_\n";			} else {				$data->{override} = "$_\n";			}			next;		}		my @fields = /([^ "]+|"[^"]+")/g;		my $cmd = $fields[0];		shift @fields;		my $pos = { FILE => $f, LINE => $ln };		next unless(defined($cmd));		if (not defined($field_handlers{$cmd})) {			warning($pos, "Unknown command `$cmd'");			next;		}				$field_handlers{$cmd}($pos, $data, @fields);	}	if ($incodeblock) {		warning({ FILE => $f, LINE => $ln }, 			"Expecting CODE END");		return undef;	}	return 1;}1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美中日韩| 国产精品久久综合| 一本色道久久综合亚洲aⅴ蜜桃 | 久久精品视频免费| 欧美xxxx在线观看| 精品久久久网站| 久久综合久久99| 欧美国产成人精品| 中文字幕成人网| 亚洲啪啪综合av一区二区三区| 国产精品护士白丝一区av| 中文字幕一区av| 一二三四社区欧美黄| 午夜精品一区二区三区免费视频| 午夜精品在线视频一区| 免费成人av在线播放| 精品一区中文字幕| 国产99精品视频| 色94色欧美sute亚洲线路二| 欧美高清视频一二三区| 精品久久久久久无| 国产精品婷婷午夜在线观看| 亚洲精品一二三| 免费人成在线不卡| 粉嫩av一区二区三区在线播放| 欧美精品乱人伦久久久久久| 欧美一区二区私人影院日本| 国产亚洲精品7777| 亚洲欧美日韩久久精品| 蜜臀av性久久久久蜜臀aⅴ四虎 | 色欧美片视频在线观看| 欧美精品v日韩精品v韩国精品v| 日韩精品专区在线影院重磅| 中文字幕一区二区三区蜜月| 视频一区国产视频| 国产美女娇喘av呻吟久久| 91老师国产黑色丝袜在线| 日韩免费成人网| 亚洲三级理论片| 精品无人码麻豆乱码1区2区| 色综合久久88色综合天天免费| 欧美一级国产精品| 亚洲免费观看高清完整版在线观看| 日本女优在线视频一区二区| 91欧美一区二区| 精品av久久707| 亚洲电影一区二区三区| 国产69精品久久99不卡| 欧美一区欧美二区| 亚洲欧美另类小说| 国产在线精品一区二区三区不卡 | 欧美一区二区三区免费| 中文字幕中文在线不卡住| 免费成人美女在线观看.| 色哟哟国产精品| 国产亚洲欧美中文| 日本欧美大码aⅴ在线播放| 一本大道综合伊人精品热热| 久久精品一区二区三区四区| 久久99在线观看| 欧美日产在线观看| 一区二区三区四区高清精品免费观看 | 91亚洲国产成人精品一区二三| 26uuu亚洲综合色| 成人丝袜18视频在线观看| 日韩精品资源二区在线| 五月激情综合网| 欧美色偷偷大香| 亚洲综合在线视频| 日本高清不卡一区| 亚洲欧洲无码一区二区三区| 成人av综合一区| 国产精品伦一区| 丁香六月久久综合狠狠色| 国产亚洲精品中文字幕| 国产精品一区二区久久不卡| 久久久久国产免费免费| 国产一区二区三区四区五区入口 | 亚洲日本va午夜在线影院| 丰满白嫩尤物一区二区| 久久久久久久性| 国产一区二区免费看| 久久久综合精品| 国产精品综合一区二区三区| 国产欧美1区2区3区| thepron国产精品| 一区二区三区四区激情| 欧美午夜精品久久久久久超碰| 亚洲电影一区二区| 欧美一区二区免费观在线| 麻豆成人久久精品二区三区红 | 久久久国际精品| 成人一区在线观看| 综合在线观看色| 91激情五月电影| 日本美女一区二区三区| 久久一区二区三区国产精品| 国产99精品在线观看| 中文字幕佐山爱一区二区免费| 欧美在线高清视频| 奇米在线7777在线精品 | 日本一区二区免费在线观看视频 | 蜜桃视频在线观看一区| 国产亚洲欧美色| 欧美中文字幕一区| 毛片一区二区三区| 国产欧美一区二区精品久导航| 91久久一区二区| 久久不见久久见免费视频7| 中文无字幕一区二区三区| 日本高清不卡视频| 九九视频精品免费| 亚洲欧美日韩中文字幕一区二区三区| 欧美日韩综合在线| 国产sm精品调教视频网站| 亚洲一区国产视频| 亚洲精品一区二区三区香蕉| 色综合一区二区| 欧美日韩精品欧美日韩精品一综合 | 久久综合色播五月| 91在线免费播放| 精品无码三级在线观看视频| 亚洲视频每日更新| 精品国产制服丝袜高跟| 欧美亚洲国产一区二区三区| 国产在线一区二区综合免费视频| 亚洲日本丝袜连裤袜办公室| 久久日一线二线三线suv| 欧美日韩黄色影视| 9l国产精品久久久久麻豆| 老司机午夜精品| 亚洲国产美国国产综合一区二区| 中文字幕巨乱亚洲| 精品国产乱码久久久久久1区2区 | 天天免费综合色| 一区二区三区精品视频| 欧美国产精品中文字幕| 精品日韩在线观看| 51精品国自产在线| 欧美熟乱第一页| 日本高清不卡一区| 不卡av在线免费观看| 东方aⅴ免费观看久久av| 韩国精品在线观看| 日韩成人av影视| 日韩va欧美va亚洲va久久| 亚洲精品高清在线| 亚洲欧洲美洲综合色网| 国产精品网曝门| 国产精品久久一级| 中文字幕久久午夜不卡| 欧美国产精品久久| 国产精品人成在线观看免费| 欧美极品另类videosde| 久久一二三国产| 国产网站一区二区| 国产欧美精品在线观看| 国产片一区二区| 国产精品进线69影院| 日韩理论片中文av| 亚洲精品第1页| 亚洲成人第一页| 日韩vs国产vs欧美| 久久国产三级精品| 极品少妇xxxx偷拍精品少妇| 国产一区999| www.在线成人| 欧美艳星brazzers| 91麻豆精品国产91久久久资源速度| 欧美一卡二卡在线| 精品福利av导航| 国产精品久久久久永久免费观看 | 成人免费电影视频| 99久久久久免费精品国产 | 久久久久久久久一| 国产精品久久久久国产精品日日| 亚洲视频免费看| 日韩精品午夜视频| 狠狠色狠狠色合久久伊人| 国产成人精品免费一区二区| 色综合一区二区| 日韩三级视频在线观看| 国产欧美一区二区精品性色超碰 | 在线日韩一区二区| 在线观看91av| 国产日产欧产精品推荐色| 亚洲日本韩国一区| 日本不卡123| 成人黄色av电影| 在线不卡中文字幕| 久久久国产精品麻豆| 一区二区三区免费看视频| 麻豆freexxxx性91精品| av不卡在线播放| 日韩欧美美女一区二区三区| 亚洲日本一区二区三区| 毛片不卡一区二区| 91看片淫黄大片一级在线观看| 欧美成人乱码一区二区三区| 亚洲精品亚洲人成人网在线播放|