[Spice-devel] [PATCH spice-server 00/33] Port SPICE server to Windows
Jonathon Jongsma
jjongsma at redhat.com
Thu Jan 3 16:12:44 UTC 2019
Can you explain the end goal here?
On Fri, 2018-12-21 at 12:02 +0000, Frediano Ziglio wrote:
> 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.
>
> Frediano Ziglio (33):
> Use PRIxPTR constant for string formatting
> windows: Do not include headers not available on Windows
> build: Detect Windows build and change some definitions
> Avoids %m in formatting for Windows
> 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
> red-channel-client: Use socket compatibility layer
> dispatcher: Use socket compatibility layer
> event-loop: Use socket compatibility layer
> sound: Use socket compatibility layer
> basic-event-loop: Use socket compatibility layer
> test-leaks: Use socket compatibility layer
> test-channel: Use socket compatibility layer
> test-stream: Use socket compatibility layer
> windows: Undefine some conflicting preprocessor macros
> windows: Disable code not working on Windows
> replay: Force binary mode on input on Windows
> dispatcher: Port to Windows
> event-loop: Port to Windows
> tests: Provide alarm replacement for Windows
> test-listen: Exclude Unix sockets part under Windows
> tests: Exclude tests that cannot work on Windows
> test-stat: Adjust delay checks
> red-stream: Fix SSL connection for Windows
> test-display-base: Port to Windows
> reds: Explicitly include inttypes.h
> Disable recording filtering for Windows
> replay: Port to Windows
> Use structure for socket_t type instead of just a typedef
> Add some notes for the Windows port
>
> README.Windows | 18 ++
> configure.ac | 18 +-
> server/Makefile.am | 3 +
> server/dispatcher.c | 48 +++--
> server/dispatcher.h | 2 +-
> server/event-loop.c | 11 +-
> server/gstreamer-encoder.c | 2 +-
> server/net-utils.c | 35 ++--
> server/net-utils.h | 10 +-
> server/red-channel-client.c | 12 +-
> server/red-channel.c | 5 +-
> server/red-client.c | 4 +-
> server/red-common.h | 4 +-
> server/red-qxl.c | 2 +-
> server/red-record-qxl.c | 8 +-
> server/red-replay-qxl.c | 4 +-
> server/red-stream.c | 78 +++++---
> server/red-stream.h | 6 +-
> server/red-worker.c | 6 +
> server/reds-private.h | 4 +-
> server/reds.c | 124 +++++++------
> server/reds.h | 4 +-
> server/sound.c | 11 +-
> server/spice-core.h | 6 +
> server/stat-file.c | 2 +
> server/sys-socket.c | 287
> ++++++++++++++++++++++++++++++
> server/sys-socket.h | 195 ++++++++++++++++++++
> server/tests/Makefile.am | 11 +-
> server/tests/basic-event-loop.c | 5 +-
> server/tests/regression-test.py | 4 +-
> server/tests/replay.c | 18 +-
> server/tests/stat-test.c | 12 +-
> server/tests/test-channel.c | 23 +--
> server/tests/test-display-base.c | 39 ++--
> server/tests/test-leaks.c | 11 +-
> server/tests/test-listen.c | 10 ++
> server/tests/test-loop.c | 1 +
> server/tests/test-playback.c | 1 -
> server/tests/test-record.c | 7 +-
> server/tests/test-stream-device.c | 1 +
> server/tests/test-stream.c | 4 +-
> server/tests/win-alarm.c | 65 +++++++
> server/tests/win-alarm.h | 26 +++
> tools/Makefile.am | 2 +
> 44 files changed, 964 insertions(+), 185 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
>
More information about the Spice-devel
mailing list