aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--monitor.c9
-rw-r--r--qemu-monitor.hx42
2 files changed, 23 insertions, 28 deletions
diff --git a/monitor.c b/monitor.c
index 37a2a48..6eb0e2c 100644
--- a/monitor.c
+++ b/monitor.c
@@ -98,13 +98,12 @@ typedef struct mon_cmd_t {
const char *params;
const char *help;
void (*user_print)(Monitor *mon, const QObject *data);
- int (*cmd_new_ret)(Monitor *mon, const QDict *params, QObject **ret_data);
union {
void (*info)(Monitor *mon);
void (*info_new)(Monitor *mon, QObject **ret_data);
int (*info_async)(Monitor *mon, MonitorCompletion *cb, void *opaque);
void (*cmd)(Monitor *mon, const QDict *qdict);
- void (*cmd_new)(Monitor *mon, const QDict *params, QObject **ret_data);
+ int (*cmd_new)(Monitor *mon, const QDict *params, QObject **ret_data);
int (*cmd_async)(Monitor *mon, const QDict *params,
MonitorCompletion *cb, void *opaque);
} mhandler;
@@ -3846,11 +3845,7 @@ static void monitor_call_handler(Monitor *mon, const mon_cmd_t *cmd,
{
QObject *data = NULL;
- if (cmd->cmd_new_ret) {
- cmd->cmd_new_ret(mon, params, &data);
- } else {
- cmd->mhandler.cmd_new(mon, params, &data);
- }
+ cmd->mhandler.cmd_new(mon, params, &data);
if (is_async_return(data)) {
/*
diff --git a/qemu-monitor.hx b/qemu-monitor.hx
index d5b344e..7f9d261 100644
--- a/qemu-monitor.hx
+++ b/qemu-monitor.hx
@@ -43,7 +43,7 @@ ETEXI
.params = "[subcommand]",
.help = "show various information about the system state",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_info,
+ .mhandler.cmd_new = do_info,
},
STEXI
@@ -123,7 +123,7 @@ ETEXI
.params = "",
.help = "quit the emulator",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_quit,
+ .mhandler.cmd_new = do_quit,
},
STEXI
@@ -138,7 +138,7 @@ ETEXI
.params = "[-f] device",
.help = "eject a removable medium (use -f to force it)",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_eject,
+ .mhandler.cmd_new = do_eject,
},
STEXI
@@ -153,7 +153,7 @@ ETEXI
.params = "device filename [format]",
.help = "change a removable medium, optional format",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_change,
+ .mhandler.cmd_new = do_change,
},
STEXI
@@ -303,7 +303,7 @@ ETEXI
.params = "",
.help = "stop emulation",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_stop,
+ .mhandler.cmd_new = do_stop,
},
STEXI
@@ -318,7 +318,7 @@ ETEXI
.params = "",
.help = "resume emulation",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_cont,
+ .mhandler.cmd_new = do_cont,
},
STEXI
@@ -494,7 +494,7 @@ ETEXI
.params = "",
.help = "reset the system",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_system_reset,
+ .mhandler.cmd_new = do_system_reset,
},
STEXI
@@ -510,7 +510,7 @@ ETEXI
.params = "",
.help = "send system power down event",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_system_powerdown,
+ .mhandler.cmd_new = do_system_powerdown,
},
STEXI
@@ -604,7 +604,7 @@ ETEXI
.params = "index",
.help = "set the default CPU",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_cpu_set,
+ .mhandler.cmd_new = do_cpu_set,
},
STEXI
@@ -705,7 +705,7 @@ ETEXI
.params = "addr size file",
.help = "save to disk virtual memory dump starting at 'addr' of size 'size'",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_memory_save,
+ .mhandler.cmd_new = do_memory_save,
},
STEXI
@@ -720,7 +720,7 @@ ETEXI
.params = "addr size file",
.help = "save to disk physical memory dump starting at 'addr' of size 'size'",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_physical_memory_save,
+ .mhandler.cmd_new = do_physical_memory_save,
},
STEXI
@@ -773,7 +773,7 @@ ETEXI
"shared storage with incremental copy of disk "
"(base image shared between src and destination)",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_migrate,
+ .mhandler.cmd_new = do_migrate,
},
@@ -791,7 +791,7 @@ ETEXI
.params = "",
.help = "cancel the current VM migration",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_migrate_cancel,
+ .mhandler.cmd_new = do_migrate_cancel,
},
STEXI
@@ -806,7 +806,7 @@ ETEXI
.params = "value",
.help = "set maximum speed (in bytes) for migrations",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_migrate_set_speed,
+ .mhandler.cmd_new = do_migrate_set_speed,
},
STEXI
@@ -821,7 +821,7 @@ ETEXI
.params = "value",
.help = "set maximum tolerated downtime (in seconds) for migrations",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_migrate_set_downtime,
+ .mhandler.cmd_new = do_migrate_set_downtime,
},
STEXI
@@ -857,7 +857,7 @@ ETEXI
.params = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
.help = "hot-add PCI device",
.user_print = pci_device_hot_add_print,
- .cmd_new_ret = pci_device_hot_add,
+ .mhandler.cmd_new = pci_device_hot_add,
},
#endif
@@ -874,7 +874,7 @@ ETEXI
.params = "[[<domain>:]<bus>:]<slot>",
.help = "hot remove PCI device",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_pci_device_hot_remove,
+ .mhandler.cmd_new = do_pci_device_hot_remove,
},
#endif
@@ -1083,7 +1083,7 @@ ETEXI
.params = "getfd name",
.help = "receive a file descriptor via SCM rights and assign it a name",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_getfd,
+ .mhandler.cmd_new = do_getfd,
},
STEXI
@@ -1100,7 +1100,7 @@ ETEXI
.params = "closefd name",
.help = "close a file descriptor previously passed via SCM rights",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_closefd,
+ .mhandler.cmd_new = do_closefd,
},
STEXI
@@ -1117,7 +1117,7 @@ ETEXI
.params = "block_passwd device password",
.help = "set the password of encrypted block devices",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_block_set_passwd,
+ .mhandler.cmd_new = do_block_set_passwd,
},
STEXI
@@ -1132,7 +1132,7 @@ ETEXI
.params = "",
.help = "enable QMP capabilities",
.user_print = monitor_user_noop,
- .cmd_new_ret = do_qmp_capabilities,
+ .mhandler.cmd_new = do_qmp_capabilities,
},
STEXI