diff options
author | Martin Kletzander <mkletzan@redhat.com> | 2014-02-01 12:52:42 +0100 |
---|---|---|
committer | Luiz Capitulino <lcapitulino@redhat.com> | 2014-02-17 11:57:23 -0500 |
commit | 77d1c3c63fb18c3675d8c80262bbd172f646556a (patch) | |
tree | 8e26095c0a8f03259de43d2091cd2ae82f90497a /qemu-char.c | |
parent | 84d18f065fb041a1c0d78d20320d740ae0673c8a (diff) |
qmp: expose list of supported character device backends
Introduce 'query-chardev-backends' QMP command which lists all
supported character device backends.
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Diffstat (limited to 'qemu-char.c')
-rw-r--r-- | qemu-char.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/qemu-char.c b/qemu-char.c index d0b4ac5ffd..4d50838b3b 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -3432,6 +3432,25 @@ ChardevInfoList *qmp_query_chardev(Error **errp) return chr_list; } +ChardevBackendInfoList *qmp_query_chardev_backends(Error **errp) +{ + ChardevBackendInfoList *backend_list = NULL; + CharDriver *c = NULL; + GSList *i = NULL; + + for (i = backends; i; i = i->next) { + ChardevBackendInfoList *info = g_malloc0(sizeof(*info)); + c = i->data; + info->value = g_malloc0(sizeof(*info->value)); + info->value->name = g_strdup(c->name); + + info->next = backend_list; + backend_list = info; + } + + return backend_list; +} + CharDriverState *qemu_chr_find(const char *name) { CharDriverState *chr; |