[Spice-devel] [PATCH spice-protocol v3] agent: Add support for reporting on free space
Jakub Janků
janku.jakub.jj at gmail.com
Sun May 21 13:09:34 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 | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/spice/vd_agent.h b/spice/vd_agent.h
index 3b1f183..2a168d0 100644
--- a/spice/vd_agent.h
+++ b/spice/vd_agent.h
@@ -99,11 +99,19 @@ 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.
+ * Type of data varies with the result:
+ * result : data type
+ * VD_AGENT_FILE_XFER_STATUS_NOT_ENOUGH_SPACE : uint64_t
+ */
+ uint8_t data[0];
} VDAgentFileXferStatusMessage;
typedef struct SPICE_ATTR_PACKED VDAgentFileXferStartMessage {
@@ -248,6 +256,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.4
More information about the Spice-devel
mailing list