diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2016-09-12 13:18:57 +0400 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2016-09-19 17:32:21 +0200 |
commit | 119ebac1feb26181cbadd13a8a795a199d0bbaa6 (patch) | |
tree | ba7ab845b22682854b2d17491cf0798ed7e0e1fe | |
parent | 3688d8c717927e7ecaa8c260bc9cc706e3dbef7e (diff) |
qapi-schema: use generated marshaller for 'qmp_capabilities'
qapi'fy the 'qmp_capabilities' command, makes the command visible in
query-qmp-schema.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20160912091913.15831-3-marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
-rw-r--r-- | monitor.c | 4 | ||||
-rw-r--r-- | qapi-schema.json | 21 | ||||
-rw-r--r-- | qmp-commands.hx | 2 |
3 files changed, 24 insertions, 3 deletions
@@ -617,7 +617,7 @@ static void monitor_qapi_event_init(void) qmp_event_set_func_emit(monitor_qapi_event_queue); } -static void qmp_capabilities(QDict *params, QObject **ret_data, Error **errp) +void qmp_qmp_capabilities(Error **errp) { cur_mon->qmp.in_command_mode = true; } @@ -3656,7 +3656,7 @@ static int monitor_can_read(void *opaque) static bool invalid_qmp_mode(const Monitor *mon, const mon_cmd_t *cmd, Error **errp) { - bool is_cap = cmd->mhandler.cmd_new == qmp_capabilities; + bool is_cap = cmd->mhandler.cmd_new == qmp_marshal_qmp_capabilities; if (is_cap && mon->qmp.in_command_mode) { error_set(errp, ERROR_CLASS_COMMAND_NOT_FOUND, diff --git a/qapi-schema.json b/qapi-schema.json index c4f3674d08..5e15d28468 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -21,6 +21,27 @@ { 'include': 'qapi/introspect.json' } ## +# @qmp_capabilities: +# +# Enable QMP capabilities. +# +# Arguments: None. +# +# Example: +# +# -> { "execute": "qmp_capabilities" } +# <- { "return": {} } +# +# Notes: This command is valid exactly when first connecting: it must be +# issued before any other command will be accepted, and will fail once the +# monitor is accepting other commands. (see qemu docs/qmp-spec.txt) +# +# Since: 0.13 +# +## +{ 'command': 'qmp_capabilities' } + +## # @LostTickPolicy: # # Policy for handling lost ticks in timer devices. diff --git a/qmp-commands.hx b/qmp-commands.hx index e6c9193600..8a135506dc 100644 --- a/qmp-commands.hx +++ b/qmp-commands.hx @@ -2219,7 +2219,7 @@ EQMP .args_type = "", .params = "", .help = "enable QMP capabilities", - .mhandler.cmd_new = qmp_capabilities, + .mhandler.cmd_new = qmp_marshal_qmp_capabilities, }, SQMP |