This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

VxD device drivers - again


On Tue, 21 Sep 1999, dale henderson wrote:

> Is there any open source software to create Win9x device drivers?
> I would like to try VxDWriter, but it currently just supports VC++.
> Is it possible for Mingw32 or Cygwin to support LE file format?
> Here is the response from maker of VxDWriter:
> 
> 1. All the Win98 DDK header files are written specifically for MS VC++
> compiler using compiler specific pragma directive. VxDWriter uses the
> Win98 DDK header files for define constants, typedefs, and some
> enumeration values (service ordinals) for few inline functions. So,
> you need to edit all the header files to remove all MS VC++ specific
> pragmas so that they can work with Mingw32 compiler. But you may use
> VxDWriter's header and library with other compiler, though I have not
> tested it.

In fact. And as soon as those libraries are going to use C++ features,
name mangling issues will pop up as well.

> 2. VxD is not in PE format. It is in LE (linear executable) file
> format. Only MSVC++ linker, which also comes with Win98 DDK, can
> produce a VxD. It would be interesting to see if this linker will
> accepts the COFF object files produced by Mingw32 compiler. If not the
> only option will be to initially produce a "VxD" with Mingw32 linker
> and then convert it to LE file format using a utility, which you need
> to write. Note that LE file format is documented by MS, but some
> documents are available on Internet.

This is actually a non-issue. MinGW can't create LE executables, but there
is a GCC package for OS/2, whose linker might be "stolen" and adapted to
get the job done with little or no fuss (as driver developers know, the LE
format is a very close relative to the OS/2 32 bit LX one). 

A _real_ issue would be debugging support - as far as I know, there is no
good converter among the different formats, and while looking at pure x86
machine code with SoftICE, WDEB*, TrW or the likes is indeed very macho, I
think there must be some better ways to spend time... And errors in a VxD
or KMD often means locking the system up.

> Initially we had plan to support other compiler with VxDWriter package.
> But to do that we need to license Win98 DDK from MS to distribute a
> modified version of the header files. I doubt how many people would be
> interested in it and its commercial viability.

In fact. The very same argument might be used w.r.t. KMD/WDM programming
with anything different from the crunky MSC/MASM couple.

	 		Federico Bianchi
			Dipartimento di Storia delle Arti
			Universita` degli Studi di Pisa
			p.zza S.Matteo in Soarta, 2 - 56127 Pisa (Italy)
			tel. +39-050-587111 (cent.), +39-050-587224 (uff.)
			fax. +39-050-580128; e-mail: <f.bianchi@arte.unipi.it>
			===================================================
			!DISCLAIMER!: my e-mail reflects _my_own_ opinions!
			===================================================


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]