ping > > Windows support is useful to use with Qemu under Windows as host or > to implement servers like Xspice. > Mainly SPICE server uses lot of libraries to expose a TCP protocol. > As TCP is implemented with socket library which is quite portable was > not that hard to port. > Beside some minor feature (see REAME.Windows) all was ported. > During porting was choosen to keep Unix as the main platform, if a > change would require too much changes some Windows wrapper is > preferred instead. Not too complicated stuff, the main "wrapper" is > that Windows errors from socket are written back into errno to avoid > to change lot of code handling errors. > > Changes since v3: > - reduce compatibility layer size: > - do not change function name if not required; > - use int instead of a new socket_t. > > Changes since v2: > - better %m replacement; > - many comments updates; > - typo and grammar fixes; > - use int to store socket descriptors/handles; > - merge all v2 updates into a single series; > - split formatting string patch. > > Frediano Ziglio (20): > Use proper format strings for spice_log > build: Detect Windows build and change some definitions > Avoids %m in formatting for Windows > windows: Undefine some conflicting preprocessor macros > tests: Provide alarm replacement for Windows > test-stat: Adjust delay checks > sys-socket: Introduce some utility to make sockets more portable > sys-socket: Add socket_newpair utility > net-utils: Use socket compatibility layer > reds: Use socket compatibility layer > red-stream: Use socket compatibility layer > dispatcher: Use socket compatibility layer > test-leaks: Use socket compatibility layer > test-channel: Use socket compatibility layer > windows: Disable code not working on Windows > dispatcher: Port to Windows > tests: Exclude tests that cannot work on Windows > red-stream: Fix SSL connection for Windows > Disable recording filtering for Windows > Add some notes for the Windows port > > README.Windows | 18 ++ > configure.ac | 20 ++- > server/Makefile.am | 2 + > server/char-device.c | 3 +- > server/dispatcher.c | 28 ++- > server/gstreamer-encoder.c | 4 +- > server/main-channel-client.c | 6 +- > server/memslot.c | 2 +- > server/mjpeg-encoder.c | 6 +- > server/net-utils.c | 11 ++ > server/red-channel-client.c | 2 + > server/red-channel.c | 6 +- > server/red-client.c | 6 +- > server/red-common.h | 1 + > server/red-qxl.c | 4 + > server/red-record-qxl.c | 7 + > server/red-replay-qxl.c | 9 +- > server/red-stream.c | 48 ++++- > server/red-stream.h | 2 + > server/red-worker.c | 6 + > server/reds.c | 53 +++--- > server/sound.c | 5 +- > server/stat-file.c | 2 + > server/sys-socket.c | 287 ++++++++++++++++++++++++++++++ > server/sys-socket.h | 142 +++++++++++++++ > server/tests/Makefile.am | 11 +- > server/tests/basic-event-loop.c | 2 + > server/tests/replay.c | 2 + > server/tests/stat-test.c | 12 +- > server/tests/test-channel.c | 9 +- > server/tests/test-leaks.c | 5 +- > server/tests/test-loop.c | 1 + > server/tests/test-record.c | 7 +- > server/tests/test-stream-device.c | 1 + > server/tests/win-alarm.c | 65 +++++++ > server/tests/win-alarm.h | 26 +++ > tools/Makefile.am | 2 + > 37 files changed, 753 insertions(+), 70 deletions(-) > create mode 100644 README.Windows > create mode 100644 server/sys-socket.c > create mode 100644 server/sys-socket.h > create mode 100644 server/tests/win-alarm.c > create mode 100644 server/tests/win-alarm.h > _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel