spice/server
Frediano Ziglio 55dd7410b0 sys-socket: Introduce some utility to make sockets more portable
Between Unix and Windows socket are quite different:
- on Windows sockets have a different namespace from C file
  descriptors so you can't use read/write/close or similar functions;
- errors are not stored in errno but you must be read/write the
  errors with specific function;
- sometimes sockets are put in non-blocking mode automatically
  calling some functions;
- SOCKET type is 64 bit on Windows 64 which does not fit technically
  in an int. Is however safe to assume them to fit in an int.

So encapsulate the socket APIs in some definition to make easier
and more safe to deal with them.
Where the portability to Windows would make to code more offuscated a Unix
style was preferred. For instance if errors are detected errno is set from
Windows socket error instead of changing all code handling.
Fortunately on Windows Qemu core interface accepts socket (but not
other types like C file descriptors!).

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2019-05-07 10:14:00 +01:00
..
tests tests: Provide alarm replacement for Windows 2019-05-07 10:13:58 +01:00
.gitignore gitignore: Reuse top-level gitignore 2016-12-14 19:09:21 +00:00
agent-msg-filter.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
agent-msg-filter.h agent-msg-filter: Add some comments to AgentMsgFilter structure 2019-02-11 15:15:59 +00:00
cache-item.h Unify header guards 2017-03-30 18:17:20 +01:00
cache-item.tmpl.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
char-device.c Remove support for 64 bit pointers on protocol 2019-03-18 12:42:32 +00:00
char-device.h char-device: separate functions to get write buffer for client and server 2018-11-08 08:08:28 +00:00
common-graphics-channel.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
common-graphics-channel.h common-graphics-channel: Move "qxl" property to DisplayChannel 2017-09-07 06:42:01 +01:00
cursor-channel-client.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
cursor-channel-client.h Make channel client callbacks virtual functions 2019-03-28 20:20:25 +00:00
cursor-channel.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
cursor-channel.h Make channel client callbacks virtual functions 2019-03-28 20:20:25 +00:00
dcc-private.h Rename StreamAgent to VideoStreamAgent 2017-11-30 11:51:09 -06:00
dcc-send.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
dcc.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
dcc.h Use "base" as pipe item base field name 2018-06-18 13:40:51 +01:00
dispatcher.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
dispatcher.h dispatcher: Allows to manage messages without registering them 2019-03-28 15:38:16 +00:00
display-channel-private.h Move image_compression field from RedWorker to DisplayChannel 2019-03-28 20:20:25 +00:00
display-channel.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
display-channel.h Move image_compression field from RedWorker to DisplayChannel 2019-03-28 20:20:25 +00:00
display-limits.h Receive the GraphicsDeviceInfo message from the streaming agent 2019-01-29 15:46:54 +01:00
event-loop.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
glib-compat.h Use verify instead of G_STATIC_ASSERT 2017-12-01 22:49:46 +00:00
glz-encode-match.tmpl.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
glz-encode.tmpl.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
glz-encoder-dict.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
glz-encoder-dict.h Make various functions static 2017-04-05 12:39:20 +02:00
glz-encoder-priv.h Unify header guards 2017-03-30 18:17:20 +01:00
glz-encoder.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
glz-encoder.h Unify header guards 2017-03-30 18:17:20 +01:00
gstreamer-encoder.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
image-cache.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
image-cache.h Unify header guards 2017-03-30 18:17:20 +01:00
image-encoders.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
image-encoders.h Add possibly missing headers for pthread.h 2018-06-26 10:54:01 +01:00
inputs-channel-client.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
inputs-channel-client.h Use standard "Red" namespace 2017-10-21 08:47:02 +01:00
inputs-channel.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
inputs-channel.h inputs-channel: Move spice_server_kbd_leds to InputsChannel 2017-12-19 16:29:41 +00:00
jpeg-encoder.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
jpeg-encoder.h jpeg-encoder: Remove JPEG_IMAGE_TYPE_RGB24 2018-06-26 18:06:50 +01:00
lz4-encoder.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
lz4-encoder.h Unify header guards 2017-03-30 18:17:20 +01:00
main-channel-client.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
main-channel-client.h Use standard "Red" namespace 2017-10-21 08:47:02 +01:00
main-channel.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
main-channel.h Use standard "Red" namespace 2017-10-21 08:47:02 +01:00
main-dispatcher.c main-dispatcher: Use reds as opaque for dispatcher 2019-03-20 20:40:03 +00:00
main-dispatcher.h Remove core parameter from main_dispatcher_new 2019-02-12 22:34:52 +00:00
Makefile.am sys-socket: Introduce some utility to make sockets more portable 2019-05-07 10:14:00 +01:00
memslot.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
memslot.h memslot: Remove error parameter from memslot_get_virt 2018-07-03 12:23:54 +01:00
meson.build sys-socket: Introduce some utility to make sockets more portable 2019-05-07 10:14:00 +01:00
migration-protocol.h Unify header guards 2017-03-30 18:17:20 +01:00
mjpeg-encoder.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
net-utils.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
net-utils.h reds-stream: Introduce reds_stream_get_no_delay() helper 2017-03-31 12:22:52 +02:00
pixmap-cache.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
pixmap-cache.h Unify header guards 2017-03-30 18:17:20 +01:00
red-channel-capabilities.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
red-channel-capabilities.h Unify header guards 2017-03-30 18:17:20 +01:00
red-channel-client.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
red-channel-client.h Reuse SPICE_DECLARE_TYPE macro 2017-11-21 08:38:44 +00:00
red-channel.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
red-channel.h Make channel client callbacks virtual functions 2019-03-28 20:20:25 +00:00
red-client.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
red-client.h Reuse SPICE_DECLARE_TYPE macro 2017-11-21 08:38:44 +00:00
red-common.h build: Remove unneeded spice_common.h includes 2018-07-06 07:06:34 +01:00
red-parse-qxl.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
red-parse-qxl.h qxl: Release QXL resources in red_put_surface_cmd 2018-12-06 13:04:03 +00:00
red-pipe-item.c red-pipe-item: Use GLib memory functions 2017-10-11 12:52:17 +01:00
red-pipe-item.h red-pipe-item: Removed some not necessary headers inclusions 2019-02-23 05:12:59 +00:00
red-qxl.c windows: Do not use conflicting preprocessor macros 2019-05-07 10:13:56 +01:00
red-qxl.h Check running state in red_qxl_set_client_capabilities 2019-03-28 20:20:25 +00:00
red-record-qxl.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
red-record-qxl.h red-record-qxl: Change license header to LGPLv2+ 2018-07-05 10:15:17 +02:00
red-replay-qxl.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
red-stream-device.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
red-stream-device.h red-stream-device: Constify stream_device_get_device_display_info result 2019-02-04 19:44:12 +00:00
red-stream.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
red-stream.h red-stream: Propagate RedStreamSslStatus type 2018-10-09 12:52:48 +01:00
red-worker.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
red-worker.h red-worker: Remove unused definitions 2019-03-29 15:18:49 +00:00
reds-private.h Send the graphics device info to the vd_agent 2019-01-29 15:46:28 +01:00
reds.c windows: Do not use conflicting preprocessor macros 2019-05-07 10:13:56 +01:00
reds.h reds: Factor out a function to marshal VDAgentGraphicsDeviceInfo message 2019-02-12 21:24:54 +00:00
smartcard-channel-client.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
smartcard-channel-client.h Use standard "Red" namespace 2017-10-21 08:47:02 +01:00
smartcard.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
smartcard.h Reuse SPICE_DECLARE_TYPE macro 2017-11-21 08:38:44 +00:00
sound.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
sound.h Change playback_compression to bool type 2017-04-07 15:08:43 -05:00
spice-audio.h
spice-bitmap-utils.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
spice-bitmap-utils.h Use verify instead of G_STATIC_ASSERT 2017-12-01 22:49:46 +00:00
spice-bitmap-utils.tmpl.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
spice-char.h Constify spice_server_char_device_recognized_subtypes 2016-06-29 08:09:03 +01:00
spice-core.h windows: Do not include headers not available on Windows 2019-01-31 10:48:34 +00:00
spice-experimental.h Unify header guards 2017-03-30 18:17:20 +01:00
spice-input.h
spice-migration.h server: Use SPICE_GNUC_DEPRECATED to avoid a dependency on glib.h 2016-08-12 09:47:40 +01:00
spice-qxl.h QXL interface: improve the spice_qxl_set_device_info documentation 2019-01-28 19:35:53 +00:00
spice-replay.h Unify header guards 2017-03-30 18:17:20 +01:00
spice-server-enums.c.tmpl Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
spice-server-enums.h.tmpl build: Rename spice-server-enums.tmpl.[ch] to spice-server-enums.[ch].tmpl 2018-03-07 10:04:04 -03:00
spice-server.h Convert RedChannelClient hierarchy to GObject 2016-10-07 14:46:37 -05:00
spice-server.syms QXL interface: add a function to identify monitors in the guest 2019-01-26 09:40:10 +00:00
spice-version.h.in build-sys: generate spice-version.h 2014-11-27 14:27:33 +01:00
spice.h Make red-replay-qxl.h a public header 2016-11-10 06:37:15 +00:00
spicevmc.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
stat-file.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
stat-file.h Unify header guards 2017-03-30 18:17:20 +01:00
stat.h Unify header guards 2017-03-30 18:17:20 +01:00
stream-channel.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
stream-channel.h Make stream-channel.h self-contained 2017-10-30 12:01:24 +01:00
sw-canvas.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
sys-socket.c sys-socket: Introduce some utility to make sockets more portable 2019-05-07 10:14:00 +01:00
sys-socket.h sys-socket: Introduce some utility to make sockets more portable 2019-05-07 10:14:00 +01:00
tree.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
tree.h Unify header guards 2017-03-30 18:17:20 +01:00
utils.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
utils.h ssl: Dump OpenSSL error stack on errors 2019-02-07 09:55:11 +00:00
video-encoder.h Unify header guards 2017-03-30 18:17:20 +01:00
video-stream.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
video-stream.h Use "base" as pipe item base field name 2018-06-18 13:40:51 +01:00
zlib-encoder.c Do not check for HAVE_CONFIG_H 2019-04-30 09:26:55 +01:00
zlib-encoder.h Unify header guards 2017-03-30 18:17:20 +01:00