How is Win/Dos syscalls implemented in Wine?

Ove Kaaven ovehk at ping.uio.no
Fri Oct 25 10:26:31 CDT 2002


On Fri, 25 Oct 2002, Peter Andersson wrote:

> Hello!
> Perhaps someone can give me a good answer to this question.
> Please give me a direct answer, I have allready been trouh the wine 
> FAQ:s , docs, code, etc. 
> 
> I know DOS syscalls is made using interupts (int instruction) but,
> is Windows/NT syscalls made the same way.

What are Windows/NT syscalls? Win32 apps doesn't make any syscalls, they
just call the system DLLs (which is just shared libraries). Wine
implements those DLLs in its own way.

> How does wine stop these instructions from reaching the unix kernel?

If you're talking about interrupts, the ones that DOS/Windows app may use
aren't accepted by Linux, so a segmentation fault happens when an app
tries to issue such an interrupt. Wine can catch that segmentation fault
by installing a SIGSEGV signal handler. If you're talking about the Win32
API, then Wine just links the app to its own version of that API, so it
calls into the Wine-implemented DLLs.




More information about the wine-users mailing list