From 1f8f987d349f8f1bace4b47a83323b68ab0e084c Mon Sep 17 00:00:00 2001 From: Amos Kong Date: Thu, 25 Apr 2013 17:50:35 +0800 Subject: monitor: introduce query-command-line-options Libvirt has no way to probe if an option or property is supported, This patch introduces a new qmp command to query command line option information. hmp command isn't added because it's not needed. Signed-off-by: Amos Kong CC: Luiz Capitulino CC: Osier Yang CC: Anthony Liguori Signed-off-by: Luiz Capitulino Reviewed-by: Eric Blake --- qmp-commands.hx | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'qmp-commands.hx') diff --git a/qmp-commands.hx b/qmp-commands.hx index 4d65422c40..0e891323c7 100644 --- a/qmp-commands.hx +++ b/qmp-commands.hx @@ -2415,6 +2415,53 @@ EQMP .mhandler.cmd_new = qmp_marshal_input_query_uuid, }, +SQMP +query-command-line-options +-------------------------- + +Show command line option schema. + +Return a json-array of command line option schema for all options (or for +the given option), returning an error if the given option doesn't exist. + +Each array entry contains the following: + +- "option": option name (json-string) +- "parameters": a json-array describes all parameters of the option: + - "name": parameter name (json-string) + - "type": parameter type (one of 'string', 'boolean', 'number', + or 'size') + - "help": human readable description of the parameter + (json-string, optional) + +Example: + +-> { "execute": "query-command-line-options", "arguments": { "option": "option-rom" } } +<- { "return": [ + { + "parameters": [ + { + "name": "romfile", + "type": "string" + }, + { + "name": "bootindex", + "type": "number" + } + ], + "option": "option-rom" + } + ] + } + +EQMP + + { + .name = "query-command-line-options", + .args_type = "option:s?", + .mhandler.cmd_new = qmp_marshal_input_query_command_line_options, + }, + SQMP query-migrate ------------- -- cgit v1.2.1