4f0ecbde2e
svn path=/trunk/; revision=8070 |
||
---|---|---|
.. | ||
artnet | ||
docsis | ||
giop | ||
gryphon | ||
megaco | ||
mgcp | ||
pcli | ||
rtnet | ||
.cvsignore | ||
Makefile.am | ||
Makefile.nmake | ||
plugin_api.c | ||
plugin_api.h | ||
plugin_api_decls.h | ||
plugin_api_defs.h | ||
plugin_api_list.c | ||
plugin_gen.py | ||
plugin_table.h | ||
README.interface | ||
Xepan_plugins.c | ||
Xplugin_api.c | ||
Xplugin_api.h | ||
Xplugin_api_decls.h | ||
Xplugin_table.h |
README.interface 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 when updateing 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.