[Spice-devel] [PATCH 17/18] Add RedsState arg to spicevmc_device_connect|disconnect()
Frediano Ziglio
fziglio at redhat.com
Thu Feb 4 15:57:49 UTC 2016
From: Jonathon Jongsma <jjongsma at redhat.com>
---
server/char-device.h | 6 ++++--
server/reds.c | 8 ++++----
server/spicevmc.c | 5 +++--
3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/server/char-device.h b/server/char-device.h
index a6315b0..3f81d13 100644
--- a/server/char-device.h
+++ b/server/char-device.h
@@ -212,8 +212,10 @@ void spice_char_device_write_buffer_release(SpiceCharDeviceState *dev,
/* api for specific char devices */
-SpiceCharDeviceState *spicevmc_device_connect(SpiceCharDeviceInstance *sin,
+SpiceCharDeviceState *spicevmc_device_connect(RedsState *reds,
+ SpiceCharDeviceInstance *sin,
uint8_t channel_type);
-void spicevmc_device_disconnect(SpiceCharDeviceInstance *char_device);
+void spicevmc_device_disconnect(RedsState *reds,
+ SpiceCharDeviceInstance *char_device);
#endif // CHAR_DEVICE_H_
diff --git a/server/reds.c b/server/reds.c
index 496dfa2..1c777f5 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -3103,13 +3103,13 @@ static int spice_server_char_device_add_interface(SpiceServer *s,
}
#endif
else if (strcmp(char_device->subtype, SUBTYPE_USBREDIR) == 0) {
- dev_state = spicevmc_device_connect(char_device, SPICE_CHANNEL_USBREDIR);
+ dev_state = spicevmc_device_connect(s, char_device, SPICE_CHANNEL_USBREDIR);
}
else if (strcmp(char_device->subtype, SUBTYPE_PORT) == 0) {
if (strcmp(char_device->portname, "org.spice-space.webdav.0") == 0) {
- dev_state = spicevmc_device_connect(char_device, SPICE_CHANNEL_WEBDAV);
+ dev_state = spicevmc_device_connect(s, char_device, SPICE_CHANNEL_WEBDAV);
} else {
- dev_state = spicevmc_device_connect(char_device, SPICE_CHANNEL_PORT);
+ dev_state = spicevmc_device_connect(s, char_device, SPICE_CHANNEL_PORT);
}
}
@@ -3147,7 +3147,7 @@ static void spice_server_char_device_remove_interface(RedsState *reds, SpiceBase
#endif
else if (strcmp(char_device->subtype, SUBTYPE_USBREDIR) == 0 ||
strcmp(char_device->subtype, SUBTYPE_PORT) == 0) {
- spicevmc_device_disconnect(char_device);
+ spicevmc_device_disconnect(reds, char_device);
} else {
spice_warning("failed to remove char device %s", char_device->subtype);
}
diff --git a/server/spicevmc.c b/server/spicevmc.c
index 4460eab..4fc95e3 100644
--- a/server/spicevmc.c
+++ b/server/spicevmc.c
@@ -504,7 +504,8 @@ static void spicevmc_connect(RedChannel *channel, RedClient *client,
}
}
-SpiceCharDeviceState *spicevmc_device_connect(SpiceCharDeviceInstance *sin,
+SpiceCharDeviceState *spicevmc_device_connect(RedsState *reds,
+ SpiceCharDeviceInstance *sin,
uint8_t channel_type)
{
static uint8_t id[256] = { 0, };
@@ -554,7 +555,7 @@ SpiceCharDeviceState *spicevmc_device_connect(SpiceCharDeviceInstance *sin,
}
/* Must be called from RedClient handling thread. */
-void spicevmc_device_disconnect(SpiceCharDeviceInstance *sin)
+void spicevmc_device_disconnect(RedsState *reds, SpiceCharDeviceInstance *sin)
{
SpiceVmcState *state;
--
2.5.0
More information about the Spice-devel
mailing list