wine / Linux kernel interaction

Damjan Jovanovic dj015 at
Wed Oct 19 11:55:49 CDT 2005

I am working on STI for wine, and there is an issue I
want to ask about.

At present, I changed CreateFile() to open
/dev/USBSCAN... on a "\\.\USBSCAN..." device, where
/dev/USBSCAN... comes from a Linux kernel module that
does the equivalent of Window's USBSCAN.SYS. And
NtDeviceIoControl() checks whether the i/o control
code is 0x8000.... (USB scanner ioctl) and if so,
calls ioctl(). It all works (but most is hardcoded for
my scanner at the moment).

But, the kernel module needs to know whether a newly
added USB device is a scanner or not, which requires
access to the wine registry / SetupAPI. One option is
to make some user-space utility that the module can
query for this info. The other way it could be done is
to give wine the ability to load the kernel module
when wine starts, and pass it a list of parameters
which are the scanners it should drive. And the third
way is to use a private ioctl or the proc filesystem
so wine gives a running instance of the module the
list of scanners, when wine itself starts running.

And how would the kernel module tell wine / STI a new
scanner has arrived?

Finally, could this kernel module be distributed with
wine? Its acceptance into the Linux kernel tree is

Thank you

P.S. Is anyone working on kernel handles for wine?

Start your day with Yahoo! - Make it your home page!

More information about the wine-devel mailing list