Ethereal-cvs: [ethereal-cvs] cvs commit: ethereal packet-frame.c packet-frame.h Makefile.am
gram 2000/10/06 05:11:02 CDT
Modified files:
. Makefile.am file.c file.h tethereal.c
Added files:
. packet-frame.c packet-frame.h
Log:
Implement epan_dissect_new() and epan_dissect_free(). These are the
"top-level" dissectors that libepan-users call, instead of dissect_packet().
The epan_dissect_t holds the tvbuff after dissection so that the tvbuff's
memory is not cleared until after the proto_tree is freed. (I might stuff
the proto_tree into the epan_dissect_t, too).
What remains of dissect_packet() in packet.c handles the tvbuff initialiation.
The real meat of dissect_packet() is now in dissect_frame(), in packet-frame.c
This means that "packet.c" is no longer a dissector, os it is no longer
passed to make-reg-dotc.
Once dissect_fddi() gets two wrapper functions (dissect_fddi_swapped()
and dissect_fddi_nonswapped()), the a dissector handoff routine could
be used instead of the switch statement in dissect_frame(). I'd register
a field like "wtap.encap"
Revision Changes Path
1.232 +6 -5 ethereal/Makefile.am
1.224 +17 -7 ethereal/file.c
1.77 +4 -1 ethereal/file.h
1.49 +10 -3 ethereal/tethereal.c