wireshark/plugins
Lars Roland 00273300e7 Preparations for dropping the old plugin api.
Introduce a new init routine for plugins, 
which does not take the plugin api table as an 
argument and allows etheral to distinguish 
between plugins using the old and the new api.

Update README.plugins accordingly

Change all g_warnings() in epan/plugins.c to report_failue().
On windows we do not have a log console open while
loading the plugins, because a log console cannot be opened before the prefs have been read. Thus g_warnings()
does not work for reporting problems with plugins.

svn path=/trunk/; revision=13596
2005-03-05 06:28:10 +00:00
..
acn Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
agentx Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
artnet Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
asn1 Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
ciscosm Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
docsis Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
enttec Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
giop Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
gryphon Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
irda Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
lwres Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
mate Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
megaco Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
mgcp Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
opsi Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
pcli Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
rdm Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
rlm Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
rtnet Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
rudp Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
stats_tree add the http_srv tap a tree to verify load distribution between several http servers and/or virtual hosts 2005-03-01 19:43:14 +00:00
v5ua Preparations for dropping the old plugin api. 2005-03-05 06:28:10 +00:00
Makefile.am From Oleg Terletsky: AgentX support. 2005-02-10 06:36:21 +00:00
Makefile.nmake add agentx plugin to the clean target and update the old plugin api 2005-02-25 23:08:53 +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
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

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.