http://bugs.winehq.org/show_bug.cgi?id=20081
Matt Lewandowsky matt@greenviolet.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matt@greenviolet.net
--- Comment #12 from Matt Lewandowsky matt@greenviolet.net 2009-09-19 16:35:36 --- Your code sounds very Linux-specific; have you tested it on other platforms Wine runs on? Some of them have notes which indicate that you probably don't want to use mknod, and others indicate that your syntax isn't correct:
E.g. Solaris:
mknod name b major minor mknod name c major minor mknod name p [...] With the advent of physical device naming, it would be preferable to create a symbolic link to the physical name of the device (in the /devices subtree) rather than using mknod.
and BSD:
mknod [-F format] name [c | b] major minor mknod [-F format] name [c | b] major unit subunit mknod name [c | b] number
Also, on these systems, major number 202 may already be in use by something else; I'm not sure that's what you want. Also, don't some of the /dev pseudo-filesystem options for Linux effectively defeat mknod when it's used?
With these considerations in mind, I can't see the need for a wine_mknod() function. Perhaps if you can find an analog in the Windows API, then someone should figure out the "right" way of doing it. But I don't know of such an analog.
I concur with the others who are saying you should be writing a winelib app. I'd add the caveat that you probably want to do a ton of sanity checking, if you're relying on direct access to system interfaces under Wine.