wireshark/plugins
Guy Harris 802859d3fd Call the "new-style init" routine for plugins a "register" routine, as
it serves the same purpose as the register routine in a built-in
dissector, and don't require all dissectors to have one, as they might
just be taps.

Get rid of the stats tree's init routine, as it's just a tap, and as it
doesn't do anything.

Update the idl2eth Python script to generate plugins with register routines.

svn path=/trunk/; revision=13644
2005-03-07 02:44:41 +00:00
..
acn Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
agentx Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
artnet Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
asn1 Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
ciscosm Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
docsis Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
enttec Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
giop Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
gryphon Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
irda Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
lwres Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
mate Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
megaco Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
mgcp Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
opsi Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
pcli Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
rdm Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
rlm Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
rtnet Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
rudp Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
stats_tree Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
v5ua Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
xml Call the "new-style init" routine for plugins a "register" routine, as 2005-03-07 02:44:41 +00:00
Makefile.am Add stats_tree and xml plugins to the build process 2005-03-06 16:49:16 +00:00
Makefile.nmake Add stats_tree and xml plugins to the build process 2005-03-06 16:49:16 +00:00
plugin_api.c Set the svn:eol-style property on all text files to "native", so that 2004-07-18 00:24:25 +00:00
plugin_api.h Move the following files from /trunk to /trunk/epan: 2005-02-09 23:38:00 +00:00
plugin_api_decls.h Set the svn:eol-style property on all text files to "native", so that 2004-07-18 00:24:25 +00:00
plugin_api_defs.h Set the svn:eol-style property on all text files to "native", so that 2004-07-18 00:24:25 +00:00
plugin_api_list.c add agentx plugin to the clean target and update the old plugin api 2005-02-25 23:08:53 +00:00
plugin_gen.py Set the svn:eol-style property on all text files to "native", so that 2004-07-18 00:24:25 +00:00
plugin_table.h Set the svn:eol-style property on all text files to "native", so that 2004-07-18 00:24:25 +00:00
README.interface clarify text and describe libethereal.def 2005-01-12 21:16:53 +00:00
Xass-list add agentx plugin to the clean target and update the old plugin api 2005-02-25 23:08:53 +00:00
Xplugin_api.c add agentx plugin to the clean target and update the old plugin api 2005-02-25 23:08:53 +00:00
Xplugin_api.h add agentx plugin to the clean target and update the old plugin api 2005-02-25 23:08:53 +00:00
Xplugin_api_decls.h add agentx plugin to the clean target and update the old plugin api 2005-02-25 23:08:53 +00:00
Xplugin_table.h add agentx plugin to the clean target and update the old plugin api 2005-02-25 23:08:53 +00:00

README.interface

The following will export addresses from ethereal to the plugins. You
will have to do this, e.g. if you want to use a function of ethereal inside 
your plugin.
If you need it the other way round (e.g. use symbols of your plugin inside of 
ethereal's gtk part), you only have to edit libethereal.def and nothing more.
(XXX - is this libethereal.def description correct?)


When developing a plugin in the Win32 world, it is nessecary
to explicitly export addresses from the main process to the
plugin.  ethereal does have a mechanism for this, and it uses
the file 'plugin_api_list.c' to list declarations for everything
that needs to be exported.

The build process of ethereal needs this list in 5 different forms.

These are generated by a Python script and saved in the X* files
in this directory.

I do not have a real C parser in Python to read the input file...,
so I have used 'gcc -aux-info xyzzy ...' to clean up any formatting
preferences in the input file and create the file named 'xyzzy'
that contains a neatly formatted list of declarations.  This list
can be parsed with a regular expression to extract the required
info.

Use the following procedure to update the symbols:

edit the plugin_api_list.c file
nmake -f Makefile.nmake xyzzy
nmake -f Makefile.nmake

The 'xyzzy' makefile target is the only target that depends on gcc.
This can be done on a Unix machine or you can use cygwin gcc.