On Sun, Apr 3, 2011 at 12:41 PM, Stefan Weil <w...@mail.berlios.de> wrote: > Am 03.04.2011 11:10, schrieb Blue Swirl: >> >> On Thu, Mar 31, 2011 at 11:58 PM, Stefan Weil <w...@mail.berlios.de> >> wrote: >>> >>> Some recently added new code did not compile for w32 targets. >>> >>> The functions qemu_iohandler_fill and qemu_iohandler_poll need >>> data type fd_set which is declared in winsock2.h for w32 targets. >>> >>> Moving the functions from qemu-common.h to qemu_socket.h fixes >>> compilations for w32 without adding a new include file to qemu-common.h. >> >> There's nothing socket specific in qemu_iohandler_fill and >> qemu_iohandler_poll, so I'd rather fix qemu-common.h. But I have a >> patch in my working queue to move OS specific stuff to qemu-common.h, >> I'll fix this there. > > > Adding a new file iohandler.h for these functions would also solve the > problem. > Or maybe there is an include file which is better suited than qemu_socket.h. > > I think that functions which are only used in one file and declared > in another file should not be in qemu-common.h. In this special case, > all code which uses qemu-common.h would also require winsock2.h > just because of fd_set!
There are a lot of include directives already in qemu-common.h. I see qemu-common.h as a library of useful stuff that may be used anywhere in QEMU. The opposite approach is to sprinkle all .c files with specific set of include directives for just that file. > By the way: there is one file qemu_*.h, and there are 25 files qemu-*.h. > What about renaming qemu_socket.h to qemu-socket.h? There are a lot of files in both conventions.