ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
July 17th, 2024 | 10:00am-11:55am SGT (UTC+8) | Online

Ethereal-dev: Re: [Ethereal-dev] missing api's in plugins library

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxx>
Date: Wed, 09 Mar 2005 00:46:42 -0800
ofer samocha wrote:

in plugin_api_list.c the following apis are missing
proto_item* proto_tree_add_uint64(proto_tree*, int, tvbuff_t*, gint, gint, guint64); proto_item* proto_tree_add_uint64_format(proto_tree*, int, tvbuff_t*, gint, gint, guint64, const char*, ...);

We're planning on changing the way plugins work on Windows in the next release - instead of having a table of function pointers and a bunch of #defines to refer to those function pointers, plugins will import functions from libethereal. (That's much easier to maintain - it's still necessary to add to epan/libethereal.def the names of new routines for use by plugins, but you don't have to add the function prototype to the file, and the various files don't have to be generated from plugin_api_list.c.)

The list of exported functions in libethereal already includes those functions; the list of functions in plugin_api_list.c will not be changed in the future, as new plugin dissectors shouldn't be using it, and eventually plugin dissectors that use the table of function pointers will no longer be supported.

The current Ethereal source in Subversion, and current buildbot builds of Ethereal, already work that way, and the "doc/README.plugins" file in Subversion, have details on how to convert a dissector to the new mechanism.