10cint3:

Now let's add a new feature to our lookup_function() function in lookup.[ch],
an attempt to verify not only that a suitable function exists in a package,
but with the correct function signature.  We could do this by munging function
names as C++ does behind the scenes to add function signature information into
the name of the function, but instead I've chosen a different route:

Each package file (pkg[1-3].c) can optionally decide to define a FLAG VARIABLE
per function (only it's existence is used), and a PKG_useflagvars variable
to indicate that lookup_function() should try to check them.

char pkg1_useflagvars;		// check the existence of the flag variables
char pkg1_f1_void_void;
char pkg1_f2_int_void;
char pkg1_f3_void_charstar_int;
char pkg1_f4_voidstar_int;

lookup_function() takes an additional parameter - the function signature
to check for (or NULL if we don't want to check, even if PKG_useflagvars
does exist).

Initially, we'll define these flag variables ourselves manually, which is
obviously a pain, but later we will autogenerate them from marked up package
files, which will imply a small companion TEFEL tool called "cpkg" which
will translate a marked up package file to plain C, adding the flag variables
as it goes.
