aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/README.interface
blob: 2818458f258371acf7158df4fb0d6df796b00368 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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.