diff options
author | Cole Robinson <crobinso@redhat.com> | 2015-03-01 09:29:18 -0500 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2015-03-03 08:33:08 +0100 |
commit | 22fa7da0005c939c940634da069ecb9bbb199a2a (patch) | |
tree | 048ada44e48470042c580154582dac1cd1eafb50 /hmp.c | |
parent | 20ca3763abbb77ae9942f3e854bdeec36a147a29 (diff) | |
download | qemu-22fa7da0005c939c940634da069ecb9bbb199a2a.zip |
hmp: info spice: Show string channel name
Useful for debugging.
https://bugzilla.redhat.com/show_bug.cgi?id=822418
Signed-off-by: Cole Robinson <crobinso@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hmp.c')
-rw-r--r-- | hmp.c | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -29,6 +29,10 @@ #include "block/qapi.h" #include "qemu-io.h" +#ifdef CONFIG_SPICE +#include <spice/enums.h> +#endif + static void hmp_handle_error(Monitor *mon, Error **errp) { assert(errp); @@ -545,6 +549,20 @@ void hmp_info_spice(Monitor *mon, const QDict *qdict) { SpiceChannelList *chan; SpiceInfo *info; + const char *channel_name; + const char * const channel_names[] = { + [SPICE_CHANNEL_MAIN] = "main", + [SPICE_CHANNEL_DISPLAY] = "display", + [SPICE_CHANNEL_INPUTS] = "inputs", + [SPICE_CHANNEL_CURSOR] = "cursor", + [SPICE_CHANNEL_PLAYBACK] = "playback", + [SPICE_CHANNEL_RECORD] = "record", + [SPICE_CHANNEL_TUNNEL] = "tunnel", + [SPICE_CHANNEL_SMARTCARD] = "smartcard", + [SPICE_CHANNEL_USBREDIR] = "usbredir", + [SPICE_CHANNEL_PORT] = "port", + [SPICE_CHANNEL_WEBDAV] = "webdav", + }; info = qmp_query_spice(NULL); @@ -581,6 +599,15 @@ void hmp_info_spice(Monitor *mon, const QDict *qdict) chan->value->connection_id); monitor_printf(mon, " channel: %" PRId64 ":%" PRId64 "\n", chan->value->channel_type, chan->value->channel_id); + + channel_name = "unknown"; + if (chan->value->channel_type > 0 && + chan->value->channel_type < ARRAY_SIZE(channel_names) && + channel_names[chan->value->channel_type]) { + channel_name = channel_names[chan->value->channel_type]; + } + + monitor_printf(mon, " channel name: %s\n", channel_name); } } |