WINEGATE.DLL: Wine gateway to native Unix libraries

Vitaliy Margolen wine-devel at kievinfo.com
Sat Feb 14 20:21:10 CST 2009


Martin Hinner wrote:
> Hello,
> 
>  Purpose of this Wine DLL is to allow Windows applications to use
> directly Unix library functions. This is useful  for example for
> applications which talk to specific drivers  and it's not
> efficient/possible to create system native DLL  for such driver or
> library. Win32 app. vendor is required only to detect execution under
> Wine and load proper native library.
> 
>  WinGate.DLL exports dlopen/dlsym/dlclose/dlerror functions  which
> allow Windows app to load additional libraries and use them.

Depending on what you need to do it might be a good thing or might be a
complete no-go. Remember that Wine has an additional layer on top of system.
If you bypass it, you can potentially create lots and lots of problems.

For example, handles, synchronization, GUI, messages, d3d, ddraw (and most
other things) depend on those extra layers. You won't be able to use them
together without major risk of instability. Eg. you can't pass fd to
ReadFile(). Nor can you block on read() and expect message processing in the
same thread. Not saying it can't be done. It just needs to be coded with
consideration of Wine inerworkings.

What I want to say, what you did is just an API that doesn't solve anything
on its own. Anything using it will be as complex as writing winelib
application. Or will have to be expanded to properly fit into Wine.

Vitaliy.



More information about the wine-devel mailing list