diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2021-05-19 07:39:35 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2021-05-21 09:42:44 +0200 |
commit | de74a22cc82dd40d63af399b81e40f56c8a9c535 (patch) | |
tree | 96e62c93e3be193dc0e55fd1b36c46e56d2caf04 /qapi | |
parent | 3f20c6d6541eee15bd5a1a454ae556bb8ad37238 (diff) |
ui/vdagent: core infrastructure
The vdagent protocol allows the guest agent (spice-vdagent) and the
spice client exchange messages to implement features which require
guest cooperation, for example clipboard support.
This is a qemu implementation of the spice client side. This allows
the spice guest agent talk to qemu directly when not using the spice
protocol.
usage: qemu \
-chardev qemu-vdagent,id=vdagent \
-device virtserialport,chardev=vdagent,name=com.redhat.spice.0
This patch adds just the protocol basics: initial handshake and
capability negotiation. The following patches will add actual
functionality and also add fields to the initially empty
ChardevVDAgent qapi struct.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20210519053940.1888907-1-kraxel@redhat.com
Message-Id: <20210519053940.1888907-5-kraxel@redhat.com>
Diffstat (limited to 'qapi')
-rw-r--r-- | qapi/char.json | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/qapi/char.json b/qapi/char.json index 6413970fa7..990801e642 100644 --- a/qapi/char.json +++ b/qapi/char.json @@ -391,11 +391,24 @@ 'base': 'ChardevCommon' } ## +# @ChardevQemuVDAgent: +# +# Configuration info for qemu vdagent implementation. +# +# Since: 6.1 +# +## +{ 'struct': 'ChardevQemuVDAgent', + 'data': { }, + 'base': 'ChardevCommon', + 'if': 'defined(CONFIG_SPICE_PROTOCOL)' } + +## # @ChardevBackend: # # Configuration info for the new chardev backend. # -# Since: 1.4 (testdev since 2.2, wctablet since 2.9) +# Since: 1.4 (testdev since 2.2, wctablet since 2.9, vdagent since 6.1) ## { 'union': 'ChardevBackend', 'data': { 'file': 'ChardevFile', @@ -417,6 +430,8 @@ 'if': 'defined(CONFIG_SPICE)' }, 'spiceport': { 'type': 'ChardevSpicePort', 'if': 'defined(CONFIG_SPICE)' }, + 'qemu-vdagent': { 'type': 'ChardevQemuVDAgent', + 'if': 'defined(CONFIG_SPICE_PROTOCOL)' }, 'vc': 'ChardevVC', 'ringbuf': 'ChardevRingbuf', # next one is just for compatibility |