diff options
author | Julien Kerihuel <j.kerihuel@openchange.org> | 2008-02-13 02:24:11 +0100 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2008-02-13 02:24:11 +0100 |
commit | d4006e799ac1305092c2d292c9237f58938268a2 (patch) | |
tree | 57c43d6fec3356a0908701e80b1264ac080cf0bc /source4/pidl/lib/Parse/Pidl | |
parent | dcd890bd46a158ed42e025f5687c18d9b37097d8 (diff) | |
download | samba-d4006e799ac1305092c2d292c9237f58938268a2.tar.gz samba-d4006e799ac1305092c2d292c9237f58938268a2.tar.bz2 samba-d4006e799ac1305092c2d292c9237f58938268a2.zip |
Support ETT_FIELD keyword.
(This used to be commit ec8bd3991f76cf8746cf77c277c3491725711f9d)
Diffstat (limited to 'source4/pidl/lib/Parse/Pidl')
-rw-r--r-- | source4/pidl/lib/Parse/Pidl/Wireshark/Conformance.pm | 19 | ||||
-rw-r--r-- | source4/pidl/lib/Parse/Pidl/Wireshark/NDR.pm | 4 |
2 files changed, 23 insertions, 0 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Wireshark/Conformance.pm b/source4/pidl/lib/Parse/Pidl/Wireshark/Conformance.pm index b53c56e741..a240bbf9cd 100644 --- a/source4/pidl/lib/Parse/Pidl/Wireshark/Conformance.pm +++ b/source4/pidl/lib/Parse/Pidl/Wireshark/Conformance.pm @@ -52,6 +52,10 @@ 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<ETT_FIELD> ett + +Register a custom ett field + =item I<STRIP_PREFIX> prefix Remove the specified prefix from all function names (if present). @@ -313,6 +317,20 @@ sub handle_import }; } +sub handle_ett_field +{ + my $pos = shift @_; + my $data = shift @_; + my $ett = shift @_; + + unless(defined($ett)) { + error($pos, "incomplete ETT_FIELD command"); + return; + }; + + push (@{$data->{ett}}, $ett); +} + my %field_handlers = ( TYPE => \&handle_type, NOEMIT => \&handle_noemit, @@ -320,6 +338,7 @@ my %field_handlers = ( PARAM_VALUE => \&handle_param_value, HF_FIELD => \&handle_hf_field, HF_RENAME => \&handle_hf_rename, + ETT_FIELD => \&handle_ett_field, TFS => \&handle_tfs, STRIP_PREFIX => \&handle_strip_prefix, PROTOCOL => \&handle_protocol, diff --git a/source4/pidl/lib/Parse/Pidl/Wireshark/NDR.pm b/source4/pidl/lib/Parse/Pidl/Wireshark/NDR.pm index ffe104c941..8846b740ab 100644 --- a/source4/pidl/lib/Parse/Pidl/Wireshark/NDR.pm +++ b/source4/pidl/lib/Parse/Pidl/Wireshark/NDR.pm @@ -940,6 +940,10 @@ sub Parse($$$$$) $self->{res}->{headers} .= "#include \"$h_basename\"\n"; $self->pidl_code(""); + if (defined($self->{conformance}->{ett})) { + register_ett($self,$_) foreach(@{$self->{conformance}->{ett}}) + } + # Wireshark protocol registration foreach (@$ndr) { |