nanogui: Microwindows for Hercules


Previous by date: 15 Jul 1999 21:51:15 -0000 Re: Microwindows for Hercules, Ben Pfaff
Next by date: 15 Jul 1999 21:51:15 -0000 Re: Microwindows for Hercules, Greg Haerr
Previous in thread: 15 Jul 1999 21:51:15 -0000 Re: Microwindows for Hercules, Ben Pfaff
Next in thread: 15 Jul 1999 21:51:15 -0000 Re: Microwindows for Hercules, Greg Haerr

Subject: Re: Microwindows for Hercules
From: Perry Harrington ####@####.####
Date: 15 Jul 1999 21:51:15 -0000
Message-Id: <199907152236.PAA13086@alpha.apsoft.com>

> 
>    sounds good.
>    how much would it take to change/add microwin?

That, I don't know, Greg?

> 
> If someone's really going to take that approach (I assumed something
> like this was already being done), then I recommend modifying it a
> little for speed.  Instead of leaving NULL in the table and having to
> test it each time the function is being called, replace the NULL with
> a function pointer.  This can either be done in the device driver
> directly:

Obviously it would be smart to fill it in.  However you must set it to NULL
in the driver because of symbol resolution.

As long as the device driver header file version matches with the one that
the microwin server uses, the offsets are known.

Locating the symbols inside the driver is the hard part.

Perhaps a separate file, created via an external program, which contains
this structure, is the better way to go.  This way when the structure changes,
you don't have to go around recompiling all the drivers that have been
distributed, you just need a program to fixup your jumptable files.

Does anyone know if code exists to hunt for symbols inside a binary?  Does
bcc generate any symbol information?

If bcc doesn't generate any symbol info, then I would suggest that each driver
be an archive of object files, with a manifest.  You would need the code from
the linker to search the archive and something to read the manifest.

> 
>     struct driver herc_card[]={
>     	herc_hline,
>     	herc_vline,
>     	generic_line,
>     };
> 
> or it can be done in a function that examines the structure at load
> time and patches up any NULLs with real function pointers.  This is a
> good way to reduce the special cases.
> -- 
> "...dans ce pays-ci il est bon de tuer de temps en temps un amiral
>  pour encourager les autres."
> --Voltaire, _Candide_
> 

--Perry

-- 
Perry Harrington       Linux rules all OSes.    APSoft      ()
email: ####@####.#### 			Think Blue. /\

Previous by date: 15 Jul 1999 21:51:15 -0000 Re: Microwindows for Hercules, Ben Pfaff
Next by date: 15 Jul 1999 21:51:15 -0000 Re: Microwindows for Hercules, Greg Haerr
Previous in thread: 15 Jul 1999 21:51:15 -0000 Re: Microwindows for Hercules, Ben Pfaff
Next in thread: 15 Jul 1999 21:51:15 -0000 Re: Microwindows for Hercules, Greg Haerr


Powered by ezmlm-browse 0.20.