Make a "tcp_dissect_pdus()" with the standard loop for a TCP segment,
authorGuy Harris <guy@alum.mit.edu>
Sun, 5 May 2002 00:16:38 +0000 (00:16 -0000)
committerGuy Harris <guy@alum.mit.edu>
Sun, 5 May 2002 00:16:38 +0000 (00:16 -0000)
commiteb70c97a9bd9f362a3e2f888dd082c5b9b4b9516
treee3b201865b9c3108cf90f7953b3c85c4dad0066e
parent82e11eb8eef35974a5c07658009561390720bfad
Make a "tcp_dissect_pdus()" with the standard loop for a TCP segment,
extracting PDUs from it and possibly doing reassembly.  Make the COPS,
DNS, DSI, Gryphon, and SCCP dissectors use it.

Add "set_actual_length()", "tcp_dissect_pdus()",
"decode_boolean_bitfield()", "decode_numeric_bitfield()", and
"decode_enumerated_bitfield()" to the list of routines available to
dissectors on platforms where routines in the main program aren't
available to dynamically-loaded code.

Declare routines in "to_str.h" as "extern"; as I remember, that's
necessary to allow the "decode_XXX_bitfield()" routines declared therein
to be made available to plugins as per the above.

Note that new exported routines should be added to the end of the table
if that's the only change being made to the table.

Create a new "plugin_api_decls.h" header file, used to declare both the
"p_" variables and the "p_" structure members in the routine-exporting
mechanism; this reduces the number of places you have to change to
change the list of exported routines.

svn path=/trunk/; revision=5394
15 files changed:
epan/plugins.c
epan/to_str.h
packet-cops.c
packet-dns.c
packet-dsi.c
packet-skinny.c
packet-tcp.c
packet-tcp.h
plugins/Makefile.am
plugins/gryphon/packet-gryphon.c
plugins/plugin_api.c
plugins/plugin_api.h
plugins/plugin_api_decls.h [new file with mode: 0644]
plugins/plugin_api_defs.h
plugins/plugin_table.h