From 839cd8c1dd48321e0e7be440f4603aa9d8b28882 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hr=C3=A1zk=C3=BD?= Date: Wed, 16 Jan 2019 13:52:43 +0100 Subject: [PATCH] Add the VDAgentGraphicsDeviceInfo message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The message serves for passing the device address and device display ID information for all display channels from SPICE server to the vd_agent. Signed-off-by: Lukáš Hrázký Acked-by: Frediano Ziglio --- spice/vd_agent.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/spice/vd_agent.h b/spice/vd_agent.h index dda7044..42ec77a 100644 --- a/spice/vd_agent.h +++ b/spice/vd_agent.h @@ -91,6 +91,7 @@ enum { VD_AGENT_CLIENT_DISCONNECTED, VD_AGENT_MAX_CLIPBOARD, VD_AGENT_AUDIO_VOLUME_SYNC, + VD_AGENT_GRAPHICS_DEVICE_INFO, VD_AGENT_END_MESSAGE, }; @@ -248,6 +249,27 @@ typedef struct SPICE_ATTR_PACKED VDAgentAudioVolumeSync { uint16_t volume[0]; } VDAgentAudioVolumeSync; +typedef struct SPICE_ATTR_PACKED VDAgentDeviceDisplayInfo { + uint32_t channel_id; + uint32_t monitor_id; + uint32_t device_display_id; + uint32_t device_address_len; + uint8_t device_address[0]; // a zero-terminated string +} VDAgentDeviceDisplayInfo; + + +/* This message contains the mapping of (channel_id, monitor_id) pair to a + * "physical" (virtualized) device and its monitor identified by device_address + * and device_display_id. + * + * It's used on the vd_agent to identify the guest monitors for the + * mouse_position and monitors_config messages. + */ +typedef struct SPICE_ATTR_PACKED VDAgentGraphicsDeviceInfo { + uint32_t count; + VDAgentDeviceDisplayInfo display_info[0]; +} VDAgentGraphicsDeviceInfo; + enum { VD_AGENT_CAP_MOUSE_STATE = 0, VD_AGENT_CAP_MONITORS_CONFIG, @@ -264,6 +286,7 @@ enum { VD_AGENT_CAP_MONITORS_CONFIG_POSITION, VD_AGENT_CAP_FILE_XFER_DISABLED, VD_AGENT_CAP_FILE_XFER_DETAILED_ERRORS, + VD_AGENT_CAP_GRAPHICS_DEVICE_INFO, VD_AGENT_END_CAP, };