aboutsummaryrefslogtreecommitdiff
path: root/hw/xen/xen-backend.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xen/xen-backend.c')
-rw-r--r--hw/xen/xen-backend.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/hw/xen/xen-backend.c b/hw/xen/xen-backend.c
index 10199fb58d..5b0fb76eae 100644
--- a/hw/xen/xen-backend.c
+++ b/hw/xen/xen-backend.c
@@ -41,6 +41,12 @@ static void xen_backend_table_add(XenBackendImpl *impl)
g_hash_table_insert(xen_backend_table_get(), (void *)impl->type, impl);
}
+static const char **xen_backend_table_keys(unsigned int *count)
+{
+ return (const char **)g_hash_table_get_keys_as_array(
+ xen_backend_table_get(), count);
+}
+
static const XenBackendImpl *xen_backend_table_lookup(const char *type)
{
return g_hash_table_lookup(xen_backend_table_get(), type);
@@ -70,6 +76,11 @@ void xen_backend_register(const XenBackendInfo *info)
xen_backend_table_add(impl);
}
+const char **xen_backend_get_types(unsigned int *count)
+{
+ return xen_backend_table_keys(count);
+}
+
static QLIST_HEAD(, XenBackendInstance) backend_list;
static void xen_backend_list_add(XenBackendInstance *backend)