Provide for per-protocol-tree data in the proto_tree code.
authorgram <gram@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 18 Dec 2001 19:09:08 +0000 (19:09 +0000)
committergram <gram@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 18 Dec 2001 19:09:08 +0000 (19:09 +0000)
commitd5d413b37cbb9a722294ac7bfd37d9201d5054fd
tree35f987f9914fead0fb5fefe79df280b7340831b4
parent748114aaf4b25e5167b36e2046aca75f38290e41
Provide for per-protocol-tree data in the proto_tree code.
Put a hash-table of "interesting" fields in the per-proto-tree data.
The dfilter code records which fields/protocols are "interesting" (by which
I mean, their value or existence is checked). Thus, the proto_tree routines
can create special arrays of field_info*'s that are ready for the dfilter
engine to use during a filter operation.

Also store the "proto_tree_is_visible" boolean, renamed "visible", in
the per-proto-tree data.

Move epan_dissect_t to its own header file to make #include dependencies
easier to handle.

Provide epan_dissect_fill_in_columns(), which accepts just the epan_dissect_t*
as an argument.

epan_dissect_new() needs to be followed by epan_dissect_run() for the
dissection to actually take place. Between those two calls,
epan_dissect_prime_dfilter() can be run 0, 1, or multiple times in order to
prime the empty proto_tree with the "intersesting" fields from the dfilter_t.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4422 f5534014-38df-0310-8fa8-9805f1628bb7
27 files changed:
epan/Makefile.am
epan/dfilter/dfilter-int.h
epan/dfilter/dfilter.c
epan/dfilter/dfilter.h
epan/dfilter/dfvm.c
epan/dfilter/gencode.c
epan/dfilter/gencode.h
epan/dfilter/semcheck.c
epan/epan.c
epan/epan.h
epan/epan_dissect.h [new file with mode: 0644]
epan/packet.c
epan/packet.h
epan/proto.c
epan/proto.h
file.c
gtk/colors.c
gtk/colors.h
gtk/decode_as_dlg.c
gtk/follow_dlg.c
gtk/main.c
gtk/menu.c
gtk/packet_win.c
gtk/print_dlg.c
gtk/proto_draw.c
proto_hier_stats.c
tethereal.c