From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45594) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YRMy5-0006BH-OC for qemu-devel@nongnu.org; Fri, 27 Feb 2015 10:36:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YRMy1-00083X-Ly for qemu-devel@nongnu.org; Fri, 27 Feb 2015 10:36:45 -0500 Received: from mx1.redhat.com ([209.132.183.28]:48800) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YRMy1-00083O-DR for qemu-devel@nongnu.org; Fri, 27 Feb 2015 10:36:41 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t1RFaell023538 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Fri, 27 Feb 2015 10:36:40 -0500 From: Cole Robinson Date: Fri, 27 Feb 2015 10:36:24 -0500 Message-Id: <348e8e5bb9399e700e7d24c3bac6ffe6ebd3f4d4.1425051324.git.crobinso@redhat.com> Subject: [Qemu-devel] [PATCH v2] hmp: info spice: Show string channel name List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Cole Robinson , Gerd Hoffmann , Markus Armbruster , Luiz Capitulino Useful for debugging. https://bugzilla.redhat.com/show_bug.cgi?id=822418 Signed-off-by: Cole Robinson --- v2: Explicitly list spice channel mappings Use ARRAY_SIZE macro hmp.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/hmp.c b/hmp.c index 735097c..9e76368 100644 --- a/hmp.c +++ b/hmp.c @@ -29,6 +29,10 @@ #include "block/qapi.h" #include "qemu-io.h" +#ifdef CONFIG_SPICE +#include +#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 ] = "input", + [ 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,14 @@ 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_name = channel_names[chan->value->channel_type]; + } + + monitor_printf(mon, " channel name: %s\n", channel_name); } } -- 2.1.0