headless question, and IPC question
kuba at mareimbrium.org
Fri Sep 30 14:56:23 CDT 2005
> >>2. The sockets trick was the simplest way I could figure out how to do
> >>IPC between a linux process and a wine process.
> >>However, is there are
> >>any better or faster way to do this? As far as I know I can't use
> > Your .exe can make regular linux syscalls as it's really running on
> > linux. So you can essentially do whatever a regular linux application
> > would, given constraints enforced by wine's signal handling and such. But
> > all simple things like opening a pipe, using ipc() call etc will work.
> > The only thing is that you need to code syscall() and a couple of
> > wrappers for specific syscalls you want to use, but that's a simple
> > matter and glibc sources are a reasonable reference for that.
> This assumes that I'm using winelib, correct?
Why so? I explicitly mention the .exe. So, no winelib. To the contrary, this
assumes that you run your regular .exe under wine.
There's nothing linux-only about generating syscall code, you can compile
your .exe program say using mingw or Visual C++ as long as you've properly
implemented syscall() in [inline] assembly. Presumably, the calling
conventions for such a syscall() can be set such that the stack layout will
match. Just have a look at the glibc sources.
Of course the program will crash on windows, but on linux it should just work
and provide a gateway to calling the functions from the .dll that you need.
That's what you're after, right?
More information about the wine-devel