[Spice-devel] [PATCH spice-protocol v2] agent: Add support for reporting on free space

Jakub Janků janku.jakub.jj at gmail.com
Tue May 9 16:53:24 UTC 2017


Agent can send VDAgentFileXferStatusMessage with result
VD_AGENT_FILE_XFER_STATUS_NOT_ENOUGH_SPACE to indicate lack of free
space. This enables more detailed error reporting, so the user knows
why the file transfer has failed.

Add VD_AGENT_CAP_FILE_XFER_DETAILED_ERRORS to ensure detailed errors
are not sent to clients that do not support it. This can be used
with more file xfer errors in the future.
---
 spice/vd_agent.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/spice/vd_agent.h b/spice/vd_agent.h
index 3b1f183..d2477ce 100644
--- a/spice/vd_agent.h
+++ b/spice/vd_agent.h
@@ -99,11 +99,16 @@ enum {
     VD_AGENT_FILE_XFER_STATUS_CANCELLED,
     VD_AGENT_FILE_XFER_STATUS_ERROR,
     VD_AGENT_FILE_XFER_STATUS_SUCCESS,
+    VD_AGENT_FILE_XFER_STATUS_NOT_ENOUGH_SPACE,
 };
 
 typedef struct SPICE_ATTR_PACKED VDAgentFileXferStatusMessage {
    uint32_t id;
    uint32_t result;
+   /* Used to send additional data for detailed error messages
+    * to clients with VD_AGENT_CAP_FILE_XFER_DETAILED_ERRORS capability.
+    */
+   uint8_t data[0];
 } VDAgentFileXferStatusMessage;
 
 typedef struct SPICE_ATTR_PACKED VDAgentFileXferStartMessage {
@@ -248,6 +253,7 @@ enum {
     VD_AGENT_CAP_AUDIO_VOLUME_SYNC,
     VD_AGENT_CAP_MONITORS_CONFIG_POSITION,
     VD_AGENT_CAP_FILE_XFER_DISABLED,
+    VD_AGENT_CAP_FILE_XFER_DETAILED_ERRORS,
     VD_AGENT_END_CAP,
 };
 
-- 
2.9.3



More information about the Spice-devel mailing list