tonglebeak at gmail.com
Mon Sep 11 15:42:51 CDT 2006
Saulius Krasuckas wrote:
> * On Sun, 10 Sep 2006, Aaron Slunt wrote:
>> I was interested in starting to play with wine and maybe even build a
>> few functions for it...but then I realized that it's low-level coding,
>> something I'm not familiar with (higher level is more of my expertise).
>> Correct me if I'm wrong, I could be looking at the wrong files :S.
> You are welcome! :)
> Can you refer to exact file names your were looking at?
>> Does anyone have any good places to go to to learn about low-level
>> coding, and afterwards coding for wine specifically?
> For me Wine embraces libs for quite wide spectra of functions and not so
> few ioctls:
> $ grep -rI "ioctl[^a-zA-Z0-9]*(" dlls/ | wc -l
> $ grep -rIc "ioctl[^a-zA-Z0-9]*(" dlls/ | grep -v :0
> As for me, low level coding is writing a device driver for linux kernel
> :-] and using it from the Wine code.
> But there is also a bunch of hardware platform specific issues also, like
> advanced signal handling which may be needed for example to make remote
> process operations work  or to implement ntoskrnl and make safedisc
> work .
> All that stuff needs knowledge of glibc programming at least, I guess.
> So maybe you should read recent libc.pdf if you are interested into this
> Also, some guys are working on DCOM/OLE stuff  which seems to be quite
> low level for me sometimes (wire-protocol compatibility).
> Going further (upper?) most of Wine code tries to use WinAPI, which I
> doubt should be considered as low-level. To get into basic Wine coding it
> may be usefull to review Janitorial Projects  and maybe to hang on one
> of it? :)
> Without naming exact Wine component or functionality you are interested in
> I doubt someone will answer you more specifically :-P
>  http://wiki.winehq.org/RemoteProcessOperations
>  http://wiki.winehq.org/VitaliyMargolen
>  http://wiki.winehq.org/RobShearman
>  http://wiki.winehq.org/JanitorialProjects
Thanks all for the replies. I took note to the JanitorialProjects page,
and found the DllCanUnloadNow project.
I wrote a patch for the dinput.c one, to start with getting familiar
with wine's code, and it compiles fine, but I have no way (at least know
of a way) of testing if the implementation actually works or not. It
looks like it should, and it compiles, but I don't know for sure how to
test it out...I've skimmed through the wiki, but I need some human help
as well :(
And I guess I really meant "lower-level" coding, C looks scary as I'm
not familiar with it and it looks more complex than other languages like
Java, but the same syntax makes it a lot easier :O
Thanks for the support, makes things much easier :)
More information about the wine-devel