mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
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>
This commit is contained in:
parent
3f20c6d654
commit
de74a22cc8
4 changed files with 386 additions and 1 deletions
|
@ -390,12 +390,25 @@
|
|||
'data': { '*size': 'int' },
|
||||
'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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue