aboutsummaryrefslogtreecommitdiffstats
path: root/packet-vines.c
diff options
context:
space:
mode:
authorGilbert Ramirez <gram@alumni.rice.edu>2000-04-13 18:18:56 +0000
committerGilbert Ramirez <gram@alumni.rice.edu>2000-04-13 18:18:56 +0000
commitdb187f965c6ca47932a009f3cb011770a687e289 (patch)
tree1d58b40531c9ca503d57229b9cc8c9bf394a2052 /packet-vines.c
parent2fa56170d39e86f703ee0a6c5d3ddc1d14afa905 (diff)
downloadwireshark-db187f965c6ca47932a009f3cb011770a687e289.tar.gz
wireshark-db187f965c6ca47932a009f3cb011770a687e289.tar.bz2
wireshark-db187f965c6ca47932a009f3cb011770a687e289.zip
Change the sub-dissector handoff registration routines so that the
sub-dissector table is not stored in the header_field_info struct, but in a separate namespace. Dissector tables are now registered by name and not by field ID. For example: udp_dissector_table = register_dissector_table("udp.port"); Because of this different namespace, dissector tables can have names that are not field names. This is useful for ethertype, since multiple fields are "ethertypes". packet-ethertype.c replaces ethertype.c (the name was changed so that it would be named in the same fashion as all the filenames passed to make-reg-dotc) Although it registers no protocol or field, it registers one dissector table: ethertype_dissector_table = register_dissector_table("ethertype"); All protocols that can be called because of an ethertype field now register that fact with dissector_add() calls. In this way, one dissector_table services all ethertype fields (hf_eth_type, hf_llc_type, hf_null_etype, hf_vlan_etype) Furthermore, the code allows for names of protocols to exist in the etype_vals, yet a dissector for that protocol doesn't exist. The name of the dissector is printed in COL_INFO. You're welcome, Richard. :-) svn path=/trunk/; revision=1848
Diffstat (limited to 'packet-vines.c')
-rw-r--r--packet-vines.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/packet-vines.c b/packet-vines.c
index b1d35e04c5..ba7d499d8c 100644
--- a/packet-vines.c
+++ b/packet-vines.c
@@ -1,7 +1,7 @@
/* packet-vines.c
* Routines for Banyan VINES protocol packet disassembly
*
- * $Id: packet-vines.c,v 1.12 2000/01/23 08:55:37 guy Exp $
+ * $Id: packet-vines.c,v 1.13 2000/04/13 18:18:52 gram Exp $
*
* Don Lafontaine <lafont02@cn.ca>
*
@@ -37,6 +37,7 @@
#endif
#include <glib.h>
+#include "etypes.h"
#include "packet.h"
#include "packet-vines.h"
@@ -339,3 +340,9 @@ proto_register_vines(void)
proto_register_subtree_array(ett, array_length(ett));
}
+
+void
+proto_reg_handoff_vines(void)
+{
+ dissector_add("ethertype", ETHERTYPE_VINES, dissect_vines);
+}