Forwards exports - anyone?

Shachar Shemesh wine-devel at shemesh.biz
Wed Oct 29 07:41:06 CST 2003


Hi all,

I noticed in the code that there is a concept called "forwad_export". 
Does it have anything to do with making a function in one DLL return a 
function address that belongs to another?

If that is the case, how do I activate this? Is there some spec file 
magic that will do it?

I'm trying to implement unicows.dll. The theory is quite simple - since 
unicows merely implements unicode functions that exist, theoretically, 
only in Wine, all I have to do is create forwards (i.e. - ExtTextOutW in 
unicows.dll will call ExtTextOutW in GDI). This is slightly inefficient, 
but should solve our unicows.dll problems.

If I can merely instruct the dynamic loader to return the GDI 
ExtTextOutW function when someone tries to link with the unicows 
ExtTextOutW, I can solve the inefficiency in a clean, working way 
without further problems.

I considered various loader tricks, but I'm afraid the closest I'm 
willing to come is assembler tricks, and those won't work on other 
platforms (then again - other platforms are highly unlikely to require 
unicows - hmm).

             Shachar

-- 
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/





More information about the wine-devel mailing list