summaryrefslogtreecommitdiff
path: root/source4/pidl/lib/Parse
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-02-13 15:06:05 +1100
committerAndrew Tridgell <tridge@samba.org>2008-02-13 15:06:05 +1100
commit3cb87189f93956075979685d1454e4a514cb71a8 (patch)
treed99bfbc0d5b0f9271d9ef6973814048f2223f50b /source4/pidl/lib/Parse
parent88d2e0522737fb8856fb0f52c2af8a2f56130f19 (diff)
parentd4006e799ac1305092c2d292c9237f58938268a2 (diff)
downloadsamba-3cb87189f93956075979685d1454e4a514cb71a8.tar.gz
samba-3cb87189f93956075979685d1454e4a514cb71a8.tar.bz2
samba-3cb87189f93956075979685d1454e4a514cb71a8.zip
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-test
(This used to be commit b3793c6562b1a1e8711561f65594ba0676f9282d)
Diffstat (limited to 'source4/pidl/lib/Parse')
-rw-r--r--source4/pidl/lib/Parse/Pidl/Wireshark/Conformance.pm19
-rw-r--r--source4/pidl/lib/Parse/Pidl/Wireshark/NDR.pm4
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) {