From 01d3c80d6876c7de6b07bee92b1b2440b48e60c9 Mon Sep 17 00:00:00 2001 From: Anthony Liguori Date: Fri, 10 Aug 2012 11:04:11 -0500 Subject: qapi: add query-machines command This provides the same output as -M ? but in a structured way. Signed-off-by: Anthony Liguori Signed-off-by: Luiz Capitulino --- vl.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'vl.c') diff --git a/vl.c b/vl.c index 97ab39f..d01256a 100644 --- a/vl.c +++ b/vl.c @@ -1213,6 +1213,37 @@ QEMUMachine *find_default_machine(void) return NULL; } +MachineInfoList *qmp_query_machines(Error **errp) +{ + MachineInfoList *mach_list = NULL; + QEMUMachine *m; + + for (m = first_machine; m; m = m->next) { + MachineInfoList *entry; + MachineInfo *info; + + info = g_malloc0(sizeof(*info)); + if (m->is_default) { + info->has_is_default = true; + info->is_default = true; + } + + if (m->alias) { + info->has_alias = true; + info->alias = g_strdup(m->alias); + } + + info->name = g_strdup(m->name); + + entry = g_malloc0(sizeof(*entry)); + entry->value = info; + entry->next = mach_list; + mach_list = entry; + } + + return mach_list; +} + /***********************************************************/ /* main execution loop */ -- cgit v1.1