DeviceIOControl and ioctl() argument passing

Uwe Bonnes bon at
Wed Oct 16 03:51:51 CDT 2002


in the Xilinx Webpack toolchain, programming external devices is needed. For
that purpose, impact (the program to  download the configuration program)
accesses the hardware through a "windrvd" (*1) sys-file ( via
DeviceIoControls. There are programmers for the parallel port and for USB.

For using wine to program the devices, this is a showstopper.

However windrvr is cross platform, and a Linux version is available and
windrvr customers probably can distribute the binary kernel module (*2). In
the easiest of all possible worlds, a simple translation of the
DeviceIOControl calls to the appropriate Linux ioctl()s would be
needed. However things get complicated, as the header file, defining the
Interface is only available with some form of NDA. It is to be expected,
that the arguments to the DeviceIOCobtrol/ioctl call are the same. If we
don't need to rearrange the argument, simple argument passing could be
possible, and no knowledge of the headers would be needed.

Comments welcome.

(*1): I know that the windrvr concept is breaks all unix security concept...
(*2): Does anybody know how Linux windrvr is distributed to the final
customers? As a pure binary kernel module, binding the user to some kernel
or with public open source interface so the user may recompile the kernel?

Uwe Bonnes                bon at

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

More information about the wine-devel mailing list