[DGD]DGD extension interface, some thoughts

Felix A. Croes felix at dworkin.nl
Tue Sep 26 15:05:10 CEST 2000


John "West" McKenna <john at ucc.gu.uwa.edu.au> wrote:

> >At initialization time, a specific function will be called to
> >initialize external modules.  By default, this function will exist
> >in dgd/src/config.c and do nothing.  Module writers should supply
> >their own version of this function.  The preferred method will be
> >to comment it out in config.c, and link DGD with additional module
> >code at compile time.  Replacing the function will be the only
> >change that has to be made to the source code of DGD itself.
>
> I assume you're working out a cleaner method of adding extensions like
> the networking package.  If there's a single function that gets called,
> and packages over-write its definition, what happens when there is more
> than one package?

I hereby (arbitrarily) rule that to redefine a kfun more than once
is an error.


> A better way might be to have the installation process write the config.c
> file itself, based on the contents of an "extensions" directory (does
> this sound familiar?).  It would undoubtedly be a pain to implement,
> considering the range of ports that must be supported.

I am not interested in resolving conflicts between different packages.
I will just offer an interface by which DGD can be extended, and the
rest is for the package writers to work out.

It would be a good idea to decide on some sort of package manager
standard beyond DGD's extension interface, certainly; feel free to
discuss it.  I doubt that a solution exists which is both platform-
independent and sufficiently configurable, but something can probably
be negotiated which satisfies most people.


> [adding/replacing kfuns, replacing the swapping mechanism]
>
> Adding/replacing kfuns allows customisation of the LPC interface.
> I haven't looked at the driver source at all, so I don't know how practical
> this would be:  it might be good to have some standard hooks on the other
> side of the driver - nearer the OS interface.

I don't understand what the purpose of that would be.  Please clarify?

Regards,
Dworkin

List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list