Ethereal-cvs: [Ethereal-cvs] cvs commit: ethereal/epan epan_dissect.h Makefile.am epan.c epan.
gram 2001/12/18 13:09:05 CST
Modified files:
epan Makefile.am epan.c epan.h packet.c
packet.h proto.c proto.h
Added files:
epan epan_dissect.h
Log:
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.
Revision Changes Path
1.30 +2 -1 ethereal/epan/Makefile.am
1.15 +39 -22 ethereal/epan/epan.c
1.12 +30 -20 ethereal/epan/epan.h
1.55 +2 -1 ethereal/epan/packet.c
1.48 +2 -2 ethereal/epan/packet.h
1.48 +193 -158 ethereal/epan/proto.c
1.25 +34 -5 ethereal/epan/proto.h